blob: be78febff965f7e0646e0bebe242a3b53d56dccd [file] [log] [blame]
Neels Hofmeyr0e5d8072017-01-10 00:49:56 +01001/* 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
9extern struct llist_head * const gprs_subscribers;
10
11struct 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
26struct gprs_subscr *_gprs_subscr_get(struct gprs_subscr *gsub,
27 const char *file, int line);
28struct 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__)