aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_04_08_gprs.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-07-03 11:09:06 +0200
committerHarald Welte <laforge@gnumonks.org>2010-07-03 11:09:06 +0200
commit4b6ac1edb95f40022bb1cf918a61412a4358b648 (patch)
tree2985c659738fbc76b1ad67c9f0f08ebcfa28c251 /openbsc/include/openbsc/gsm_04_08_gprs.h
parent3e2e159707c48e8eb52549989eee849417264c97 (diff)
[SGSN] Initial work on GMM authentication and ciphering
Diffstat (limited to 'openbsc/include/openbsc/gsm_04_08_gprs.h')
-rw-r--r--openbsc/include/openbsc/gsm_04_08_gprs.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_04_08_gprs.h b/openbsc/include/openbsc/gsm_04_08_gprs.h
index baa513b2f..8de636293 100644
--- a/openbsc/include/openbsc/gsm_04_08_gprs.h
+++ b/openbsc/include/openbsc/gsm_04_08_gprs.h
@@ -63,6 +63,7 @@
#define GPRS_UPD_T_PERIODIC 3
enum gsm48_gprs_ie_mm {
+ GSM48_IE_GMM_CIPH_CKSN = 0x08, /* 10.5.1.2 */
GSM48_IE_GMM_TIMER_READY = 0x17, /* 10.5.7.3 */
GSM48_IE_GMM_ALLOC_PTMSI = 0x18, /* 10.5.1.4 */
GSM48_IE_GMM_PTMSI_SIG = 0x19, /* 10.5.5.8 */
@@ -120,6 +121,22 @@ struct gsm48_attach_ack {
uint8_t data[0];
} __attribute__((packed));
+/* Chapter 9.4.9 / Table 9.4.9 */
+struct gsm48_auth_ciph_req {
+ uint8_t ciph_alg:4, /* 10.5.5.3 */
+ imeisv_req:4; /* 10.5.5.10 */
+ uint8_t force_stby:4, /* 10.5.5.7 */
+ ac_ref_nr:4; /* 10.5.5.19 */
+ uint8_t data[0];
+} __attribute__((packed));
+/* optional: TV RAND, TV CKSN */
+
+struct gsm48_auth_ciph_resp {
+ uint8_t ac_ref_nr:4,
+ spare:4;
+ uint8_t data[0];
+} __attribute__((packed));
+
/* Chapter 9.5.1 / Table 9.5.1 */
struct gsm48_act_pdp_ctx_req {
uint8_t req_nsapi;