Loading...
Searching...
No Matches
3GPP TS 48.071 BSS LCS Assistance Protocol (BSSLAP).

## Files

file | bsslap.h
| Message encoding and decoding for 3GPP TS 48.071 BSS LCS Assistance Protocol (BSSLAP).
file | gsm_48_071.h
file | bsslap.c
| Message encoding and decoding for 3GPP TS 48.071 BSSLAP protocol.

## Data Structures

struct | osmo_bsslap_err
struct | bsslap_ta_response
struct | bsslap_ta_layer3
struct | bsslap_reset
struct | bsslap_pdu

## Macros

#define | DEC_ERR(RC, MSG_TYPE, IEI, CAUSE, fmt, args...)

## Enumerations

enum | bsslap_msgt { BSSLAP_MSGT_TA_REQUEST = 0x1 , BSSLAP_MSGT_TA_RESPONSE = 0x2 , BSSLAP_MSGT_REJECT = 0xa , BSSLAP_MSGT_RESET = 0xb , BSSLAP_MSGT_ABORT = 0xc , BSSLAP_MSGT_TA_LAYER3 = 0xd , BSSLAP_MSGT_MS_POS_CMD = 0xf , BSSLAP_MSGT_MS_POS_RESP = 0x10 , BSSLAP_MSGT_UTDOA_REQ = 0x11 , BSSLAP_MSGT_UTDOA_RESP = 0x12 }

enum

bsslap_cause {
BSSLAP_CAUSE_CONGESTION = 0x0 ,
BSSLAP_CAUSE_CHAN_MODE_NOT_SUPP = 0x1 ,
BSSLAP_CAUSE_POS_PROC_NOT_SUPP = 0x2 ,
BSSLAP_CAUSE_OTHER_RADIO_EVT_FAIL = 0x3 ,
BSSLAP_CAUSE_INTRA_BSS_HO = 0x4 ,
BSSLAP_CAUSE_SUPERV_TIMER_EXPIRED = 0x5 ,
BSSLAP_CAUSE_INTER_BSS_HO = 0x6 ,
BSSLAP_CAUSE_LOSS_SIG_CONN_MS = 0x7 ,
BSSLAP_CAUSE_INCORR_SERV_CELL_ID = 0x8 ,
BSSLAP_CAUSE_BSSAP_LE_SEGMENT_ERR = 0x9 ,
BSSLAP_CAUSE_CONCUR_POS_PROC_NOT_EN = 0xa
}

enum

bsslap_iei {
BSSLAP_IEI_TA = 0x1 ,
BSSLAP_IEI_CELL_ID = 0x9 ,
BSSLAP_IEI_CHAN_DESC = 0x10 ,
BSSLAP_IEI_MEAS_REP = 0x14 ,
BSSLAP_IEI_CAUSE = 0x18 ,
BSSLAP_IEI_RRLP_FLAG = 0x19 ,
BSSLAP_IEI_RRLP = 0x1b ,
BSSLAP_IEI_CELL_ID_LIST = 0x1c ,
BSSLAP_IEI_ENH_MEAS_REP = 0x1d ,
BSSLAP_IEI_LAC = 0x1e ,
BSSLAP_IEI_FREQ_LIST = 0x21 ,
BSSLAP_IEI_MS_POWER = 0x22 ,
BSSLAP_IEI_DELTA_TIMER = 0x23 ,
BSSLAP_IEI_SERVING_CELL_ID = 0x24 ,
BSSLAP_IEI_ENCR_KEY = 0x25 ,
BSSLAP_IEI_CIPH_MODE_SET = 0x26 ,
BSSLAP_IEI_CHAN_MODE = 0x27 ,
BSSLAP_IEI_MR_CONFIG = 0x28 ,
BSSLAP_IEI_POLLING_REPETITION = 0x29 ,
BSSLAP_IEI_PACKET_CHAN_DESC = 0x2a ,
BSSLAP_IEI_TLLI = 0x2b ,
BSSLAP_IEI_TFI = 0x2c ,
BSSLAP_IEI_TBF_START_TIME = 0x2d ,
BSSLAP_IEI_PWRUP_START_TIME = 0x2e ,
BSSLAP_IEI_LONG_ENCR_KEY = 0x2f ,
BSSLAP_IEI_CONCUR_POS_PROC_F = 0x30
}

## Functions

static const char * | osmo_bsslap_msgt_name (enum bsslap_msgt val)
static const char * | osmo_bsslap_iei_name (enum bsslap_iei val)
int | osmo_bsslap_enc (struct msgb *msg, const struct bsslap_pdu *pdu)
| Encode BSSLAP PDU and append to msgb (3GPP TS 48.071).
int | osmo_bsslap_dec (struct bsslap_pdu *pdu, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)
| Decode BSSLAP PDU (3GPP TS 48.071).
static void | osmo_bsslap_ie_enc_cell_id (struct msgb *msg, uint16_t cell_id)
static int | osmo_bsslap_ie_dec_cell_id (uint16_t *cell_id, enum bsslap_msgt msgt, enum bsslap_iei iei, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)
static void | osmo_bsslap_ie_enc_ta (struct msgb *msg, uint8_t ta)
static int | osmo_bsslap_ie_dec_ta (uint8_t *ta, enum bsslap_msgt msgt, enum bsslap_iei iei, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)
static void | osmo_bsslap_ie_enc_cause (struct msgb *msg, enum bsslap_cause cause)
static int | osmo_bsslap_ie_dec_cause (enum bsslap_cause *cause, enum bsslap_msgt msgt, enum bsslap_iei iei, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)
static void | osmo_bsslap_ie_enc_chan_desc (struct msgb *msg, const struct gsm48_chan_desc *chan_desc)
static int | osmo_bsslap_ie_dec_chan_desc (struct gsm48_chan_desc *chan_desc, enum bsslap_msgt msgt, enum bsslap_iei iei, struct osmo_bsslap_err **err, void *err_ctx, const uint8_t *data, size_t len)

## Variables

const struct value_string | osmo_bsslap_msgt_names []
const struct value_string | osmo_bsslap_iei_names []
static const struct tlv_definition | osmo_bsslap_tlvdef
const struct value_string | osmo_bsslap_msgt_names []
const struct value_string | osmo_bsslap_iei_names []

## Detailed Description

## Macro Definition Documentation

## DEC_ERR

#define DEC_ERR | ( |  | RC,
|  |  | MSG_TYPE,
|  |  | IEI,
|  |  | CAUSE,
|  |  | fmt,
|  |  | args... )

Value:
do { \
if (err && !*err) { \
*err = talloc_zero(err_ctx, struct osmo_bsslap_err); \
**err = (struct osmo_bsslap_err){ \
.rc = (RC), \
.msg_type = (MSG_TYPE), \
.iei = (IEI), \
.cause = (CAUSE), \
.logmsg = talloc_asprintf(*err, "Error decoding BSSLAP%s%s%s%s%s: " fmt, \
(MSG_TYPE) >= 0 ? " " : "", \
(MSG_TYPE) >= 0 ? osmo_bsslap_msgt_name(MSG_TYPE) : "", \
(IEI) >= 0 ? ": " : "", \
(IEI) >= 0 ? osmo_bsslap_iei_name(IEI) : "", \
(IEI) >= 0 ? " IE" : "", \
##args), \
}; \
} \
return RC; \
} while(0)
osmo_bsslap_msgt_name
static const char * osmo_bsslap_msgt_name(enum bsslap_msgt val)
Definition bsslap.h:41
osmo_bsslap_iei_name
static const char * osmo_bsslap_iei_name(enum bsslap_iei val)
Definition bsslap.h:45
osmo_bsslap_err
Definition bsslap.h:32

Referenced by osmo_bsslap_dec(), osmo_bsslap_ie_dec_cause(), osmo_bsslap_ie_dec_cell_id(), osmo_bsslap_ie_dec_chan_desc(), and osmo_bsslap_ie_dec_ta().

## Enumeration Type Documentation

## bsslap_cause

enum bsslap_cause

Enumerator
BSSLAP_CAUSE_CONGESTION |
BSSLAP_CAUSE_CHAN_MODE_NOT_SUPP |
BSSLAP_CAUSE_POS_PROC_NOT_SUPP |
BSSLAP_CAUSE_OTHER_RADIO_EVT_FAIL |
BSSLAP_CAUSE_INTRA_BSS_HO |
BSSLAP_CAUSE_SUPERV_TIMER_EXPIRED |
BSSLAP_CAUSE_INTER_BSS_HO |
BSSLAP_CAUSE_LOSS_SIG_CONN_MS |
BSSLAP_CAUSE_INCORR_SERV_CELL_ID |
BSSLAP_CAUSE_BSSAP_LE_SEGMENT_ERR |
BSSLAP_CAUSE_CONCUR_POS_PROC_NOT_EN |

## bsslap_iei

enum bsslap_iei

Enumerator
BSSLAP_IEI_TA |
BSSLAP_IEI_CELL_ID |
BSSLAP_IEI_CHAN_DESC |
BSSLAP_IEI_MEAS_REP |
BSSLAP_IEI_CAUSE |
BSSLAP_IEI_RRLP_FLAG |
BSSLAP_IEI_RRLP |
BSSLAP_IEI_CELL_ID_LIST |
BSSLAP_IEI_ENH_MEAS_REP |
BSSLAP_IEI_LAC |
BSSLAP_IEI_FREQ_LIST |
BSSLAP_IEI_MS_POWER |
BSSLAP_IEI_DELTA_TIMER |
BSSLAP_IEI_SERVING_CELL_ID |
BSSLAP_IEI_ENCR_KEY |
BSSLAP_IEI_CIPH_MODE_SET |
BSSLAP_IEI_CHAN_MODE |
BSSLAP_IEI_MR_CONFIG |
BSSLAP_IEI_POLLING_REPETITION |
BSSLAP_IEI_PACKET_CHAN_DESC |
BSSLAP_IEI_TLLI |
BSSLAP_IEI_TFI |
BSSLAP_IEI_TBF_START_TIME |
BSSLAP_IEI_PWRUP_START_TIME |
BSSLAP_IEI_LONG_ENCR_KEY |
BSSLAP_IEI_CONCUR_POS_PROC_F |

## bsslap_msgt

enum bsslap_msgt

Enumerator
BSSLAP_MSGT_TA_REQUEST |
BSSLAP_MSGT_TA_RESPONSE |
BSSLAP_MSGT_REJECT |
BSSLAP_MSGT_RESET |
BSSLAP_MSGT_ABORT |
BSSLAP_MSGT_TA_LAYER3 |
BSSLAP_MSGT_MS_POS_CMD |
BSSLAP_MSGT_MS_POS_RESP |
BSSLAP_MSGT_UTDOA_REQ |
BSSLAP_MSGT_UTDOA_RESP |

## Function Documentation

## osmo_bsslap_dec()

int osmo_bsslap_dec | ( | struct bsslap_pdu * | pdu,
|  | struct osmo_bsslap_err ** | err,
|  | void * | err_ctx,
|  | const uint8_t * | data,
|  | size_t | len )

Decode BSSLAP PDU (3GPP TS 48.071).

Parameters

  [out] | pdu | Write decoded values here.
  [out] | err | Returned pointer to error info, dynamically allocated; NULL to not return any.
  [in] | err_ctx | Talloc context to allocate err from, if required.
  [in] | data | Pointer to BSSLAP PDU raw data.
  [in] | len | Data length to decode.

Returns
  0 on success, negative on error.

References bsslap_pdu::abort, BSSLAP_IEI_CAUSE, BSSLAP_IEI_CELL_ID, BSSLAP_IEI_CHAN_DESC, BSSLAP_IEI_TA, BSSLAP_MSGT_ABORT, BSSLAP_MSGT_REJECT, BSSLAP_MSGT_RESET, BSSLAP_MSGT_TA_LAYER3, BSSLAP_MSGT_TA_REQUEST, BSSLAP_MSGT_TA_RESPONSE, bsslap_reset::cause, bsslap_reset::cell_id, bsslap_ta_response::cell_id, bsslap_reset::chan_desc, DEC_ERR, DEC_IE_MANDATORY, LCS_CAUSE_UNSPECIFIED, len, bsslap_pdu::msg_type, osmo_bsslap_ie_dec_cause(), osmo_bsslap_ie_dec_cell_id(), osmo_bsslap_ie_dec_chan_desc(), osmo_bsslap_ie_dec_ta(), osmo_bsslap_tlvdef, bsslap_pdu::reject, bsslap_pdu::reset, bsslap_reset::ta, bsslap_ta_layer3::ta, bsslap_ta_response::ta, bsslap_pdu::ta_layer3, bsslap_pdu::ta_response, and tlv_parse2().

Referenced by osmo_bssmap_le_ie_dec_apdu().

## osmo_bsslap_enc()

int osmo_bsslap_enc | ( | struct msgb * | msg,
|  | const struct bsslap_pdu * | pdu )

Encode BSSLAP PDU and append to msgb (3GPP TS 48.071).

Parameters

  [out] | msg | msgb to append to.
  [in] | pdu | PDU data to encode.

Returns
  number of bytes written, negative on error.

References bsslap_pdu::abort, BSSLAP_MSGT_ABORT, BSSLAP_MSGT_REJECT, BSSLAP_MSGT_RESET, BSSLAP_MSGT_TA_LAYER3, BSSLAP_MSGT_TA_REQUEST, BSSLAP_MSGT_TA_RESPONSE, bsslap_reset::cause, bsslap_reset::cell_id, bsslap_ta_response::cell_id, bsslap_reset::chan_desc, ENOTSUP, msg, bsslap_pdu::msg_type, osmo_bsslap_ie_enc_cause(), osmo_bsslap_ie_enc_cell_id(), osmo_bsslap_ie_enc_chan_desc(), osmo_bsslap_ie_enc_ta(), bsslap_pdu::reject, bsslap_pdu::reset, bsslap_reset::ta, bsslap_ta_layer3::ta, bsslap_ta_response::ta, bsslap_pdu::ta_layer3, and bsslap_pdu::ta_response.

Referenced by osmo_bssmap_le_ie_enc_apdu().

## osmo_bsslap_ie_dec_cause()

int osmo_bsslap_ie_dec_cause | ( | enum bsslap_cause * | cause,
|  | enum bsslap_msgt | msgt,
|  | enum bsslap_iei | iei,
|  | struct osmo_bsslap_err ** | err,
|  | void * | err_ctx,
|  | const uint8_t * | data,
|  | size_t | len )

static

References cause, DEC_ERR, iei, LCS_CAUSE_UNSPECIFIED, and len.

Referenced by osmo_bsslap_dec().

## osmo_bsslap_ie_dec_cell_id()

int osmo_bsslap_ie_dec_cell_id | ( | uint16_t * | cell_id,
|  | enum bsslap_msgt | msgt,
|  | enum bsslap_iei | iei,
|  | struct osmo_bsslap_err ** | err,
|  | void * | err_ctx,
|  | const uint8_t * | data,
|  | size_t | len )

static

References DEC_ERR, iei, LCS_CAUSE_UNSPECIFIED, and len.

Referenced by osmo_bsslap_dec().

## osmo_bsslap_ie_dec_chan_desc()

int osmo_bsslap_ie_dec_chan_desc | ( | struct gsm48_chan_desc * | chan_desc,
|  | enum bsslap_msgt | msgt,
|  | enum bsslap_iei | iei,
|  | struct osmo_bsslap_err ** | err,
|  | void * | err_ctx,
|  | const uint8_t * | data,
|  | size_t | len )

static

References chan_desc, DEC_ERR, iei, LCS_CAUSE_UNSPECIFIED, and len.

Referenced by osmo_bsslap_dec().

## osmo_bsslap_ie_dec_ta()

int osmo_bsslap_ie_dec_ta | ( | uint8_t * | ta,
|  | enum bsslap_msgt | msgt,
|  | enum bsslap_iei | iei,
|  | struct osmo_bsslap_err ** | err,
|  | void * | err_ctx,
|  | const uint8_t * | data,
|  | size_t | len )

static

References DEC_ERR, iei, LCS_CAUSE_UNSPECIFIED, len, and ta.

Referenced by osmo_bsslap_dec().

## osmo_bsslap_ie_enc_cause()

void osmo_bsslap_ie_enc_cause | ( | struct msgb * | msg,
|  | enum bsslap_cause | cause )

static

References BSSLAP_IEI_CAUSE, cause, and msg.

Referenced by osmo_bsslap_enc().

## osmo_bsslap_ie_enc_cell_id()

void osmo_bsslap_ie_enc_cell_id | ( | struct msgb * | msg,
|  | uint16_t | cell_id )

static

References BSSLAP_IEI_CELL_ID, and msg.

Referenced by osmo_bsslap_enc().

## osmo_bsslap_ie_enc_chan_desc()

void osmo_bsslap_ie_enc_chan_desc | ( | struct msgb * | msg,
|  | const struct gsm48_chan_desc * | chan_desc )

static

References BSSLAP_IEI_CHAN_DESC, chan_desc, and msg.

Referenced by osmo_bsslap_enc().

## osmo_bsslap_ie_enc_ta()

void osmo_bsslap_ie_enc_ta | ( | struct msgb * | msg,
|  | uint8_t | ta )

static

References BSSLAP_IEI_TA, msg, and ta.

Referenced by osmo_bsslap_enc().

## osmo_bsslap_iei_name()

const char * osmo_bsslap_iei_name | ( | enum bsslap_iei | val | ) |

inline static

References osmo_bsslap_iei_names.

## osmo_bsslap_msgt_name()

const char * osmo_bsslap_msgt_name | ( | enum bsslap_msgt | val | ) |

inline static

References osmo_bsslap_msgt_names.

Referenced by osmo_bssap_le_pdu_to_str_buf().

## Variable Documentation

## osmo_bsslap_iei_names [1/2]

const struct value_string osmo_bsslap_iei_names[]

extern

Referenced by osmo_bsslap_iei_name().

## osmo_bsslap_iei_names [2/2]

const struct value_string osmo_bsslap_iei_names[]

Initial value:
= {
{ BSSLAP_IEI_TA, "Timing Advance" },
{ BSSLAP_IEI_CELL_ID, "Cell Identity" },
{ BSSLAP_IEI_CHAN_DESC, "Channel Description" },
{ BSSLAP_IEI_MEAS_REP, "Measurement Report" },
{ BSSLAP_IEI_CAUSE, "Cause" },
{ BSSLAP_IEI_RRLP_FLAG, "RRLP Flag" },
{ BSSLAP_IEI_RRLP, "RRLP" },
{ BSSLAP_IEI_CELL_ID_LIST, "Cell Identity List" },
{ BSSLAP_IEI_ENH_MEAS_REP, "Enhanced Measurement Report" },
{ BSSLAP_IEI_LAC, "Location Area Code" },
{ BSSLAP_IEI_FREQ_LIST, "Frequency List" },
{ BSSLAP_IEI_MS_POWER, "MS Power" },
{ BSSLAP_IEI_DELTA_TIMER, "Delta Timer" },
{ BSSLAP_IEI_SERVING_CELL_ID, "Serving Cell Identifier" },
{ BSSLAP_IEI_ENCR_KEY, "Encryption Key" },
{ BSSLAP_IEI_CIPH_MODE_SET, "Cipher Mode Setting" },
{ BSSLAP_IEI_CHAN_MODE, "Channel Mode" },
{ BSSLAP_IEI_MR_CONFIG, "MultiRate Configuration" },
{ BSSLAP_IEI_POLLING_REPETITION, "Polling Repetition" },
{ BSSLAP_IEI_PACKET_CHAN_DESC, "Packet Channel Description" },
{ BSSLAP_IEI_TLLI, "TLLI" },
{ BSSLAP_IEI_TFI, "TFI" },
{ BSSLAP_IEI_TBF_START_TIME, "TBF Starting Time" },
{ BSSLAP_IEI_PWRUP_START_TIME, "Powerup Starting Time" },
{ BSSLAP_IEI_LONG_ENCR_KEY, "Long Encryption Key" },
{ BSSLAP_IEI_CONCUR_POS_PROC_F, "Concurrent Positioning Flag" },
{}
}
BSSLAP_IEI_TLLI
@ BSSLAP_IEI_TLLI
Definition gsm_48_071.h:76
BSSLAP_IEI_MEAS_REP
@ BSSLAP_IEI_MEAS_REP
Definition gsm_48_071.h:59
BSSLAP_IEI_MR_CONFIG
@ BSSLAP_IEI_MR_CONFIG
Definition gsm_48_071.h:73
BSSLAP_IEI_SERVING_CELL_ID
@ BSSLAP_IEI_SERVING_CELL_ID
Definition gsm_48_071.h:69
BSSLAP_IEI_TBF_START_TIME
@ BSSLAP_IEI_TBF_START_TIME
Definition gsm_48_071.h:78
BSSLAP_IEI_DELTA_TIMER
@ BSSLAP_IEI_DELTA_TIMER
Definition gsm_48_071.h:68
BSSLAP_IEI_PWRUP_START_TIME
@ BSSLAP_IEI_PWRUP_START_TIME
Definition gsm_48_071.h:79
BSSLAP_IEI_TFI
@ BSSLAP_IEI_TFI
Definition gsm_48_071.h:77
BSSLAP_IEI_ENCR_KEY
@ BSSLAP_IEI_ENCR_KEY
Definition gsm_48_071.h:70
BSSLAP_IEI_PACKET_CHAN_DESC
@ BSSLAP_IEI_PACKET_CHAN_DESC
Definition gsm_48_071.h:75
BSSLAP_IEI_CELL_ID
@ BSSLAP_IEI_CELL_ID
Definition gsm_48_071.h:57
BSSLAP_IEI_POLLING_REPETITION
@ BSSLAP_IEI_POLLING_REPETITION
Definition gsm_48_071.h:74
BSSLAP_IEI_CHAN_MODE
@ BSSLAP_IEI_CHAN_MODE
Definition gsm_48_071.h:72
BSSLAP_IEI_RRLP
@ BSSLAP_IEI_RRLP
Definition gsm_48_071.h:62
BSSLAP_IEI_LONG_ENCR_KEY
@ BSSLAP_IEI_LONG_ENCR_KEY
Definition gsm_48_071.h:80
BSSLAP_IEI_CAUSE
@ BSSLAP_IEI_CAUSE
Definition gsm_48_071.h:60
BSSLAP_IEI_TA
@ BSSLAP_IEI_TA
Definition gsm_48_071.h:56
BSSLAP_IEI_CELL_ID_LIST
@ BSSLAP_IEI_CELL_ID_LIST
Definition gsm_48_071.h:63
BSSLAP_IEI_MS_POWER
@ BSSLAP_IEI_MS_POWER
Definition gsm_48_071.h:67
BSSLAP_IEI_RRLP_FLAG
@ BSSLAP_IEI_RRLP_FLAG
Definition gsm_48_071.h:61
BSSLAP_IEI_LAC
@ BSSLAP_IEI_LAC
Definition gsm_48_071.h:65
BSSLAP_IEI_ENH_MEAS_REP
@ BSSLAP_IEI_ENH_MEAS_REP
Definition gsm_48_071.h:64
BSSLAP_IEI_FREQ_LIST
@ BSSLAP_IEI_FREQ_LIST
Definition gsm_48_071.h:66
BSSLAP_IEI_CIPH_MODE_SET
@ BSSLAP_IEI_CIPH_MODE_SET
Definition gsm_48_071.h:71
BSSLAP_IEI_CHAN_DESC
@ BSSLAP_IEI_CHAN_DESC
Definition gsm_48_071.h:58
BSSLAP_IEI_CONCUR_POS_PROC_F
@ BSSLAP_IEI_CONCUR_POS_PROC_F
Definition gsm_48_071.h:81

Referenced by osmo_bsslap_iei_name().

## osmo_bsslap_msgt_names [1/2]

const struct value_string osmo_bsslap_msgt_names[]

extern

Referenced by osmo_bsslap_msgt_name().

## osmo_bsslap_msgt_names [2/2]

const struct value_string osmo_bsslap_msgt_names[]

Initial value:
= {
{ BSSLAP_MSGT_TA_REQUEST, "TA Request" },
{ BSSLAP_MSGT_TA_RESPONSE, "TA Response" },
{ BSSLAP_MSGT_REJECT, "Reject" },
{ BSSLAP_MSGT_RESET, "Reset" },
{ BSSLAP_MSGT_ABORT, "Abort" },
{ BSSLAP_MSGT_TA_LAYER3, "TA Layer3" },
{ BSSLAP_MSGT_MS_POS_CMD, "MS Position Command" },
{ BSSLAP_MSGT_MS_POS_RESP, "MS Position Response" },
{ BSSLAP_MSGT_UTDOA_REQ, "U-TDOA Request" },
{ BSSLAP_MSGT_UTDOA_RESP, "U-TDOA Response" },
{}
}
BSSLAP_MSGT_TA_LAYER3
@ BSSLAP_MSGT_TA_LAYER3
Definition gsm_48_071.h:34
BSSLAP_MSGT_MS_POS_RESP
@ BSSLAP_MSGT_MS_POS_RESP
Definition gsm_48_071.h:36
BSSLAP_MSGT_RESET
@ BSSLAP_MSGT_RESET
Definition gsm_48_071.h:32
BSSLAP_MSGT_TA_RESPONSE
@ BSSLAP_MSGT_TA_RESPONSE
Definition gsm_48_071.h:30
BSSLAP_MSGT_ABORT
@ BSSLAP_MSGT_ABORT
Definition gsm_48_071.h:33
BSSLAP_MSGT_TA_REQUEST
@ BSSLAP_MSGT_TA_REQUEST
Definition gsm_48_071.h:29
BSSLAP_MSGT_MS_POS_CMD
@ BSSLAP_MSGT_MS_POS_CMD
Definition gsm_48_071.h:35
BSSLAP_MSGT_UTDOA_RESP
@ BSSLAP_MSGT_UTDOA_RESP
Definition gsm_48_071.h:38
BSSLAP_MSGT_UTDOA_REQ
@ BSSLAP_MSGT_UTDOA_REQ
Definition gsm_48_071.h:37
BSSLAP_MSGT_REJECT
@ BSSLAP_MSGT_REJECT
Definition gsm_48_071.h:31

Referenced by osmo_bsslap_msgt_name().

## osmo_bsslap_tlvdef

const struct tlv_definition osmo_bsslap_tlvdef

static

Initial value:
= {
.def = {
[BSSLAP_IEI_TA] = { TLV_TYPE_TV },
[BSSLAP_IEI_CELL_ID] = { TLV_TYPE_FIXED, 2 },
[BSSLAP_IEI_CHAN_DESC] = { TLV_TYPE_FIXED, 3 },
[BSSLAP_IEI_MEAS_REP] = { TLV_TYPE_TLV },
[BSSLAP_IEI_CAUSE] = { TLV_TYPE_TV },
[BSSLAP_IEI_RRLP_FLAG] = { TLV_TYPE_TV },
[BSSLAP_IEI_RRLP] = { TLV_TYPE_TLV },
[BSSLAP_IEI_CELL_ID_LIST] = { TLV_TYPE_TLV },
[BSSLAP_IEI_ENH_MEAS_REP] = { TLV_TYPE_TLV },
[BSSLAP_IEI_LAC] = { TLV_TYPE_TLV },
[BSSLAP_IEI_FREQ_LIST] = { TLV_TYPE_TLV },
[BSSLAP_IEI_MS_POWER] = { TLV_TYPE_TV },
[BSSLAP_IEI_DELTA_TIMER] = { TLV_TYPE_TV },
[BSSLAP_IEI_SERVING_CELL_ID] = { TLV_TYPE_TLV },
[BSSLAP_IEI_ENCR_KEY] = { TLV_TYPE_FIXED, 8 },
[BSSLAP_IEI_CIPH_MODE_SET] = { TLV_TYPE_TV },
[BSSLAP_IEI_CHAN_MODE] = { TLV_TYPE_TV, 2 },
[BSSLAP_IEI_MR_CONFIG] = { TLV_TYPE_TLV },
[BSSLAP_IEI_POLLING_REPETITION] = { TLV_TYPE_TV },
[BSSLAP_IEI_PACKET_CHAN_DESC] = { TLV_TYPE_FIXED, 4 },
[BSSLAP_IEI_TLLI] = { TLV_TYPE_FIXED, 4 },
[BSSLAP_IEI_TFI] = { TLV_TYPE_TLV },
[BSSLAP_IEI_TBF_START_TIME] = { TLV_TYPE_FIXED, 2 },
[BSSLAP_IEI_PWRUP_START_TIME] = { TLV_TYPE_TLV },
[BSSLAP_IEI_LONG_ENCR_KEY] = { TLV_TYPE_FIXED, 16 },
[BSSLAP_IEI_CONCUR_POS_PROC_F] = { TLV_TYPE_TV },
},
}
TLV_TYPE_TLV
@ TLV_TYPE_TLV
tag-length-value
Definition tlv.h:513
TLV_TYPE_TV
@ TLV_TYPE_TV
tag-value (8bit)
Definition tlv.h:512
TLV_TYPE_FIXED
@ TLV_TYPE_FIXED
fixed-length value-only
Definition tlv.h:510

Referenced by osmo_bsslap_dec().