aboutsummaryrefslogtreecommitdiffstats
path: root/include/openbsc/gsm_subscriber.h
diff options
context:
space:
mode:
authorHolger Freyther <zecke@selfish.org>2009-04-12 05:37:29 +0000
committerHolger Freyther <zecke@selfish.org>2009-04-12 05:37:29 +0000
commit4a49e77ff43ae0ec152a351603fbe91ec30efe8c (patch)
treed5801956ecddfae198152083613b571e351dd537 /include/openbsc/gsm_subscriber.h
parentbab9cd9a2715e416664d08a56bdacefd6e921e4f (diff)
[subscriber] Update the current_bts field on imsi detach and LOC accept
When sending LOCATION UPDATING REQUEST Accept or when getting a IMSI Detach update the gsm_bts of the gsm_subscriber.
Diffstat (limited to 'include/openbsc/gsm_subscriber.h')
-rw-r--r--include/openbsc/gsm_subscriber.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/openbsc/gsm_subscriber.h b/include/openbsc/gsm_subscriber.h
index e0c621bf..170e5236 100644
--- a/include/openbsc/gsm_subscriber.h
+++ b/include/openbsc/gsm_subscriber.h
@@ -23,6 +23,7 @@ struct gsm_subscriber {
/* for internal management */
int use_count;
struct llist_head entry;
+ struct gsm_bts *current_bts;
};
enum gsm_subscriber_field {
@@ -31,12 +32,17 @@ enum gsm_subscriber_field {
GSM_SUBSCRIBER_EXTENSION,
};
+enum gsm_subscriber_update_reason {
+ GSM_SUBSCRIBER_UPDATE_ATTACHED,
+ GSM_SUBSCRIBER_UPDATE_DETACHED,
+};
+
struct gsm_subscriber *subscr_get(struct gsm_subscriber *subscr);
struct gsm_subscriber *subscr_put(struct gsm_subscriber *subscr);
struct gsm_subscriber *subscr_get_by_tmsi(const char *tmsi);
struct gsm_subscriber *subscr_get_by_imsi(const char *imsi);
struct gsm_subscriber *subscr_get_by_extension(const char *ext);
-int subscr_update(struct gsm_subscriber *s, struct gsm_bts *bts);
+int subscr_update(struct gsm_subscriber *s, struct gsm_bts *bts, int reason);
/* internal */
struct gsm_subscriber *subscr_alloc(void);