add struct gprs_subscr, separating gprs from gsm_subscriber

Prepare for replacing gsm_subscriber with vlr_subscriber. vlr_subscriber will
not make sense to be used in gprs, so have a dedicated GPRS subscriber struct.
(Could change if the gprs code were to use libvlr; is currently independent).

Related: OS#1592
Change-Id: Ia8b391ee009c8545763cba04505be3947835120e
diff --git a/openbsc/include/openbsc/gprs_sgsn.h b/openbsc/include/openbsc/gprs_sgsn.h
index 2cc5b0c..c3cac7f 100644
--- a/openbsc/include/openbsc/gprs_sgsn.h
+++ b/openbsc/include/openbsc/gprs_sgsn.h
@@ -18,7 +18,7 @@
 
 struct gprs_llc_lle;
 struct ctrl_handle;
-struct gsm_subscriber;
+struct gprs_subscr;
 
 enum gsm48_gsm_cause;
 
@@ -225,7 +225,7 @@
 	/* the current GGSN look-up operation */
 	struct sgsn_ggsn_lookup *ggsn_lookup;
 
-	struct gsm_subscriber   *subscr;
+	struct gprs_subscr	*subscr;
 };
 
 #define LOGMMCTXP(level, mm, fmt, args...) \
@@ -433,6 +433,7 @@
 /*
  * GPRS subscriber data
  */
+#define GPRS_SUBSCRIBER_FIRST_CONTACT	0x00000001
 #define GPRS_SUBSCRIBER_UPDATE_AUTH_INFO_PENDING	(1 << 16)
 #define GPRS_SUBSCRIBER_UPDATE_LOCATION_PENDING		(1 << 17)
 #define GPRS_SUBSCRIBER_CANCELLED			(1 << 18)
@@ -446,13 +447,13 @@
 int gprs_subscr_init(struct sgsn_instance *sgi);
 int gprs_subscr_request_update_location(struct sgsn_mm_ctx *mmctx);
 int gprs_subscr_request_auth_info(struct sgsn_mm_ctx *mmctx);
-void gprs_subscr_cleanup(struct gsm_subscriber *subscr);
-struct gsm_subscriber *gprs_subscr_get_or_create(const char *imsi);
-struct gsm_subscriber *gprs_subscr_get_or_create_by_mmctx( struct sgsn_mm_ctx *mmctx);
-struct gsm_subscriber *gprs_subscr_get_by_imsi(const char *imsi);
-void gprs_subscr_cancel(struct gsm_subscriber *subscr);
-void gprs_subscr_update(struct gsm_subscriber *subscr);
-void gprs_subscr_update_auth_info(struct gsm_subscriber *subscr);
+void gprs_subscr_cleanup(struct gprs_subscr *subscr);
+struct gprs_subscr *gprs_subscr_get_or_create(const char *imsi);
+struct gprs_subscr *gprs_subscr_get_or_create_by_mmctx( struct sgsn_mm_ctx *mmctx);
+struct gprs_subscr *gprs_subscr_get_by_imsi(const char *imsi);
+void gprs_subscr_cancel(struct gprs_subscr *subscr);
+void gprs_subscr_update(struct gprs_subscr *subscr);
+void gprs_subscr_update_auth_info(struct gprs_subscr *subscr);
 int gprs_subscr_rx_gsup_message(struct msgb *msg);
 
 /* Called on subscriber data updates */