GSM_Types: Fix MobileIdentity

This commit is contained in:
Harald Welte 2017-07-30 00:49:04 +02:00
parent d1209a6f04
commit bda65a31f5
1 changed files with 12 additions and 8 deletions

View File

@ -176,30 +176,34 @@ module GSM_Types {
MobileIdentityType mi_type (MI_TYPE_IMSI, MI_TYPE_IMEI, MI_TYPE_IMEISV),
boolean odd,
hexstring digits
} with { variant "" };
} with { variant "FIELDORDER(lsb)" };
type record MobileIdentityTMSI {
BIT4 pad ('1111'B),
boolean odd (false),
MobileIdentityType mi_type (MI_TYPE_TMSI),
GsmTmsi tmsi
} with { variant "" };
} with { variant "FIELDORDER(lsb)" };
type record MobileIdentityNone {
BIT4 pad ('1111'B),
boolean odd (false),
MobileIdentityType mi_type (MI_TYPE_NONE)
} with { variant "" };
} with { variant "FIELDORDER(lsb)" };
type union MobileIdentity {
MobileIdentityBCD bcd,
MobileIdentityBCD imsi,
MobileIdentityBCD imei,
MobileIdentityBCD imeisv,
MobileIdentityTMSI tmsi,
MobileIdentityNone unused
} with { variant "TAG(bcd, mi_type = MI_TYPE_IMSI;
bcd, mi_type = MI_TYPE_IMEI;
bcd, mi_type = MI_TYPE_IMEISV;
} with { variant "TAG(imsi, mi_type = MI_TYPE_IMSI;
imei, mi_type = MI_TYPE_IMEI;
imeisv, mi_type = MI_TYPE_IMEISV;
tmsi, mi_type = MI_TYPE_TMSI;
unused, mi_type = MI_TYPE_NONE)" };
unused, mi_type = MI_TYPE_NONE)"
variant "FIELDORDER(lsb)"
};
type record MobileIdentityLV {
uint8_t len,