\doxysection{gsmtap.\+h}
\label{gsmtap_8h_source}\index{include/osmocom/core/gsmtap.h@{include/osmocom/core/gsmtap.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 }
\DoxyCodeLine{12 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{13 }
\DoxyCodeLine{14 \textcolor{preprocessor}{\#include <stdint.h>}}
\DoxyCodeLine{15 }
\DoxyCodeLine{16 \textcolor{comment}{/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */}}
\DoxyCodeLine{17 }
\DoxyCodeLine{18 \textcolor{comment}{/* The GSMTAP format definition is maintained in libosmocore,}}
\DoxyCodeLine{19 \textcolor{comment}{ * specifically the latest version can always be obtained from}}
\DoxyCodeLine{20 \textcolor{comment}{ * http://cgit.osmocom.org/cgit/libosmocore/tree/include/osmocom/core/gsmtap.h}}
\DoxyCodeLine{21 \textcolor{comment}{ *}}
\DoxyCodeLine{22 \textcolor{comment}{ * If you want to introduce new protocol/burst/channel types or extend}}
\DoxyCodeLine{23 \textcolor{comment}{ * GSMTAP in any way, please contact the GSMTAP maintainer at either the}}
\DoxyCodeLine{24 \textcolor{comment}{ * public openbsc@lists.osmocom.org mailing list, or privately at}}
\DoxyCodeLine{25 \textcolor{comment}{ * Harald Welte <laforge@gnumonks.org>.}}
\DoxyCodeLine{26 \textcolor{comment}{ *}}
\DoxyCodeLine{27 \textcolor{comment}{ * Your cooperation ensures that all projects will use the same GSMTAP}}
\DoxyCodeLine{28 \textcolor{comment}{ * definitions and remain compatible with each other.}}
\DoxyCodeLine{29 \textcolor{comment}{ */}}
\DoxyCodeLine{30 }
\DoxyCodeLine{31 \textcolor{preprocessor}{\#define GSMTAP\_VERSION          0x02}}
\DoxyCodeLine{32 }
\DoxyCodeLine{33 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_UM          0x01}}
\DoxyCodeLine{34 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_ABIS        0x02}}
\DoxyCodeLine{35 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_UM\_BURST    0x03    }\textcolor{comment}{/* raw burst bits */}\textcolor{preprocessor}{}}
\DoxyCodeLine{36 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_SIM         0x04    }\textcolor{comment}{/* ISO 7816 smart card interface */}\textcolor{preprocessor}{}}
\DoxyCodeLine{37 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_TETRA\_I1            0x05    }\textcolor{comment}{/* tetra air interface */}\textcolor{preprocessor}{}}
\DoxyCodeLine{38 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_TETRA\_I1\_BURST      0x06    }\textcolor{comment}{/* tetra air interface */}\textcolor{preprocessor}{}}
\DoxyCodeLine{39 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_WMX\_BURST   0x07    }\textcolor{comment}{/* WiMAX burst */}\textcolor{preprocessor}{}}
\DoxyCodeLine{40 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_GB\_LLC      0x08 }\textcolor{comment}{/* GPRS Gb interface: LLC */}\textcolor{preprocessor}{}}
\DoxyCodeLine{41 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_GB\_SNDCP    0x09 }\textcolor{comment}{/* GPRS Gb interface: SNDCP */}\textcolor{preprocessor}{}}
\DoxyCodeLine{42 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_GMR1\_UM     0x0a    }\textcolor{comment}{/* GMR-\/1 L2 packets */}\textcolor{preprocessor}{}}
\DoxyCodeLine{43 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_UMTS\_RLC\_MAC        0x0b}}
\DoxyCodeLine{44 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_UMTS\_RRC    0x0c}}
\DoxyCodeLine{45 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_LTE\_RRC     0x0d    }\textcolor{comment}{/* LTE interface */}\textcolor{preprocessor}{}}
\DoxyCodeLine{46 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_LTE\_MAC     0x0e    }\textcolor{comment}{/* LTE MAC interface */}\textcolor{preprocessor}{ }}
\DoxyCodeLine{47 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_LTE\_MAC\_FRAMED      0x0f    }\textcolor{comment}{/* LTE MAC with context hdr */}\textcolor{preprocessor}{}}
\DoxyCodeLine{48 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_OSMOCORE\_LOG        0x10    }\textcolor{comment}{/* libosmocore logging */}\textcolor{preprocessor}{}}
\DoxyCodeLine{49 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_QC\_DIAG             0x11    }\textcolor{comment}{/* Qualcomm DIAG frame */}\textcolor{preprocessor}{}}
\DoxyCodeLine{50 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_LTE\_NAS             0x12    }\textcolor{comment}{/* LTE Non-\/Access Stratum */}\textcolor{preprocessor}{}}
\DoxyCodeLine{51 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_E1T1                0x13    }\textcolor{comment}{/* E1/T1 Lines */}\textcolor{preprocessor}{}}
\DoxyCodeLine{52 \textcolor{preprocessor}{\#define GSMTAP\_TYPE\_GSM\_RLP             0x14    }\textcolor{comment}{/* GSM RLP frames as per 3GPP TS 24.022 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{53 }
\DoxyCodeLine{54 \textcolor{comment}{/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */}}
\DoxyCodeLine{55 }
\DoxyCodeLine{56 \textcolor{comment}{/* sub-\/types for TYPE\_UM\_BURST */}}
\DoxyCodeLine{57 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_UNKNOWN            0x00}}
\DoxyCodeLine{58 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_FCCH               0x01}}
\DoxyCodeLine{59 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_PARTIAL\_SCH        0x02}}
\DoxyCodeLine{60 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_SCH                0x03}}
\DoxyCodeLine{61 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_CTS\_SCH            0x04}}
\DoxyCodeLine{62 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_COMPACT\_SCH        0x05}}
\DoxyCodeLine{63 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_NORMAL             0x06}}
\DoxyCodeLine{64 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_DUMMY              0x07}}
\DoxyCodeLine{65 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_ACCESS             0x08}}
\DoxyCodeLine{66 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_NONE               0x09}}
\DoxyCodeLine{67 \textcolor{comment}{/* WiMAX bursts */}}
\DoxyCodeLine{68 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_CDMA\_CODE          0x10    }\textcolor{comment}{/* WiMAX CDMA Code Attribute burst */}\textcolor{preprocessor}{}}
\DoxyCodeLine{69 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_FCH                0x11    }\textcolor{comment}{/* WiMAX FCH burst */}\textcolor{preprocessor}{}}
\DoxyCodeLine{70 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_FFB                0x12    }\textcolor{comment}{/* WiMAX Fast Feedback burst */}\textcolor{preprocessor}{}}
\DoxyCodeLine{71 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_PDU                0x13    }\textcolor{comment}{/* WiMAX PDU burst */}\textcolor{preprocessor}{}}
\DoxyCodeLine{72 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_HACK               0x14    }\textcolor{comment}{/* WiMAX HARQ ACK burst */}\textcolor{preprocessor}{}}
\DoxyCodeLine{73 \textcolor{preprocessor}{\#define GSMTAP\_BURST\_PHY\_ATTRIBUTES     0x15    }\textcolor{comment}{/* WiMAX PHY Attributes burst */}\textcolor{preprocessor}{}}
\DoxyCodeLine{74 }
\DoxyCodeLine{75 \textcolor{comment}{/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */}}
\DoxyCodeLine{76 }
\DoxyCodeLine{77 \textcolor{comment}{/* sub-\/types for TYPE\_UM */}}
\DoxyCodeLine{78 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_UNKNOWN  0x00}}
\DoxyCodeLine{79 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_BCCH     0x01}}
\DoxyCodeLine{80 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_CCCH     0x02}}
\DoxyCodeLine{81 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_RACH     0x03}}
\DoxyCodeLine{82 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_AGCH     0x04}}
\DoxyCodeLine{83 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_PCH      0x05}}
\DoxyCodeLine{84 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_SDCCH    0x06}}
\DoxyCodeLine{85 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_SDCCH4   0x07}}
\DoxyCodeLine{86 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_SDCCH8   0x08}}
\DoxyCodeLine{87 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_FACCH\_F  0x09    }\textcolor{comment}{/* Actually, it's FACCH/F (signaling) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{88 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_FACCH\_H  0x0a    }\textcolor{comment}{/* Actually, it's FACCH/H (signaling) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{89 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_PACCH    0x0b}}
\DoxyCodeLine{90 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_CBCH52   0x0c}}
\DoxyCodeLine{91 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_PDTCH    0x0d}}
\DoxyCodeLine{92 \textcolor{comment}{/* for legacy reasons we use a mis-\/spelled name. PDCH is really the physical channel, but we use it as PDTCH */}}
\DoxyCodeLine{93 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_PDCH     GSMTAP\_CHANNEL\_PDTCH}}
\DoxyCodeLine{94 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_PTCCH    0x0e}}
\DoxyCodeLine{95 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_CBCH51   0x0f}}
\DoxyCodeLine{96 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_VOICE\_F  0x10    }\textcolor{comment}{/* voice codec payload (FR/EFR/AMR) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{97 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_VOICE\_H  0x11    }\textcolor{comment}{/* voice codec payload (HR/AMR) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{98 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_TCH\_F    GSMTAP\_CHANNEL\_FACCH\_F  }\textcolor{comment}{/* We used the wrong naming in 2008 when we were young */}\textcolor{preprocessor}{}}
\DoxyCodeLine{99 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_TCH\_H    GSMTAP\_CHANNEL\_FACCH\_H  }\textcolor{comment}{/* We used the wrong naming in 2008 when we were young */}\textcolor{preprocessor}{}}
\DoxyCodeLine{100 }
\DoxyCodeLine{101 \textcolor{comment}{/* GPRS Coding Scheme CS1..4 */}}
\DoxyCodeLine{102 \textcolor{preprocessor}{\#define GSMTAP\_GPRS\_CS\_BASE     0x20}}
\DoxyCodeLine{103 \textcolor{preprocessor}{\#define GSMTAP\_GPRS\_CS(N)       (GSMTAP\_GPRS\_CS\_BASE + N)}}
\DoxyCodeLine{104 \textcolor{comment}{/* (E) GPRS Coding Scheme MCS0..9 */}}
\DoxyCodeLine{105 \textcolor{preprocessor}{\#define GSMTAP\_GPRS\_MCS\_BASE    0x30}}
\DoxyCodeLine{106 \textcolor{preprocessor}{\#define GSMTAP\_GPRS\_MCS(N)      (GSMTAP\_GPRS\_MCS\_BASE + N)}}
\DoxyCodeLine{107 }
\DoxyCodeLine{108 \textcolor{preprocessor}{\#define GSMTAP\_CHANNEL\_ACCH     0x80}}
\DoxyCodeLine{109 }
\DoxyCodeLine{110 \textcolor{comment}{/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */}}
\DoxyCodeLine{111 }
\DoxyCodeLine{112 \textcolor{comment}{/* sub-\/types for GSMTAP\_TYPE\_SIM */}}
\DoxyCodeLine{113 \textcolor{preprocessor}{\#define GSMTAP\_SIM\_APDU         0x00 }\textcolor{comment}{/* APDU data (complete APDU) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{114 \textcolor{preprocessor}{\#define GSMTAP\_SIM\_ATR          0x01 }\textcolor{comment}{/* card ATR data */}\textcolor{preprocessor}{}}
\DoxyCodeLine{115 \textcolor{preprocessor}{\#define GSMTAP\_SIM\_PPS\_REQ              0x02 }\textcolor{comment}{/* PPS request data */}\textcolor{preprocessor}{}}
\DoxyCodeLine{116 \textcolor{preprocessor}{\#define GSMTAP\_SIM\_PPS\_RSP              0x03 }\textcolor{comment}{/* PPS response data */}\textcolor{preprocessor}{}}
\DoxyCodeLine{117 \textcolor{preprocessor}{\#define GSMTAP\_SIM\_TPDU\_HDR             0x04 }\textcolor{comment}{/* TPDU command header */}\textcolor{preprocessor}{}}
\DoxyCodeLine{118 \textcolor{preprocessor}{\#define GSMTAP\_SIM\_TPDU\_CMD             0x05 }\textcolor{comment}{/* TPDU command body */}\textcolor{preprocessor}{}}
\DoxyCodeLine{119 \textcolor{preprocessor}{\#define GSMTAP\_SIM\_TPDU\_RSP             0x06 }\textcolor{comment}{/* TPDU response body */}\textcolor{preprocessor}{}}
\DoxyCodeLine{120 \textcolor{preprocessor}{\#define GSMTAP\_SIM\_TPDU\_SW              0x07 }\textcolor{comment}{/* TPDU response trailer */}\textcolor{preprocessor}{}}
\DoxyCodeLine{121 }
\DoxyCodeLine{122 \textcolor{comment}{/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */}}
\DoxyCodeLine{123 }
\DoxyCodeLine{124 \textcolor{comment}{/* sub-\/types for TYPE\_TETRA\_AIR */}}
\DoxyCodeLine{125 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_BSCH       0x01}}
\DoxyCodeLine{126 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_AACH       0x02}}
\DoxyCodeLine{127 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_SCH\_HU     0x03}}
\DoxyCodeLine{128 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_SCH\_HD     0x04}}
\DoxyCodeLine{129 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_SCH\_F      0x05}}
\DoxyCodeLine{130 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_BNCH       0x06}}
\DoxyCodeLine{131 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_STCH       0x07}}
\DoxyCodeLine{132 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_TCH\_F      0x08}}
\DoxyCodeLine{133 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_DMO\_SCH\_S  0x09}}
\DoxyCodeLine{134 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_DMO\_SCH\_H  0x0a}}
\DoxyCodeLine{135 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_DMO\_SCH\_F  0x0b}}
\DoxyCodeLine{136 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_DMO\_STCH   0x0c}}
\DoxyCodeLine{137 \textcolor{preprocessor}{\#define GSMTAP\_TETRA\_DMO\_TCH    0x0d}}
\DoxyCodeLine{138 }
\DoxyCodeLine{139 \textcolor{comment}{/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */}}
\DoxyCodeLine{140 }
\DoxyCodeLine{141 \textcolor{comment}{/* sub-\/types for TYPE\_GMR1\_UM */}}
\DoxyCodeLine{142 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_UNKNOWN     0x00}}
\DoxyCodeLine{143 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_BCCH        0x01}}
\DoxyCodeLine{144 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_CCCH        0x02    }\textcolor{comment}{/* either AGCH or PCH */}\textcolor{preprocessor}{}}
\DoxyCodeLine{145 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_PCH         0x03}}
\DoxyCodeLine{146 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_AGCH        0x04}}
\DoxyCodeLine{147 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_BACH        0x05}}
\DoxyCodeLine{148 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_RACH        0x06}}
\DoxyCodeLine{149 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_CBCH        0x07}}
\DoxyCodeLine{150 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_SDCCH       0x08}}
\DoxyCodeLine{151 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_TACCH       0x09}}
\DoxyCodeLine{152 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_GBCH        0x0a}}
\DoxyCodeLine{153 }
\DoxyCodeLine{154 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_SACCH       0x01    }\textcolor{comment}{/* to be combined with \_TCH\{6,9\}   */}\textcolor{preprocessor}{}}
\DoxyCodeLine{155 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_FACCH       0x02    }\textcolor{comment}{/* to be combines with \_TCH\{3,6,9\} */}\textcolor{preprocessor}{}}
\DoxyCodeLine{156 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_DKAB        0x03    }\textcolor{comment}{/* to be combined with \_TCH3 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{157 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_TCH3        0x10}}
\DoxyCodeLine{158 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_TCH6        0x14}}
\DoxyCodeLine{159 \textcolor{preprocessor}{\#define GSMTAP\_GMR1\_TCH9        0x18}}
\DoxyCodeLine{160 }
\DoxyCodeLine{161 \textcolor{comment}{/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */}}
\DoxyCodeLine{162 }
\DoxyCodeLine{163 \textcolor{preprocessor}{\#define GSMTAP\_UMTS\_CH\_PCCH     0x01}}
\DoxyCodeLine{164 \textcolor{preprocessor}{\#define GSMTAP\_UMTS\_CH\_CCCH     0x02}}
\DoxyCodeLine{165 \textcolor{preprocessor}{\#define GSMTAP\_UMTS\_CH\_DCCH     0x03}}
\DoxyCodeLine{166 }
\DoxyCodeLine{167 \textcolor{comment}{/* sub-\/types for TYPE\_LTE\_RRC */}}
\DoxyCodeLine{168 \textcolor{preprocessor}{\#define GSMTAP\_LTE\_CH\_BCCH      0x01}}
\DoxyCodeLine{169 \textcolor{preprocessor}{\#define GSMTAP\_LTE\_CH\_CCCH      0x02}}
\DoxyCodeLine{170 \textcolor{preprocessor}{\#define GSMTAP\_LTE\_CH\_DCCH      0x03}}
\DoxyCodeLine{171 \textcolor{preprocessor}{\#define GSMTAP\_LTE\_CH\_MCCH      0x04}}
\DoxyCodeLine{172 \textcolor{preprocessor}{\#define GSMTAP\_LTE\_CH\_PCCH      0x05}}
\DoxyCodeLine{173 \textcolor{preprocessor}{\#define GSMTAP\_LTE\_CH\_DTCH      0x06}}
\DoxyCodeLine{174 \textcolor{preprocessor}{\#define GSMTAP\_LTE\_CH\_MTCH      0x07}}
\DoxyCodeLine{175 }
\DoxyCodeLine{176 \textcolor{comment}{/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */}}
\DoxyCodeLine{177 \textcolor{comment}{/* sub-\/types for TYPE\_E1T1 */}}
\DoxyCodeLine{178 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_LAPD        0x01    }\textcolor{comment}{/* Q.921 LAPD */}\textcolor{preprocessor}{}}
\DoxyCodeLine{179 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_FR          0x02    }\textcolor{comment}{/* Frame Relay */}\textcolor{preprocessor}{}}
\DoxyCodeLine{180 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_RAW         0x03    }\textcolor{comment}{/* raw/transparent B-\/channel */}\textcolor{preprocessor}{}}
\DoxyCodeLine{181 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_TRAU16      0x04    }\textcolor{comment}{/* 16k TRAU frames; sub-\/slot 0-\/3 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{182 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_TRAU8       0x05    }\textcolor{comment}{/* 8k TRAU frames; sub-\/slot 0-\/7 */}\textcolor{preprocessor}{}}
\DoxyCodeLine{183 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_V5EF        0x06    }\textcolor{comment}{/* V5 Envelope Function */}\textcolor{preprocessor}{}}
\DoxyCodeLine{184 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_X75         0x07    }\textcolor{comment}{/* X.75 B-\/channel data */}\textcolor{preprocessor}{}}
\DoxyCodeLine{185 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_V120        0x08    }\textcolor{comment}{/* V.120 B-\/channel data */}\textcolor{preprocessor}{}}
\DoxyCodeLine{186 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_V110        0x09    }\textcolor{comment}{/* V.110 B-\/channel data */}\textcolor{preprocessor}{}}
\DoxyCodeLine{187 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_H221        0x0a    }\textcolor{comment}{/* H.221 B-\/channel data */}\textcolor{preprocessor}{}}
\DoxyCodeLine{188 \textcolor{preprocessor}{\#define GSMTAP\_E1T1\_PPP         0x0b    }\textcolor{comment}{/* PPP */}\textcolor{preprocessor}{}}
\DoxyCodeLine{189 }
\DoxyCodeLine{190 \textcolor{comment}{/* flags for the ARFCN */}}
\DoxyCodeLine{191 \textcolor{preprocessor}{\#define GSMTAP\_ARFCN\_F\_PCS      0x8000}}
\DoxyCodeLine{192 \textcolor{preprocessor}{\#define GSMTAP\_ARFCN\_F\_UPLINK   0x4000}}
\DoxyCodeLine{193 \textcolor{preprocessor}{\#define GSMTAP\_ARFCN\_MASK       0x3fff}}
\DoxyCodeLine{194 }
\DoxyCodeLine{195 \textcolor{comment}{/* IANA-\/assigned well-\/known UDP port for GSMTAP messages */}}
\DoxyCodeLine{196 \textcolor{preprocessor}{\#define GSMTAP\_UDP\_PORT                 4729}}
\DoxyCodeLine{197 }
\DoxyCodeLine{198 \textcolor{comment}{/* UMTS RRC message types */}}
\DoxyCodeLine{199 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{200         GSMTAP\_RRC\_SUB\_DL\_DCCH\_Message = 0,}
\DoxyCodeLine{201         GSMTAP\_RRC\_SUB\_UL\_DCCH\_Message,}
\DoxyCodeLine{202         GSMTAP\_RRC\_SUB\_DL\_CCCH\_Message,}
\DoxyCodeLine{203         GSMTAP\_RRC\_SUB\_UL\_CCCH\_Message,}
\DoxyCodeLine{204         GSMTAP\_RRC\_SUB\_PCCH\_Message,}
\DoxyCodeLine{205         GSMTAP\_RRC\_SUB\_DL\_SHCCH\_Message,}
\DoxyCodeLine{206         GSMTAP\_RRC\_SUB\_UL\_SHCCH\_Message,}
\DoxyCodeLine{207         GSMTAP\_RRC\_SUB\_BCCH\_FACH\_Message,}
\DoxyCodeLine{208         GSMTAP\_RRC\_SUB\_BCCH\_BCH\_Message,}
\DoxyCodeLine{209         GSMTAP\_RRC\_SUB\_MCCH\_Message,}
\DoxyCodeLine{210         GSMTAP\_RRC\_SUB\_MSCH\_Message,}
\DoxyCodeLine{211         GSMTAP\_RRC\_SUB\_HandoverToUTRANCommand,}
\DoxyCodeLine{212         GSMTAP\_RRC\_SUB\_InterRATHandoverInfo,}
\DoxyCodeLine{213         GSMTAP\_RRC\_SUB\_SystemInformation\_BCH,}
\DoxyCodeLine{214         GSMTAP\_RRC\_SUB\_System\_Information\_Container,}
\DoxyCodeLine{215         GSMTAP\_RRC\_SUB\_UE\_RadioAccessCapabilityInfo,}
\DoxyCodeLine{216         GSMTAP\_RRC\_SUB\_MasterInformationBlock,}
\DoxyCodeLine{217         GSMTAP\_RRC\_SUB\_SysInfoType1,}
\DoxyCodeLine{218         GSMTAP\_RRC\_SUB\_SysInfoType2,}
\DoxyCodeLine{219         GSMTAP\_RRC\_SUB\_SysInfoType3,}
\DoxyCodeLine{220         GSMTAP\_RRC\_SUB\_SysInfoType4,}
\DoxyCodeLine{221         GSMTAP\_RRC\_SUB\_SysInfoType5,}
\DoxyCodeLine{222         GSMTAP\_RRC\_SUB\_SysInfoType5bis,}
\DoxyCodeLine{223         GSMTAP\_RRC\_SUB\_SysInfoType6,}
\DoxyCodeLine{224         GSMTAP\_RRC\_SUB\_SysInfoType7,}
\DoxyCodeLine{225         GSMTAP\_RRC\_SUB\_SysInfoType8,}
\DoxyCodeLine{226         GSMTAP\_RRC\_SUB\_SysInfoType9,}
\DoxyCodeLine{227         GSMTAP\_RRC\_SUB\_SysInfoType10,}
\DoxyCodeLine{228         GSMTAP\_RRC\_SUB\_SysInfoType11,}
\DoxyCodeLine{229         GSMTAP\_RRC\_SUB\_SysInfoType11bis,}
\DoxyCodeLine{230         GSMTAP\_RRC\_SUB\_SysInfoType12,}
\DoxyCodeLine{231         GSMTAP\_RRC\_SUB\_SysInfoType13,}
\DoxyCodeLine{232         GSMTAP\_RRC\_SUB\_SysInfoType13\_1,}
\DoxyCodeLine{233         GSMTAP\_RRC\_SUB\_SysInfoType13\_2,}
\DoxyCodeLine{234         GSMTAP\_RRC\_SUB\_SysInfoType13\_3,}
\DoxyCodeLine{235         GSMTAP\_RRC\_SUB\_SysInfoType13\_4,}
\DoxyCodeLine{236         GSMTAP\_RRC\_SUB\_SysInfoType14,}
\DoxyCodeLine{237         GSMTAP\_RRC\_SUB\_SysInfoType15,}
\DoxyCodeLine{238         GSMTAP\_RRC\_SUB\_SysInfoType15bis,}
\DoxyCodeLine{239         GSMTAP\_RRC\_SUB\_SysInfoType15\_1,}
\DoxyCodeLine{240         GSMTAP\_RRC\_SUB\_SysInfoType15\_1bis,}
\DoxyCodeLine{241         GSMTAP\_RRC\_SUB\_SysInfoType15\_2,}
\DoxyCodeLine{242         GSMTAP\_RRC\_SUB\_SysInfoType15\_2bis,}
\DoxyCodeLine{243         GSMTAP\_RRC\_SUB\_SysInfoType15\_2ter,}
\DoxyCodeLine{244         GSMTAP\_RRC\_SUB\_SysInfoType15\_3,}
\DoxyCodeLine{245         GSMTAP\_RRC\_SUB\_SysInfoType15\_3bis,}
\DoxyCodeLine{246         GSMTAP\_RRC\_SUB\_SysInfoType15\_4,}
\DoxyCodeLine{247         GSMTAP\_RRC\_SUB\_SysInfoType15\_5,}
\DoxyCodeLine{248         GSMTAP\_RRC\_SUB\_SysInfoType15\_6,}
\DoxyCodeLine{249         GSMTAP\_RRC\_SUB\_SysInfoType15\_7,}
\DoxyCodeLine{250         GSMTAP\_RRC\_SUB\_SysInfoType15\_8,}
\DoxyCodeLine{251         GSMTAP\_RRC\_SUB\_SysInfoType16,}
\DoxyCodeLine{252         GSMTAP\_RRC\_SUB\_SysInfoType17,}
\DoxyCodeLine{253         GSMTAP\_RRC\_SUB\_SysInfoType18,}
\DoxyCodeLine{254         GSMTAP\_RRC\_SUB\_SysInfoType19,}
\DoxyCodeLine{255         GSMTAP\_RRC\_SUB\_SysInfoType20,}
\DoxyCodeLine{256         GSMTAP\_RRC\_SUB\_SysInfoType21,}
\DoxyCodeLine{257         GSMTAP\_RRC\_SUB\_SysInfoType22,}
\DoxyCodeLine{258         GSMTAP\_RRC\_SUB\_SysInfoTypeSB1,}
\DoxyCodeLine{259         GSMTAP\_RRC\_SUB\_SysInfoTypeSB2,}
\DoxyCodeLine{260         GSMTAP\_RRC\_SUB\_ToTargetRNC\_Container,}
\DoxyCodeLine{261         GSMTAP\_RRC\_SUB\_TargetRNC\_ToSourceRNC\_Container,}
\DoxyCodeLine{262 }
\DoxyCodeLine{263         GSMTAP\_RRC\_SUB\_MAX}
\DoxyCodeLine{264 \};}
\DoxyCodeLine{265 }
\DoxyCodeLine{266 \textcolor{comment}{/* LTE RRC message types */}}
\DoxyCodeLine{267 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{268         GSMTAP\_LTE\_RRC\_SUB\_DL\_CCCH\_Message = 0,}
\DoxyCodeLine{269         GSMTAP\_LTE\_RRC\_SUB\_DL\_DCCH\_Message,}
\DoxyCodeLine{270         GSMTAP\_LTE\_RRC\_SUB\_UL\_CCCH\_Message,}
\DoxyCodeLine{271         GSMTAP\_LTE\_RRC\_SUB\_UL\_DCCH\_Message,}
\DoxyCodeLine{272         GSMTAP\_LTE\_RRC\_SUB\_BCCH\_BCH\_Message,}
\DoxyCodeLine{273         GSMTAP\_LTE\_RRC\_SUB\_BCCH\_DL\_SCH\_Message,}
\DoxyCodeLine{274         GSMTAP\_LTE\_RRC\_SUB\_PCCH\_Message,}
\DoxyCodeLine{275         GSMTAP\_LTE\_RRC\_SUB\_MCCH\_Message,}
\DoxyCodeLine{276         GSMTAP\_LTE\_RRC\_SUB\_BCCH\_BCH\_Message\_MBMS,}
\DoxyCodeLine{277         GSMTAP\_LTE\_RRC\_SUB\_BCCH\_DL\_SCH\_Message\_BR,}
\DoxyCodeLine{278         GSMTAP\_LTE\_RRC\_SUB\_BCCH\_DL\_SCH\_Message\_MBMS,}
\DoxyCodeLine{279         GSMTAP\_LTE\_RRC\_SUB\_SC\_MCCH\_Message,}
\DoxyCodeLine{280         GSMTAP\_LTE\_RRC\_SUB\_SBCCH\_SL\_BCH\_Message,}
\DoxyCodeLine{281         GSMTAP\_LTE\_RRC\_SUB\_SBCCH\_SL\_BCH\_Message\_V2X,}
\DoxyCodeLine{282         GSMTAP\_LTE\_RRC\_SUB\_DL\_CCCH\_Message\_NB,}
\DoxyCodeLine{283         GSMTAP\_LTE\_RRC\_SUB\_DL\_DCCH\_Message\_NB,}
\DoxyCodeLine{284         GSMTAP\_LTE\_RRC\_SUB\_UL\_CCCH\_Message\_NB,}
\DoxyCodeLine{285         GSMTAP\_LTE\_RRC\_SUB\_UL\_DCCH\_Message\_NB,}
\DoxyCodeLine{286         GSMTAP\_LTE\_RRC\_SUB\_BCCH\_BCH\_Message\_NB,}
\DoxyCodeLine{287         GSMTAP\_LTE\_RRC\_SUB\_BCCH\_BCH\_Message\_TDD\_NB,}
\DoxyCodeLine{288         GSMTAP\_LTE\_RRC\_SUB\_BCCH\_DL\_SCH\_Message\_NB,}
\DoxyCodeLine{289         GSMTAP\_LTE\_RRC\_SUB\_PCCH\_Message\_NB,}
\DoxyCodeLine{290         GSMTAP\_LTE\_RRC\_SUB\_SC\_MCCH\_Message\_NB,}
\DoxyCodeLine{291 }
\DoxyCodeLine{292         GSMTAP\_LTE\_RRC\_SUB\_MAX}
\DoxyCodeLine{293 \};}
\DoxyCodeLine{294 }
\DoxyCodeLine{295 \textcolor{comment}{/* LTE NAS message types */}}
\DoxyCodeLine{296 \textcolor{keyword}{enum} \{}
\DoxyCodeLine{297         GSMTAP\_LTE\_NAS\_PLAIN = 0,}
\DoxyCodeLine{298         GSMTAP\_LTE\_NAS\_SEC\_HEADER,}
\DoxyCodeLine{299 }
\DoxyCodeLine{300         GSMTAP\_LTE\_NAS\_SUB\_MAX}
\DoxyCodeLine{301 \};}
\DoxyCodeLine{302 }
\DoxyCodeLine{303 \textcolor{comment}{/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */}}
\DoxyCodeLine{305 \textcolor{keyword}{struct }gsmtap\_hdr \{}
\DoxyCodeLine{306         uint8\_t version; }
\DoxyCodeLine{307         uint8\_t hdr\_len; }
\DoxyCodeLine{308         uint8\_t type;               }
\DoxyCodeLine{309         uint8\_t timeslot;       }
\DoxyCodeLine{311         uint16\_t arfcn;            }
\DoxyCodeLine{312         int8\_t signal\_dbm;    }
\DoxyCodeLine{313         int8\_t snr\_db;            }
\DoxyCodeLine{315         uint32\_t frame\_number;      }
\DoxyCodeLine{317         uint8\_t sub\_type;       }
\DoxyCodeLine{318         uint8\_t antenna\_nr;   }
\DoxyCodeLine{319         uint8\_t sub\_slot;       }
\DoxyCodeLine{320         uint8\_t res;         }
\DoxyCodeLine{322 \} \_\_attribute\_\_((packed));}
\DoxyCodeLine{323 }
\DoxyCodeLine{325 \textcolor{keyword}{struct }gsmtap\_osmocore\_log\_hdr \{}
\DoxyCodeLine{326         \textcolor{keyword}{struct }\{}
\DoxyCodeLine{327                 uint32\_t sec;}
\DoxyCodeLine{328                 uint32\_t usec;}
\DoxyCodeLine{329         \} ts;}
\DoxyCodeLine{330         \textcolor{keywordtype}{char} proc\_name[16];    }
\DoxyCodeLine{331         uint32\_t pid;                }
\DoxyCodeLine{332         uint8\_t level;             }
\DoxyCodeLine{333         uint8\_t \_pad[3];}
\DoxyCodeLine{334         \textcolor{comment}{/* TODO: color */}}
\DoxyCodeLine{335         \textcolor{keywordtype}{char} subsys[16];  }
\DoxyCodeLine{336         \textcolor{keyword}{struct }\{}
\DoxyCodeLine{337                 \textcolor{keywordtype}{char} name[32];      }
\DoxyCodeLine{338                 uint32\_t line\_nr;}
\DoxyCodeLine{339         \} src\_file;}
\DoxyCodeLine{340 \} \_\_attribute\_\_((packed));}
\DoxyCodeLine{341 }
\DoxyCodeLine{343 \textcolor{keyword}{enum} gsmtap\_um\_voice\_type \{}
\DoxyCodeLine{346         GSMTAP\_UM\_VOICE\_HR,}
\DoxyCodeLine{348         GSMTAP\_UM\_VOICE\_FR,}
\DoxyCodeLine{350         GSMTAP\_UM\_VOICE\_EFR,}
\DoxyCodeLine{352         GSMTAP\_UM\_VOICE\_AMR,}
\DoxyCodeLine{353         \textcolor{comment}{/* TODO: Revisit the types below; their usage; ... */}}
\DoxyCodeLine{354         GSMTAP\_UM\_VOICE\_AMR\_SID\_BAD,}
\DoxyCodeLine{355         GSMTAP\_UM\_VOICE\_AMR\_ONSET,}
\DoxyCodeLine{356         GSMTAP\_UM\_VOICE\_AMR\_RATSCCH,}
\DoxyCodeLine{357         GSMTAP\_UM\_VOICE\_AMR\_SID\_UPDATE\_INH,}
\DoxyCodeLine{358         GSMTAP\_UM\_VOICE\_AMR\_SID\_FIRST\_P1,}
\DoxyCodeLine{359         GSMTAP\_UM\_VOICE\_AMR\_SID\_FIRST\_P2,}
\DoxyCodeLine{360         GSMTAP\_UM\_VOICE\_AMR\_SID\_FIRST\_INH,}
\DoxyCodeLine{361         GSMTAP\_UM\_VOICE\_AMR\_RATSCCH\_MARKER,}
\DoxyCodeLine{362         GSMTAP\_UM\_VOICE\_AMR\_RATSCCH\_DATA,}
\DoxyCodeLine{363 \};}

\end{DoxyCode}
