\doxysection{3GPP TS 49.031 BSSMAP-\/\+LE.}
\label{group__bssmap__le}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \textbf{ bssmap\+\_\+le.\+h}
\begin{DoxyCompactList}\small\item\em Message encoding and decoding for 3GPP TS 49.\+031 BSSMAP-\/\+LE. \end{DoxyCompactList}\item 
file \textbf{ gsm\+\_\+49\+\_\+031.\+h}
\item 
file \textbf{ bssmap\+\_\+le.\+c}
\begin{DoxyCompactList}\small\item\em Message encoding and decoding for 3GPP TS 49.\+031 BSSMAP-\/\+LE. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err}
\item 
struct \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+err}
\item 
struct \textbf{ lcs\+\_\+cause\+\_\+ie}
\begin{DoxyCompactList}\small\item\em 3GPP TS 49.\+031 10.\+13 LCS Cause, also in 3GPP TS 48.\+008 3.\+2.\+2.\+66, which simply refers to the former. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+lcs\+\_\+qos}
\item 
struct \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+type}
\item 
struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+req}
\item 
struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+resp}
\item 
struct \textbf{ bssmap\+\_\+le\+\_\+conn\+\_\+oriented\+\_\+info}
\item 
struct \textbf{ bssmap\+\_\+le\+\_\+pdu}
\item 
struct \textbf{ bssap\+\_\+le\+\_\+pdu}
\item 
struct \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+header}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+SIZE}~\textbf{ BSSMAP\+\_\+\+MSG\+\_\+\+SIZE}
\item 
\#define \textbf{ BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+HEADROOM}~\textbf{ BSSMAP\+\_\+\+MSG\+\_\+\+HEADROOM}
\item 
\#define \textbf{ DEC\+\_\+\+ERR\+\_\+\+NO\+\_\+\+RETURN}(RC,  MSG\+\_\+\+TYPE,  IEI,  CAUSE,  fmt,  args...)
\item 
\#define \textbf{ DEC\+\_\+\+ERR}(RC,  MSG\+\_\+\+TYPE,  IEI,  CAUSE,  fmt,  args...)
\item 
\#define \textbf{ DEC\+\_\+\+IE\+\_\+\+MANDATORY}(MSG\+\_\+\+TYPE,  IEI,  DEC\+\_\+\+FUN,  DEC\+\_\+\+FUN\+\_\+\+ARG)
\item 
\#define \textbf{ DEC\+\_\+\+IE\+\_\+\+OPTIONAL\+\_\+\+FLAG}(MSG\+\_\+\+TYPE,  IEI,  DEC\+\_\+\+FUN,  DEC\+\_\+\+FUN\+\_\+\+ARG,  PRESENCE\+\_\+\+FLAG)
\item 
\#define \textbf{ DEC\+\_\+\+IE\+\_\+\+OPTIONAL}(MSG\+\_\+\+TYPE,  IEI,  DEC\+\_\+\+FUN,  DEC\+\_\+\+FUN\+\_\+\+ARG)
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ lcs\+\_\+cause} \{ \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED} = 0
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+SYSTEM\+\_\+\+FAILURE} = 1
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+PROTOCOL\+\_\+\+ERROR} = 2
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+DATA\+\_\+\+MISSING\+\_\+\+IN\+\_\+\+REQ} = 3
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNEXP\+\_\+\+DATA\+\_\+\+IN\+\_\+\+REQ} = 4
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+POS\+\_\+\+METH\+\_\+\+FAILURE} = 5
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+TGT\+\_\+\+MS\+\_\+\+UNREACHABLE} = 6
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+REQUEST\+\_\+\+ABORTED} = 7
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+FACILITY\+\_\+\+NOTSUPP} = 8
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+INTER\+\_\+\+BSC\+\_\+\+HO} = 9
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+INTRA\+\_\+\+BSC\+\_\+\+HO} = 10
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+CONGESTION} = 11
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+INTER\+\_\+\+NSE\+\_\+\+CHG} = 12
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+RA\+\_\+\+UPDAT} = 13
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+PTMSI\+\_\+\+REALLOC} = 14
, \newline
\textbf{ LCS\+\_\+\+CAUSE\+\_\+\+GPRS\+\_\+\+SUSPENSION} = 15
 \}
\begin{DoxyCompactList}\small\item\em 3GPP TS 49.\+031 10.\+13 LCS Cause, also in 3GPP TS 48.\+008 3.\+2.\+2.\+66, which simply refers to the former. \end{DoxyCompactList}\item 
enum \textbf{ bssap\+\_\+le\+\_\+msg\+\_\+discr} \{ \textbf{ BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+DISCR\+\_\+\+BSSMAP\+\_\+\+LE} = 0
 \}
\item 
enum \textbf{ bssmap\+\_\+le\+\_\+msgt} \{ \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+REQ} = 0x2b
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+RESP} = 0x2d
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+ABORT} = 0x2e
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+INFO} = 0x2f
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+ASSIST\+\_\+\+INFO\+\_\+\+REQ} = 0x20
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+ASSIST\+\_\+\+INFO\+\_\+\+RESP} = 0x21
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+CONN\+\_\+\+ORIENTED\+\_\+\+INFO} = 0x2a
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+CONN\+\_\+\+LESS\+\_\+\+INFO} = 0x3a
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+RESET} = 0x30
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+RESET\+\_\+\+ACK} = 0x31
 \}
\item 
enum \textbf{ bssmap\+\_\+le\+\_\+iei} \{ \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+QoS} = 0x3e
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+PRIORITY} = 0x43
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LOCATION\+\_\+\+TYPE} = 0x44
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+GANSS\+\_\+\+LOCATION\+\_\+\+TYPE} = 0x82
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+GEO\+\_\+\+LOCATION} = 0x45
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+POSITIONING\+\_\+\+DATA} = 0x46
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+GANSS\+\_\+\+POS\+\_\+\+DATA} = 0x83
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+VELOCITY\+\_\+\+DATA} = 0x55
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CAUSE} = 0x47
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CLIENT\+\_\+\+TYPE} = 0x48
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+APDU} = 0x49
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+NET\+\_\+\+ELEM\+\_\+\+ID} = 0x4a
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+REQ\+\_\+\+GPS\+\_\+\+ASS\+\_\+D} = 0x4b
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+REQ\+\_\+\+GANSS\+\_\+\+ASS\+\_\+D} = 0x41
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+DECIPH\+\_\+\+KEYS} = 0x4c
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+RET\+\_\+\+ERR\+\_\+\+REQ} = 0x4d
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+RET\+\_\+\+ERR\+\_\+\+CAUSE} = 0x4e
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+SEGMENTATION} = 0x4f
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CLASSMARK3\+\_\+\+INFO} = 0x13
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CAUSE} = 0x4
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CELL\+\_\+\+ID} = 0x5
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CHOSEN\+\_\+\+CHAN} = 0x21
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+IMSI} = 0x0
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CAPABILITY} = 0x50
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+PKT\+\_\+\+MEAS\+\_\+\+REP} = 0x51
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CELL\+\_\+\+ID\+\_\+\+LIST} = 0x52
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+IMEI} = 0x80
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+BSS\+\_\+\+MLAT\+\_\+\+CAP} = 0x84
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CELL\+\_\+\+INFO\+\_\+\+LIST} = 0x85
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+BTS\+\_\+\+RX\+\_\+\+ACC\+\_\+\+LVL} = 0x86
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+MLAT\+\_\+\+METHOD} = 0x87
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+MLAT\+\_\+\+TA} = 0x88
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+MS\+\_\+\+SYNC\+\_\+\+ACC} = 0x89
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+SHORT\+\_\+\+ID\+\_\+\+SET} = 0x8a
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+RANDOM\+\_\+\+ID\+\_\+\+SET} = 0x8b
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+SHORT\+\_\+\+BSS\+\_\+\+ID} = 0x8c
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+RANDOM\+\_\+\+ID} = 0x8d
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+SHORT\+\_\+\+ID} = 0x8e
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+COVERAGE\+\_\+\+CLASS} = 0x8f
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+MTA\+\_\+\+ACC\+\_\+\+SEC\+\_\+\+RQD} = 0x90
 \}
\item 
enum \textbf{ bssmap\+\_\+le\+\_\+apdu\+\_\+proto} \{ \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+RESERVED} = 0
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+BSSLAP} = 1
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+LLP} = 2
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+SMLCPP} = 3
 \}
\item 
enum \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+information} \{ \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+CURRENT\+\_\+\+GEOGRAPHIC} = 0x0
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+ASSIST\+\_\+\+TARGET\+\_\+\+MS} = 0x1
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+BC\+\_\+\+DECIPHER\+\_\+\+KEYS} = 0x2
 \}
\item 
enum \textbf{ bssmap\+\_\+le\+\_\+positioning\+\_\+method} \{ \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+OMITTED} = 0x0
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+MOBILE\+\_\+\+ASSISTED\+\_\+\+E\+\_\+\+OTD} = 0x1
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+MOBILE\+\_\+\+BASED\+\_\+\+E\+\_\+\+OTD} = 0x2
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+ASSISTED\+\_\+\+GPS} = 0x3
 \}
\item 
enum \textbf{ bssmap\+\_\+le\+\_\+lcs\+\_\+client\+\_\+type} \{ \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+VALUE\+\_\+\+ADDED\+\_\+\+UNSPECIFIED} = 0x0
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+UNSPECIFIED} = 0x20
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+BCAST\+\_\+\+SERVICE} = 0x21
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+OAM} = 0x22
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+ANON\+\_\+\+STATS} = 0x23
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+TGT\+\_\+\+MS\+\_\+\+SVC} = 0x24
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+EMERG\+\_\+\+SVC\+\_\+\+UNSPECIFIED} = 0x30
, \newline
\textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+LI\+\_\+\+UNSPECIFIED} = 0x40
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ bssmap\+\_\+le\+\_\+msgt} \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt} (const uint8\+\_\+t $\ast$\textbf{ data}, uint8\+\_\+t \textbf{ len})
\begin{DoxyCompactList}\small\item\em Return the BSSMAP-\/\+LE msg\+\_\+type from a BSSAP-\/\+LE PDU, e.\+g. \end{DoxyCompactList}\item 
static const char $\ast$ \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+name} (enum \textbf{ bssmap\+\_\+le\+\_\+msgt} val)
\item 
static const char $\ast$ \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+iei\+\_\+name} (enum \textbf{ bssmap\+\_\+le\+\_\+iei} val)
\item 
int \textbf{ osmo\+\_\+lcs\+\_\+cause\+\_\+enc} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ lcs\+\_\+cause\+\_\+ie} $\ast$\textbf{ lcs\+\_\+cause})
\begin{DoxyCompactList}\small\item\em Encode the value part of 3GPP TS 49.\+031 10.\+13 LCS Cause, without IEI and len. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+lcs\+\_\+cause\+\_\+dec} (struct \textbf{ lcs\+\_\+cause\+\_\+ie} $\ast$\textbf{ lcs\+\_\+cause}, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$\textbf{ data}, uint8\+\_\+t \textbf{ len})
\begin{DoxyCompactList}\small\item\em Decode the value part of 3GPP TS 49.\+031 10.\+13 LCS Cause, without IEI and len. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+pdu\+\_\+to\+\_\+str\+\_\+buf} (char $\ast$buf, size\+\_\+t buflen, const struct \textbf{ bssap\+\_\+le\+\_\+pdu} $\ast$bssap\+\_\+le)
\begin{DoxyCompactList}\small\item\em Return a human readable string describing a BSSAP-\/\+LE PDU. \end{DoxyCompactList}\item 
char $\ast$ \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+pdu\+\_\+to\+\_\+str\+\_\+c} (void $\ast$ctx, const struct \textbf{ bssap\+\_\+le\+\_\+pdu} $\ast$bssap\+\_\+le)
\begin{DoxyCompactList}\small\item\em Return a human readable string describing a BSSAP-\/\+LE PDU. \end{DoxyCompactList}\item 
struct \textbf{ msgb} $\ast$ \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+enc} (const struct \textbf{ bssap\+\_\+le\+\_\+pdu} $\ast$pdu)
\begin{DoxyCompactList}\small\item\em Encode BSSAP-\/\+LE PDU returned in new msgb (3GPP TS 49.\+031). \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+dec} (struct \textbf{ bssap\+\_\+le\+\_\+pdu} $\ast$pdu, struct \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, struct \textbf{ msgb} $\ast$\textbf{ msg})
\begin{DoxyCompactList}\small\item\em Decode BSSAP-\/\+LE PDU (3GPP TS 49.\+031). \end{DoxyCompactList}\item 
uint8\+\_\+t \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+location\+\_\+type} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+type} $\ast$location\+\_\+type)
\begin{DoxyCompactList}\small\item\em Encode full BSSMAP-\/\+LE Location Type IE, including IEI tag and length. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+location\+\_\+type} (struct \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+type} $\ast$lt, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$elem, uint8\+\_\+t \textbf{ len})
\begin{DoxyCompactList}\small\item\em Decode BSSMAP-\/\+LE Location Type IE value part. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+lcs\+\_\+qos} \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+} ((packed))
\item 
static uint8\+\_\+t \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+lcs\+\_\+client\+\_\+type} (struct \textbf{ msgb} $\ast$\textbf{ msg}, enum \textbf{ bssmap\+\_\+le\+\_\+lcs\+\_\+client\+\_\+type} client\+\_\+type)
\begin{DoxyCompactList}\small\item\em Encode full BSSMAP-\/\+LE LCS Client Type IE, including IEI tag and length. \end{DoxyCompactList}\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+lcs\+\_\+client\+\_\+type} (enum \textbf{ bssmap\+\_\+le\+\_\+lcs\+\_\+client\+\_\+type} $\ast$client\+\_\+type, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$elem, uint8\+\_\+t \textbf{ len})
\item 
static uint8\+\_\+t \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+lcs\+\_\+priority} (struct \textbf{ msgb} $\ast$\textbf{ msg}, uint8\+\_\+t priority)
\begin{DoxyCompactList}\small\item\em Encode full BSSMAP-\/\+LE LCS Priority IE, including IEI tag and length. \end{DoxyCompactList}\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+lcs\+\_\+priority} (uint8\+\_\+t $\ast$priority, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$elem, uint8\+\_\+t \textbf{ len})
\item 
static uint8\+\_\+t \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+lcs\+\_\+qos} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+lcs\+\_\+qos} $\ast$qos)
\begin{DoxyCompactList}\small\item\em Encode full BSSMAP-\/\+LE LCS QoS IE, including IEI tag and length. \end{DoxyCompactList}\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+lcs\+\_\+qos} (struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+lcs\+\_\+qos} $\ast$qos, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$elem, uint8\+\_\+t \textbf{ len})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+apdu} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ bsslap\+\_\+pdu} $\ast$bsslap)
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+apdu} (struct \textbf{ bsslap\+\_\+pdu} $\ast$bsslap, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$\textbf{ data}, size\+\_\+t \textbf{ len})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+cell\+\_\+id} (struct \textbf{ gsm0808\+\_\+cell\+\_\+id} $\ast$cell\+\_\+id, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$elem, uint8\+\_\+t \textbf{ len})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+imsi} (struct osmo\+\_\+mobile\+\_\+identity $\ast$imsi, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$elem, uint8\+\_\+t \textbf{ len})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+imei} (struct osmo\+\_\+mobile\+\_\+identity $\ast$imei, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$elem, uint8\+\_\+t \textbf{ len})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+gad} (union \textbf{ gad\+\_\+raw} $\ast$gad, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, enum \textbf{ bssmap\+\_\+le\+\_\+iei} \textbf{ iei}, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$elem, uint8\+\_\+t \textbf{ len})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+reset} (struct \textbf{ msgb} $\ast$\textbf{ msg}, enum \textbf{ gsm0808\+\_\+cause} \textbf{ cause})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+reset} (enum \textbf{ gsm0808\+\_\+cause} $\ast$\textbf{ cause}, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const struct \textbf{ tlv\+\_\+parsed} $\ast$tp)
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+req} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+req} $\ast$\textbf{ params})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req} (struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+req} $\ast$\textbf{ params}, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const struct \textbf{ tlv\+\_\+parsed} $\ast$tp)
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+resp} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+resp} $\ast$\textbf{ params})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+resp} (struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+resp} $\ast$\textbf{ params}, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const struct \textbf{ tlv\+\_\+parsed} $\ast$tp)
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+abort} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ lcs\+\_\+cause\+\_\+ie} $\ast$\textbf{ params})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+abort} (struct \textbf{ lcs\+\_\+cause\+\_\+ie} $\ast$\textbf{ params}, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const struct \textbf{ tlv\+\_\+parsed} $\ast$tp)
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+conn\+\_\+oriented\+\_\+info} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ bssmap\+\_\+le\+\_\+conn\+\_\+oriented\+\_\+info} $\ast$\textbf{ params})
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+conn\+\_\+oriented\+\_\+info} (struct \textbf{ bssmap\+\_\+le\+\_\+conn\+\_\+oriented\+\_\+info} $\ast$\textbf{ params}, enum \textbf{ bssmap\+\_\+le\+\_\+msgt} msgt, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const struct \textbf{ tlv\+\_\+parsed} $\ast$tp)
\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ bssmap\+\_\+le\+\_\+pdu} $\ast$pdu)
\begin{DoxyCompactList}\small\item\em Encode BSSMAP-\/\+LE PDU and add to msgb (3GPP TS 49.\+031). \end{DoxyCompactList}\item 
static int \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec} (struct \textbf{ bssmap\+\_\+le\+\_\+pdu} $\ast$pdu, struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$err, void $\ast$err\+\_\+ctx, const uint8\+\_\+t $\ast$\textbf{ data}, size\+\_\+t \textbf{ len})
\begin{DoxyCompactList}\small\item\em Decode BSSMAP-\/\+LE PDU (3GPP TS 49.\+031). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+names} [$\,$]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+iei\+\_\+names} [$\,$]
\item 
enum \textbf{ bssap\+\_\+le\+\_\+msg\+\_\+discr} \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+}
\item 
static const struct \textbf{ tlv\+\_\+definition} \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+tlvdef}
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+names} [$\,$]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+iei\+\_\+names} [$\,$]
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{group__bssmap__le_ga0235e95366d915eef5f7387c4f221fea}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSAP\_LE\_MSG\_HEADROOM@{BSSAP\_LE\_MSG\_HEADROOM}}
\index{BSSAP\_LE\_MSG\_HEADROOM@{BSSAP\_LE\_MSG\_HEADROOM}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{BSSAP\_LE\_MSG\_HEADROOM}
{\footnotesize\ttfamily \#define BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+HEADROOM~\textbf{ BSSMAP\+\_\+\+MSG\+\_\+\+HEADROOM}}

\mbox{\label{group__bssmap__le_gaeceb69126b343160af04085c2da80907}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSAP\_LE\_MSG\_SIZE@{BSSAP\_LE\_MSG\_SIZE}}
\index{BSSAP\_LE\_MSG\_SIZE@{BSSAP\_LE\_MSG\_SIZE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{BSSAP\_LE\_MSG\_SIZE}
{\footnotesize\ttfamily \#define BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+SIZE~\textbf{ BSSMAP\+\_\+\+MSG\+\_\+\+SIZE}}

\mbox{\label{group__bssmap__le_ga3af91a1683351d9b5f238930b0dc3c67}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!DEC\_ERR@{DEC\_ERR}}
\index{DEC\_ERR@{DEC\_ERR}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{DEC\_ERR}
{\footnotesize\ttfamily \#define DEC\+\_\+\+ERR(\begin{DoxyParamCaption}\item[{}]{RC,  }\item[{}]{MSG\+\_\+\+TYPE,  }\item[{}]{IEI,  }\item[{}]{CAUSE,  }\item[{}]{fmt,  }\item[{}]{args... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                \textcolor{keywordflow}{do} \{ \(\backslash\)}
\DoxyCodeLine{                DEC\_ERR\_NO\_RETURN(RC, MSG\_TYPE, IEI, CAUSE, fmt, \#\#args); \(\backslash\)}
\DoxyCodeLine{                return RC; \(\backslash\)}
\DoxyCodeLine{        \} \textcolor{keywordflow}{while}(0)}

\end{DoxyCode}
\mbox{\label{group__bssmap__le_ga4dcdffa96d84fe0994862cff61070569}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!DEC\_ERR\_NO\_RETURN@{DEC\_ERR\_NO\_RETURN}}
\index{DEC\_ERR\_NO\_RETURN@{DEC\_ERR\_NO\_RETURN}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{DEC\_ERR\_NO\_RETURN}
{\footnotesize\ttfamily \#define DEC\+\_\+\+ERR\+\_\+\+NO\+\_\+\+RETURN(\begin{DoxyParamCaption}\item[{}]{RC,  }\item[{}]{MSG\+\_\+\+TYPE,  }\item[{}]{IEI,  }\item[{}]{CAUSE,  }\item[{}]{fmt,  }\item[{}]{args... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                \textcolor{keywordflow}{do} \{ \(\backslash\)}
\DoxyCodeLine{                if (err \&\& !*err) \{ \(\backslash\)}
\DoxyCodeLine{                        *err = talloc\_zero(err\_ctx, \textcolor{keyword}{struct} osmo\_bssmap\_le\_err); \(\backslash\)}
\DoxyCodeLine{                        **err = (\textcolor{keyword}{struct }osmo\_bssmap\_le\_err)\{ \(\backslash\)}
\DoxyCodeLine{                                .rc = (RC), \(\backslash\)}
\DoxyCodeLine{                                .msg\_type = (MSG\_TYPE), \(\backslash\)}
\DoxyCodeLine{                                .iei = (IEI), \(\backslash\)}
\DoxyCodeLine{                                .cause = (CAUSE), \(\backslash\)}
\DoxyCodeLine{                        \}; \(\backslash\)}
\DoxyCodeLine{                        (*err)-\/>logmsg = talloc\_asprintf(*err, \textcolor{stringliteral}{"{}Error decoding BSSMAP-\/LE\%s\%s\%s\%s\%s: "{}} fmt, \(\backslash\)}
\DoxyCodeLine{                                                         (MSG\_TYPE) >= 0 ? \textcolor{stringliteral}{"{} "{}} : \textcolor{stringliteral}{"{}"{}}, \(\backslash\)}
\DoxyCodeLine{                                                         (MSG\_TYPE) >= 0 ? osmo\_bssmap\_le\_msgt\_name(MSG\_TYPE) : \textcolor{stringliteral}{"{}"{}}, \(\backslash\)}
\DoxyCodeLine{                                                         (IEI) >= 0 ? \textcolor{stringliteral}{"{}: "{}} : \textcolor{stringliteral}{"{}"{}}, \(\backslash\)}
\DoxyCodeLine{                                                         (IEI) >= 0 ? osmo\_bssmap\_le\_iei\_name(IEI) : \textcolor{stringliteral}{"{}"{}}, \(\backslash\)}
\DoxyCodeLine{                                                         (IEI) >= 0 ? \textcolor{stringliteral}{"{} IE"{}} : \textcolor{stringliteral}{"{}"{}}, \(\backslash\)}
\DoxyCodeLine{                                                         \#\#args); \(\backslash\)}
\DoxyCodeLine{                \} \(\backslash\)}
\DoxyCodeLine{        \} \textcolor{keywordflow}{while}(0)}

\end{DoxyCode}
\mbox{\label{group__bssmap__le_gaf087937b6c2d90aff68b147e5c61e3af}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!DEC\_IE\_MANDATORY@{DEC\_IE\_MANDATORY}}
\index{DEC\_IE\_MANDATORY@{DEC\_IE\_MANDATORY}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{DEC\_IE\_MANDATORY}
{\footnotesize\ttfamily \#define DEC\+\_\+\+IE\+\_\+\+MANDATORY(\begin{DoxyParamCaption}\item[{}]{MSG\+\_\+\+TYPE,  }\item[{}]{IEI,  }\item[{}]{DEC\+\_\+\+FUN,  }\item[{}]{DEC\+\_\+\+FUN\+\_\+\+ARG }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                \textcolor{keywordflow}{do} \{ \(\backslash\)}
\DoxyCodeLine{                const \textcolor{keyword}{struct }tlv\_p\_entry *e; \(\backslash\)}
\DoxyCodeLine{                int rc; \(\backslash\)}
\DoxyCodeLine{                if (!(e = TLVP\_GET(tp, IEI))) \(\backslash\)}
\DoxyCodeLine{                        DEC\_ERR(-\/EINVAL, MSG\_TYPE, IEI, LCS\_CAUSE\_DATA\_MISSING\_IN\_REQ, \textcolor{stringliteral}{"{}missing mandatory IE"{}}); \(\backslash\)}
\DoxyCodeLine{                rc = DEC\_FUN(DEC\_FUN\_ARG, MSG\_TYPE, IEI, err, err\_ctx, e-\/>val, e-\/>len); \(\backslash\)}
\DoxyCodeLine{                if (rc) \(\backslash\)}
\DoxyCodeLine{                        DEC\_ERR(rc, MSG\_TYPE, IEI, LCS\_CAUSE\_UNSPECIFIED, \textcolor{stringliteral}{"{}cannot parse IE"{}}); \(\backslash\)}
\DoxyCodeLine{        \} \textcolor{keywordflow}{while} (0)}

\end{DoxyCode}
\mbox{\label{group__bssmap__le_gaa2ddacb257cb2577f0c0c3791acc3e69}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!DEC\_IE\_OPTIONAL@{DEC\_IE\_OPTIONAL}}
\index{DEC\_IE\_OPTIONAL@{DEC\_IE\_OPTIONAL}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{DEC\_IE\_OPTIONAL}
{\footnotesize\ttfamily \#define DEC\+\_\+\+IE\+\_\+\+OPTIONAL(\begin{DoxyParamCaption}\item[{}]{MSG\+\_\+\+TYPE,  }\item[{}]{IEI,  }\item[{}]{DEC\+\_\+\+FUN,  }\item[{}]{DEC\+\_\+\+FUN\+\_\+\+ARG }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                \textcolor{keywordflow}{do} \{ \(\backslash\)}
\DoxyCodeLine{                const \textcolor{keyword}{struct }tlv\_p\_entry *e; \(\backslash\)}
\DoxyCodeLine{                int rc; \(\backslash\)}
\DoxyCodeLine{                if ((e = TLVP\_GET(tp, IEI))) \{\(\backslash\)}
\DoxyCodeLine{                        rc = DEC\_FUN(DEC\_FUN\_ARG, MSG\_TYPE, IEI, err, err\_ctx, e-\/>val, e-\/>len); \(\backslash\)}
\DoxyCodeLine{                        if (rc) \(\backslash\)}
\DoxyCodeLine{                                DEC\_ERR(rc, MSG\_TYPE, IEI, LCS\_CAUSE\_UNSPECIFIED, \textcolor{stringliteral}{"{}cannot parse IE"{}}); \(\backslash\)}
\DoxyCodeLine{                \} \(\backslash\)}
\DoxyCodeLine{        \} \textcolor{keywordflow}{while} (0)}

\end{DoxyCode}
\mbox{\label{group__bssmap__le_gabc24018b25c02fb33fd129b8dd4ab60d}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!DEC\_IE\_OPTIONAL\_FLAG@{DEC\_IE\_OPTIONAL\_FLAG}}
\index{DEC\_IE\_OPTIONAL\_FLAG@{DEC\_IE\_OPTIONAL\_FLAG}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{DEC\_IE\_OPTIONAL\_FLAG}
{\footnotesize\ttfamily \#define DEC\+\_\+\+IE\+\_\+\+OPTIONAL\+\_\+\+FLAG(\begin{DoxyParamCaption}\item[{}]{MSG\+\_\+\+TYPE,  }\item[{}]{IEI,  }\item[{}]{DEC\+\_\+\+FUN,  }\item[{}]{DEC\+\_\+\+FUN\+\_\+\+ARG,  }\item[{}]{PRESENCE\+\_\+\+FLAG }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                \textcolor{keywordflow}{do} \{ \(\backslash\)}
\DoxyCodeLine{                const \textcolor{keyword}{struct }tlv\_p\_entry *e; \(\backslash\)}
\DoxyCodeLine{                int rc; \(\backslash\)}
\DoxyCodeLine{                if ((e = TLVP\_GET(tp, IEI))) \{\(\backslash\)}
\DoxyCodeLine{                        rc = DEC\_FUN(DEC\_FUN\_ARG, MSG\_TYPE, IEI, err, err\_ctx, e-\/>val, e-\/>len); \(\backslash\)}
\DoxyCodeLine{                        if (rc) \(\backslash\)}
\DoxyCodeLine{                                DEC\_ERR(rc, MSG\_TYPE, IEI, LCS\_CAUSE\_UNSPECIFIED, \textcolor{stringliteral}{"{}cannot parse IE"{}}); \(\backslash\)}
\DoxyCodeLine{                        PRESENCE\_FLAG = \textcolor{keyword}{true}; \(\backslash\)}
\DoxyCodeLine{                \} \(\backslash\)}
\DoxyCodeLine{        \} \textcolor{keywordflow}{while} (0)}

\end{DoxyCode}


\doxysubsection{Enumeration Type Documentation}
\mbox{\label{group__bssmap__le_gad1c0a0a8f7a7ba993ddf59dfe4377fe3}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!bssap\_le\_msg\_discr@{bssap\_le\_msg\_discr}}
\index{bssap\_le\_msg\_discr@{bssap\_le\_msg\_discr}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{bssap\_le\_msg\_discr}
{\footnotesize\ttfamily enum \textbf{ bssap\+\_\+le\+\_\+msg\+\_\+discr}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSAP\_LE\_MSG\_DISCR\_BSSMAP\_LE@{BSSAP\_LE\_MSG\_DISCR\_BSSMAP\_LE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSAP\_LE\_MSG\_DISCR\_BSSMAP\_LE@{BSSAP\_LE\_MSG\_DISCR\_BSSMAP\_LE}}}\mbox{\label{group__bssmap__le_ggad1c0a0a8f7a7ba993ddf59dfe4377fe3aec78c08a77b8140c9c9fc127665e4c40}} 
BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+DISCR\+\_\+\+BSSMAP\+\_\+\+LE&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__bssmap__le_ga07c8f710cecf0dc83a236dfecff17c6f}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!bssmap\_le\_apdu\_proto@{bssmap\_le\_apdu\_proto}}
\index{bssmap\_le\_apdu\_proto@{bssmap\_le\_apdu\_proto}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{bssmap\_le\_apdu\_proto}
{\footnotesize\ttfamily enum \textbf{ bssmap\+\_\+le\+\_\+apdu\+\_\+proto}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_APDU\_PROT\_RESERVED@{BSSMAP\_LE\_APDU\_PROT\_RESERVED}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_APDU\_PROT\_RESERVED@{BSSMAP\_LE\_APDU\_PROT\_RESERVED}}}\mbox{\label{group__bssmap__le_gga07c8f710cecf0dc83a236dfecff17c6fa3b7e1bf7ec2c6f52c3fdb52da0358288}} 
BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+RESERVED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_APDU\_PROT\_BSSLAP@{BSSMAP\_LE\_APDU\_PROT\_BSSLAP}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_APDU\_PROT\_BSSLAP@{BSSMAP\_LE\_APDU\_PROT\_BSSLAP}}}\mbox{\label{group__bssmap__le_gga07c8f710cecf0dc83a236dfecff17c6fa2f7894495a354ab645ed03e5785344ac}} 
BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+BSSLAP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_APDU\_PROT\_LLP@{BSSMAP\_LE\_APDU\_PROT\_LLP}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_APDU\_PROT\_LLP@{BSSMAP\_LE\_APDU\_PROT\_LLP}}}\mbox{\label{group__bssmap__le_gga07c8f710cecf0dc83a236dfecff17c6fa70ced5fabb7e66641a979c79d555cbb1}} 
BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+LLP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_APDU\_PROT\_SMLCPP@{BSSMAP\_LE\_APDU\_PROT\_SMLCPP}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_APDU\_PROT\_SMLCPP@{BSSMAP\_LE\_APDU\_PROT\_SMLCPP}}}\mbox{\label{group__bssmap__le_gga07c8f710cecf0dc83a236dfecff17c6fa78d029f9db6d0e9cb1d9cd16175666ac}} 
BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+SMLCPP&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__bssmap__le_ga5ba98809446e17f892e2ae06474c836b}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!bssmap\_le\_iei@{bssmap\_le\_iei}}
\index{bssmap\_le\_iei@{bssmap\_le\_iei}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{bssmap\_le\_iei}
{\footnotesize\ttfamily enum \textbf{ bssmap\+\_\+le\+\_\+iei}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_LCS\_QoS@{BSSMAP\_LE\_IEI\_LCS\_QoS}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_LCS\_QoS@{BSSMAP\_LE\_IEI\_LCS\_QoS}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836baaf52433bdc336c23c6538b88fd9d9ab9}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+QoS&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_LCS\_PRIORITY@{BSSMAP\_LE\_IEI\_LCS\_PRIORITY}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_LCS\_PRIORITY@{BSSMAP\_LE\_IEI\_LCS\_PRIORITY}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836bab0a7857191d761c29f785792b5ce02b6}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+PRIORITY&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_LOCATION\_TYPE@{BSSMAP\_LE\_IEI\_LOCATION\_TYPE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_LOCATION\_TYPE@{BSSMAP\_LE\_IEI\_LOCATION\_TYPE}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836bada682ba4745dfd8b309dcad6eb58a4ef}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LOCATION\+\_\+\+TYPE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_GANSS\_LOCATION\_TYPE@{BSSMAP\_LE\_IEI\_GANSS\_LOCATION\_TYPE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_GANSS\_LOCATION\_TYPE@{BSSMAP\_LE\_IEI\_GANSS\_LOCATION\_TYPE}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba8770e44107bec2b093cde6faad6c4e6d}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+GANSS\+\_\+\+LOCATION\+\_\+\+TYPE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_GEO\_LOCATION@{BSSMAP\_LE\_IEI\_GEO\_LOCATION}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_GEO\_LOCATION@{BSSMAP\_LE\_IEI\_GEO\_LOCATION}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836baabaa102dbfad89432c6700baa0bd0389}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+GEO\+\_\+\+LOCATION&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_POSITIONING\_DATA@{BSSMAP\_LE\_IEI\_POSITIONING\_DATA}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_POSITIONING\_DATA@{BSSMAP\_LE\_IEI\_POSITIONING\_DATA}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba96b7c871cbcd57ce5191b333b5c8bdb6}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+POSITIONING\+\_\+\+DATA&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_GANSS\_POS\_DATA@{BSSMAP\_LE\_IEI\_GANSS\_POS\_DATA}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_GANSS\_POS\_DATA@{BSSMAP\_LE\_IEI\_GANSS\_POS\_DATA}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba6eecfb7f644eee4dc7dc3b1162cef601}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+GANSS\+\_\+\+POS\+\_\+\+DATA&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_VELOCITY\_DATA@{BSSMAP\_LE\_IEI\_VELOCITY\_DATA}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_VELOCITY\_DATA@{BSSMAP\_LE\_IEI\_VELOCITY\_DATA}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836bab6003a14a2d4c99cb56d3b58c6b22dca}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+VELOCITY\+\_\+\+DATA&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_LCS\_CAUSE@{BSSMAP\_LE\_IEI\_LCS\_CAUSE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_LCS\_CAUSE@{BSSMAP\_LE\_IEI\_LCS\_CAUSE}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba36973fb63fb050ac62d3d697a8894d42}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CAUSE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_LCS\_CLIENT\_TYPE@{BSSMAP\_LE\_IEI\_LCS\_CLIENT\_TYPE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_LCS\_CLIENT\_TYPE@{BSSMAP\_LE\_IEI\_LCS\_CLIENT\_TYPE}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba813c9e6eda66f1ecf851901600e0f932}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CLIENT\+\_\+\+TYPE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_APDU@{BSSMAP\_LE\_IEI\_APDU}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_APDU@{BSSMAP\_LE\_IEI\_APDU}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba969ec996f7bcc676666578a44fe4033b}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+APDU&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_NET\_ELEM\_ID@{BSSMAP\_LE\_IEI\_NET\_ELEM\_ID}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_NET\_ELEM\_ID@{BSSMAP\_LE\_IEI\_NET\_ELEM\_ID}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836badd2109a02c9ea607d6e96e1c89a2ec3c}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+NET\+\_\+\+ELEM\+\_\+\+ID&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_REQ\_GPS\_ASS\_D@{BSSMAP\_LE\_IEI\_REQ\_GPS\_ASS\_D}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_REQ\_GPS\_ASS\_D@{BSSMAP\_LE\_IEI\_REQ\_GPS\_ASS\_D}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba06e6ee1d0785b959cfebc75fda01b091}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+REQ\+\_\+\+GPS\+\_\+\+ASS\+\_\+D&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_REQ\_GANSS\_ASS\_D@{BSSMAP\_LE\_IEI\_REQ\_GANSS\_ASS\_D}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_REQ\_GANSS\_ASS\_D@{BSSMAP\_LE\_IEI\_REQ\_GANSS\_ASS\_D}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba00792f8d00fddfe2547c4580ef022f5a}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+REQ\+\_\+\+GANSS\+\_\+\+ASS\+\_\+D&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_DECIPH\_KEYS@{BSSMAP\_LE\_IEI\_DECIPH\_KEYS}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_DECIPH\_KEYS@{BSSMAP\_LE\_IEI\_DECIPH\_KEYS}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836bab7bc93833030e0939f36b42985ff8378}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+DECIPH\+\_\+\+KEYS&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_RET\_ERR\_REQ@{BSSMAP\_LE\_IEI\_RET\_ERR\_REQ}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_RET\_ERR\_REQ@{BSSMAP\_LE\_IEI\_RET\_ERR\_REQ}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836bae25bafe887a6470d5d942e272e7d9ff3}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+RET\+\_\+\+ERR\+\_\+\+REQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_RET\_ERR\_CAUSE@{BSSMAP\_LE\_IEI\_RET\_ERR\_CAUSE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_RET\_ERR\_CAUSE@{BSSMAP\_LE\_IEI\_RET\_ERR\_CAUSE}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836baa0bff08074e0934a40af8c6c378abb52}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+RET\+\_\+\+ERR\+\_\+\+CAUSE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_SEGMENTATION@{BSSMAP\_LE\_IEI\_SEGMENTATION}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_SEGMENTATION@{BSSMAP\_LE\_IEI\_SEGMENTATION}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba1e4a19afc2bee21644cd84c75fb805b5}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+SEGMENTATION&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_CLASSMARK3\_INFO@{BSSMAP\_LE\_IEI\_CLASSMARK3\_INFO}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_CLASSMARK3\_INFO@{BSSMAP\_LE\_IEI\_CLASSMARK3\_INFO}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba769f4c5911cafc83b28962f0da8ea9f0}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CLASSMARK3\+\_\+\+INFO&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_CAUSE@{BSSMAP\_LE\_IEI\_CAUSE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_CAUSE@{BSSMAP\_LE\_IEI\_CAUSE}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836baf699233bc3d1c57dabba94b12db091d3}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CAUSE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_CELL\_ID@{BSSMAP\_LE\_IEI\_CELL\_ID}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_CELL\_ID@{BSSMAP\_LE\_IEI\_CELL\_ID}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836bad6dec9bd322e39ecb1693452b52a0395}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CELL\+\_\+\+ID&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_CHOSEN\_CHAN@{BSSMAP\_LE\_IEI\_CHOSEN\_CHAN}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_CHOSEN\_CHAN@{BSSMAP\_LE\_IEI\_CHOSEN\_CHAN}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836baf3ceeb16a2c1f15d8a9ad90d85fa0e6f}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CHOSEN\+\_\+\+CHAN&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_IMSI@{BSSMAP\_LE\_IEI\_IMSI}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_IMSI@{BSSMAP\_LE\_IEI\_IMSI}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba0cc29c3f37ed743a912dcd2a0a9de914}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+IMSI&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_LCS\_CAPABILITY@{BSSMAP\_LE\_IEI\_LCS\_CAPABILITY}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_LCS\_CAPABILITY@{BSSMAP\_LE\_IEI\_LCS\_CAPABILITY}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba0355bc484c874c08dbcb791e10fd7e9b}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CAPABILITY&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_PKT\_MEAS\_REP@{BSSMAP\_LE\_IEI\_PKT\_MEAS\_REP}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_PKT\_MEAS\_REP@{BSSMAP\_LE\_IEI\_PKT\_MEAS\_REP}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba924a087a51b43f4a88a85076a0476912}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+PKT\+\_\+\+MEAS\+\_\+\+REP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_CELL\_ID\_LIST@{BSSMAP\_LE\_IEI\_CELL\_ID\_LIST}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_CELL\_ID\_LIST@{BSSMAP\_LE\_IEI\_CELL\_ID\_LIST}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba02fcdb0ba426c6574fc902e01d3c8bd9}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CELL\+\_\+\+ID\+\_\+\+LIST&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_IMEI@{BSSMAP\_LE\_IEI\_IMEI}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_IMEI@{BSSMAP\_LE\_IEI\_IMEI}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba87ffe48c40a75b042a3b679b7ed35d07}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+IMEI&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_BSS\_MLAT\_CAP@{BSSMAP\_LE\_IEI\_BSS\_MLAT\_CAP}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_BSS\_MLAT\_CAP@{BSSMAP\_LE\_IEI\_BSS\_MLAT\_CAP}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836bab1f70f7b070f0192b3a1d726d17cc89f}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+BSS\+\_\+\+MLAT\+\_\+\+CAP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_CELL\_INFO\_LIST@{BSSMAP\_LE\_IEI\_CELL\_INFO\_LIST}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_CELL\_INFO\_LIST@{BSSMAP\_LE\_IEI\_CELL\_INFO\_LIST}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba821b7769110b31e420e1e010fa7a23d7}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CELL\+\_\+\+INFO\+\_\+\+LIST&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_BTS\_RX\_ACC\_LVL@{BSSMAP\_LE\_IEI\_BTS\_RX\_ACC\_LVL}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_BTS\_RX\_ACC\_LVL@{BSSMAP\_LE\_IEI\_BTS\_RX\_ACC\_LVL}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836baa44ca81ca28ac7cc16ce668197375667}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+BTS\+\_\+\+RX\+\_\+\+ACC\+\_\+\+LVL&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_MLAT\_METHOD@{BSSMAP\_LE\_IEI\_MLAT\_METHOD}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_MLAT\_METHOD@{BSSMAP\_LE\_IEI\_MLAT\_METHOD}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba50cf360cd111699a21d0b9e17842f80b}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+MLAT\+\_\+\+METHOD&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_MLAT\_TA@{BSSMAP\_LE\_IEI\_MLAT\_TA}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_MLAT\_TA@{BSSMAP\_LE\_IEI\_MLAT\_TA}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836bad3616ca7e3df0037e25c37a891084d0a}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+MLAT\+\_\+\+TA&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_MS\_SYNC\_ACC@{BSSMAP\_LE\_IEI\_MS\_SYNC\_ACC}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_MS\_SYNC\_ACC@{BSSMAP\_LE\_IEI\_MS\_SYNC\_ACC}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836baf4c692fb3c094814a22e2b83fcceebb9}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+MS\+\_\+\+SYNC\+\_\+\+ACC&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_SHORT\_ID\_SET@{BSSMAP\_LE\_IEI\_SHORT\_ID\_SET}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_SHORT\_ID\_SET@{BSSMAP\_LE\_IEI\_SHORT\_ID\_SET}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba109e837a6973baebbc5265357e14d71d}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+SHORT\+\_\+\+ID\+\_\+\+SET&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_RANDOM\_ID\_SET@{BSSMAP\_LE\_IEI\_RANDOM\_ID\_SET}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_RANDOM\_ID\_SET@{BSSMAP\_LE\_IEI\_RANDOM\_ID\_SET}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba920baf13d348634b8a34bff6b289ca38}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+RANDOM\+\_\+\+ID\+\_\+\+SET&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_SHORT\_BSS\_ID@{BSSMAP\_LE\_IEI\_SHORT\_BSS\_ID}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_SHORT\_BSS\_ID@{BSSMAP\_LE\_IEI\_SHORT\_BSS\_ID}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836baac5e5515bde149f9defb41219a7b1c8d}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+SHORT\+\_\+\+BSS\+\_\+\+ID&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_RANDOM\_ID@{BSSMAP\_LE\_IEI\_RANDOM\_ID}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_RANDOM\_ID@{BSSMAP\_LE\_IEI\_RANDOM\_ID}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba25e953229a218355edd1a46aca9d8c63}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+RANDOM\+\_\+\+ID&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_SHORT\_ID@{BSSMAP\_LE\_IEI\_SHORT\_ID}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_SHORT\_ID@{BSSMAP\_LE\_IEI\_SHORT\_ID}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba7a6279dc019502cf11f5e8b39c63ad7b}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+SHORT\+\_\+\+ID&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_COVERAGE\_CLASS@{BSSMAP\_LE\_IEI\_COVERAGE\_CLASS}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_COVERAGE\_CLASS@{BSSMAP\_LE\_IEI\_COVERAGE\_CLASS}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba52bcc3dda73f3e19cf5c1cc8296bd41c}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+COVERAGE\+\_\+\+CLASS&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_IEI\_MTA\_ACC\_SEC\_RQD@{BSSMAP\_LE\_IEI\_MTA\_ACC\_SEC\_RQD}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_IEI\_MTA\_ACC\_SEC\_RQD@{BSSMAP\_LE\_IEI\_MTA\_ACC\_SEC\_RQD}}}\mbox{\label{group__bssmap__le_gga5ba98809446e17f892e2ae06474c836ba9a69a27b7ef941c7eefb0b12b21bf21a}} 
BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+MTA\+\_\+\+ACC\+\_\+\+SEC\+\_\+\+RQD&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__bssmap__le_ga32ab9bd10cde4b3b3d038dba65ff3ff8}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!bssmap\_le\_lcs\_client\_type@{bssmap\_le\_lcs\_client\_type}}
\index{bssmap\_le\_lcs\_client\_type@{bssmap\_le\_lcs\_client\_type}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{bssmap\_le\_lcs\_client\_type}
{\footnotesize\ttfamily enum \textbf{ bssmap\+\_\+le\+\_\+lcs\+\_\+client\+\_\+type}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LCS\_CTYPE\_VALUE\_ADDED\_UNSPECIFIED@{BSSMAP\_LE\_LCS\_CTYPE\_VALUE\_ADDED\_UNSPECIFIED}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LCS\_CTYPE\_VALUE\_ADDED\_UNSPECIFIED@{BSSMAP\_LE\_LCS\_CTYPE\_VALUE\_ADDED\_UNSPECIFIED}}}\mbox{\label{group__bssmap__le_gga32ab9bd10cde4b3b3d038dba65ff3ff8ac19ae8bf543633a81defdbaca83c6374}} 
BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+VALUE\+\_\+\+ADDED\+\_\+\+UNSPECIFIED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_UNSPECIFIED@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_UNSPECIFIED}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_UNSPECIFIED@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_UNSPECIFIED}}}\mbox{\label{group__bssmap__le_gga32ab9bd10cde4b3b3d038dba65ff3ff8a97ac01209aeb0a2551a16862a706355f}} 
BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+UNSPECIFIED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_BCAST\_SERVICE@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_BCAST\_SERVICE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_BCAST\_SERVICE@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_BCAST\_SERVICE}}}\mbox{\label{group__bssmap__le_gga32ab9bd10cde4b3b3d038dba65ff3ff8ae2f8c4f4afbd252aa18847fcaf486444}} 
BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+BCAST\+\_\+\+SERVICE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_OAM@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_OAM}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_OAM@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_OAM}}}\mbox{\label{group__bssmap__le_gga32ab9bd10cde4b3b3d038dba65ff3ff8a07e6b696ce6ef916a7092f9233122b6f}} 
BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+OAM&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_ANON\_STATS@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_ANON\_STATS}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_ANON\_STATS@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_ANON\_STATS}}}\mbox{\label{group__bssmap__le_gga32ab9bd10cde4b3b3d038dba65ff3ff8ac2e802e88ae3b1ca4fd2f9984c1f629d}} 
BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+ANON\+\_\+\+STATS&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_TGT\_MS\_SVC@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_TGT\_MS\_SVC}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_TGT\_MS\_SVC@{BSSMAP\_LE\_LCS\_CTYPE\_PLMN\_OPER\_TGT\_MS\_SVC}}}\mbox{\label{group__bssmap__le_gga32ab9bd10cde4b3b3d038dba65ff3ff8a33ac55be592ca93190681921872f5047}} 
BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+TGT\+\_\+\+MS\+\_\+\+SVC&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LCS\_CTYPE\_EMERG\_SVC\_UNSPECIFIED@{BSSMAP\_LE\_LCS\_CTYPE\_EMERG\_SVC\_UNSPECIFIED}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LCS\_CTYPE\_EMERG\_SVC\_UNSPECIFIED@{BSSMAP\_LE\_LCS\_CTYPE\_EMERG\_SVC\_UNSPECIFIED}}}\mbox{\label{group__bssmap__le_gga32ab9bd10cde4b3b3d038dba65ff3ff8aa4804e2f0942c365a1cd4971ce71b033}} 
BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+EMERG\+\_\+\+SVC\+\_\+\+UNSPECIFIED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LCS\_CTYPE\_LI\_UNSPECIFIED@{BSSMAP\_LE\_LCS\_CTYPE\_LI\_UNSPECIFIED}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LCS\_CTYPE\_LI\_UNSPECIFIED@{BSSMAP\_LE\_LCS\_CTYPE\_LI\_UNSPECIFIED}}}\mbox{\label{group__bssmap__le_gga32ab9bd10cde4b3b3d038dba65ff3ff8a1e56dbfeb0bd12aa2d63b8e5ec9d1904}} 
BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+LI\+\_\+\+UNSPECIFIED&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__bssmap__le_gaca021b7af8375fe32c7c7766373f9d05}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!bssmap\_le\_location\_information@{bssmap\_le\_location\_information}}
\index{bssmap\_le\_location\_information@{bssmap\_le\_location\_information}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{bssmap\_le\_location\_information}
{\footnotesize\ttfamily enum \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+information}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LOC\_INFO\_CURRENT\_GEOGRAPHIC@{BSSMAP\_LE\_LOC\_INFO\_CURRENT\_GEOGRAPHIC}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LOC\_INFO\_CURRENT\_GEOGRAPHIC@{BSSMAP\_LE\_LOC\_INFO\_CURRENT\_GEOGRAPHIC}}}\mbox{\label{group__bssmap__le_ggaca021b7af8375fe32c7c7766373f9d05a9eae4b973981aba77e61822c9bf17776}} 
BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+CURRENT\+\_\+\+GEOGRAPHIC&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LOC\_INFO\_ASSIST\_TARGET\_MS@{BSSMAP\_LE\_LOC\_INFO\_ASSIST\_TARGET\_MS}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LOC\_INFO\_ASSIST\_TARGET\_MS@{BSSMAP\_LE\_LOC\_INFO\_ASSIST\_TARGET\_MS}}}\mbox{\label{group__bssmap__le_ggaca021b7af8375fe32c7c7766373f9d05a95da3509bea3415a28540656479b19a7}} 
BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+ASSIST\+\_\+\+TARGET\+\_\+\+MS&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_LOC\_INFO\_BC\_DECIPHER\_KEYS@{BSSMAP\_LE\_LOC\_INFO\_BC\_DECIPHER\_KEYS}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_LOC\_INFO\_BC\_DECIPHER\_KEYS@{BSSMAP\_LE\_LOC\_INFO\_BC\_DECIPHER\_KEYS}}}\mbox{\label{group__bssmap__le_ggaca021b7af8375fe32c7c7766373f9d05a51e1953e73945517f65812a443445179}} 
BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+BC\+\_\+\+DECIPHER\+\_\+\+KEYS&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__bssmap__le_ga55d4849227894358bded6d687d3bcd18}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!bssmap\_le\_msgt@{bssmap\_le\_msgt}}
\index{bssmap\_le\_msgt@{bssmap\_le\_msgt}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{bssmap\_le\_msgt}
{\footnotesize\ttfamily enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_REQ@{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_REQ}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_REQ@{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_REQ}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18a7b0bdce74da8ac524e095a70098d1771}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+REQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_RESP@{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_RESP}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_RESP@{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_RESP}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18adb79fce53661912cff0b00b9a101e15b}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+RESP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_ABORT@{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_ABORT}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_ABORT@{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_ABORT}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18a7d0779810bf154e64287a941b7d7a003}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+ABORT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_INFO@{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_INFO}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_INFO@{BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_INFO}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18acfbce6dcbfdeb06914567c93479f4f7f}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+INFO&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_REQ@{BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_REQ}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_REQ@{BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_REQ}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18a7224df7c9afca654a23e6f9d55bc58dc}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+ASSIST\+\_\+\+INFO\+\_\+\+REQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_RESP@{BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_RESP}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_RESP@{BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_RESP}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18ad5d20dd1c8b57baebf2f5237ea69328e}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+ASSIST\+\_\+\+INFO\+\_\+\+RESP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_CONN\_ORIENTED\_INFO@{BSSMAP\_LE\_MSGT\_CONN\_ORIENTED\_INFO}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_CONN\_ORIENTED\_INFO@{BSSMAP\_LE\_MSGT\_CONN\_ORIENTED\_INFO}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18af990e8c50e754939c44cb792a51e8f54}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+CONN\+\_\+\+ORIENTED\+\_\+\+INFO&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_CONN\_LESS\_INFO@{BSSMAP\_LE\_MSGT\_CONN\_LESS\_INFO}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_CONN\_LESS\_INFO@{BSSMAP\_LE\_MSGT\_CONN\_LESS\_INFO}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18a1166eaa3fc274ce7e32412718427dff5}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+CONN\+\_\+\+LESS\+\_\+\+INFO&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_RESET@{BSSMAP\_LE\_MSGT\_RESET}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_RESET@{BSSMAP\_LE\_MSGT\_RESET}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18a2191532351f4a2d78e7d9db84c1b919b}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+RESET&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_MSGT\_RESET\_ACK@{BSSMAP\_LE\_MSGT\_RESET\_ACK}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_MSGT\_RESET\_ACK@{BSSMAP\_LE\_MSGT\_RESET\_ACK}}}\mbox{\label{group__bssmap__le_gga55d4849227894358bded6d687d3bcd18ac052636070c69aa4da5feac2a679728c}} 
BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+RESET\+\_\+\+ACK&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__bssmap__le_ga4e4e96b4efa15e6843a990522a216143}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!bssmap\_le\_positioning\_method@{bssmap\_le\_positioning\_method}}
\index{bssmap\_le\_positioning\_method@{bssmap\_le\_positioning\_method}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{bssmap\_le\_positioning\_method}
{\footnotesize\ttfamily enum \textbf{ bssmap\+\_\+le\+\_\+positioning\+\_\+method}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_POS\_METHOD\_OMITTED@{BSSMAP\_LE\_POS\_METHOD\_OMITTED}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_POS\_METHOD\_OMITTED@{BSSMAP\_LE\_POS\_METHOD\_OMITTED}}}\mbox{\label{group__bssmap__le_gga4e4e96b4efa15e6843a990522a216143a33c72040c58fbffe88fbdd8c5e6b13ae}} 
BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+OMITTED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_POS\_METHOD\_MOBILE\_ASSISTED\_E\_OTD@{BSSMAP\_LE\_POS\_METHOD\_MOBILE\_ASSISTED\_E\_OTD}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_POS\_METHOD\_MOBILE\_ASSISTED\_E\_OTD@{BSSMAP\_LE\_POS\_METHOD\_MOBILE\_ASSISTED\_E\_OTD}}}\mbox{\label{group__bssmap__le_gga4e4e96b4efa15e6843a990522a216143a191d823cc312ac4e5fd07e5dfb109987}} 
BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+MOBILE\+\_\+\+ASSISTED\+\_\+\+E\+\_\+\+OTD&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_POS\_METHOD\_MOBILE\_BASED\_E\_OTD@{BSSMAP\_LE\_POS\_METHOD\_MOBILE\_BASED\_E\_OTD}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_POS\_METHOD\_MOBILE\_BASED\_E\_OTD@{BSSMAP\_LE\_POS\_METHOD\_MOBILE\_BASED\_E\_OTD}}}\mbox{\label{group__bssmap__le_gga4e4e96b4efa15e6843a990522a216143a7b8e320ce5bdf9f50784384d98befa48}} 
BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+MOBILE\+\_\+\+BASED\+\_\+\+E\+\_\+\+OTD&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BSSMAP\_LE\_POS\_METHOD\_ASSISTED\_GPS@{BSSMAP\_LE\_POS\_METHOD\_ASSISTED\_GPS}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!BSSMAP\_LE\_POS\_METHOD\_ASSISTED\_GPS@{BSSMAP\_LE\_POS\_METHOD\_ASSISTED\_GPS}}}\mbox{\label{group__bssmap__le_gga4e4e96b4efa15e6843a990522a216143a97a0db1b89afb8cc17e84f3489681fe4}} 
BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+ASSISTED\+\_\+\+GPS&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__bssmap__le_gaf7304891391c3aace1b54c75aa119dd0}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!lcs\_cause@{lcs\_cause}}
\index{lcs\_cause@{lcs\_cause}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{lcs\_cause}
{\footnotesize\ttfamily enum \textbf{ lcs\+\_\+cause}}



3GPP TS 49.\+031 10.\+13 LCS Cause, also in 3GPP TS 48.\+008 3.\+2.\+2.\+66, which simply refers to the former. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_UNSPECIFIED@{LCS\_CAUSE\_UNSPECIFIED}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_UNSPECIFIED@{LCS\_CAUSE\_UNSPECIFIED}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a694d230cefaa01d7ce22596e4e3996f9}} 
LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_SYSTEM\_FAILURE@{LCS\_CAUSE\_SYSTEM\_FAILURE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_SYSTEM\_FAILURE@{LCS\_CAUSE\_SYSTEM\_FAILURE}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a5e4efdb2abcb8f013d5105d7f4da895a}} 
LCS\+\_\+\+CAUSE\+\_\+\+SYSTEM\+\_\+\+FAILURE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_PROTOCOL\_ERROR@{LCS\_CAUSE\_PROTOCOL\_ERROR}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_PROTOCOL\_ERROR@{LCS\_CAUSE\_PROTOCOL\_ERROR}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a18d6afc78e4366acb1f23756211ef498}} 
LCS\+\_\+\+CAUSE\+\_\+\+PROTOCOL\+\_\+\+ERROR&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_DATA\_MISSING\_IN\_REQ@{LCS\_CAUSE\_DATA\_MISSING\_IN\_REQ}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_DATA\_MISSING\_IN\_REQ@{LCS\_CAUSE\_DATA\_MISSING\_IN\_REQ}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a15bc8cfff62e4cbcda53c16efb3ad02c}} 
LCS\+\_\+\+CAUSE\+\_\+\+DATA\+\_\+\+MISSING\+\_\+\+IN\+\_\+\+REQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_UNEXP\_DATA\_IN\_REQ@{LCS\_CAUSE\_UNEXP\_DATA\_IN\_REQ}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_UNEXP\_DATA\_IN\_REQ@{LCS\_CAUSE\_UNEXP\_DATA\_IN\_REQ}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a1fc9902b459e994d95f20cfe9ab517a1}} 
LCS\+\_\+\+CAUSE\+\_\+\+UNEXP\+\_\+\+DATA\+\_\+\+IN\+\_\+\+REQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_POS\_METH\_FAILURE@{LCS\_CAUSE\_POS\_METH\_FAILURE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_POS\_METH\_FAILURE@{LCS\_CAUSE\_POS\_METH\_FAILURE}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a7bb66a77d1246fe92d58436768f35076}} 
LCS\+\_\+\+CAUSE\+\_\+\+POS\+\_\+\+METH\+\_\+\+FAILURE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_TGT\_MS\_UNREACHABLE@{LCS\_CAUSE\_TGT\_MS\_UNREACHABLE}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_TGT\_MS\_UNREACHABLE@{LCS\_CAUSE\_TGT\_MS\_UNREACHABLE}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a4480643bb1aa5da0690ef91221790eaf}} 
LCS\+\_\+\+CAUSE\+\_\+\+TGT\+\_\+\+MS\+\_\+\+UNREACHABLE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_REQUEST\_ABORTED@{LCS\_CAUSE\_REQUEST\_ABORTED}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_REQUEST\_ABORTED@{LCS\_CAUSE\_REQUEST\_ABORTED}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0ab4ba3563f9da3743cc34931b0951e5c2}} 
LCS\+\_\+\+CAUSE\+\_\+\+REQUEST\+\_\+\+ABORTED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_FACILITY\_NOTSUPP@{LCS\_CAUSE\_FACILITY\_NOTSUPP}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_FACILITY\_NOTSUPP@{LCS\_CAUSE\_FACILITY\_NOTSUPP}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0ae506f61d89f6f22ed0e9cea5ddae8d1f}} 
LCS\+\_\+\+CAUSE\+\_\+\+FACILITY\+\_\+\+NOTSUPP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_INTER\_BSC\_HO@{LCS\_CAUSE\_INTER\_BSC\_HO}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_INTER\_BSC\_HO@{LCS\_CAUSE\_INTER\_BSC\_HO}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0ad6a0572e78b58fb96cfa4aa9e0370607}} 
LCS\+\_\+\+CAUSE\+\_\+\+INTER\+\_\+\+BSC\+\_\+\+HO&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_INTRA\_BSC\_HO@{LCS\_CAUSE\_INTRA\_BSC\_HO}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_INTRA\_BSC\_HO@{LCS\_CAUSE\_INTRA\_BSC\_HO}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a10d9339e7ed1a411236c923e43a6519b}} 
LCS\+\_\+\+CAUSE\+\_\+\+INTRA\+\_\+\+BSC\+\_\+\+HO&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_CONGESTION@{LCS\_CAUSE\_CONGESTION}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_CONGESTION@{LCS\_CAUSE\_CONGESTION}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a1e1da242e457dc8539012dcc88418196}} 
LCS\+\_\+\+CAUSE\+\_\+\+CONGESTION&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_INTER\_NSE\_CHG@{LCS\_CAUSE\_INTER\_NSE\_CHG}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_INTER\_NSE\_CHG@{LCS\_CAUSE\_INTER\_NSE\_CHG}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0abdb7c26f1f92e7698f1b1f945422be67}} 
LCS\+\_\+\+CAUSE\+\_\+\+INTER\+\_\+\+NSE\+\_\+\+CHG&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_RA\_UPDAT@{LCS\_CAUSE\_RA\_UPDAT}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_RA\_UPDAT@{LCS\_CAUSE\_RA\_UPDAT}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a482fca653411a0f8845c9cbac94a1654}} 
LCS\+\_\+\+CAUSE\+\_\+\+RA\+\_\+\+UPDAT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_PTMSI\_REALLOC@{LCS\_CAUSE\_PTMSI\_REALLOC}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_PTMSI\_REALLOC@{LCS\_CAUSE\_PTMSI\_REALLOC}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0af6f2ab35cd0533a13e2b85e898aa469c}} 
LCS\+\_\+\+CAUSE\+\_\+\+PTMSI\+\_\+\+REALLOC&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LCS\_CAUSE\_GPRS\_SUSPENSION@{LCS\_CAUSE\_GPRS\_SUSPENSION}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!LCS\_CAUSE\_GPRS\_SUSPENSION@{LCS\_CAUSE\_GPRS\_SUSPENSION}}}\mbox{\label{group__bssmap__le_ggaf7304891391c3aace1b54c75aa119dd0a5daf7aa8ff8b82a55f53d3fa0551ed32}} 
LCS\+\_\+\+CAUSE\+\_\+\+GPRS\+\_\+\+SUSPENSION&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\label{group__bssmap__le_ga3fe817b2261c57a83bfda4cda78ffa3f}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!\_\_attribute\_\_@{\_\_attribute\_\_}}
\index{\_\_attribute\_\_@{\_\_attribute\_\_}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{\_\_attribute\_\_()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+lcs\+\_\+qos} \+\_\+\+\_\+attribute\+\_\+\+\_\+ (\begin{DoxyParamCaption}\item[{(packed)}]{ }\end{DoxyParamCaption})}

\mbox{\label{group__bssmap__le_ga9328f2ffb3461a7450bc297bb57ff477}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssap\_le\_dec@{osmo\_bssap\_le\_dec}}
\index{osmo\_bssap\_le\_dec@{osmo\_bssap\_le\_dec}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssap\_le\_dec()}
{\footnotesize\ttfamily int osmo\+\_\+bssap\+\_\+le\+\_\+dec (\begin{DoxyParamCaption}\item[{struct \textbf{ bssap\+\_\+le\+\_\+pdu} $\ast$}]{pdu,  }\item[{struct \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{struct \textbf{ msgb} $\ast$}]{msg }\end{DoxyParamCaption})}



Decode BSSAP-\/\+LE PDU (3GPP TS 49.\+031). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em pdu} & Write decoded values here. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & Pointer to BSSMAP-\/\+LE PDU raw data. \\
\hline
\mbox{\texttt{ in}}  & {\em len} & Data length to decode. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
NULL upon success, a human readable error message on failure. 
\end{DoxyReturn}


References \textbf{ BSSAP\+\_\+\+LE\+\_\+\+DEC\+\_\+\+ERR}, \textbf{ BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+DISCR\+\_\+\+BSSMAP\+\_\+\+LE}, \textbf{ bssap\+\_\+le\+\_\+pdu\+::bssmap\+\_\+le}, \textbf{ h}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err\+::logmsg}, \textbf{ msg}, \textbf{ msgb\+\_\+l2}, \textbf{ msgb\+\_\+l2len()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec()}, and \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err\+::rc}.

\mbox{\label{group__bssmap__le_ga0dc0663fab9f24a74130f7d99cf74c70}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssap\_le\_enc@{osmo\_bssap\_le\_enc}}
\index{osmo\_bssap\_le\_enc@{osmo\_bssap\_le\_enc}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssap\_le\_enc()}
{\footnotesize\ttfamily struct \textbf{ msgb} $\ast$ osmo\+\_\+bssap\+\_\+le\+\_\+enc (\begin{DoxyParamCaption}\item[{const struct \textbf{ bssap\+\_\+le\+\_\+pdu} $\ast$}]{pdu }\end{DoxyParamCaption})}



Encode BSSAP-\/\+LE PDU returned in new msgb (3GPP TS 49.\+031). 

By spec, BSSAP-\/\+LE contains either BSSMAP-\/\+LE or DTAP. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em pdu} & PDU data to encode. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
msgb with encoded data and l2h set to the start. 
\end{DoxyReturn}


References \textbf{ BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+DISCR\+\_\+\+BSSMAP\+\_\+\+LE}, \textbf{ BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+HEADROOM}, \textbf{ BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+SIZE}, \textbf{ bssap\+\_\+le\+\_\+pdu\+::bssmap\+\_\+le}, \textbf{ bssap\+\_\+le\+\_\+pdu\+::discr}, \textbf{ msg}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::msg\+\_\+type}, \textbf{ msgb\+\_\+alloc\+\_\+headroom()}, \textbf{ msgb\+\_\+free()}, \textbf{ msgb\+\_\+length()}, \textbf{ msgb\+\_\+tv\+\_\+push()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc()}, and \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+name()}.

\mbox{\label{group__bssmap__le_ga7ba6179564a4bd2d2119c58cbaa0dfb8}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssap\_le\_pdu\_to\_str\_buf@{osmo\_bssap\_le\_pdu\_to\_str\_buf}}
\index{osmo\_bssap\_le\_pdu\_to\_str\_buf@{osmo\_bssap\_le\_pdu\_to\_str\_buf}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssap\_le\_pdu\_to\_str\_buf()}
{\footnotesize\ttfamily int osmo\+\_\+bssap\+\_\+le\+\_\+pdu\+\_\+to\+\_\+str\+\_\+buf (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf,  }\item[{size\+\_\+t}]{buflen,  }\item[{const struct \textbf{ bssap\+\_\+le\+\_\+pdu} $\ast$}]{bssap\+\_\+le }\end{DoxyParamCaption})}



Return a human readable string describing a BSSAP-\/\+LE PDU. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em buf} & String buffer to write to. \\
\hline
\mbox{\texttt{ in}}  & {\em buflen} & sizeof(buf). \\
\hline
\mbox{\texttt{ in}}  & {\em bssap\+\_\+le} & Decoded BSSAP-\/\+LE PDU data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of chars that would be written, like snprintf(). 
\end{DoxyReturn}


References \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+req\+::apdu}, \textbf{ bssmap\+\_\+le\+\_\+conn\+\_\+oriented\+\_\+info\+::apdu}, \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+req\+::apdu\+\_\+present}, \textbf{ BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+DISCR\+\_\+\+BSSMAP\+\_\+\+LE}, \textbf{ bssap\+\_\+le\+\_\+pdu\+::bssmap\+\_\+le}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+CONN\+\_\+\+ORIENTED\+\_\+\+INFO}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+REQ}, \textbf{ osmo\+\_\+strbuf\+::buf}, \textbf{ osmo\+\_\+strbuf\+::chars\+\_\+needed}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::conn\+\_\+oriented\+\_\+info}, \textbf{ bssap\+\_\+le\+\_\+pdu\+::discr}, \textbf{ bsslap\+\_\+pdu\+::msg\+\_\+type}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::msg\+\_\+type}, \textbf{ osmo\+\_\+bsslap\+\_\+msgt\+\_\+name()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+name()}, \textbf{ OSMO\+\_\+\+STRBUF\+\_\+\+PRINTF}, and \textbf{ bssmap\+\_\+le\+\_\+pdu\+::perform\+\_\+loc\+\_\+req}.



Referenced by \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+pdu\+\_\+to\+\_\+str\+\_\+c()}.

\mbox{\label{group__bssmap__le_gadc257acd7af3f2b75ce5e19df8c93012}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssap\_le\_pdu\_to\_str\_c@{osmo\_bssap\_le\_pdu\_to\_str\_c}}
\index{osmo\_bssap\_le\_pdu\_to\_str\_c@{osmo\_bssap\_le\_pdu\_to\_str\_c}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssap\_le\_pdu\_to\_str\_c()}
{\footnotesize\ttfamily char $\ast$ osmo\+\_\+bssap\+\_\+le\+\_\+pdu\+\_\+to\+\_\+str\+\_\+c (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{const struct \textbf{ bssap\+\_\+le\+\_\+pdu} $\ast$}]{bssap\+\_\+le }\end{DoxyParamCaption})}



Return a human readable string describing a BSSAP-\/\+LE PDU. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ctx} & Talloc context to allocate string buffer from. \\
\hline
\mbox{\texttt{ in}}  & {\em bssap\+\_\+le} & Decoded BSSAP-\/\+LE PDU data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
string. 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+pdu\+\_\+to\+\_\+str\+\_\+buf()}, and \textbf{ OSMO\+\_\+\+NAME\+\_\+\+C\+\_\+\+IMPL}.

\mbox{\label{group__bssmap__le_ga63b49ad33512eef2c9cd83a337eaf517}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_dec@{osmo\_bssmap\_le\_dec}}
\index{osmo\_bssmap\_le\_dec@{osmo\_bssmap\_le\_dec}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_dec()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+dec (\begin{DoxyParamCaption}\item[{struct \textbf{ bssmap\+\_\+le\+\_\+pdu} $\ast$}]{pdu,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{data,  }\item[{size\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Decode BSSMAP-\/\+LE PDU (3GPP TS 49.\+031). 

See also \doxyref{osmo\+\_\+bssap\+\_\+le\+\_\+dec()}{p.}{group__bssmap__le_ga9328f2ffb3461a7450bc297bb57ff477}. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em pdu} & Write decoded values here. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & Pointer to BSSMAP-\/\+LE PDU raw data. \\
\hline
\mbox{\texttt{ in}}  & {\em len} & Data length to decode. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
NULL upon success, a human readable error message on failure. 
\end{DoxyReturn}


References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+CONN\+\_\+\+ORIENTED\+\_\+\+INFO}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+ABORT}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+REQ}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+RESP}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+RESET}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+RESET\+\_\+\+ACK}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::conn\+\_\+oriented\+\_\+info}, \textbf{ data}, \textbf{ DEC\+\_\+\+ERR}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, \textbf{ len}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::msg\+\_\+type}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+conn\+\_\+oriented\+\_\+info()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+abort()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+resp()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+reset()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+tlvdef}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::perform\+\_\+loc\+\_\+abort}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::perform\+\_\+loc\+\_\+req}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::perform\+\_\+loc\+\_\+resp}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::reset}, and \textbf{ tlv\+\_\+parse()}.



Referenced by \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+dec()}.

\mbox{\label{group__bssmap__le_ga460aa2d0b2a73aabb6bcbd4b354fc301}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_dec\_conn\_oriented\_info@{osmo\_bssmap\_le\_dec\_conn\_oriented\_info}}
\index{osmo\_bssmap\_le\_dec\_conn\_oriented\_info@{osmo\_bssmap\_le\_dec\_conn\_oriented\_info}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_dec\_conn\_oriented\_info()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+conn\+\_\+oriented\+\_\+info (\begin{DoxyParamCaption}\item[{struct \textbf{ bssmap\+\_\+le\+\_\+conn\+\_\+oriented\+\_\+info} $\ast$}]{params,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const struct \textbf{ tlv\+\_\+parsed} $\ast$}]{tp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+APDU}, \textbf{ DEC\+\_\+\+IE\+\_\+\+MANDATORY}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+apdu()}, and \textbf{ params}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec()}.

\mbox{\label{group__bssmap__le_ga6480899656604221f174c8314ab8976f}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_dec\_perform\_loc\_abort@{osmo\_bssmap\_le\_dec\_perform\_loc\_abort}}
\index{osmo\_bssmap\_le\_dec\_perform\_loc\_abort@{osmo\_bssmap\_le\_dec\_perform\_loc\_abort}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_dec\_perform\_loc\_abort()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+abort (\begin{DoxyParamCaption}\item[{struct \textbf{ lcs\+\_\+cause\+\_\+ie} $\ast$}]{params,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const struct \textbf{ tlv\+\_\+parsed} $\ast$}]{tp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CAUSE}, \textbf{ DEC\+\_\+\+IE\+\_\+\+MANDATORY}, \textbf{ osmo\+\_\+lcs\+\_\+cause\+\_\+dec()}, and \textbf{ params}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec()}.

\mbox{\label{group__bssmap__le_gaee2acf440831bf44bfd394732058cef4}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_dec\_perform\_loc\_req@{osmo\_bssmap\_le\_dec\_perform\_loc\_req}}
\index{osmo\_bssmap\_le\_dec\_perform\_loc\_req@{osmo\_bssmap\_le\_dec\_perform\_loc\_req}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_dec\_perform\_loc\_req()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req (\begin{DoxyParamCaption}\item[{struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+req} $\ast$}]{params,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const struct \textbf{ tlv\+\_\+parsed} $\ast$}]{tp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+APDU}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CELL\+\_\+\+ID}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+IMEI}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+IMSI}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CLIENT\+\_\+\+TYPE}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+PRIORITY}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+QoS}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LOCATION\+\_\+\+TYPE}, \textbf{ DEC\+\_\+\+IE\+\_\+\+MANDATORY}, \textbf{ DEC\+\_\+\+IE\+\_\+\+OPTIONAL}, \textbf{ DEC\+\_\+\+IE\+\_\+\+OPTIONAL\+\_\+\+FLAG}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+apdu()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+cell\+\_\+id()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+imei()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+imsi()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+lcs\+\_\+client\+\_\+type()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+lcs\+\_\+priority()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+lcs\+\_\+qos()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+location\+\_\+type()}, and \textbf{ params}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec()}.

\mbox{\label{group__bssmap__le_ga8c9c091f5afe60a8551ba708acbec06d}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_dec\_perform\_loc\_resp@{osmo\_bssmap\_le\_dec\_perform\_loc\_resp}}
\index{osmo\_bssmap\_le\_dec\_perform\_loc\_resp@{osmo\_bssmap\_le\_dec\_perform\_loc\_resp}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_dec\_perform\_loc\_resp()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+resp (\begin{DoxyParamCaption}\item[{struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+resp} $\ast$}]{params,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const struct \textbf{ tlv\+\_\+parsed} $\ast$}]{tp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+GEO\+\_\+\+LOCATION}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CAUSE}, \textbf{ DEC\+\_\+\+IE\+\_\+\+OPTIONAL}, \textbf{ DEC\+\_\+\+IE\+\_\+\+OPTIONAL\+\_\+\+FLAG}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+gad()}, \textbf{ osmo\+\_\+lcs\+\_\+cause\+\_\+dec()}, and \textbf{ params}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec()}.

\mbox{\label{group__bssmap__le_ga9dc0f09aaec9bc721317208b4f9ace1d}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_dec\_reset@{osmo\_bssmap\_le\_dec\_reset}}
\index{osmo\_bssmap\_le\_dec\_reset@{osmo\_bssmap\_le\_dec\_reset}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_dec\_reset()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+reset (\begin{DoxyParamCaption}\item[{enum \textbf{ gsm0808\+\_\+cause} $\ast$}]{cause,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const struct \textbf{ tlv\+\_\+parsed} $\ast$}]{tp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+CAUSE}, \textbf{ cause}, \textbf{ DEC\+\_\+\+ERR}, \textbf{ gsm0808\+\_\+get\+\_\+cause()}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+DATA\+\_\+\+MISSING\+\_\+\+IN\+\_\+\+REQ}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, and \textbf{ TLVP\+\_\+\+GET}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec()}.

\mbox{\label{group__bssmap__le_ga23bf5d1d3b6490697618912addf7e89b}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_enc@{osmo\_bssmap\_le\_enc}}
\index{osmo\_bssmap\_le\_enc@{osmo\_bssmap\_le\_enc}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_enc()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+enc (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{const struct \textbf{ bssmap\+\_\+le\+\_\+pdu} $\ast$}]{pdu }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Encode BSSMAP-\/\+LE PDU and add to msgb (3GPP TS 49.\+031). 

See also \doxyref{osmo\+\_\+bssap\+\_\+le\+\_\+enc()}{p.}{group__bssmap__le_ga0dc0663fab9f24a74130f7d99cf74c70}. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em msg} & msgb to append to. \\
\hline
\mbox{\texttt{ in}}  & {\em pdu} & PDU data to encode. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of bytes written, negative on error. 
\end{DoxyReturn}


References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+CONN\+\_\+\+ORIENTED\+\_\+\+INFO}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+ABORT}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+REQ}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+PERFORM\+\_\+\+LOC\+\_\+\+RESP}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+RESET}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+MSGT\+\_\+\+RESET\+\_\+\+ACK}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::conn\+\_\+oriented\+\_\+info}, \textbf{ ENOTSUP}, \textbf{ msg}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::msg\+\_\+type}, \textbf{ msgb\+\_\+v\+\_\+put()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+conn\+\_\+oriented\+\_\+info()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+abort()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+req()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+resp()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+reset()}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::perform\+\_\+loc\+\_\+abort}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::perform\+\_\+loc\+\_\+req}, \textbf{ bssmap\+\_\+le\+\_\+pdu\+::perform\+\_\+loc\+\_\+resp}, and \textbf{ bssmap\+\_\+le\+\_\+pdu\+::reset}.



Referenced by \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+enc()}.

\mbox{\label{group__bssmap__le_gaa49cafe8883f8bd17c1df46ac3e5ffdc}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_enc\_conn\_oriented\_info@{osmo\_bssmap\_le\_enc\_conn\_oriented\_info}}
\index{osmo\_bssmap\_le\_enc\_conn\_oriented\_info@{osmo\_bssmap\_le\_enc\_conn\_oriented\_info}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_enc\_conn\_oriented\_info()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+conn\+\_\+oriented\+\_\+info (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{const struct \textbf{ bssmap\+\_\+le\+\_\+conn\+\_\+oriented\+\_\+info} $\ast$}]{params }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ msg}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+apdu()}, and \textbf{ params}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc()}.

\mbox{\label{group__bssmap__le_gad494a97b49e8d392f79f61a1e0199444}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_enc\_perform\_loc\_abort@{osmo\_bssmap\_le\_enc\_perform\_loc\_abort}}
\index{osmo\_bssmap\_le\_enc\_perform\_loc\_abort@{osmo\_bssmap\_le\_enc\_perform\_loc\_abort}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_enc\_perform\_loc\_abort()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+abort (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{const struct \textbf{ lcs\+\_\+cause\+\_\+ie} $\ast$}]{params }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CAUSE}, \textbf{ l}, \textbf{ msg}, \textbf{ msgb\+\_\+tl\+\_\+put()}, \textbf{ osmo\+\_\+lcs\+\_\+cause\+\_\+enc()}, and \textbf{ params}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc()}.

\mbox{\label{group__bssmap__le_ga49ad456f29196e989e7db332bd8a73d3}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_enc\_perform\_loc\_req@{osmo\_bssmap\_le\_enc\_perform\_loc\_req}}
\index{osmo\_bssmap\_le\_enc\_perform\_loc\_req@{osmo\_bssmap\_le\_enc\_perform\_loc\_req}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_enc\_perform\_loc\_req()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+req (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{const struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+req} $\ast$}]{params }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+IMEI}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+IMSI}, \textbf{ gsm0808\+\_\+enc\+\_\+cell\+\_\+id()}, \textbf{ GSM\+\_\+\+MI\+\_\+\+TYPE\+\_\+\+IMEI}, \textbf{ GSM\+\_\+\+MI\+\_\+\+TYPE\+\_\+\+IMSI}, \textbf{ l}, \textbf{ msg}, \textbf{ msgb\+\_\+tl\+\_\+put()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+apdu()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+lcs\+\_\+client\+\_\+type()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+lcs\+\_\+priority()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+lcs\+\_\+qos()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+location\+\_\+type()}, \textbf{ osmo\+\_\+mobile\+\_\+identity\+\_\+encode\+\_\+msgb()}, and \textbf{ params}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc()}.

\mbox{\label{group__bssmap__le_gaa3fae2231b19e36d91915553be8054fc}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_enc\_perform\_loc\_resp@{osmo\_bssmap\_le\_enc\_perform\_loc\_resp}}
\index{osmo\_bssmap\_le\_enc\_perform\_loc\_resp@{osmo\_bssmap\_le\_enc\_perform\_loc\_resp}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_enc\_perform\_loc\_resp()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+resp (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{const struct \textbf{ bssmap\+\_\+le\+\_\+perform\+\_\+loc\+\_\+resp} $\ast$}]{params }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+GEO\+\_\+\+LOCATION}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CAUSE}, \textbf{ l}, \textbf{ msg}, \textbf{ msgb\+\_\+tl\+\_\+put()}, \textbf{ osmo\+\_\+gad\+\_\+raw\+\_\+write()}, \textbf{ osmo\+\_\+lcs\+\_\+cause\+\_\+enc()}, and \textbf{ params}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc()}.

\mbox{\label{group__bssmap__le_ga095da615d2fa4d574e1cc573f3f5bf54}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_enc\_reset@{osmo\_bssmap\_le\_enc\_reset}}
\index{osmo\_bssmap\_le\_enc\_reset@{osmo\_bssmap\_le\_enc\_reset}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_enc\_reset()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+reset (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{enum \textbf{ gsm0808\+\_\+cause}}]{cause }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ cause}, \textbf{ gsm0808\+\_\+enc\+\_\+cause()}, and \textbf{ msg}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc()}.

\mbox{\label{group__bssmap__le_ga7381450cf28ebfb4c41abc63d3c1acba}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_dec\_apdu@{osmo\_bssmap\_le\_ie\_dec\_apdu}}
\index{osmo\_bssmap\_le\_ie\_dec\_apdu@{osmo\_bssmap\_le\_ie\_dec\_apdu}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_dec\_apdu()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+apdu (\begin{DoxyParamCaption}\item[{struct \textbf{ bsslap\+\_\+pdu} $\ast$}]{bsslap,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{data,  }\item[{size\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+BSSLAP}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+LLP}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+SMLCPP}, \textbf{ data}, \textbf{ DEC\+\_\+\+ERR}, \textbf{ DEC\+\_\+\+ERR\+\_\+\+NO\+\_\+\+RETURN}, \textbf{ iei}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, \textbf{ len}, \textbf{ osmo\+\_\+bsslap\+\_\+err\+::logmsg}, \textbf{ osmo\+\_\+bsslap\+\_\+dec()}, \textbf{ proto}, and \textbf{ osmo\+\_\+bsslap\+\_\+err\+::rc}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+conn\+\_\+oriented\+\_\+info()}, and \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_ga7c2595a5b5f720784f638856cc640451}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_dec\_cell\_id@{osmo\_bssmap\_le\_ie\_dec\_cell\_id}}
\index{osmo\_bssmap\_le\_ie\_dec\_cell\_id@{osmo\_bssmap\_le\_ie\_dec\_cell\_id}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_dec\_cell\_id()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+cell\+\_\+id (\begin{DoxyParamCaption}\item[{struct \textbf{ gsm0808\+\_\+cell\+\_\+id} $\ast$}]{cell\+\_\+id,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{elem,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ DEC\+\_\+\+ERR}, \textbf{ gsm0808\+\_\+dec\+\_\+cell\+\_\+id()}, \textbf{ iei}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, \textbf{ len}, \textbf{ osmo\+\_\+hexdump\+\_\+c()}, and \textbf{ osmo\+\_\+bsslap\+\_\+err\+::rc}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_gaebf81004c1eea90fe9ba28bd81f24cc6}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_dec\_gad@{osmo\_bssmap\_le\_ie\_dec\_gad}}
\index{osmo\_bssmap\_le\_ie\_dec\_gad@{osmo\_bssmap\_le\_ie\_dec\_gad}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_dec\_gad()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+gad (\begin{DoxyParamCaption}\item[{union \textbf{ gad\+\_\+raw} $\ast$}]{gad,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{elem,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+GEO\+\_\+\+LOCATION}, \textbf{ DEC\+\_\+\+ERR\+\_\+\+NO\+\_\+\+RETURN}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, \textbf{ len}, \textbf{ osmo\+\_\+gad\+\_\+err\+::logmsg}, \textbf{ osmo\+\_\+gad\+\_\+raw\+\_\+read()}, and \textbf{ osmo\+\_\+gad\+\_\+err\+::rc}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+resp()}.

\mbox{\label{group__bssmap__le_gaf3ff74ac8a6a3ab0a97c8c1682ac2a1e}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_dec\_imei@{osmo\_bssmap\_le\_ie\_dec\_imei}}
\index{osmo\_bssmap\_le\_ie\_dec\_imei@{osmo\_bssmap\_le\_ie\_dec\_imei}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_dec\_imei()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+imei (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+mobile\+\_\+identity $\ast$}]{imei,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{elem,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ DEC\+\_\+\+ERR}, \textbf{ GSM\+\_\+\+MI\+\_\+\+TYPE\+\_\+\+IMEI}, \textbf{ iei}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, \textbf{ len}, \textbf{ osmo\+\_\+hexdump\+\_\+c()}, \textbf{ osmo\+\_\+mobile\+\_\+identity\+\_\+decode()}, and \textbf{ osmo\+\_\+bsslap\+\_\+err\+::rc}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_gaa84b84e2055cf963c8d4158c3c6f43f9}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_dec\_imsi@{osmo\_bssmap\_le\_ie\_dec\_imsi}}
\index{osmo\_bssmap\_le\_ie\_dec\_imsi@{osmo\_bssmap\_le\_ie\_dec\_imsi}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_dec\_imsi()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+imsi (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+mobile\+\_\+identity $\ast$}]{imsi,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{elem,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ DEC\+\_\+\+ERR}, \textbf{ GSM\+\_\+\+MI\+\_\+\+TYPE\+\_\+\+IMSI}, \textbf{ iei}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, \textbf{ len}, \textbf{ osmo\+\_\+hexdump\+\_\+c()}, \textbf{ osmo\+\_\+mobile\+\_\+identity\+\_\+decode()}, and \textbf{ osmo\+\_\+bsslap\+\_\+err\+::rc}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_gacd1107be5f764c00869476fd401053bd}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_dec\_lcs\_client\_type@{osmo\_bssmap\_le\_ie\_dec\_lcs\_client\_type}}
\index{osmo\_bssmap\_le\_ie\_dec\_lcs\_client\_type@{osmo\_bssmap\_le\_ie\_dec\_lcs\_client\_type}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_dec\_lcs\_client\_type()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+lcs\+\_\+client\+\_\+type (\begin{DoxyParamCaption}\item[{enum \textbf{ bssmap\+\_\+le\+\_\+lcs\+\_\+client\+\_\+type} $\ast$}]{client\+\_\+type,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{elem,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+EMERG\+\_\+\+SVC\+\_\+\+UNSPECIFIED}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+LI\+\_\+\+UNSPECIFIED}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+ANON\+\_\+\+STATS}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+BCAST\+\_\+\+SERVICE}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+OAM}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+TGT\+\_\+\+MS\+\_\+\+SVC}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+PLMN\+\_\+\+OPER\+\_\+\+UNSPECIFIED}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LCS\+\_\+\+CTYPE\+\_\+\+VALUE\+\_\+\+ADDED\+\_\+\+UNSPECIFIED}, \textbf{ DEC\+\_\+\+ERR}, \textbf{ iei}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, and \textbf{ len}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_ga25f4b7306801a8c8e6b4fa737b569327}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_dec\_lcs\_priority@{osmo\_bssmap\_le\_ie\_dec\_lcs\_priority}}
\index{osmo\_bssmap\_le\_ie\_dec\_lcs\_priority@{osmo\_bssmap\_le\_ie\_dec\_lcs\_priority}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_dec\_lcs\_priority()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+lcs\+\_\+priority (\begin{DoxyParamCaption}\item[{uint8\+\_\+t $\ast$}]{priority,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{elem,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ DEC\+\_\+\+ERR}, \textbf{ iei}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, and \textbf{ len}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_gacd3e38639872ce2f4d21410877abf2f7}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_dec\_lcs\_qos@{osmo\_bssmap\_le\_ie\_dec\_lcs\_qos}}
\index{osmo\_bssmap\_le\_ie\_dec\_lcs\_qos@{osmo\_bssmap\_le\_ie\_dec\_lcs\_qos}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_dec\_lcs\_qos()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+lcs\+\_\+qos (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+lcs\+\_\+qos} $\ast$}]{qos,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{elem,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ DEC\+\_\+\+ERR}, \textbf{ iei}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, and \textbf{ len}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_gae3687205432f0a316d0e553e307e32a5}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_dec\_location\_type@{osmo\_bssmap\_le\_ie\_dec\_location\_type}}
\index{osmo\_bssmap\_le\_ie\_dec\_location\_type@{osmo\_bssmap\_le\_ie\_dec\_location\_type}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_dec\_location\_type()}
{\footnotesize\ttfamily int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+dec\+\_\+location\+\_\+type (\begin{DoxyParamCaption}\item[{struct \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+type} $\ast$}]{lt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{elem,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})}



Decode BSSMAP-\/\+LE Location Type IE value part. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em lt} & Buffer to write decoded values to. \\
\hline
\mbox{\texttt{ in}}  & {\em elem} & Pointer to the value part, the V of a TLV. \\
\hline
\mbox{\texttt{ in}}  & {\em len} & Length, the L of a TLV. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, negative on error; lt is always overwritten\+: cleared on error, populated with values on success. 
\end{DoxyReturn}


References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+ASSIST\+\_\+\+TARGET\+\_\+\+MS}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+BC\+\_\+\+DECIPHER\+\_\+\+KEYS}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+CURRENT\+\_\+\+GEOGRAPHIC}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+ASSISTED\+\_\+\+GPS}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+MOBILE\+\_\+\+ASSISTED\+\_\+\+E\+\_\+\+OTD}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+MOBILE\+\_\+\+BASED\+\_\+\+E\+\_\+\+OTD}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+POS\+\_\+\+METHOD\+\_\+\+OMITTED}, \textbf{ DEC\+\_\+\+ERR}, \textbf{ iei}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, \textbf{ len}, \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+type\+::location\+\_\+information}, and \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+type\+::positioning\+\_\+method}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_gacd649c8a1e967dc1b48cf87cd43c6bd6}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_enc\_apdu@{osmo\_bssmap\_le\_ie\_enc\_apdu}}
\index{osmo\_bssmap\_le\_ie\_enc\_apdu@{osmo\_bssmap\_le\_ie\_enc\_apdu}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_enc\_apdu()}
{\footnotesize\ttfamily static int osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+apdu (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{const struct \textbf{ bsslap\+\_\+pdu} $\ast$}]{bsslap }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+APDU\+\_\+\+PROT\+\_\+\+BSSLAP}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+APDU}, \textbf{ l}, \textbf{ msg}, \textbf{ msgb\+\_\+put()}, \textbf{ msgb\+\_\+put\+\_\+u8()}, and \textbf{ osmo\+\_\+bsslap\+\_\+enc()}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+conn\+\_\+oriented\+\_\+info()}, and \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_ga8e7a425e10ab31283752b7057e0d686f}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_enc\_lcs\_client\_type@{osmo\_bssmap\_le\_ie\_enc\_lcs\_client\_type}}
\index{osmo\_bssmap\_le\_ie\_enc\_lcs\_client\_type@{osmo\_bssmap\_le\_ie\_enc\_lcs\_client\_type}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_enc\_lcs\_client\_type()}
{\footnotesize\ttfamily static uint8\+\_\+t osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+lcs\+\_\+client\+\_\+type (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+lcs\+\_\+client\+\_\+type}}]{client\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Encode full BSSMAP-\/\+LE LCS Client Type IE, including IEI tag and length. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em msg} & Message buffer to append to. \\
\hline
\mbox{\texttt{ in}}  & {\em client\+\_\+type} & Value to enconde. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
length of bytes written to the msgb. 
\end{DoxyReturn}


References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CLIENT\+\_\+\+TYPE}, \textbf{ msg}, \textbf{ msgb\+\_\+put\+\_\+u8()}, and \textbf{ OSMO\+\_\+\+ASSERT}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_ga5d6ddce6738bbe380a25a3f68d415258}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_enc\_lcs\_priority@{osmo\_bssmap\_le\_ie\_enc\_lcs\_priority}}
\index{osmo\_bssmap\_le\_ie\_enc\_lcs\_priority@{osmo\_bssmap\_le\_ie\_enc\_lcs\_priority}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_enc\_lcs\_priority()}
{\footnotesize\ttfamily static uint8\+\_\+t osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+lcs\+\_\+priority (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{uint8\+\_\+t}]{priority }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Encode full BSSMAP-\/\+LE LCS Priority IE, including IEI tag and length. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em msg} & Message buffer to append to. \\
\hline
\mbox{\texttt{ in}}  & {\em priority} & Value to enconde. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
length of bytes written to the msgb. 
\end{DoxyReturn}


References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+PRIORITY}, \textbf{ msg}, \textbf{ msgb\+\_\+put\+\_\+u8()}, and \textbf{ OSMO\+\_\+\+ASSERT}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_ga4943febf5fcbab8ece6d16d58e433f52}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_enc\_lcs\_qos@{osmo\_bssmap\_le\_ie\_enc\_lcs\_qos}}
\index{osmo\_bssmap\_le\_ie\_enc\_lcs\_qos@{osmo\_bssmap\_le\_ie\_enc\_lcs\_qos}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_enc\_lcs\_qos()}
{\footnotesize\ttfamily static uint8\+\_\+t osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+lcs\+\_\+qos (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{const struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+lcs\+\_\+qos} $\ast$}]{qos }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Encode full BSSMAP-\/\+LE LCS QoS IE, including IEI tag and length. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em msg} & Message buffer to append to. \\
\hline
\mbox{\texttt{ in}}  & {\em priority} & Value to enconde. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
length of bytes written to the msgb. 
\end{DoxyReturn}


References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+QoS}, \textbf{ msg}, \textbf{ msgb\+\_\+tlv\+\_\+put()}, and \textbf{ OSMO\+\_\+\+ASSERT}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_ga78a7a9e1928ce23ded7f7f6c5cf0b12f}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_ie\_enc\_location\_type@{osmo\_bssmap\_le\_ie\_enc\_location\_type}}
\index{osmo\_bssmap\_le\_ie\_enc\_location\_type@{osmo\_bssmap\_le\_ie\_enc\_location\_type}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_ie\_enc\_location\_type()}
{\footnotesize\ttfamily uint8\+\_\+t osmo\+\_\+bssmap\+\_\+le\+\_\+ie\+\_\+enc\+\_\+location\+\_\+type (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{const struct \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+type} $\ast$}]{location\+\_\+type }\end{DoxyParamCaption})}



Encode full BSSMAP-\/\+LE Location Type IE, including IEI tag and length. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em msg} & Message buffer to append to. \\
\hline
\mbox{\texttt{ in}}  & {\em location\+\_\+type} & Values to enconde. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
length of bytes written to the msgb. 
\end{DoxyReturn}


References \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LOCATION\+\_\+\+TYPE}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+ASSIST\+\_\+\+TARGET\+\_\+\+MS}, \textbf{ BSSMAP\+\_\+\+LE\+\_\+\+LOC\+\_\+\+INFO\+\_\+\+BC\+\_\+\+DECIPHER\+\_\+\+KEYS}, \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+type\+::location\+\_\+information}, \textbf{ msg}, \textbf{ msgb\+\_\+put()}, \textbf{ msgb\+\_\+put\+\_\+u8()}, \textbf{ OSMO\+\_\+\+ASSERT}, and \textbf{ bssmap\+\_\+le\+\_\+location\+\_\+type\+::positioning\+\_\+method}.



Referenced by \textbf{ gsm0808\+\_\+create\+\_\+perform\+\_\+location\+\_\+request()}, and \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+req()}.

\mbox{\label{group__bssmap__le_ga58535cb2131d2e39bc50505952bc31aa}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_iei\_name@{osmo\_bssmap\_le\_iei\_name}}
\index{osmo\_bssmap\_le\_iei\_name@{osmo\_bssmap\_le\_iei\_name}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_iei\_name()}
{\footnotesize\ttfamily static const char $\ast$ osmo\+\_\+bssmap\+\_\+le\+\_\+iei\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References \textbf{ get\+\_\+value\+\_\+string()}, and \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+iei\+\_\+names}.

\mbox{\label{group__bssmap__le_gaa395fb17d994c11f03bcffe01d22deee}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_msgt@{osmo\_bssmap\_le\_msgt}}
\index{osmo\_bssmap\_le\_msgt@{osmo\_bssmap\_le\_msgt}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_msgt()}
{\footnotesize\ttfamily enum \textbf{ bssmap\+\_\+le\+\_\+msgt} osmo\+\_\+bssmap\+\_\+le\+\_\+msgt (\begin{DoxyParamCaption}\item[{const uint8\+\_\+t $\ast$}]{data,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})}



Return the BSSMAP-\/\+LE msg\+\_\+type from a BSSAP-\/\+LE PDU, e.\+g. 

from a \textbf{ msgb\+\_\+l3()}. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em data} & BSSAP-\/\+LE PDU data, starting with BSSAP-\/\+LE discriminator. \\
\hline
\mbox{\texttt{ in}}  & {\em len} & Length of data in bytes. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
bssmap\+\_\+le\+\_\+msgt or negative on error or non-\/\+BSSMAP-\/\+LE discriminator. 
\end{DoxyReturn}


References \textbf{ BSSAP\+\_\+\+LE\+\_\+\+MSG\+\_\+\+DISCR\+\_\+\+BSSMAP\+\_\+\+LE}, \textbf{ data}, \textbf{ h}, and \textbf{ len}.

\mbox{\label{group__bssmap__le_gab96dbae345a56a1a8d06701db9167033}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_msgt\_name@{osmo\_bssmap\_le\_msgt\_name}}
\index{osmo\_bssmap\_le\_msgt\_name@{osmo\_bssmap\_le\_msgt\_name}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_msgt\_name()}
{\footnotesize\ttfamily static const char $\ast$ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References \textbf{ get\+\_\+value\+\_\+string()}, and \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+names}.



Referenced by \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+enc()}, and \textbf{ osmo\+\_\+bssap\+\_\+le\+\_\+pdu\+\_\+to\+\_\+str\+\_\+buf()}.

\mbox{\label{group__bssmap__le_gacbcaf556847f4b6a379d49c77ace32d5}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_lcs\_cause\_dec@{osmo\_lcs\_cause\_dec}}
\index{osmo\_lcs\_cause\_dec@{osmo\_lcs\_cause\_dec}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_lcs\_cause\_dec()}
{\footnotesize\ttfamily int osmo\+\_\+lcs\+\_\+cause\+\_\+dec (\begin{DoxyParamCaption}\item[{struct \textbf{ lcs\+\_\+cause\+\_\+ie} $\ast$}]{lcs\+\_\+cause,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+msgt}}]{msgt,  }\item[{enum \textbf{ bssmap\+\_\+le\+\_\+iei}}]{iei,  }\item[{struct \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+err} $\ast$$\ast$}]{err,  }\item[{void $\ast$}]{err\+\_\+ctx,  }\item[{const uint8\+\_\+t $\ast$}]{data,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})}



Decode the value part of 3GPP TS 49.\+031 10.\+13 LCS Cause, without IEI and len. 

Identically used in 3GPP TS 48.\+008 3.\+2.\+2.\+66.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em lcs\+\_\+cause} & Write decoded LCS Cause values here. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & Encoded cause bytes. \\
\hline
\mbox{\texttt{ in}}  & {\em len} & Length of data in bytes. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, negative on error. 
\end{DoxyReturn}


References \textbf{ data}, \textbf{ DEC\+\_\+\+ERR}, \textbf{ iei}, \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+UNSPECIFIED}, and \textbf{ len}.



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+abort()}, and \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec\+\_\+perform\+\_\+loc\+\_\+resp()}.

\mbox{\label{group__bssmap__le_ga71139c554a83f5504b9f05e80b0425ea}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_lcs\_cause\_enc@{osmo\_lcs\_cause\_enc}}
\index{osmo\_lcs\_cause\_enc@{osmo\_lcs\_cause\_enc}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_lcs\_cause\_enc()}
{\footnotesize\ttfamily int osmo\+\_\+lcs\+\_\+cause\+\_\+enc (\begin{DoxyParamCaption}\item[{struct \textbf{ msgb} $\ast$}]{msg,  }\item[{const struct \textbf{ lcs\+\_\+cause\+\_\+ie} $\ast$}]{lcs\+\_\+cause }\end{DoxyParamCaption})}



Encode the value part of 3GPP TS 49.\+031 10.\+13 LCS Cause, without IEI and len. 

Identically used in 3GPP TS 48.\+008 3.\+2.\+2.\+66. Usage example\+:

uint8\+\_\+t $\ast$l = msgb\+\_\+tl\+\_\+put(msg, BSSMAP\+\_\+\+LE\+\_\+\+IEI\+\_\+\+LCS\+\_\+\+CAUSE); int rc = osmo\+\_\+lcs\+\_\+cause\+\_\+enc(msg, \&lcs\+\_\+cause); if (rc $<$ 0) goto error; $\ast$l = rc;


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em msg} & Message buffer to append the LCS Cause values to. \\
\hline
\mbox{\texttt{ in}}  & {\em lcs\+\_\+cause} & LCS Cause values to enconde. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
length of bytes written to the msgb. 
\end{DoxyReturn}


References \textbf{ LCS\+\_\+\+CAUSE\+\_\+\+POS\+\_\+\+METH\+\_\+\+FAILURE}, \textbf{ msg}, and \textbf{ msgb\+\_\+put\+\_\+u8()}.



Referenced by \textbf{ gsm0808\+\_\+create\+\_\+perform\+\_\+location\+\_\+response()}, \textbf{ gsm0808\+\_\+enc\+\_\+lcs\+\_\+cause()}, \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+abort()}, and \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+enc\+\_\+perform\+\_\+loc\+\_\+resp()}.



\doxysubsection{Variable Documentation}
\mbox{\label{group__bssmap__le_ga50d7dcf82599e939961747933afd62f9}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!\_\_attribute\_\_@{\_\_attribute\_\_}}
\index{\_\_attribute\_\_@{\_\_attribute\_\_}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{\_\_attribute\_\_}
{\footnotesize\ttfamily enum \textbf{ bssap\+\_\+le\+\_\+msg\+\_\+discr} \+\_\+\+\_\+attribute\+\_\+\+\_\+}

\mbox{\label{group__bssmap__le_ga5d2a25e43f4997dc01a12ec630ca76a3}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_iei\_names@{osmo\_bssmap\_le\_iei\_names}}
\index{osmo\_bssmap\_le\_iei\_names@{osmo\_bssmap\_le\_iei\_names}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_iei\_names\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} osmo\+\_\+bssmap\+\_\+le\+\_\+iei\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+iei\+\_\+name()}.

\mbox{\label{group__bssmap__le_ga5d2a25e43f4997dc01a12ec630ca76a3}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_iei\_names@{osmo\_bssmap\_le\_iei\_names}}
\index{osmo\_bssmap\_le\_iei\_names@{osmo\_bssmap\_le\_iei\_names}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_iei\_names\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} osmo\+\_\+bssmap\+\_\+le\+\_\+iei\+\_\+names[$\,$]}



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+iei\+\_\+name()}.

\mbox{\label{group__bssmap__le_gadaca0a552df7c8b11a3f90beb1dd75e8}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_msgt\_names@{osmo\_bssmap\_le\_msgt\_names}}
\index{osmo\_bssmap\_le\_msgt\_names@{osmo\_bssmap\_le\_msgt\_names}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_msgt\_names\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+name()}.

\mbox{\label{group__bssmap__le_gadaca0a552df7c8b11a3f90beb1dd75e8}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_msgt\_names@{osmo\_bssmap\_le\_msgt\_names}}
\index{osmo\_bssmap\_le\_msgt\_names@{osmo\_bssmap\_le\_msgt\_names}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_msgt\_names\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_REQ, \textcolor{stringliteral}{"{}PERFORM LOCATION REQUEST"{}} \},}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_RESP, \textcolor{stringliteral}{"{}PERFORM LOCATION RESPONSE"{}} \},}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_ABORT, \textcolor{stringliteral}{"{}PERFORM LOCATION ABORT"{}} \},}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_PERFORM\_LOC\_INFO, \textcolor{stringliteral}{"{}PERFORM LOCATION INFO"{}} \},}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_REQ, \textcolor{stringliteral}{"{}ASSISTANCE INFORMATION REQUEST"{}} \},}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_ASSIST\_INFO\_RESP, \textcolor{stringliteral}{"{}ASSISTANCE INFORMATION RESPONSE"{}} \},}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_CONN\_ORIENTED\_INFO, \textcolor{stringliteral}{"{}CONNECTION ORIENTED INFORMATON"{}} \},}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_CONN\_LESS\_INFO, \textcolor{stringliteral}{"{}CONNECTIONLESS INFORMATION"{}} \},}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_RESET, \textcolor{stringliteral}{"{}RESET"{}} \},}
\DoxyCodeLine{        \{ BSSMAP\_LE\_MSGT\_RESET\_ACK, \textcolor{stringliteral}{"{}RESET ACKNOWLEDGE"{}} \},}
\DoxyCodeLine{        \{\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+msgt\+\_\+name()}.

\mbox{\label{group__bssmap__le_gad75814d5dfad9efd277ea6872b1e256d}} 
\index{3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}!osmo\_bssmap\_le\_tlvdef@{osmo\_bssmap\_le\_tlvdef}}
\index{osmo\_bssmap\_le\_tlvdef@{osmo\_bssmap\_le\_tlvdef}!3GPP TS 49.031 BSSMAP-\/LE.@{3GPP TS 49.031 BSSMAP-\/LE.}}
\doxysubsubsection{osmo\_bssmap\_le\_tlvdef}
{\footnotesize\ttfamily const struct \textbf{ tlv\+\_\+definition} osmo\+\_\+bssmap\+\_\+le\+\_\+tlvdef\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ osmo\+\_\+bssmap\+\_\+le\+\_\+dec()}.

