aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-02-21 14:51:40 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-02-23 03:39:36 +0100
commitd1c2fc6de19cf66a91139951bb386659eb1a9502 (patch)
tree9fb31bbda0910b3e5da8586e682c7af641e092f4
parent812ba6dc63a75c39678dd3fe652768e76bf63183 (diff)
gsm_04_08.h: add R99 MSCR and CBQ3 to SI3 Ctrl Chan Descr
MSCR and CBQ3 are Release 1999 additions to the Control Channel Description IE of SI3. Assuming that no-one is using the spare bits, this will not cause any code conflicts. In the R99 struct, spare1 and spare2 are in different places, so rather rename them to spare_1 and spare_2 to make sure we get a compiler barf *if* anyone tries to use them with the wrong structure. Adjust the spec reference to TS 44.018; TS 04.08 Figure 10.5.33 is replaced by TS 44.018 Figure 10.5.2.11.1 which is right there in the named Section 10.5.2.11, so drop the explicit reference. Motivation: the R99 Control Channel Description defines MSCR to indicate whether the MSC is R99+ or not. To use UMTS AKA on GSM networks, we want to indicate that our libmsc is capable of R99, like OsmoSGSN already does. CBQ3 is merely added for completeness, no particular use case in mind. Related: OS#1593 Change-Id: If87e07b5d04e1617155383e14c98d2125fdd0608
-rw-r--r--include/osmocom/gsm/protocol/gsm_04_08.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h
index bbc27745..da177554 100644
--- a/include/osmocom/gsm/protocol/gsm_04_08.h
+++ b/include/osmocom/gsm/protocol/gsm_04_08.h
@@ -618,14 +618,16 @@ struct gsm48_cell_sel_par {
acs:1;
} __attribute__ ((packed));
-/* Section 10.5.2.11 Control Channel Description , Figure 10.5.33 */
+/* 3GPP TS 44.018 Section 10.5.2.11 Control Channel Description */
struct gsm48_control_channel_descr {
uint8_t ccch_conf :3,
bs_ag_blks_res :3,
att :1,
- spare1 :1;
+ mscr :1;
uint8_t bs_pa_mfrms : 3,
- spare2 :5;
+ spare_1 :2,
+ cbq3 :2,
+ spare_2 :1;
uint8_t t3212;
} __attribute__ ((packed));