Add SI10 support

Add data structures and checks for System information Type 10.

Related: OS#5783
Change-Id: I3a5da543f083f31e873c67b5ec1b5a439187d8f3
This commit is contained in:
Max 2023-01-26 21:31:53 +03:00 committed by msuraev
parent 5c7eaa671a
commit b31a2b5f6d
2 changed files with 15 additions and 1 deletions

View File

@ -1134,6 +1134,20 @@ struct gsm48_system_information_type_6 {
#endif
} __attribute__ ((packed));
/* Section 9.1.50 System Information type 10 (ASCI) */
struct gsm48_system_information_type_10 {
#if OSMO_IS_LITTLE_ENDIAN
uint8_t rr_short_pd:1, /* < RR short PD : bit > See 3GPP TS 24.007 §11.3.2 */
msg_type:5, /* < message type : bit(5) > See 3GPP TS 44.018 Table 10.4.2 */
l2_header:2; /* < short layer 2 header : bit(2) > See 3GPP TS 44.006 §6.4a */
uint8_t rest_octets[0]; /* < SI10 Rest Octets : bit(160) > See 3GPP TS 44.018 §10.5.2.44 */
#elif OSMO_IS_BIG_ENDIAN
/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
uint8_t l2_header:2, msg_type:5, rr_short_pd:1;
uint8_t rest_octets[0];
#endif
} __attribute__ ((packed));
/* Section 9.1.43a System Information type 13 */
struct gsm48_system_information_type_13 {
struct gsm48_system_information_type_header header;

View File

@ -46,7 +46,7 @@ osmo_static_assert(sizeof(struct gsm48_system_information_type_4) == 13, _si4_si
/* bs11 forgot the l2 len, 0-6 rest octets */
osmo_static_assert(sizeof(struct gsm48_system_information_type_5) == 18, _si5_size);
osmo_static_assert(sizeof(struct gsm48_system_information_type_6) == 11, _si6_size);
osmo_static_assert(sizeof(struct gsm48_system_information_type_10) == 1, _si10_size);
osmo_static_assert(sizeof(struct gsm48_system_information_type_13) == 3, _si13_size);
static const uint8_t sitype2rsl[_MAX_SYSINFO_TYPE] = {