aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gprs_sgsn.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/include/openbsc/gprs_sgsn.h')
-rw-r--r--openbsc/include/openbsc/gprs_sgsn.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gprs_sgsn.h b/openbsc/include/openbsc/gprs_sgsn.h
index 2b94096f6..d6a9bdada 100644
--- a/openbsc/include/openbsc/gprs_sgsn.h
+++ b/openbsc/include/openbsc/gprs_sgsn.h
@@ -271,6 +271,13 @@ struct imsi_acl_entry {
char imsi[16+1];
};
+enum sgsn_subscriber_proc {
+ SGSN_SUBSCR_PROC_NONE = 0,
+ SGSN_SUBSCR_PROC_PURGE,
+ SGSN_SUBSCR_PROC_UPD_LOC,
+ SGSN_SUBSCR_PROC_UPD_AUTH,
+};
+
struct sgsn_subscriber_data {
struct sgsn_mm_ctx *mm;
struct gsm_auth_tuple auth_triplets[5];
@@ -278,6 +285,7 @@ struct sgsn_subscriber_data {
int error_cause;
struct osmo_timer_list timer;
int retries;
+ enum sgsn_subscriber_proc blocked_by;
};
#define LOGGSUBSCRP(level, subscr, fmt, args...) \
@@ -324,6 +332,10 @@ void gprs_subscr_update(struct gsm_subscriber *subscr);
void gprs_subscr_update_auth_info(struct gsm_subscriber *subscr);
int gprs_subscr_rx_gsup_message(struct msgb *msg);
+int gprs_subscr_purge(struct gsm_subscriber *subscr);
+int gprs_subscr_query_auth_info(struct gsm_subscriber *subscr);
+int gprs_subscr_location_update(struct gsm_subscriber *subscr);
+
/* Called on subscriber data updates */
void sgsn_update_subscriber_data(struct sgsn_mm_ctx *mmctx,
struct gsm_subscriber *subscr);