libosmogsm  1.7.0.8-0578c
Osmocom GSM library
gsm_44_318.h
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include <stdint.h>
7 #include <osmocom/core/endian.h>
8 
9 /* Table 11.1.1.2.1: Protocol Discriminator */
10 enum gan_pdisc {
14 };
15 
16 /* Table 11.1.1.4.1: Message types for URR */
17 
22 
31 
34 
41 
45 
52 
55 
65 
69 };
70 
71 /* All tables in 10.1.x and 10.2.x / Table 11.2.1 */
72 enum gan_iei {
73  GA_IE_MI = 1,
77  GA_IE_LAC = 5,
90  GA_IE_RAI = 18,
106  GA_IE_PFI = 35,
112  GA_IE_RAC = 41,
154 };
155 
156 /* 11.1.1 GA-RC and GA-CSR Message header IE */
158 #if OSMO_IS_LITTLE_ENDIAN
159  uint16_t len;
160  uint8_t pdisc:4,
161  skip_ind:4;
162  uint8_t msg_type;
163  uint8_t data[0];
164 #elif OSMO_IS_BIG_ENDIAN
165 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
166  uint16_t len;
167  uint8_t skip_ind:4, pdisc:4;
168  uint8_t msg_type;
169  uint8_t data[0];
170 #endif
171 } __attribute__((packed));
172 
173 /* 11.2.14.1: GAN Control Channel Description IE */
175 #if OSMO_IS_LITTLE_ENDIAN
176  uint8_t spare:1,
177  ecmc:1,
178  nmo:2,
179  gprs:1,
180  dtm:1,
181  att:1,
182  mscr:1;
183  uint8_t t3212;
184  uint8_t rac;
185  uint8_t sgsnr:1,
186  ecmp:1,
187  re:1,
188  pfcfm:1,
189  tgecs:2,
190  spare2:2;
191  uint8_t access_class[2];
192 #elif OSMO_IS_BIG_ENDIAN
193 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
194  uint8_t mscr:1, att:1, dtm:1, gprs:1, nmo:2, ecmc:1, spare:1;
195  uint8_t t3212;
196  uint8_t rac;
197  uint8_t spare2:2, tgecs:2, pfcfm:1, re:1, ecmp:1, sgsnr:1;
198  uint8_t access_class[2];
199 #endif
200 } __attribute__((packed));
Definition: gsm_44_318.h:147
Definition: gsm_44_318.h:38
uint8_t msg_type
Definition: gsm_04_08.h:768
Definition: gsm_44_318.h:56
Definition: gsm_44_318.h:84
Definition: gsm_44_318.h:27
Definition: gsm_44_318.h:138
Definition: gsm_44_318.h:113
Definition: gsm_44_318.h:117
Definition: gsm_44_318.h:102
Definition: gsm_44_318.h:107
Definition: gsm_44_318.h:76
Definition: gsm_44_318.h:152
Definition: gsm_44_318.h:44
Definition: gsm_44_318.h:39
Definition: gsm_44_318.h:130
Definition: gsm_44_318.h:60
Definition: gsm_44_318.h:153
Definition: gsm_44_318.h:20
Definition: gsm_44_318.h:140
Definition: gsm_44_318.h:124
Definition: gsm_44_318.h:47
Definition: gsm_44_318.h:174
Definition: gsm_44_318.h:100
Definition: gsm_44_318.h:131
Definition: gsm_44_318.h:118
Definition: gsm_44_318.h:83
Definition: gsm_44_318.h:97
Definition: gsm_44_318.h:43
Definition: gsm_44_318.h:143
Definition: gsm_44_318.h:75
Definition: gsm_44_318.h:11
Definition: gsm_44_318.h:109
Definition: gsm_44_318.h:57
Definition: gsm_44_318.h:116
Definition: gsm_44_318.h:86
Definition: gsm_44_318.h:128
Definition: gsm_44_318.h:89
gan_iei
Definition: gsm_44_318.h:72
Definition: gsm_44_318.h:148
Definition: gsm_44_318.h:157
Definition: gsm_44_318.h:73
Definition: gsm_44_318.h:40
Definition: gsm_44_318.h:120
Definition: gsm_44_318.h:24
Definition: gsm_44_318.h:25
Definition: gsm_44_318.h:105
Definition: gsm_44_318.h:101
Definition: gsm_44_318.h:29
Definition: gsm_44_318.h:145
Definition: gsm_44_318.h:26
Definition: gsm_44_318.h:30
Definition: gsm_44_318.h:110
Definition: gsm_44_318.h:90
gan_pdisc
Definition: gsm_44_318.h:10
Definition: gsm_44_318.h:149
Definition: gsm_44_318.h:79
Definition: gsm_44_318.h:122
Definition: gsm_44_318.h:98
Definition: gsm_44_318.h:125
Definition: gsm_44_318.h:46
Definition: gsm_44_318.h:49
Definition: gsm_44_318.h:112
uint8_t rac
Definition: gsm_04_08.h:1933
Definition: gsm_44_318.h:85
Definition: gsm_44_318.h:146
Definition: gsm_44_318.h:108
Definition: gsm_44_318.h:106
Definition: gsm_44_318.h:28
Definition: gsm_44_318.h:121
Definition: gsm_44_318.h:134
Definition: gsm_44_318.h:19
Definition: gsm_44_318.h:66
Definition: gsm_44_318.h:129
Definition: gsm_44_318.h:74
Definition: gsm_44_318.h:51
Definition: gsm_44_318.h:54
Definition: gsm_44_318.h:104
Definition: gsm_44_318.h:21
Definition: gsm_44_318.h:33
uint8_t data[0]
Definition: gsm_44_318.h:144
Definition: gsm_44_318.h:87
Definition: gsm_44_318.h:127
Definition: gsm_44_318.h:42
Definition: gsm_44_318.h:96
Definition: gsm_44_318.h:92
Definition: gsm_44_318.h:62
Definition: gsm_44_318.h:115
Definition: gsm_44_318.h:58
Definition: gsm_44_318.h:135
Definition: gsm_44_318.h:132
Definition: gsm_44_318.h:93
Definition: gsm_44_318.h:68
Definition: gsm_44_318.h:80
Definition: gsm_44_318.h:123
Definition: gsm_44_318.h:99
Definition: gsm_44_318.h:53
Definition: gsm_44_318.h:142
Definition: gsm_44_318.h:37
Definition: gsm_44_318.h:77
Definition: gsm_44_318.h:61
Definition: gsm_44_318.h:88
uint8_t len
Definition: gsm_04_11.h:467
Definition: gsm_44_318.h:151
Definition: gsm_44_318.h:23
Definition: gsm_44_318.h:64
Definition: gsm_44_318.h:63
Definition: gsm_44_318.h:139
Definition: gsm_44_318.h:82
Definition: gsm_44_318.h:50
Definition: gsm_44_318.h:95
Definition: gsm_44_318.h:141
Definition: gsm_44_318.h:150
Definition: gsm_44_318.h:35
Definition: gsm_44_318.h:78
Definition: gsm_44_318.h:119
Definition: gsm_44_318.h:94
Definition: gsm_44_318.h:133
Definition: gsm_44_318.h:48
Definition: gsm_44_318.h:114
Definition: gsm_44_318.h:81
Definition: gsm_44_318.h:126
gan_msg_type
Definition: gsm_44_318.h:18
Definition: gsm_44_318.h:13
Definition: gsm_44_318.h:136
Definition: gsm_44_318.h:91
Definition: gsm_44_318.h:32
Definition: gsm_44_318.h:103
Definition: gsm_44_318.h:111
Definition: gsm_44_318.h:137
enum gan_pdisc __attribute__
Definition: gsm_44_318.h:12
Definition: gsm_44_318.h:67
Definition: gsm_44_318.h:36
Definition: gsm_44_318.h:59