\doxysection{gsm\+\_\+12\+\_\+21.\+h}
\label{gsm__12__21_8h_source}\index{include/osmocom/gsm/protocol/gsm\_12\_21.h@{include/osmocom/gsm/protocol/gsm\_12\_21.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{comment}{/* 3GPP TS 12.21, nowadays 3GPP TS 52.021 */}}
\DoxyCodeLine{2 \textcolor{comment}{/*}}
\DoxyCodeLine{3 \textcolor{comment}{ * (C) 2008-\/2009 by Harald Welte <laforge@gnumonks.org>}}
\DoxyCodeLine{4 \textcolor{comment}{ * All Rights Reserved}}
\DoxyCodeLine{5 \textcolor{comment}{ *}}
\DoxyCodeLine{6 \textcolor{comment}{ * This program is free software; you can redistribute it and/or modify}}
\DoxyCodeLine{7 \textcolor{comment}{ * it under the terms of the GNU General Public License as published by}}
\DoxyCodeLine{8 \textcolor{comment}{ * the Free Software Foundation; either version 2 of the License, or}}
\DoxyCodeLine{9 \textcolor{comment}{ * (at your option) any later version.}}
\DoxyCodeLine{10 \textcolor{comment}{ *}}
\DoxyCodeLine{11 \textcolor{comment}{ * This program is distributed in the hope that it will be useful,}}
\DoxyCodeLine{12 \textcolor{comment}{ * but WITHOUT ANY WARRANTY; without even the implied warranty of}}
\DoxyCodeLine{13 \textcolor{comment}{ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the}}
\DoxyCodeLine{14 \textcolor{comment}{ * GNU General Public License for more details.}}
\DoxyCodeLine{15 \textcolor{comment}{ *}}
\DoxyCodeLine{16 \textcolor{comment}{ */}}
\DoxyCodeLine{17 }
\DoxyCodeLine{18 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{19 }
\DoxyCodeLine{24 \textcolor{preprocessor}{\#include <stdint.h>}}
\DoxyCodeLine{25 \textcolor{preprocessor}{\#include <stdbool.h>}}
\DoxyCodeLine{26 \textcolor{preprocessor}{\#include <osmocom/gsm/tlv.h>}}
\DoxyCodeLine{27 }
\DoxyCodeLine{29 \textcolor{keyword}{struct }abis\_om\_hdr \{}
\DoxyCodeLine{31         uint8\_t mdisc;}
\DoxyCodeLine{33         uint8\_t placement;}
\DoxyCodeLine{35         uint8\_t sequence;}
\DoxyCodeLine{37         uint8\_t length;}
\DoxyCodeLine{39         uint8\_t data[0];}
\DoxyCodeLine{40 \} \_\_attribute\_\_ ((packed));}
\DoxyCodeLine{41 }
\DoxyCodeLine{42 \textcolor{preprocessor}{\#define ABIS\_NM\_MSG\_SIZE        1024}}
\DoxyCodeLine{43 \textcolor{preprocessor}{\#define ABIS\_NM\_MSG\_HEADROOM    128}}
\DoxyCodeLine{44 }
\DoxyCodeLine{46 \textcolor{preprocessor}{\#define ABIS\_OM\_MDISC\_FOM               0x80}}
\DoxyCodeLine{48 \textcolor{preprocessor}{\#define ABIS\_OM\_MDISC\_MMI               0x40}}
\DoxyCodeLine{50 \textcolor{preprocessor}{\#define ABIS\_OM\_MDISC\_TRAU              0x20}}
\DoxyCodeLine{52 \textcolor{preprocessor}{\#define ABIS\_OM\_MDISC\_MANUF             0x10}}
\DoxyCodeLine{53 }
\DoxyCodeLine{55 \textcolor{preprocessor}{\#define ABIS\_OM\_PLACEMENT\_ONLY          0x80}}
\DoxyCodeLine{57 \textcolor{preprocessor}{\#define ABIS\_OM\_PLACEMENT\_FIRST         0x40}}
\DoxyCodeLine{59 \textcolor{preprocessor}{\#define ABIS\_OM\_PLACEMENT\_MIDDLE        0x20}}
\DoxyCodeLine{61 \textcolor{preprocessor}{\#define ABIS\_OM\_PLACEMENT\_LAST          0x10}}
\DoxyCodeLine{62 }
\DoxyCodeLine{64 \textcolor{keyword}{struct }abis\_om\_obj\_inst \{}
\DoxyCodeLine{65         uint8\_t bts\_nr;   }
\DoxyCodeLine{66         uint8\_t trx\_nr;   }
\DoxyCodeLine{67         uint8\_t ts\_nr;     }
\DoxyCodeLine{68 \} \_\_attribute\_\_ ((packed));}
\DoxyCodeLine{69 }
\DoxyCodeLine{71 \textcolor{keyword}{struct }abis\_om\_fom\_hdr \{}
\DoxyCodeLine{72         uint8\_t msg\_type;       }
\DoxyCodeLine{73         uint8\_t obj\_class;     }
\DoxyCodeLine{74         \textcolor{keyword}{struct }abis\_om\_obj\_inst obj\_inst; }
\DoxyCodeLine{75         uint8\_t data[0];    }
\DoxyCodeLine{76 \} \_\_attribute\_\_ ((packed));}
\DoxyCodeLine{77 }
\DoxyCodeLine{79 \textcolor{preprocessor}{\#define ABIS\_OM\_FOM\_HDR\_SIZE    (sizeof(struct abis\_om\_hdr) + sizeof(struct abis\_om\_fom\_hdr))}}
\DoxyCodeLine{80 }
\DoxyCodeLine{82 \textcolor{keyword}{enum} abis\_nm\_msgtype \{}
\DoxyCodeLine{83         \textcolor{comment}{/* SW Download Management Messages */}}
\DoxyCodeLine{84         NM\_MT\_LOAD\_INIT                  = 0x01,}
\DoxyCodeLine{85         NM\_MT\_LOAD\_INIT\_ACK,}
\DoxyCodeLine{86         NM\_MT\_LOAD\_INIT\_NACK,}
\DoxyCodeLine{87         NM\_MT\_LOAD\_SEG,}
\DoxyCodeLine{88         NM\_MT\_LOAD\_SEG\_ACK,}
\DoxyCodeLine{89         NM\_MT\_LOAD\_ABORT,}
\DoxyCodeLine{90         NM\_MT\_LOAD\_END,}
\DoxyCodeLine{91         NM\_MT\_LOAD\_END\_ACK,}
\DoxyCodeLine{92         NM\_MT\_LOAD\_END\_NACK,}
\DoxyCodeLine{93         NM\_MT\_SW\_ACT\_REQ,               \textcolor{comment}{/* BTS-\/>BSC */}}
\DoxyCodeLine{94         NM\_MT\_SW\_ACT\_REQ\_ACK,}
\DoxyCodeLine{95         NM\_MT\_SW\_ACT\_REQ\_NACK,}
\DoxyCodeLine{96         NM\_MT\_ACTIVATE\_SW,             \textcolor{comment}{/* BSC-\/>BTS */}}
\DoxyCodeLine{97         NM\_MT\_ACTIVATE\_SW\_ACK,}
\DoxyCodeLine{98         NM\_MT\_ACTIVATE\_SW\_NACK,}
\DoxyCodeLine{99         NM\_MT\_SW\_ACTIVATED\_REP,           \textcolor{comment}{/* 0x10 */}}
\DoxyCodeLine{100         \textcolor{comment}{/* A-\/bis Interface Management Messages */}}
\DoxyCodeLine{101         NM\_MT\_ESTABLISH\_TEI          = 0x21,}
\DoxyCodeLine{102         NM\_MT\_ESTABLISH\_TEI\_ACK,}
\DoxyCodeLine{103         NM\_MT\_ESTABLISH\_TEI\_NACK,}
\DoxyCodeLine{104         NM\_MT\_CONN\_TERR\_SIGN,}
\DoxyCodeLine{105         NM\_MT\_CONN\_TERR\_SIGN\_ACK,}
\DoxyCodeLine{106         NM\_MT\_CONN\_TERR\_SIGN\_NACK,}
\DoxyCodeLine{107         NM\_MT\_DISC\_TERR\_SIGN,}
\DoxyCodeLine{108         NM\_MT\_DISC\_TERR\_SIGN\_ACK,}
\DoxyCodeLine{109         NM\_MT\_DISC\_TERR\_SIGN\_NACK,}
\DoxyCodeLine{110         NM\_MT\_CONN\_TERR\_TRAF,}
\DoxyCodeLine{111         NM\_MT\_CONN\_TERR\_TRAF\_ACK,}
\DoxyCodeLine{112         NM\_MT\_CONN\_TERR\_TRAF\_NACK,}
\DoxyCodeLine{113         NM\_MT\_DISC\_TERR\_TRAF,}
\DoxyCodeLine{114         NM\_MT\_DISC\_TERR\_TRAF\_ACK,}
\DoxyCodeLine{115         NM\_MT\_DISC\_TERR\_TRAF\_NACK,}
\DoxyCodeLine{116         \textcolor{comment}{/* Transmission Management Messages */}}
\DoxyCodeLine{117         NM\_MT\_CONN\_MDROP\_LINK              = 0x31,}
\DoxyCodeLine{118         NM\_MT\_CONN\_MDROP\_LINK\_ACK,}
\DoxyCodeLine{119         NM\_MT\_CONN\_MDROP\_LINK\_NACK,}
\DoxyCodeLine{120         NM\_MT\_DISC\_MDROP\_LINK,}
\DoxyCodeLine{121         NM\_MT\_DISC\_MDROP\_LINK\_ACK,}
\DoxyCodeLine{122         NM\_MT\_DISC\_MDROP\_LINK\_NACK,}
\DoxyCodeLine{123         \textcolor{comment}{/* Air Interface Management Messages */}}
\DoxyCodeLine{124         NM\_MT\_SET\_BTS\_ATTR            = 0x41,}
\DoxyCodeLine{125         NM\_MT\_SET\_BTS\_ATTR\_ACK,}
\DoxyCodeLine{126         NM\_MT\_SET\_BTS\_ATTR\_NACK,}
\DoxyCodeLine{127         NM\_MT\_SET\_RADIO\_ATTR,}
\DoxyCodeLine{128         NM\_MT\_SET\_RADIO\_ATTR\_ACK,}
\DoxyCodeLine{129         NM\_MT\_SET\_RADIO\_ATTR\_NACK,}
\DoxyCodeLine{130         NM\_MT\_SET\_CHAN\_ATTR,}
\DoxyCodeLine{131         NM\_MT\_SET\_CHAN\_ATTR\_ACK,}
\DoxyCodeLine{132         NM\_MT\_SET\_CHAN\_ATTR\_NACK,}
\DoxyCodeLine{133         \textcolor{comment}{/* Test Management Messages */}}
\DoxyCodeLine{134         NM\_MT\_PERF\_TEST                  = 0x51,}
\DoxyCodeLine{135         NM\_MT\_PERF\_TEST\_ACK,}
\DoxyCodeLine{136         NM\_MT\_PERF\_TEST\_NACK,}
\DoxyCodeLine{137         NM\_MT\_TEST\_REP,}
\DoxyCodeLine{138         NM\_MT\_SEND\_TEST\_REP,}
\DoxyCodeLine{139         NM\_MT\_SEND\_TEST\_REP\_ACK,}
\DoxyCodeLine{140         NM\_MT\_SEND\_TEST\_REP\_NACK,}
\DoxyCodeLine{141         NM\_MT\_STOP\_TEST,}
\DoxyCodeLine{142         NM\_MT\_STOP\_TEST\_ACK,}
\DoxyCodeLine{143         NM\_MT\_STOP\_TEST\_NACK,}
\DoxyCodeLine{144         \textcolor{comment}{/* State Management and Event Report Messages */}}
\DoxyCodeLine{145         NM\_MT\_STATECHG\_EVENT\_REP        = 0x61,}
\DoxyCodeLine{146         NM\_MT\_FAILURE\_EVENT\_REP,}
\DoxyCodeLine{147         NM\_MT\_STOP\_EVENT\_REP,}
\DoxyCodeLine{148         NM\_MT\_STOP\_EVENT\_REP\_ACK,}
\DoxyCodeLine{149         NM\_MT\_STOP\_EVENT\_REP\_NACK,}
\DoxyCodeLine{150         NM\_MT\_REST\_EVENT\_REP,}
\DoxyCodeLine{151         NM\_MT\_REST\_EVENT\_REP\_ACK,}
\DoxyCodeLine{152         NM\_MT\_REST\_EVENT\_REP\_NACK,}
\DoxyCodeLine{153         NM\_MT\_CHG\_ADM\_STATE,}
\DoxyCodeLine{154         NM\_MT\_CHG\_ADM\_STATE\_ACK,}
\DoxyCodeLine{155         NM\_MT\_CHG\_ADM\_STATE\_NACK,}
\DoxyCodeLine{156         NM\_MT\_CHG\_ADM\_STATE\_REQ,}
\DoxyCodeLine{157         NM\_MT\_CHG\_ADM\_STATE\_REQ\_ACK,}
\DoxyCodeLine{158         NM\_MT\_CHG\_ADM\_STATE\_REQ\_NACK,}
\DoxyCodeLine{159         NM\_MT\_REP\_OUTST\_ALARMS            = 0x93,}
\DoxyCodeLine{160         NM\_MT\_REP\_OUTST\_ALARMS\_ACK,}
\DoxyCodeLine{161         NM\_MT\_REP\_OUTST\_ALARMS\_NACK,}
\DoxyCodeLine{162         \textcolor{comment}{/* Equipment Management Messages */}}
\DoxyCodeLine{163         NM\_MT\_CHANGEOVER                = 0x71,}
\DoxyCodeLine{164         NM\_MT\_CHANGEOVER\_ACK,}
\DoxyCodeLine{165         NM\_MT\_CHANGEOVER\_NACK,}
\DoxyCodeLine{166         NM\_MT\_OPSTART,}
\DoxyCodeLine{167         NM\_MT\_OPSTART\_ACK,}
\DoxyCodeLine{168         NM\_MT\_OPSTART\_NACK,}
\DoxyCodeLine{169         NM\_MT\_REINIT,}
\DoxyCodeLine{170         NM\_MT\_REINIT\_ACK,}
\DoxyCodeLine{171         NM\_MT\_REINIT\_NACK,}
\DoxyCodeLine{172         NM\_MT\_SET\_SITE\_OUT,           \textcolor{comment}{/* BS11: get alarm ?!? */}}
\DoxyCodeLine{173         NM\_MT\_SET\_SITE\_OUT\_ACK,}
\DoxyCodeLine{174         NM\_MT\_SET\_SITE\_OUT\_NACK,}
\DoxyCodeLine{175         NM\_MT\_CHG\_HW\_CONF              = 0x90,}
\DoxyCodeLine{176         NM\_MT\_CHG\_HW\_CONF\_ACK,}
\DoxyCodeLine{177         NM\_MT\_CHG\_HW\_CONF\_NACK,}
\DoxyCodeLine{178         \textcolor{comment}{/* Measurement Management Messages */}}
\DoxyCodeLine{179         NM\_MT\_MEAS\_RES\_REQ            = 0x8a,}
\DoxyCodeLine{180         NM\_MT\_MEAS\_RES\_RESP,}
\DoxyCodeLine{181         NM\_MT\_STOP\_MEAS,}
\DoxyCodeLine{182         NM\_MT\_START\_MEAS,}
\DoxyCodeLine{183         \textcolor{comment}{/* Other Messages */}}
\DoxyCodeLine{184         NM\_MT\_GET\_ATTR                    = 0x81,}
\DoxyCodeLine{185         NM\_MT\_GET\_ATTR\_RESP,}
\DoxyCodeLine{186         NM\_MT\_GET\_ATTR\_NACK,}
\DoxyCodeLine{187         NM\_MT\_SET\_ALARM\_THRES,}
\DoxyCodeLine{188         NM\_MT\_SET\_ALARM\_THRES\_ACK,}
\DoxyCodeLine{189         NM\_MT\_SET\_ALARM\_THRES\_NACK,}
\DoxyCodeLine{190 \};}
\DoxyCodeLine{191 }
\DoxyCodeLine{193 \textcolor{keyword}{enum} abis\_nm\_msgtype\_bs11 \{}
\DoxyCodeLine{194         NM\_MT\_BS11\_RESET\_RESOURCE      = 0x74,}
\DoxyCodeLine{195 }
\DoxyCodeLine{196         NM\_MT\_BS11\_BEGIN\_DB\_TX            = 0xa3,}
\DoxyCodeLine{197         NM\_MT\_BS11\_BEGIN\_DB\_TX\_ACK,}
\DoxyCodeLine{198         NM\_MT\_BS11\_BEGIN\_DB\_TX\_NACK,}
\DoxyCodeLine{199         NM\_MT\_BS11\_END\_DB\_TX                = 0xa6,}
\DoxyCodeLine{200         NM\_MT\_BS11\_END\_DB\_TX\_ACK,}
\DoxyCodeLine{201         NM\_MT\_BS11\_END\_DB\_TX\_NACK,}
\DoxyCodeLine{202         NM\_MT\_BS11\_CREATE\_OBJ              = 0xa9,}
\DoxyCodeLine{203         NM\_MT\_BS11\_CREATE\_OBJ\_ACK,}
\DoxyCodeLine{204         NM\_MT\_BS11\_CREATE\_OBJ\_NACK,}
\DoxyCodeLine{205         NM\_MT\_BS11\_DELETE\_OBJ              = 0xac,}
\DoxyCodeLine{206         NM\_MT\_BS11\_DELETE\_OBJ\_ACK,}
\DoxyCodeLine{207         NM\_MT\_BS11\_DELETE\_OBJ\_NACK,}
\DoxyCodeLine{208 }
\DoxyCodeLine{209         NM\_MT\_BS11\_SET\_ATTR          = 0xd0,}
\DoxyCodeLine{210         NM\_MT\_BS11\_SET\_ATTR\_ACK,}
\DoxyCodeLine{211         NM\_MT\_BS11\_SET\_ATTR\_NACK,}
\DoxyCodeLine{212         NM\_MT\_BS11\_LMT\_SESSION            = 0xdc,}
\DoxyCodeLine{213 }
\DoxyCodeLine{214         NM\_MT\_BS11\_GET\_STATE                = 0xe3,}
\DoxyCodeLine{215         NM\_MT\_BS11\_GET\_STATE\_ACK,}
\DoxyCodeLine{216         NM\_MT\_BS11\_LMT\_LOGON                = 0xe5,}
\DoxyCodeLine{217         NM\_MT\_BS11\_LMT\_LOGON\_ACK,}
\DoxyCodeLine{218         NM\_MT\_BS11\_RESTART            = 0xe7,}
\DoxyCodeLine{219         NM\_MT\_BS11\_RESTART\_ACK,}
\DoxyCodeLine{220         NM\_MT\_BS11\_DISCONNECT              = 0xe9,}
\DoxyCodeLine{221         NM\_MT\_BS11\_DISCONNECT\_ACK,}
\DoxyCodeLine{222         NM\_MT\_BS11\_LMT\_LOGOFF              = 0xec,}
\DoxyCodeLine{223         NM\_MT\_BS11\_LMT\_LOGOFF\_ACK,}
\DoxyCodeLine{224         NM\_MT\_BS11\_RECONNECT                = 0xf1,}
\DoxyCodeLine{225         NM\_MT\_BS11\_RECONNECT\_ACK,}
\DoxyCodeLine{226 \};}
\DoxyCodeLine{227 }
\DoxyCodeLine{229 \textcolor{keyword}{enum} abis\_nm\_msgtype\_ipacc \{}
\DoxyCodeLine{230         NM\_MT\_IPACC\_RESTART          = 0x87,}
\DoxyCodeLine{231         NM\_MT\_IPACC\_RESTART\_ACK,}
\DoxyCodeLine{232         NM\_MT\_IPACC\_RESTART\_NACK,}
\DoxyCodeLine{233         NM\_MT\_IPACC\_RSL\_CONNECT          = 0xe0,}
\DoxyCodeLine{234         NM\_MT\_IPACC\_RSL\_CONNECT\_ACK,}
\DoxyCodeLine{235         NM\_MT\_IPACC\_RSL\_CONNECT\_NACK,}
\DoxyCodeLine{236         NM\_MT\_IPACC\_RSL\_DISCONNECT    = 0xe3,}
\DoxyCodeLine{237         NM\_MT\_IPACC\_RSL\_DISCONNECT\_ACK,}
\DoxyCodeLine{238         NM\_MT\_IPACC\_RSL\_DISCONNECT\_NACK,}
\DoxyCodeLine{239         NM\_MT\_IPACC\_CONN\_TRAF              = 0xe6,}
\DoxyCodeLine{240         NM\_MT\_IPACC\_CONN\_TRAF\_ACK,}
\DoxyCodeLine{241         NM\_MT\_IPACC\_CONN\_TRAF\_NACK,}
\DoxyCodeLine{242         NM\_MT\_IPACC\_DEF\_BOOT\_SW          = 0xec,}
\DoxyCodeLine{243         NM\_MT\_IPACC\_DEF\_BOOT\_SW\_ACK,}
\DoxyCodeLine{244         MN\_MT\_IPACC\_DEF\_BOOT\_SW\_NACK,}
\DoxyCodeLine{245         NM\_MT\_IPACC\_SET\_NVATTR            = 0xef,}
\DoxyCodeLine{246         NM\_MT\_IPACC\_SET\_NVATTR\_ACK,}
\DoxyCodeLine{247         NM\_MT\_IPACC\_SET\_NVATTR\_NACK,}
\DoxyCodeLine{248         NM\_MT\_IPACC\_GET\_NVATTR            = 0xf2,}
\DoxyCodeLine{249         NM\_MT\_IPACC\_GET\_NVATTR\_ACK,}
\DoxyCodeLine{250         NM\_MT\_IPACC\_GET\_NVATTR\_NACK,}
\DoxyCodeLine{251         NM\_MT\_IPACC\_SET\_ATTR                = 0xf5,}
\DoxyCodeLine{252         NM\_MT\_IPACC\_SET\_ATTR\_ACK,}
\DoxyCodeLine{253         NM\_MT\_IPACC\_SET\_ATTR\_NACK,}
\DoxyCodeLine{254 \};}
\DoxyCodeLine{255 }
\DoxyCodeLine{257 \textcolor{keyword}{enum} abis\_mm\_event\_causes \{}
\DoxyCodeLine{258         \textcolor{comment}{/* Critical causes */}}
\DoxyCodeLine{259         OSMO\_EVT\_CRIT\_SW\_FATAL            = 0x0000,}
\DoxyCodeLine{260         OSMO\_EVT\_CRIT\_PROC\_STOP          = 0x0002,}
\DoxyCodeLine{261         OSMO\_EVT\_CRIT\_RTP\_TOUT            = 0x032c,}
\DoxyCodeLine{262         OSMO\_EVT\_CRIT\_BOOT\_FAIL          = 0x0401,}
\DoxyCodeLine{263         \textcolor{comment}{/* Major causes */}}
\DoxyCodeLine{264         OSMO\_EVT\_MAJ\_UKWN\_MSG              = 0x0002,}
\DoxyCodeLine{265         OSMO\_EVT\_MAJ\_RSL\_FAIL              = 0x0309,}
\DoxyCodeLine{266         OSMO\_EVT\_MAJ\_UNSUP\_ATTR          = 0x0318,}
\DoxyCodeLine{267         OSMO\_EVT\_MAJ\_NET\_CONGEST        = 0x032b,}
\DoxyCodeLine{268         \textcolor{comment}{/* Minor causes */}}
\DoxyCodeLine{269         OSMO\_EVT\_MIN\_PAG\_TAB\_FULL      = 0x0401,}
\DoxyCodeLine{270         \textcolor{comment}{/* Warning causes */}}
\DoxyCodeLine{271         OSMO\_EVT\_WARN\_SW\_WARN              = 0x0001,}
\DoxyCodeLine{272         \textcolor{comment}{/* External causes */}}
\DoxyCodeLine{273         OSMO\_EVT\_EXT\_ALARM            = 0xfeed,}
\DoxyCodeLine{274         OSMO\_EVT\_PCU\_VERS              = 0xface,}
\DoxyCodeLine{275 \};}
\DoxyCodeLine{276 }
\DoxyCodeLine{277 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_mm\_event\_cause\_names[];}
\DoxyCodeLine{278 }
\DoxyCodeLine{279 \textcolor{keyword}{enum} abis\_nm\_bs11\_cell\_alloc \{}
\DoxyCodeLine{280         NM\_BS11\_CANR\_GSM        = 0x00,}
\DoxyCodeLine{281         NM\_BS11\_CANR\_DCS1800        = 0x01,}
\DoxyCodeLine{282 \};}
\DoxyCodeLine{283 }
\DoxyCodeLine{285 \textcolor{keyword}{enum} abis\_nm\_obj\_class \{}
\DoxyCodeLine{286         NM\_OC\_SITE\_MANAGER            = 0x00,}
\DoxyCodeLine{287         NM\_OC\_BTS,}
\DoxyCodeLine{288         NM\_OC\_RADIO\_CARRIER,}
\DoxyCodeLine{289         NM\_OC\_CHANNEL,}
\DoxyCodeLine{290         NM\_OC\_BASEB\_TRANSC,}
\DoxyCodeLine{291         \textcolor{comment}{/* RFU: 05-\/FE */}}
\DoxyCodeLine{292 }
\DoxyCodeLine{293         NM\_OC\_IPAC\_E1\_TRUNK          = 0x0e,}
\DoxyCodeLine{294         NM\_OC\_IPAC\_E1\_PORT            = 0x0f,}
\DoxyCodeLine{295         NM\_OC\_IPAC\_E1\_CHAN            = 0x10,}
\DoxyCodeLine{296         NM\_OC\_IPAC\_CLK\_MODULE              = 0x22,}
\DoxyCodeLine{297 }
\DoxyCodeLine{298         NM\_OC\_BS11\_ADJC                  = 0xa0,}
\DoxyCodeLine{299         NM\_OC\_BS11\_HANDOVER          = 0xa1,}
\DoxyCodeLine{300         NM\_OC\_BS11\_PWR\_CTRL          = 0xa2,}
\DoxyCodeLine{301         NM\_OC\_BS11\_BTSE                  = 0xa3,         \textcolor{comment}{/* LMT? */}}
\DoxyCodeLine{302         NM\_OC\_BS11\_RACK                  = 0xa4,}
\DoxyCodeLine{303         NM\_OC\_BS11                    = 0xa5,         \textcolor{comment}{/* 01: ALCO */}}
\DoxyCodeLine{304         NM\_OC\_BS11\_TEST                  = 0xa6,}
\DoxyCodeLine{305         NM\_OC\_BS11\_ENVABTSE          = 0xa8,}
\DoxyCodeLine{306         NM\_OC\_BS11\_BPORT                = 0xa9,}
\DoxyCodeLine{307 }
\DoxyCodeLine{308         NM\_OC\_GPRS\_NSE                    = 0xf0,}
\DoxyCodeLine{309         NM\_OC\_GPRS\_CELL                  = 0xf1,}
\DoxyCodeLine{310         NM\_OC\_GPRS\_NSVC                  = 0xf2,}
\DoxyCodeLine{311 }
\DoxyCodeLine{312         NM\_OC\_NULL                    = 0xff,}
\DoxyCodeLine{313 \};}
\DoxyCodeLine{314 }
\DoxyCodeLine{316 \textcolor{keyword}{enum} abis\_nm\_attr \{}
\DoxyCodeLine{317         NM\_ATT\_ABIS\_CHANNEL  = 0x01,}
\DoxyCodeLine{318         NM\_ATT\_ADD\_INFO,}
\DoxyCodeLine{319         NM\_ATT\_ADD\_TEXT,}
\DoxyCodeLine{320         NM\_ATT\_ADM\_STATE,}
\DoxyCodeLine{321         NM\_ATT\_ARFCN\_LIST,}
\DoxyCodeLine{322         NM\_ATT\_AUTON\_REPORT,}
\DoxyCodeLine{323         NM\_ATT\_AVAIL\_STATUS,}
\DoxyCodeLine{324         NM\_ATT\_BCCH\_ARFCN,}
\DoxyCodeLine{325         NM\_ATT\_BSIC,}
\DoxyCodeLine{326         NM\_ATT\_BTS\_AIR\_TIMER,}
\DoxyCodeLine{327         NM\_ATT\_CCCH\_L\_I\_P,}
\DoxyCodeLine{328         NM\_ATT\_CCCH\_L\_T,}
\DoxyCodeLine{329         NM\_ATT\_CHAN\_COMB,}
\DoxyCodeLine{330         NM\_ATT\_CONN\_FAIL\_CRIT,}
\DoxyCodeLine{331         NM\_ATT\_DEST,}
\DoxyCodeLine{332         \textcolor{comment}{/* res */}}
\DoxyCodeLine{333         NM\_ATT\_EVENT\_TYPE      = 0x11, \textcolor{comment}{/* BS11: file data ?!? */}}
\DoxyCodeLine{334         NM\_ATT\_FILE\_ID,}
\DoxyCodeLine{335         NM\_ATT\_FILE\_VERSION,}
\DoxyCodeLine{336         NM\_ATT\_GSM\_TIME,}
\DoxyCodeLine{337         NM\_ATT\_HSN,}
\DoxyCodeLine{338         NM\_ATT\_HW\_CONFIG,}
\DoxyCodeLine{339         NM\_ATT\_HW\_DESC,}
\DoxyCodeLine{340         NM\_ATT\_INTAVE\_PARAM,}
\DoxyCodeLine{341         NM\_ATT\_INTERF\_BOUND,}
\DoxyCodeLine{342         NM\_ATT\_LIST\_REQ\_ATTR,}
\DoxyCodeLine{343         NM\_ATT\_MAIO,}
\DoxyCodeLine{344         NM\_ATT\_MANUF\_STATE,}
\DoxyCodeLine{345         NM\_ATT\_MANUF\_THRESH,}
\DoxyCodeLine{346         NM\_ATT\_MANUF\_ID,}
\DoxyCodeLine{347         NM\_ATT\_MAX\_TA,}
\DoxyCodeLine{348         NM\_ATT\_MDROP\_LINK,     \textcolor{comment}{/* 0x20 */}}
\DoxyCodeLine{349         NM\_ATT\_MDROP\_NEXT,}
\DoxyCodeLine{350         NM\_ATT\_NACK\_CAUSES,}
\DoxyCodeLine{351         NM\_ATT\_NY1,}
\DoxyCodeLine{352         NM\_ATT\_OPER\_STATE,}
\DoxyCodeLine{353         NM\_ATT\_OVERL\_PERIOD,}
\DoxyCodeLine{354         NM\_ATT\_PHYS\_CONF,}
\DoxyCodeLine{355         NM\_ATT\_POWER\_CLASS,}
\DoxyCodeLine{356         NM\_ATT\_POWER\_THRESH,}
\DoxyCodeLine{357         NM\_ATT\_PROB\_CAUSE,}
\DoxyCodeLine{358         NM\_ATT\_RACH\_B\_THRESH,}
\DoxyCodeLine{359         NM\_ATT\_LDAVG\_SLOTS,}
\DoxyCodeLine{360         NM\_ATT\_RAD\_SUBC,}
\DoxyCodeLine{361         NM\_ATT\_RF\_MAXPOWR\_R,}
\DoxyCodeLine{362         NM\_ATT\_SITE\_INPUTS,}
\DoxyCodeLine{363         NM\_ATT\_SITE\_OUTPUTS,}
\DoxyCodeLine{364         NM\_ATT\_SOURCE,             \textcolor{comment}{/* 0x30 */}}
\DoxyCodeLine{365         NM\_ATT\_SPEC\_PROB,}
\DoxyCodeLine{366         NM\_ATT\_START\_TIME,}
\DoxyCodeLine{367         NM\_ATT\_T200,}
\DoxyCodeLine{368         NM\_ATT\_TEI,}
\DoxyCodeLine{369         NM\_ATT\_TEST\_DUR,}
\DoxyCodeLine{370         NM\_ATT\_TEST\_NO,}
\DoxyCodeLine{371         NM\_ATT\_TEST\_REPORT,}
\DoxyCodeLine{372         NM\_ATT\_VSWR\_THRESH,}
\DoxyCodeLine{373         NM\_ATT\_WINDOW\_SIZE,}
\DoxyCodeLine{374         \textcolor{comment}{/* Res  */}}
\DoxyCodeLine{375         NM\_ATT\_BS11\_RSSI\_OFFS      = 0x3d,}
\DoxyCodeLine{376         NM\_ATT\_BS11\_TXPWR      = 0x3e,}
\DoxyCodeLine{377         NM\_ATT\_BS11\_DIVERSITY      = 0x3f,}
\DoxyCodeLine{378         \textcolor{comment}{/* Res  */}}
\DoxyCodeLine{379         NM\_ATT\_TSC            = 0x40,}
\DoxyCodeLine{380         NM\_ATT\_SW\_CONFIG,}
\DoxyCodeLine{381         NM\_ATT\_SW\_DESCR,}
\DoxyCodeLine{382         NM\_ATT\_SEVERITY,}
\DoxyCodeLine{383         NM\_ATT\_GET\_ARI,}
\DoxyCodeLine{384         NM\_ATT\_HW\_CONF\_CHG,}
\DoxyCodeLine{385         NM\_ATT\_OUTST\_ALARM,}
\DoxyCodeLine{386         NM\_ATT\_FILE\_DATA,}
\DoxyCodeLine{387         NM\_ATT\_MEAS\_RES,}
\DoxyCodeLine{388         NM\_ATT\_MEAS\_TYPE,}
\DoxyCodeLine{389 }
\DoxyCodeLine{390         NM\_ATT\_BS11\_ESN\_FW\_CODE\_NO    = 0x4c,}
\DoxyCodeLine{391         NM\_ATT\_BS11\_ESN\_HW\_CODE\_NO    = 0x4f,}
\DoxyCodeLine{392 }
\DoxyCodeLine{393         NM\_ATT\_BS11\_ESN\_PCB\_SERIAL    = 0x55,}
\DoxyCodeLine{394         NM\_ATT\_BS11\_EXCESSIVE\_DISTANCE    = 0x58,}
\DoxyCodeLine{395 }
\DoxyCodeLine{396         NM\_ATT\_BS11\_ALL\_TEST\_CATG      = 0x60,}
\DoxyCodeLine{397         NM\_ATT\_BS11\_BTSLS\_HOPPING,}
\DoxyCodeLine{398         NM\_ATT\_BS11\_CELL\_ALLOC\_NR,}
\DoxyCodeLine{399         NM\_ATT\_BS11\_CELL\_GLOBAL\_ID,}
\DoxyCodeLine{400         NM\_ATT\_BS11\_ENA\_INTERF\_CLASS        = 0x66,}
\DoxyCodeLine{401         NM\_ATT\_BS11\_ENA\_INT\_INTEC\_HANDO  = 0x67,}
\DoxyCodeLine{402         NM\_ATT\_BS11\_ENA\_INT\_INTRC\_HANDO  = 0x68,}
\DoxyCodeLine{403         NM\_ATT\_BS11\_ENA\_MS\_PWR\_CTRL  = 0x69,}
\DoxyCodeLine{404         NM\_ATT\_BS11\_ENA\_PWR\_BDGT\_HO  = 0x6a,}
\DoxyCodeLine{405         NM\_ATT\_BS11\_ENA\_PWR\_CTRL\_RLFW      = 0x6b,}
\DoxyCodeLine{406         NM\_ATT\_BS11\_ENA\_RXLEV\_HO        = 0x6c,}
\DoxyCodeLine{407         NM\_ATT\_BS11\_ENA\_RXQUAL\_HO      = 0x6d,}
\DoxyCodeLine{408         NM\_ATT\_BS11\_FACCH\_QUAL            = 0x6e,}
\DoxyCodeLine{409 }
\DoxyCodeLine{410         NM\_ATT\_IPACC\_DST\_IP          = 0x80,}
\DoxyCodeLine{411         NM\_ATT\_IPACC\_DST\_IP\_PORT        = 0x81,}
\DoxyCodeLine{412         NM\_ATT\_IPACC\_SSRC              = 0x82,}
\DoxyCodeLine{413         NM\_ATT\_IPACC\_RTP\_PAYLD\_TYPE  = 0x83,}
\DoxyCodeLine{414         NM\_ATT\_IPACC\_BASEB\_ID              = 0x84,}
\DoxyCodeLine{415         NM\_ATT\_IPACC\_STREAM\_ID            = 0x85,}
\DoxyCodeLine{416         NM\_ATT\_IPACC\_NV\_FLAGS              = 0x86,}
\DoxyCodeLine{417         NM\_ATT\_IPACC\_FREQ\_CTRL            = 0x87,}
\DoxyCodeLine{418         NM\_ATT\_IPACC\_PRIM\_OML\_CFG      = 0x88,}
\DoxyCodeLine{419         NM\_ATT\_IPACC\_SEC\_OML\_CFG        = 0x89,}
\DoxyCodeLine{420         NM\_ATT\_IPACC\_IP\_IF\_CFG            = 0x8a,         \textcolor{comment}{/* IP interface */}}
\DoxyCodeLine{421         NM\_ATT\_IPACC\_IP\_GW\_CFG            = 0x8b,         \textcolor{comment}{/* IP gateway */}}
\DoxyCodeLine{422         NM\_ATT\_IPACC\_IN\_SERV\_TIME      = 0x8c,}
\DoxyCodeLine{423         NM\_ATT\_IPACC\_TRX\_BTS\_ASS        = 0x8d,}
\DoxyCodeLine{424         NM\_ATT\_IPACC\_LOCATION              = 0x8e,         \textcolor{comment}{/* string describing location */}}
\DoxyCodeLine{425         NM\_ATT\_IPACC\_PAGING\_CFG          = 0x8f,}
\DoxyCodeLine{426         NM\_ATT\_IPACC\_FILE\_DATA            = 0x90,}
\DoxyCodeLine{427         NM\_ATT\_IPACC\_UNIT\_ID                = 0x91,         \textcolor{comment}{/* Site/BTS/TRX */}}
\DoxyCodeLine{428         NM\_ATT\_IPACC\_PARENT\_UNIT\_ID  = 0x92,}
\DoxyCodeLine{429         NM\_ATT\_IPACC\_UNIT\_NAME            = 0x93,         \textcolor{comment}{/* default: nbts-\/<mac-\/as-\/string> */}}
\DoxyCodeLine{430         NM\_ATT\_IPACC\_SNMP\_CFG              = 0x94,}
\DoxyCodeLine{431         NM\_ATT\_IPACC\_PRIM\_OML\_CFG\_LIST    = 0x95,}
\DoxyCodeLine{432         NM\_ATT\_IPACC\_PRIM\_OML\_FB\_TOUT      = 0x96,}
\DoxyCodeLine{433         NM\_ATT\_IPACC\_CUR\_SW\_CFG          = 0x97,}
\DoxyCodeLine{434         NM\_ATT\_IPACC\_TIMING\_BUS          = 0x98,}
\DoxyCodeLine{435         NM\_ATT\_IPACC\_CGI                = 0x99,}
\DoxyCodeLine{436         NM\_ATT\_IPACC\_RAC                = 0x9a,}
\DoxyCodeLine{437         NM\_ATT\_IPACC\_OBJ\_VERSION        = 0x9b,}
\DoxyCodeLine{438         NM\_ATT\_IPACC\_GPRS\_PAGING\_CFG        = 0x9c,}
\DoxyCodeLine{439         NM\_ATT\_IPACC\_NSEI              = 0x9d,}
\DoxyCodeLine{440         NM\_ATT\_IPACC\_BVCI              = 0x9e,}
\DoxyCodeLine{441         NM\_ATT\_IPACC\_NSVCI            = 0x9f,}
\DoxyCodeLine{442         NM\_ATT\_IPACC\_NS\_CFG          = 0xa0,}
\DoxyCodeLine{443         NM\_ATT\_IPACC\_BSSGP\_CFG            = 0xa1,}
\DoxyCodeLine{444         NM\_ATT\_IPACC\_NS\_LINK\_CFG        = 0xa2,}
\DoxyCodeLine{445         NM\_ATT\_IPACC\_RLC\_CFG                = 0xa3,}
\DoxyCodeLine{446         NM\_ATT\_IPACC\_ALM\_THRESH\_LIST        = 0xa4,}
\DoxyCodeLine{447         NM\_ATT\_IPACC\_MONIT\_VAL\_LIST  = 0xa5,}
\DoxyCodeLine{448         NM\_ATT\_IPACC\_TIB\_CONTROL        = 0xa6,}
\DoxyCodeLine{449         NM\_ATT\_IPACC\_SUPP\_FEATURES    = 0xa7,}
\DoxyCodeLine{450         NM\_ATT\_IPACC\_CODING\_SCHEMES  = 0xa8,}
\DoxyCodeLine{451         NM\_ATT\_IPACC\_RLC\_CFG\_2            = 0xa9,}
\DoxyCodeLine{452         NM\_ATT\_IPACC\_HEARTB\_TOUT        = 0xaa,}
\DoxyCodeLine{453         NM\_ATT\_IPACC\_UPTIME          = 0xab,}
\DoxyCodeLine{454         NM\_ATT\_IPACC\_RLC\_CFG\_3            = 0xac,}
\DoxyCodeLine{455         NM\_ATT\_IPACC\_SSL\_CFG                = 0xad,}
\DoxyCodeLine{456         NM\_ATT\_IPACC\_SEC\_POSSIBLE      = 0xae,}
\DoxyCodeLine{457         NM\_ATT\_IPACC\_IML\_SSL\_STATE    = 0xaf,}
\DoxyCodeLine{458         NM\_ATT\_IPACC\_REVOC\_DATE          = 0xb0,}
\DoxyCodeLine{459 }
\DoxyCodeLine{460 }
\DoxyCodeLine{461         NM\_ATT\_BS11\_RF\_RES\_IND\_PER    = 0x8f,}
\DoxyCodeLine{462 }
\DoxyCodeLine{463         NM\_ATT\_BS11\_RX\_LEV\_MIN\_CELL  = 0x90,}
\DoxyCodeLine{464         NM\_ATT\_BS11\_ABIS\_EXT\_TIME      = 0x91,}
\DoxyCodeLine{465         NM\_ATT\_BS11\_TIMER\_HO\_REQUEST        = 0x92,}
\DoxyCodeLine{466         NM\_ATT\_BS11\_TIMER\_NCELL          = 0x93,}
\DoxyCodeLine{467         NM\_ATT\_BS11\_TSYNC              = 0x94,}
\DoxyCodeLine{468         NM\_ATT\_BS11\_TTRAU              = 0x95,}
\DoxyCodeLine{469         NM\_ATT\_BS11\_EMRG\_CFG\_MEMBER  = 0x9b,}
\DoxyCodeLine{470         NM\_ATT\_BS11\_TRX\_AREA                = 0x9f,}
\DoxyCodeLine{471 }
\DoxyCodeLine{472         NM\_ATT\_BS11\_BCCH\_RECONF          = 0xd7,}
\DoxyCodeLine{473         NM\_ATT\_BS11\_BIT\_ERR\_THESH      = 0xa0,}
\DoxyCodeLine{474         NM\_ATT\_BS11\_BOOT\_SW\_VERS        = 0xa1,}
\DoxyCodeLine{475         NM\_ATT\_BS11\_CCLK\_ACCURACY      = 0xa3,}
\DoxyCodeLine{476         NM\_ATT\_BS11\_CCLK\_TYPE              = 0xa4,}
\DoxyCodeLine{477         NM\_ATT\_BS11\_INP\_IMPEDANCE      = 0xaa,}
\DoxyCodeLine{478         NM\_ATT\_BS11\_L1\_PROT\_TYPE        = 0xab,}
\DoxyCodeLine{479         NM\_ATT\_BS11\_LINE\_CFG                = 0xac,}
\DoxyCodeLine{480         NM\_ATT\_BS11\_LI\_PORT\_1              = 0xad,}
\DoxyCodeLine{481         NM\_ATT\_BS11\_LI\_PORT\_2              = 0xae,}
\DoxyCodeLine{482 }
\DoxyCodeLine{483         NM\_ATT\_BS11\_L1\_REM\_ALM\_TYPE  = 0xb0,}
\DoxyCodeLine{484         NM\_ATT\_BS11\_SW\_LOAD\_INTENDED        = 0xbb,}
\DoxyCodeLine{485         NM\_ATT\_BS11\_SW\_LOAD\_SAFETY    = 0xbc,}
\DoxyCodeLine{486         NM\_ATT\_BS11\_SW\_LOAD\_STORED    = 0xbd,}
\DoxyCodeLine{487 }
\DoxyCodeLine{488         NM\_ATT\_BS11\_VENDOR\_NAME          = 0xc1,}
\DoxyCodeLine{489         NM\_ATT\_BS11\_HOPPING\_MODE        = 0xc5,}
\DoxyCodeLine{490         NM\_ATT\_BS11\_LMT\_LOGON\_SESSION      = 0xc6,}
\DoxyCodeLine{491         NM\_ATT\_BS11\_LMT\_LOGIN\_TIME    = 0xc7,}
\DoxyCodeLine{492         NM\_ATT\_BS11\_LMT\_USER\_ACC\_LEV        = 0xc8,}
\DoxyCodeLine{493         NM\_ATT\_BS11\_LMT\_USER\_NAME      = 0xc9,}
\DoxyCodeLine{494 }
\DoxyCodeLine{495         NM\_ATT\_BS11\_L1\_CONTROL\_TS      = 0xd8,}
\DoxyCodeLine{496         NM\_ATT\_BS11\_RADIO\_MEAS\_GRAN  = 0xdc, \textcolor{comment}{/* in SACCH multiframes */}}
\DoxyCodeLine{497         NM\_ATT\_BS11\_RADIO\_MEAS\_REP    = 0xdd,}
\DoxyCodeLine{498 }
\DoxyCodeLine{499         NM\_ATT\_BS11\_SH\_LAPD\_INT\_TIMER      = 0xe8,}
\DoxyCodeLine{500 }
\DoxyCodeLine{501         NM\_ATT\_BS11\_BTS\_STATE              = 0xf0,}
\DoxyCodeLine{502         NM\_ATT\_BS11\_E1\_STATE                = 0xf1,}
\DoxyCodeLine{503         NM\_ATT\_BS11\_PLL                  = 0xf2,}
\DoxyCodeLine{504         NM\_ATT\_BS11\_RX\_OFFSET              = 0xf3,}
\DoxyCodeLine{505         NM\_ATT\_BS11\_ANT\_TYPE                = 0xf4,}
\DoxyCodeLine{506         NM\_ATT\_BS11\_PLL\_MODE                = 0xfc,}
\DoxyCodeLine{507         NM\_ATT\_BS11\_PASSWORD                = 0xfd,}
\DoxyCodeLine{508 }
\DoxyCodeLine{509         \textcolor{comment}{/* osmocom (osmo-\/bts) specific attributes, used in combination}}
\DoxyCodeLine{510 \textcolor{comment}{         * with the "{}org.osmocom"{} manufacturer identification */}}
\DoxyCodeLine{511         NM\_ATT\_OSMO\_NS\_LINK\_CFG         = 0xfd, \textcolor{comment}{/* osmocom version supports IPv4 \& IPv6 in difference to IPACC */}}
\DoxyCodeLine{512         NM\_ATT\_OSMO\_REDUCEPOWER          = 0xfe, \textcolor{comment}{/* TLV\_TYPE\_TV */}}
\DoxyCodeLine{513 \};}
\DoxyCodeLine{514 \textcolor{preprocessor}{\#define NM\_ATT\_BS11\_FILE\_DATA   NM\_ATT\_EVENT\_TYPE}}
\DoxyCodeLine{515 }
\DoxyCodeLine{517 \textcolor{keyword}{enum} abis\_nm\_adm\_state \{}
\DoxyCodeLine{518         NM\_STATE\_LOCKED          = 0x01,}
\DoxyCodeLine{519         NM\_STATE\_UNLOCKED      = 0x02,}
\DoxyCodeLine{520         NM\_STATE\_SHUTDOWN      = 0x03,}
\DoxyCodeLine{521         NM\_STATE\_NULL              = 0xff,}
\DoxyCodeLine{522 \};}
\DoxyCodeLine{523 }
\DoxyCodeLine{525 \textcolor{keyword}{enum} abis\_nm\_avail\_state \{}
\DoxyCodeLine{526         NM\_AVSTATE\_IN\_TEST    = 0,}
\DoxyCodeLine{527         NM\_AVSTATE\_FAILED      = 1,}
\DoxyCodeLine{528         NM\_AVSTATE\_POWER\_OFF        = 2,}
\DoxyCodeLine{529         NM\_AVSTATE\_OFF\_LINE  = 3,}
\DoxyCodeLine{530         \textcolor{comment}{/* <not used> = 4, */}}
\DoxyCodeLine{531         NM\_AVSTATE\_DEPENDENCY      = 5,}
\DoxyCodeLine{532         NM\_AVSTATE\_DEGRADED  = 6,}
\DoxyCodeLine{533         NM\_AVSTATE\_NOT\_INSTALLED= 7,}
\DoxyCodeLine{534         NM\_AVSTATE\_OK              = 0xff,}
\DoxyCodeLine{535 \};}
\DoxyCodeLine{536 }
\DoxyCodeLine{538 \textcolor{keyword}{enum} abis\_nm\_op\_state \{}
\DoxyCodeLine{539         NM\_OPSTATE\_DISABLED  = 1,}
\DoxyCodeLine{540         NM\_OPSTATE\_ENABLED    = 2,}
\DoxyCodeLine{541         NM\_OPSTATE\_NULL          = 0xff,}
\DoxyCodeLine{542 \};}
\DoxyCodeLine{543 }
\DoxyCodeLine{544 \textcolor{comment}{/* Channel Combination (Section 9.4.13) */}}
\DoxyCodeLine{545 \textcolor{keyword}{enum} abis\_nm\_chan\_comb \{}
\DoxyCodeLine{546         NM\_CHANC\_TCHFull        = 0x00, \textcolor{comment}{/* TCH/F + TCH/H + SACCH/TF */}}
\DoxyCodeLine{547         NM\_CHANC\_TCHHalf        = 0x01, \textcolor{comment}{/* TCH/H(0,1) + FACCH/H(0,1) +}}
\DoxyCodeLine{548 \textcolor{comment}{                                           SACCH/TH(0,1) */}}
\DoxyCodeLine{549         NM\_CHANC\_TCHHalf2      = 0x02, \textcolor{comment}{/* TCH/H(0) + FACCH/H(0) + SACCH/TH(0) +}}
\DoxyCodeLine{550 \textcolor{comment}{                                           TCH/H(1) */}}
\DoxyCodeLine{551         NM\_CHANC\_SDCCH            = 0x03, \textcolor{comment}{/* SDCCH/8 + SACCH/8 */}}
\DoxyCodeLine{552         NM\_CHANC\_mainBCCH      = 0x04, \textcolor{comment}{/* FCCH + SCH + BCCH + CCCH */}}
\DoxyCodeLine{553         NM\_CHANC\_BCCHComb      = 0x05, \textcolor{comment}{/* FCCH + SCH + BCCH + CCCH + SDCCH/4 +}}
\DoxyCodeLine{554 \textcolor{comment}{                                           SACCH/C4 */}}
\DoxyCodeLine{555         NM\_CHANC\_BCCH              = 0x06, \textcolor{comment}{/* BCCH + CCCH */}}
\DoxyCodeLine{556         NM\_CHANC\_BCCH\_CBCH    = 0x07, \textcolor{comment}{/* CHANC\_BCCHComb + CBCH */}}
\DoxyCodeLine{557         NM\_CHANC\_SDCCH\_CBCH  = 0x08, \textcolor{comment}{/* CHANC\_SDCCH8 + CBCH */}}
\DoxyCodeLine{558         \textcolor{comment}{/* ip.access */}}
\DoxyCodeLine{559         NM\_CHANC\_IPAC\_bPDCH  = 0x0b, \textcolor{comment}{/* PBCCH + PCCCH + PDTCH/F + PACCH/F +}}
\DoxyCodeLine{560 \textcolor{comment}{                                           PTCCH/F */}}
\DoxyCodeLine{561         NM\_CHANC\_IPAC\_cPDCH  = 0x0c, \textcolor{comment}{/* PBCCH + PDTCH/F + PACCH/F + PTCCH/F */}}
\DoxyCodeLine{562         NM\_CHANC\_IPAC\_PDCH    = 0x0d, \textcolor{comment}{/* PDTCH/F + PACCH/F + PTCCH/F */}}
\DoxyCodeLine{563         NM\_CHANC\_IPAC\_TCHFull\_PDCH = 0x80,}
\DoxyCodeLine{564         NM\_CHANC\_IPAC\_TCHFull\_TCHHalf = 0x81,}
\DoxyCodeLine{565         \textcolor{comment}{/* osmocom */}}
\DoxyCodeLine{566         NM\_CHANC\_OSMO\_DYN = 0x90,}
\DoxyCodeLine{567 \};}
\DoxyCodeLine{568 \textcolor{comment}{/* Backward compatibility with older naming: */}}
\DoxyCodeLine{569 \textcolor{preprocessor}{\#define NM\_CHANC\_OSMO\_TCHFull\_TCHHalf\_PDCH NM\_CHANC\_OSMO\_DYN}}
\DoxyCodeLine{570 }
\DoxyCodeLine{572 \textcolor{keyword}{enum} abis\_nm\_event\_type \{}
\DoxyCodeLine{573         NM\_EVT\_COMM\_FAIL        = 0x00,}
\DoxyCodeLine{574         NM\_EVT\_QOS\_FAIL          = 0x01,}
\DoxyCodeLine{575         NM\_EVT\_PROC\_FAIL        = 0x02,}
\DoxyCodeLine{576         NM\_EVT\_EQUIP\_FAIL      = 0x03,}
\DoxyCodeLine{577         NM\_EVT\_ENV\_FAIL          = 0x04,}
\DoxyCodeLine{578 \};}
\DoxyCodeLine{579 }
\DoxyCodeLine{581 \textcolor{keyword}{enum} abis\_nm\_severity \{}
\DoxyCodeLine{582         NM\_SEVER\_CEASED          = 0x00,}
\DoxyCodeLine{583         NM\_SEVER\_CRITICAL      = 0x01,}
\DoxyCodeLine{584         NM\_SEVER\_MAJOR            = 0x02,}
\DoxyCodeLine{585         NM\_SEVER\_MINOR            = 0x03,}
\DoxyCodeLine{586         NM\_SEVER\_WARNING        = 0x04,}
\DoxyCodeLine{587         NM\_SEVER\_INDETERMINATE    = 0x05,}
\DoxyCodeLine{588 \};}
\DoxyCodeLine{589 }
\DoxyCodeLine{591 \textcolor{keyword}{enum} abis\_nm\_pcause\_type \{}
\DoxyCodeLine{592         NM\_PCAUSE\_T\_X721        = 0x01,}
\DoxyCodeLine{593         NM\_PCAUSE\_T\_GSM          = 0x02,}
\DoxyCodeLine{594         NM\_PCAUSE\_T\_MANUF      = 0x03,}
\DoxyCodeLine{595 \};}
\DoxyCodeLine{596 }
\DoxyCodeLine{597 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_pcause\_type\_names[];}
\DoxyCodeLine{598 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_msgtype\_names[];}
\DoxyCodeLine{599 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_att\_names[];}
\DoxyCodeLine{600 }
\DoxyCodeLine{602 \textcolor{keyword}{enum} abis\_nm\_nack\_cause \{}
\DoxyCodeLine{603         \textcolor{comment}{/* General Nack Causes */}}
\DoxyCodeLine{604         NM\_NACK\_INCORR\_STRUCT              = 0x01,}
\DoxyCodeLine{605         NM\_NACK\_MSGTYPE\_INVAL              = 0x02,}
\DoxyCodeLine{606         NM\_NACK\_OBJCLASS\_INVAL            = 0x05,}
\DoxyCodeLine{607         NM\_NACK\_OBJCLASS\_NOTSUPP        = 0x06,}
\DoxyCodeLine{608         NM\_NACK\_BTSNR\_UNKN            = 0x07,}
\DoxyCodeLine{609         NM\_NACK\_TRXNR\_UNKN            = 0x08,}
\DoxyCodeLine{610         NM\_NACK\_OBJINST\_UNKN                = 0x09,}
\DoxyCodeLine{611         NM\_NACK\_ATTRID\_INVAL                = 0x0c,}
\DoxyCodeLine{612         NM\_NACK\_ATTRID\_NOTSUPP            = 0x0d,}
\DoxyCodeLine{613         NM\_NACK\_PARAM\_RANGE          = 0x0e,}
\DoxyCodeLine{614         NM\_NACK\_ATTRLIST\_INCONSISTENT      = 0x0f,}
\DoxyCodeLine{615         NM\_NACK\_SPEC\_IMPL\_NOTSUPP      = 0x10,}
\DoxyCodeLine{616         NM\_NACK\_CANT\_PERFORM                = 0x11,}
\DoxyCodeLine{617         \textcolor{comment}{/* Specific Nack Causes */}}
\DoxyCodeLine{618         NM\_NACK\_RES\_NOTIMPL          = 0x19,}
\DoxyCodeLine{619         NM\_NACK\_RES\_NOTAVAIL                = 0x1a,}
\DoxyCodeLine{620         NM\_NACK\_FREQ\_NOTAVAIL              = 0x1b,}
\DoxyCodeLine{621         NM\_NACK\_TEST\_NOTSUPP                = 0x1c,}
\DoxyCodeLine{622         NM\_NACK\_CAPACITY\_RESTR            = 0x1d,}
\DoxyCodeLine{623         NM\_NACK\_PHYSCFG\_NOTPERFORM    = 0x1e,}
\DoxyCodeLine{624         NM\_NACK\_TEST\_NOTINIT                = 0x1f,}
\DoxyCodeLine{625         NM\_NACK\_PHYSCFG\_NOTRESTORE    = 0x20,}
\DoxyCodeLine{626         NM\_NACK\_TEST\_NOSUCH          = 0x21,}
\DoxyCodeLine{627         NM\_NACK\_TEST\_NOSTOP          = 0x22,}
\DoxyCodeLine{628         NM\_NACK\_MSGINCONSIST\_PHYSCFG        = 0x23,}
\DoxyCodeLine{629         NM\_NACK\_FILE\_INCOMPLETE          = 0x25,}
\DoxyCodeLine{630         NM\_NACK\_FILE\_NOTAVAIL              = 0x26,}
\DoxyCodeLine{631         NM\_NACK\_FILE\_NOTACTIVATE        = 0x27,}
\DoxyCodeLine{632         NM\_NACK\_REQ\_NOT\_GRANT              = 0x28,}
\DoxyCodeLine{633         NM\_NACK\_WAIT                        = 0x29,}
\DoxyCodeLine{634         NM\_NACK\_NOTH\_REPORT\_EXIST      = 0x2a,}
\DoxyCodeLine{635         NM\_NACK\_MEAS\_NOTSUPP                = 0x2b,}
\DoxyCodeLine{636         NM\_NACK\_MEAS\_NOTSTART              = 0x2c,}
\DoxyCodeLine{637 \};}
\DoxyCodeLine{638 }
\DoxyCodeLine{640 \textcolor{keyword}{struct }abis\_nm\_channel \{}
\DoxyCodeLine{641         uint8\_t attrib;}
\DoxyCodeLine{642         uint8\_t bts\_port;       }
\DoxyCodeLine{643         uint8\_t timeslot;       }
\DoxyCodeLine{644         uint8\_t subslot; }
\DoxyCodeLine{645 \} \_\_attribute\_\_ ((packed));}
\DoxyCodeLine{646 }
\DoxyCodeLine{648 \textcolor{keyword}{enum} abis\_nm\_t200\_idx \{}
\DoxyCodeLine{649         T200\_SDCCH            = 0,}
\DoxyCodeLine{650         T200\_FACCH\_F                = 1,}
\DoxyCodeLine{651         T200\_FACCH\_H                = 2,}
\DoxyCodeLine{652         T200\_SACCH\_TCH\_SAPI0        = 3,}
\DoxyCodeLine{653         T200\_SACCH\_SDCCH        = 4,}
\DoxyCodeLine{654         T200\_SDCCH\_SAPI3        = 5,}
\DoxyCodeLine{655         T200\_SACCH\_TCH\_SAPI3        = 6}
\DoxyCodeLine{656 \};}
\DoxyCodeLine{657 }
\DoxyCodeLine{658 \textcolor{keyword}{extern} \textcolor{keyword}{const} uint8\_t abis\_nm\_t200\_ms[];}
\DoxyCodeLine{659 }
\DoxyCodeLine{661 \textcolor{keyword}{enum} abis\_bs11\_objtype \{}
\DoxyCodeLine{662         BS11\_OBJ\_ALCO              = 0x01,}
\DoxyCodeLine{663         BS11\_OBJ\_BBSIG            = 0x02, \textcolor{comment}{/* obj\_class: 0,1 */}}
\DoxyCodeLine{664         BS11\_OBJ\_TRX1              = 0x03, \textcolor{comment}{/* only DEACTIVATE TRX1 */}}
\DoxyCodeLine{665         BS11\_OBJ\_CCLK              = 0x04,}
\DoxyCodeLine{666         BS11\_OBJ\_GPSU              = 0x06,}
\DoxyCodeLine{667         BS11\_OBJ\_LI          = 0x07,}
\DoxyCodeLine{668         BS11\_OBJ\_PA          = 0x09, \textcolor{comment}{/* obj\_class: 0, 1*/}}
\DoxyCodeLine{669 \};}
\DoxyCodeLine{670 }
\DoxyCodeLine{672 \textcolor{keyword}{enum} abis\_bs11\_trx\_power \{}
\DoxyCodeLine{673         BS11\_TRX\_POWER\_GSM\_2W      = 0x06,}
\DoxyCodeLine{674         BS11\_TRX\_POWER\_GSM\_250mW= 0x07,}
\DoxyCodeLine{675         BS11\_TRX\_POWER\_GSM\_80mW  = 0x08,}
\DoxyCodeLine{676         BS11\_TRX\_POWER\_GSM\_30mW  = 0x09,}
\DoxyCodeLine{677         BS11\_TRX\_POWER\_DCS\_3W      = 0x0a,}
\DoxyCodeLine{678         BS11\_TRX\_POWER\_DCS\_1W6    = 0x0b,}
\DoxyCodeLine{679         BS11\_TRX\_POWER\_DCS\_500mW= 0x0c,}
\DoxyCodeLine{680         BS11\_TRX\_POWER\_DCS\_160mW= 0x0d,}
\DoxyCodeLine{681 \};}
\DoxyCodeLine{682 }
\DoxyCodeLine{684 \textcolor{keyword}{enum} abis\_bs11\_li\_pll\_mode \{}
\DoxyCodeLine{685         BS11\_LI\_PLL\_LOCKED    = 2,}
\DoxyCodeLine{686         BS11\_LI\_PLL\_STANDALONE    = 3,}
\DoxyCodeLine{687 \};}
\DoxyCodeLine{688 }
\DoxyCodeLine{690 \textcolor{keyword}{enum} abis\_bs11\_line\_cfg \{}
\DoxyCodeLine{691         BS11\_LINE\_CFG\_STAR    = 0x00,}
\DoxyCodeLine{692         BS11\_LINE\_CFG\_MULTIDROP  = 0x01,}
\DoxyCodeLine{693         BS11\_LINE\_CFG\_LOOP    = 0x02,}
\DoxyCodeLine{694 \};}
\DoxyCodeLine{695 }
\DoxyCodeLine{697 \textcolor{keyword}{enum} abis\_bs11\_phase \{}
\DoxyCodeLine{698         BS11\_STATE\_SOFTWARE\_RQD          = 0x01,}
\DoxyCodeLine{699         BS11\_STATE\_LOAD\_SMU\_INTENDED        = 0x11,}
\DoxyCodeLine{700         BS11\_STATE\_LOAD\_SMU\_SAFETY    = 0x21,}
\DoxyCodeLine{701         BS11\_STATE\_LOAD\_FAILED            = 0x31,}
\DoxyCodeLine{702         BS11\_STATE\_LOAD\_DIAGNOSTIC    = 0x41,}
\DoxyCodeLine{703         BS11\_STATE\_WARM\_UP            = 0x51,}
\DoxyCodeLine{704         BS11\_STATE\_WARM\_UP\_2                = 0x52,}
\DoxyCodeLine{705         BS11\_STATE\_WAIT\_MIN\_CFG          = 0x62,}
\DoxyCodeLine{706         BS11\_STATE\_MAINTENANCE            = 0x72,}
\DoxyCodeLine{707         BS11\_STATE\_LOAD\_MBCCU              = 0x92,}
\DoxyCodeLine{708         BS11\_STATE\_WAIT\_MIN\_CFG\_2      = 0xA2,}
\DoxyCodeLine{709         BS11\_STATE\_NORMAL              = 0x03,}
\DoxyCodeLine{710         BS11\_STATE\_ABIS\_LOAD                = 0x13,}
\DoxyCodeLine{711 \};}
\DoxyCodeLine{712 }
\DoxyCodeLine{714 \textcolor{keyword}{enum} abis\_nm\_ipacc\_test\_no \{}
\DoxyCodeLine{715         NM\_IPACC\_TESTNO\_RLOOP\_ANT      = 0x01,}
\DoxyCodeLine{716         NM\_IPACC\_TESTNO\_RLOOP\_XCVR    = 0x02,}
\DoxyCodeLine{717         NM\_IPACC\_TESTNO\_FUNC\_OBJ        = 0x03,}
\DoxyCodeLine{718         NM\_IPACC\_TESTNO\_CHAN\_USAGE    = 0x40,}
\DoxyCodeLine{719         NM\_IPACC\_TESTNO\_BCCH\_CHAN\_USAGE  = 0x41,}
\DoxyCodeLine{720         NM\_IPACC\_TESTNO\_FREQ\_SYNC      = 0x42,}
\DoxyCodeLine{721         NM\_IPACC\_TESTNO\_BCCH\_INFO      = 0x43,}
\DoxyCodeLine{722         NM\_IPACC\_TESTNO\_TX\_BEACON      = 0x44,}
\DoxyCodeLine{723         NM\_IPACC\_TESTNO\_SYSINFO\_MONITOR  = 0x45,}
\DoxyCodeLine{724         NM\_IPACC\_TESTNO\_BCCCH\_MONITOR      = 0x46,}
\DoxyCodeLine{725 \};}
\DoxyCodeLine{726 }
\DoxyCodeLine{728 \textcolor{keyword}{enum} abis\_nm\_ipacc\_test\_res \{}
\DoxyCodeLine{729         NM\_IPACC\_TESTRES\_SUCCESS        = 0,}
\DoxyCodeLine{730         NM\_IPACC\_TESTRES\_TIMEOUT        = 1,}
\DoxyCodeLine{731         NM\_IPACC\_TESTRES\_NO\_CHANS      = 2,}
\DoxyCodeLine{732         NM\_IPACC\_TESTRES\_PARTIAL        = 3,}
\DoxyCodeLine{733         NM\_IPACC\_TESTRES\_STOPPED        = 4,}
\DoxyCodeLine{734 \};}
\DoxyCodeLine{735 }
\DoxyCodeLine{737 \textcolor{keyword}{enum} abis\_nm\_ipacc\_testres\_ie \{}
\DoxyCodeLine{738         NM\_IPACC\_TR\_IE\_FREQ\_ERR\_LIST        = 3,}
\DoxyCodeLine{739         NM\_IPACC\_TR\_IE\_CHAN\_USAGE      = 4,}
\DoxyCodeLine{740         NM\_IPACC\_TR\_IE\_BCCH\_INFO        = 6,}
\DoxyCodeLine{741         NM\_IPACC\_TR\_IE\_RESULT\_DETAILS      = 8,}
\DoxyCodeLine{742         NM\_IPACC\_TR\_IE\_FREQ\_ERR          = 18,}
\DoxyCodeLine{743 \};}
\DoxyCodeLine{744 }
\DoxyCodeLine{746 \textcolor{keyword}{enum} ipac\_eie \{}
\DoxyCodeLine{747         NM\_IPAC\_EIE\_ARFCN\_WHITE          = 0x01,}
\DoxyCodeLine{748         NM\_IPAC\_EIE\_ARFCH\_BLACK          = 0x02,}
\DoxyCodeLine{749         NM\_IPAC\_EIE\_FREQ\_ERR\_LIST      = 0x03,}
\DoxyCodeLine{750         NM\_IPAC\_EIE\_CHAN\_USE\_LIST      = 0x04,}
\DoxyCodeLine{751         NM\_IPAC\_EIE\_BCCH\_INFO\_TYPE    = 0x05,}
\DoxyCodeLine{752         NM\_IPAC\_EIE\_BCCH\_INFO              = 0x06,}
\DoxyCodeLine{753         NM\_IPAC\_EIE\_CONFIG            = 0x07,}
\DoxyCodeLine{754         NM\_IPAC\_EIE\_RES\_DETAILS          = 0x08,}
\DoxyCodeLine{755         NM\_IPAC\_EIE\_RXLEV\_THRESH        = 0x09,}
\DoxyCodeLine{756         NM\_IPAC\_EIE\_FREQ\_SYNC\_OPTS    = 0x0a,}
\DoxyCodeLine{757         NM\_IPAC\_EIE\_MAC\_ADDR                = 0x0b,}
\DoxyCodeLine{758         NM\_IPAC\_EIE\_HW\_SW\_COMPAT\_NR  = 0x0c,}
\DoxyCodeLine{759         NM\_IPAC\_EIE\_MANUF\_SER\_NR        = 0x0d,}
\DoxyCodeLine{760         NM\_IPAC\_EIE\_OEM\_ID            = 0x0e,}
\DoxyCodeLine{761         NM\_IPAC\_EIE\_DATE\_TIME\_MANUF  = 0x0f,}
\DoxyCodeLine{762         NM\_IPAC\_EIE\_DATE\_TIME\_CALIB  = 0x10,}
\DoxyCodeLine{763         NM\_IPAC\_EIE\_BEACON\_INFO          = 0x11,}
\DoxyCodeLine{764         NM\_IPAC\_EIE\_FREQ\_ERR                = 0x12,}
\DoxyCodeLine{765         \textcolor{comment}{/* FIXME */}}
\DoxyCodeLine{766         NM\_IPAC\_EIE\_FREQ\_BANDS            = 0x1c,}
\DoxyCodeLine{767         NM\_IPAC\_EIE\_MAX\_TA            = 0x1d,}
\DoxyCodeLine{768         NM\_IPAC\_EIE\_CIPH\_ALGOS            = 0x1e,}
\DoxyCodeLine{769         NM\_IPAC\_EIE\_CHAN\_TYPES            = 0x1f,}
\DoxyCodeLine{770         NM\_IPAC\_EIE\_CHAN\_MODES            = 0x20,}
\DoxyCodeLine{771         NM\_IPAC\_EIE\_GPRS\_CODING          = 0x21,}
\DoxyCodeLine{772         NM\_IPAC\_EIE\_RTP\_FEATURES        = 0x22,}
\DoxyCodeLine{773         NM\_IPAC\_EIE\_RSL\_FEATURES        = 0x23,}
\DoxyCodeLine{774         NM\_IPAC\_EIE\_BTS\_HW\_CLASS        = 0x24,}
\DoxyCodeLine{775         NM\_IPAC\_EIE\_BTS\_ID            = 0x25,}
\DoxyCodeLine{776 \};}
\DoxyCodeLine{777 }
\DoxyCodeLine{779 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_FREQ\_BAND\_PGSM                (1 << 0)}}
\DoxyCodeLine{780 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_FREQ\_BAND\_EGSM                (1 << 1)}}
\DoxyCodeLine{781 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_FREQ\_BAND\_RGSM                (1 << 2)}}
\DoxyCodeLine{782 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_FREQ\_BAND\_DCS                 (1 << 3)}}
\DoxyCodeLine{783 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_FREQ\_BAND\_PCS                 (1 << 4)}}
\DoxyCodeLine{784 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_FREQ\_BAND\_850                 (1 << 5)}}
\DoxyCodeLine{785 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_FREQ\_BAND\_480                 (1 << 6)}}
\DoxyCodeLine{786 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_FREQ\_BAND\_450                 (1 << 7)}}
\DoxyCodeLine{787 }
\DoxyCodeLine{789 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CIPH\_ALGO\_A51                 (1 << 0)}}
\DoxyCodeLine{790 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CIPH\_ALGO\_A52                 (1 << 1)}}
\DoxyCodeLine{791 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CIPH\_ALGO\_A53                 (1 << 2)}}
\DoxyCodeLine{792 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CIPH\_ALGO\_A54                 (1 << 3)}}
\DoxyCodeLine{793 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CIPH\_ALGO\_A55                 (1 << 4)}}
\DoxyCodeLine{794 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CIPH\_ALGO\_A56                 (1 << 5)}}
\DoxyCodeLine{795 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CIPH\_ALGO\_A57                 (1 << 6)}}
\DoxyCodeLine{796 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CIPH\_ALGO\_A58                 (1 << 7)}}
\DoxyCodeLine{797 }
\DoxyCodeLine{799 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_TCHF                    (1 << 0)}}
\DoxyCodeLine{800 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_TCHH                    (1 << 1)}}
\DoxyCodeLine{801 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_SDCCH8                  (1 << 2)}}
\DoxyCodeLine{802 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_BCCH                    (1 << 3)}}
\DoxyCodeLine{803 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_BCCH\_SDCCH4             (1 << 4)}}
\DoxyCodeLine{804 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_BCH                     (1 << 5)}}
\DoxyCodeLine{805 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_BCCH\_SDCCH4\_CBCH        (1 << 6)}}
\DoxyCodeLine{806 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_SDCCH8\_CBCH             (1 << 7)}}
\DoxyCodeLine{808 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_PDCHF                   (1 << 8)}}
\DoxyCodeLine{809 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_TCHF\_PDCHF              (1 << 9)}}
\DoxyCodeLine{810 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_TCHH\_PDCHH              (1 << 10)}}
\DoxyCodeLine{811 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANT\_TCHF\_TCHH               (1 << 11)}}
\DoxyCodeLine{812 }
\DoxyCodeLine{814 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_SPEECH\_FS               (1 << 0)}}
\DoxyCodeLine{815 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_SPEECH\_EFS              (1 << 1)}}
\DoxyCodeLine{816 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_SPEECH\_AFS              (1 << 2)}}
\DoxyCodeLine{817 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_SPEECH\_HS               (1 << 3)}}
\DoxyCodeLine{818 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_SPEECH\_AHS              (1 << 4)}}
\DoxyCodeLine{820 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_NT\_4k8              (1 << 8)}}
\DoxyCodeLine{821 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_NT\_9k6              (1 << 9)}}
\DoxyCodeLine{822 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_NT\_14k4             (1 << 10)}}
\DoxyCodeLine{824 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_T\_1200\_75           (1 << 16)}}
\DoxyCodeLine{825 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_T\_600               (1 << 17)}}
\DoxyCodeLine{826 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_T\_1k2               (1 << 18)}}
\DoxyCodeLine{827 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_T\_2k4               (1 << 19)}}
\DoxyCodeLine{828 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_T\_4k8               (1 << 20)}}
\DoxyCodeLine{829 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_T\_9k6               (1 << 21)}}
\DoxyCodeLine{830 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_CHANM\_CSD\_T\_14k4              (1 << 22)}}
\DoxyCodeLine{831 }
\DoxyCodeLine{833 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_CS1               (1 << 0)}}
\DoxyCodeLine{834 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_CS2               (1 << 1)}}
\DoxyCodeLine{835 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_CS3               (1 << 2)}}
\DoxyCodeLine{836 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_CS4               (1 << 3)}}
\DoxyCodeLine{838 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_MCS1              (1 << 8)}}
\DoxyCodeLine{839 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_MCS2              (1 << 9)}}
\DoxyCodeLine{840 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_MCS3              (1 << 10)}}
\DoxyCodeLine{841 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_MCS4              (1 << 11)}}
\DoxyCodeLine{842 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_MCS5              (1 << 12)}}
\DoxyCodeLine{843 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_MCS6              (1 << 13)}}
\DoxyCodeLine{844 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_MCS7              (1 << 14)}}
\DoxyCodeLine{845 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_MCS8              (1 << 15)}}
\DoxyCodeLine{846 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_GPRS\_CODING\_MCS9              (1 << 7)}}
\DoxyCodeLine{847 }
\DoxyCodeLine{849 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RTP\_FEAT\_COMPR\_CONTROL        (1 << 0) }\textcolor{comment}{/* RTP Compression Control */}\textcolor{preprocessor}{}}
\DoxyCodeLine{850 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RTP\_FEAT\_IR\_8k                (1 << 1) }\textcolor{comment}{/* IR  8 kbit/s */}\textcolor{preprocessor}{}}
\DoxyCodeLine{851 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RTP\_FEAT\_IR\_16k               (1 << 2) }\textcolor{comment}{/* IR 16 kbit/s */}\textcolor{preprocessor}{}}
\DoxyCodeLine{852 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RTP\_FEAT\_IR\_32k               (1 << 3) }\textcolor{comment}{/* IR 32 kbit/s */}\textcolor{preprocessor}{}}
\DoxyCodeLine{853 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RTP\_FEAT\_IR\_64k               (1 << 4) }\textcolor{comment}{/* IR 64 kbit/s */}\textcolor{preprocessor}{}}
\DoxyCodeLine{854 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RTP\_FEAT\_MULTIPLEX\_RTP        (1 << 6) }\textcolor{comment}{/* RTP Multiplexing */}\textcolor{preprocessor}{}}
\DoxyCodeLine{855 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RTP\_FEAT\_MULTIPLEX\_SRTP       (1 << 7) }\textcolor{comment}{/* SRTP Multiplexing */}\textcolor{preprocessor}{}}
\DoxyCodeLine{856 }
\DoxyCodeLine{858 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RSL\_FEAT\_PHYSICAL\_CONTEXT     (1 << 0)}}
\DoxyCodeLine{859 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RSL\_FEAT\_DYN\_PDCH\_ACT         (1 << 1)}}
\DoxyCodeLine{860 \textcolor{preprocessor}{\#define NM\_IPAC\_F\_RSL\_FEAT\_RTP\_PT2              (1 << 2)}}
\DoxyCodeLine{861 }
\DoxyCodeLine{862 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_ipacc\_freq\_band\_desc[];}
\DoxyCodeLine{863 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_ipacc\_ciph\_algo\_desc[];}
\DoxyCodeLine{864 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_ipacc\_chant\_desc[];}
\DoxyCodeLine{865 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_ipacc\_chanm\_desc[];}
\DoxyCodeLine{866 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_ipacc\_gprs\_coding\_desc[];}
\DoxyCodeLine{867 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_ipacc\_rtp\_feat\_desc[];}
\DoxyCodeLine{868 \textcolor{keyword}{extern} \textcolor{keyword}{const} \textcolor{keyword}{struct }value\_string abis\_nm\_ipacc\_rsl\_feat\_desc[];}
\DoxyCodeLine{869 }
\DoxyCodeLine{871 \textcolor{keyword}{enum} ipac\_bcch\_info\_type \{}
\DoxyCodeLine{872         IPAC\_BINF\_RXLEV                  = (1 << 8),}
\DoxyCodeLine{873         IPAC\_BINF\_RXQUAL                = (1 << 9),}
\DoxyCodeLine{874         IPAC\_BINF\_FREQ\_ERR\_QUAL          = (1 << 10),}
\DoxyCodeLine{875         IPAC\_BINF\_FRAME\_OFFSET            = (1 << 11),}
\DoxyCodeLine{876         IPAC\_BINF\_FRAME\_NR\_OFFSET      = (1 << 12),}
\DoxyCodeLine{877         IPAC\_BINF\_BSIC                    = (1 << 13),}
\DoxyCodeLine{878         IPAC\_BINF\_CGI                      = (1 << 14),}
\DoxyCodeLine{879         IPAC\_BINF\_NEIGH\_BA\_SI2            = (1 << 15),}
\DoxyCodeLine{880         IPAC\_BINF\_NEIGH\_BA\_SI2bis      = (1 << 0),}
\DoxyCodeLine{881         IPAC\_BINF\_NEIGH\_BA\_SI2ter      = (1 << 1),}
\DoxyCodeLine{882         IPAC\_BINF\_CELL\_ALLOC                = (1 << 2),}
\DoxyCodeLine{883 \};}
\DoxyCodeLine{884 }
\DoxyCodeLine{886 \textcolor{keyword}{struct }abis\_nm\_ipacc\_att\_ns\_cfg \{}
\DoxyCodeLine{887         uint8\_t un\_blocking\_timer;     \textcolor{comment}{/* (un)blocking Timer (Tns-\/block) timeout */}}
\DoxyCodeLine{888         uint8\_t un\_blocking\_retries; \textcolor{comment}{/* (un)blocking Timer (Tns-\/block) number of retries */}}
\DoxyCodeLine{889         uint8\_t reset\_timer;         \textcolor{comment}{/* Reset Timer (Tns-\/reset) timeout */}}
\DoxyCodeLine{890         uint8\_t reset\_retries;             \textcolor{comment}{/* Reset Timer (Tns-\/reset) number of retries */}}
\DoxyCodeLine{891         uint8\_t test\_timer;           \textcolor{comment}{/* Test Timer (Tns-\/test) timeout */}}
\DoxyCodeLine{892         uint8\_t alive\_timer;         \textcolor{comment}{/* Alive Timer (Tns-\/alive) timeout */}}
\DoxyCodeLine{893         uint8\_t alive\_retries;             \textcolor{comment}{/* Alive Timer (Tns-\/alive) number of retries */}}
\DoxyCodeLine{894 \} \_\_attribute\_\_((packed));}
\DoxyCodeLine{895 }
\DoxyCodeLine{897 \textcolor{keyword}{struct }abis\_nm\_ipacc\_att\_bssgp\_cfg \{}
\DoxyCodeLine{898         uint8\_t t1\_s;                       \textcolor{comment}{/* blocking timer (T1) */}}
\DoxyCodeLine{899         uint8\_t t1\_blocking\_retries; \textcolor{comment}{/* blocking retries */}}
\DoxyCodeLine{900         uint8\_t t1\_unblocking\_retries;     \textcolor{comment}{/* unblocking retries */}}
\DoxyCodeLine{901         uint8\_t t2\_s;                       \textcolor{comment}{/* reset timer (T2) */}}
\DoxyCodeLine{902         uint8\_t t2\_retries;           \textcolor{comment}{/* reset retries */}}
\DoxyCodeLine{903         uint8\_t t3\_100ms;               \textcolor{comment}{/* suspend timer (T3) in 100ms */}}
\DoxyCodeLine{904         uint8\_t t3\_retries;           \textcolor{comment}{/* suspend retries */}}
\DoxyCodeLine{905         uint8\_t t4\_100ms;               \textcolor{comment}{/* resume timer (T4) in 100ms */}}
\DoxyCodeLine{906         uint8\_t t4\_retries;           \textcolor{comment}{/* resume retries */}}
\DoxyCodeLine{907         uint8\_t t5\_s;                       \textcolor{comment}{/* capability update timer (T5) */}}
\DoxyCodeLine{908         uint8\_t t5\_retries;           \textcolor{comment}{/* capability update retries */}}
\DoxyCodeLine{909 \} \_\_attribute\_\_((packed));}
\DoxyCodeLine{910 }
\DoxyCodeLine{912 \textcolor{keyword}{struct }abis\_nm\_ipacc\_att\_rlc\_cfg \{}
\DoxyCodeLine{913         uint8\_t t3142;}
\DoxyCodeLine{914         uint8\_t t3169;}
\DoxyCodeLine{915         uint8\_t t3191;}
\DoxyCodeLine{916         uint8\_t t3193\_10ms;}
\DoxyCodeLine{917         uint8\_t t3195;}
\DoxyCodeLine{918         uint8\_t n3101;}
\DoxyCodeLine{919         uint8\_t n3103;}
\DoxyCodeLine{920         uint8\_t n3105;}
\DoxyCodeLine{921         uint8\_t rlc\_cv\_countdown;}
\DoxyCodeLine{922 \} \_\_attribute\_\_((packed));}
\DoxyCodeLine{923 }
\DoxyCodeLine{925 \textcolor{keyword}{struct }abis\_nm\_ipacc\_att\_rlc\_cfg\_2 \{}
\DoxyCodeLine{926         \textcolor{comment}{/* T downlink TBF extension (0..500, network order) */}}
\DoxyCodeLine{927         uint16\_t t\_dl\_tbf\_ext\_10ms;}
\DoxyCodeLine{928         \textcolor{comment}{/* T uplink TBF extension (0..500, network order) */}}
\DoxyCodeLine{929         uint16\_t t\_ul\_tbf\_ext\_10ms;}
\DoxyCodeLine{930         \textcolor{comment}{/* Initial CS to use: CS1 -\/> 1, CS2 -\/> 2, CS3 -\/> 3, CS4 -\/> 4 */}}
\DoxyCodeLine{931         uint8\_t initial\_cs;}
\DoxyCodeLine{932 \} \_\_attribute\_\_((packed));}
\DoxyCodeLine{933 }
\DoxyCodeLine{935 \textcolor{keyword}{struct }abis\_nm\_ipacc\_att\_rlc\_cfg\_3 \{}
\DoxyCodeLine{936         \textcolor{comment}{/* Initial MCS to use when EGPRS is used:}}
\DoxyCodeLine{937 \textcolor{comment}{         * MCS1 -\/> 1, MCS2 -\/> 2, ..., MCS9 -\/> 9 */}}
\DoxyCodeLine{938         uint8\_t initial\_mcs;}
\DoxyCodeLine{939 \} \_\_attribute\_\_((packed));}
\DoxyCodeLine{940 }
\DoxyCodeLine{942 \textcolor{keyword}{enum} osmo\_oml\_nsvc\_address\_type \{}
\DoxyCodeLine{943         OSMO\_NSVC\_ADDR\_UNSPEC              = 0x00,}
\DoxyCodeLine{944         OSMO\_NSVC\_ADDR\_IPV4          = 0x04,}
\DoxyCodeLine{945         OSMO\_NSVC\_ADDR\_IPV6          = 0x29,}
\DoxyCodeLine{946 \};}
\DoxyCodeLine{947 }
\DoxyCodeLine{949 \textcolor{keyword}{struct }abis\_nm\_sw\_desc \{}
\DoxyCodeLine{950         uint8\_t file\_id[UINT8\_MAX];}
\DoxyCodeLine{951         uint8\_t file\_id\_len;}
\DoxyCodeLine{952 }
\DoxyCodeLine{953         uint8\_t file\_version[UINT8\_MAX];}
\DoxyCodeLine{954         uint8\_t file\_version\_len;}
\DoxyCodeLine{955 \};}
\DoxyCodeLine{956 }
\DoxyCodeLine{957 uint16\_t abis\_nm\_sw\_desc\_len(\textcolor{keyword}{const} \textcolor{keyword}{struct} abis\_nm\_sw\_desc *sw, \textcolor{keywordtype}{bool} put\_sw\_descr);}
\DoxyCodeLine{958 uint16\_t abis\_nm\_put\_sw\_desc(\textcolor{keyword}{struct} msgb *msg, \textcolor{keyword}{const} \textcolor{keyword}{struct} abis\_nm\_sw\_desc *sw, \textcolor{keywordtype}{bool} put\_sw\_descr);}
\DoxyCodeLine{959 uint16\_t abis\_nm\_put\_sw\_file(\textcolor{keyword}{struct} msgb *msg, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\textcolor{keywordtype}{id}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *ver, \textcolor{keywordtype}{bool} put\_sw\_desc);}
\DoxyCodeLine{960 uint32\_t abis\_nm\_get\_sw\_desc\_len(\textcolor{keyword}{const} uint8\_t * buf, \textcolor{keywordtype}{size\_t} len);}
\DoxyCodeLine{961 \textcolor{keywordtype}{int} abis\_nm\_get\_sw\_conf(\textcolor{keyword}{const} uint8\_t * buf, \textcolor{keywordtype}{size\_t} buf\_len, \textcolor{keyword}{struct} abis\_nm\_sw\_desc *sw, uint16\_t sw\_len);}
\DoxyCodeLine{962 }
\DoxyCodeLine{963 \textcolor{keyword}{struct }msgb *abis\_nm\_fail\_evt\_rep(\textcolor{keyword}{enum} abis\_nm\_event\_type t,}
\DoxyCodeLine{964                                   \textcolor{keyword}{enum} abis\_nm\_severity s,}
\DoxyCodeLine{965                                   \textcolor{keyword}{enum} abis\_nm\_pcause\_type ct,}
\DoxyCodeLine{966                                   uint16\_t cause\_value, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *fmt, ...);}
\DoxyCodeLine{967 \textcolor{keyword}{struct }msgb *abis\_nm\_fail\_evt\_vrep(\textcolor{keyword}{enum} abis\_nm\_event\_type t,}
\DoxyCodeLine{968                                    \textcolor{keyword}{enum} abis\_nm\_severity s,}
\DoxyCodeLine{969                                    \textcolor{keyword}{enum} abis\_nm\_pcause\_type ct,}
\DoxyCodeLine{970                                    uint16\_t cause\_value, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *fmt,}
\DoxyCodeLine{971                                    va\_list ap);}

\end{DoxyCode}
