76 lines
2.3 KiB
Plaintext
76 lines
2.3 KiB
Plaintext
module GSMTAP_Types {
|
|
import from Osmocom_Types all;
|
|
|
|
const uint8_t GSMTAP_VERSION := 2;
|
|
|
|
type enumerated GsmtapMsgType {
|
|
GSMTAP_TYPE_UM (1),
|
|
GSMTAP_TYPE_ABIS (2),
|
|
GSMTAP_TYPE_UM_BURST (3),
|
|
GSMTAP_TYPE_SIM (4),
|
|
GSMTAP_TYPE_TETRA_I1 (5),
|
|
GSMTAP_TYPE_TETRA_I1_BURST (6),
|
|
GSMTAP_TYPE_WMX_BURST (7),
|
|
GSMTAP_TYPE_GB_LLC (8),
|
|
GSMTAP_TYPE_GB_SNDCP (9),
|
|
GSMTAP_TYPE_GMR1_UM (10),
|
|
GSMTAP_TYPE_UMTS_RLC_MAC (11),
|
|
GSMTAP_TYPE_UMTS_RRC (12),
|
|
GSMTAP_TYPE_LTE_RRC (13),
|
|
GSMTAP_TYPE_LTE_MAC (14),
|
|
GSMTAP_TYPE_LTE_MAC_FRAMED (15),
|
|
GSMTAP_TYPE_OSMOCORE_LOG (16),
|
|
GSMTAP_TYPE_QC_DIAG (17)
|
|
} with { variant "FIELDLENGTH(8)" };
|
|
|
|
type enumerated GsmtapChannel {
|
|
GSMTAP_CHANNEL_UNKNOWN (0),
|
|
GSMTAP_CHANNEL_BCCH (1),
|
|
GSMTAP_CHANNEL_CCCH (2),
|
|
GSMTAP_CHANNEL_RACH (3),
|
|
GSMTAP_CHANNEL_AGCH (4),
|
|
GSMTAP_CHANNEL_PCH (5),
|
|
GSMTAP_CHANNEL_SDCCH (6),
|
|
GSMTAP_CHANNEL_SDCCH4 (7),
|
|
GSMTAP_CHANNEL_SDCCH8 (8),
|
|
GSMTAP_CHANNEL_TCH_F (9),
|
|
GSMTAP_CHANNEL_TCH_H (10),
|
|
GSMTAP_CHANNEL_PACCH (11),
|
|
GSMTAP_CHANNEL_CBCH52 (12),
|
|
GSMTAP_CHANNEL_PDCH (13),
|
|
GSMTAP_CHANNEL_PTCCH (14),
|
|
GSMTAP_CHANNEL_CBCH51 (15)
|
|
} with { variant "FIELDLENGTH(8)" };
|
|
|
|
type record GsmtapHeader {
|
|
uint8_t version,
|
|
uint8_t hdr_len,
|
|
GsmtapMsgType msg_type,
|
|
uint8_t timeslot,
|
|
Arfcn arfcn,
|
|
int8_t signal_dbm,
|
|
int8_t snr_db,
|
|
uint32_t frame_number,
|
|
GsmtapChannel sub_type,
|
|
uint8_t antenna_nr,
|
|
uint8_t sub_slot,
|
|
uint8_t res
|
|
} with { variant (hdr_len) "LENGTHTO(version, hdr_len, msg_type, timeslot, arfcn, signal_dbm, snr_db, frame_number, sub_type, antenna_nr, sub_slot, res), UNIT(dword32)" }
|
|
|
|
external function enc_GsmtapHeader(in GsmtapHeader si) return octetstring
|
|
with { extension "prototype(convert) encode(RAW)" };
|
|
external function dec_GsmtapHeader(in octetstring stream) return GsmtapHeader
|
|
with { extension "prototype(convert) decode(RAW)" };
|
|
|
|
type record GsmtapMessage {
|
|
GsmtapHeader header,
|
|
octetstring payload optional
|
|
} with { variant "" };
|
|
|
|
external function enc_GsmtapMessage(in GsmtapMessage si) return octetstring
|
|
with { extension "prototype(convert) encode(RAW)" };
|
|
external function dec_GsmtapMessage(in octetstring stream) return GsmtapMessage
|
|
with { extension "prototype(convert) decode(RAW)" };
|
|
|
|
} with { encode "RAW" };
|