Neels Hofmeyr | 0e5d807 | 2017-01-10 00:49:56 +0100 | [diff] [blame] | 1 | /* GPRS subscriber details for use in SGSN land */ |
| 2 | #pragma once |
| 3 | |
| 4 | #include <stdint.h> |
| 5 | |
| 6 | #include <osmocom/core/linuxlist.h> |
| 7 | #include <osmocom/gsm/protocol/gsm_23_003.h> |
| 8 | |
| 9 | extern struct llist_head * const gprs_subscribers; |
| 10 | |
| 11 | struct gprs_subscr { |
| 12 | struct llist_head entry; |
| 13 | int use_count; |
| 14 | |
| 15 | char imsi[GSM23003_IMSI_MAX_DIGITS+1]; |
| 16 | uint32_t tmsi; |
| 17 | char imei[GSM23003_IMEISV_NUM_DIGITS+1]; |
| 18 | bool authorized; |
| 19 | bool keep_in_ram; |
| 20 | uint32_t flags; |
| 21 | uint16_t lac; |
| 22 | |
| 23 | struct sgsn_subscriber_data *sgsn_data; |
| 24 | }; |
| 25 | |
| 26 | struct gprs_subscr *_gprs_subscr_get(struct gprs_subscr *gsub, |
| 27 | const char *file, int line); |
| 28 | struct gprs_subscr *_gprs_subscr_put(struct gprs_subscr *gsub, |
| 29 | const char *file, int line); |
| 30 | #define gprs_subscr_get(gsub) _gprs_subscr_get(gsub, __BASE_FILE__, __LINE__) |
| 31 | #define gprs_subscr_put(gsub) _gprs_subscr_put(gsub, __BASE_FILE__, __LINE__) |