libosmogsm  0.9.6.277-11f2
Osmocom GSM library
 All Data Structures Files Functions Variables Enumerations Enumerator Modules Pages
Gsup

Osmocom Generic Subscriber Update Protocol. More...

Functions

static int decode_pdp_info (uint8_t *data, size_t data_len, struct osmo_gsup_pdp_info *pdp_info)
 
static int decode_auth_info (uint8_t *data, size_t data_len, struct osmo_auth_vector *auth_vector)
 
int osmo_gsup_decode (const uint8_t *const_data, size_t data_len, struct osmo_gsup_message *gsup_msg)
 
static void encode_pdp_info (struct msgb *msg, enum osmo_gsup_iei iei, const struct osmo_gsup_pdp_info *pdp_info)
 
static void encode_auth_info (struct msgb *msg, enum osmo_gsup_iei iei, const struct osmo_auth_vector *auth_vector)
 
void osmo_gsup_encode (struct msgb *msg, const struct osmo_gsup_message *gsup_msg)
 

Variables

const struct value_string osmo_gsup_message_type_names []
 

Detailed Description

Osmocom Generic Subscriber Update Protocol.

Function Documentation

int osmo_gsup_decode ( const uint8_t *  const_data,
size_t  data_len,
struct osmo_gsup_message gsup_msg 
)

Decode (parse) a GSUP message

Parameters
[in]const_datainput data to be parsed
[in]data_lenlength of input (const_data)
[out]gsup_msgcallee-allocated output data structure
Returns
0 on success; negative otherwise

References gsm48_decode_bcd_number(), osmo_match_shift_tlv(), osmo_shift_tlv(), and osmo_shift_v_fixed().

void osmo_gsup_encode ( struct msgb *  msg,
const struct osmo_gsup_message gsup_msg 
)

Encode a GSUP message

Parameters
[out]msgmessage buffer to which encoded message is written
[in]gsup_msgosmo_gsup_message data to be encoded

References gsm48_encode_bcd_number(), msgb_tlv_put(), and msgb_v_put().

Variable Documentation

const struct value_string osmo_gsup_message_type_names[]
Initial value:
= {
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_AUTH_FAIL_REPORT),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_PURGE_MS_REQUEST),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_PURGE_MS_ERROR),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_PURGE_MS_RESULT),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_INSERT_DATA_REQUEST),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_INSERT_DATA_ERROR),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_INSERT_DATA_RESULT),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_DELETE_DATA_REQUEST),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_DELETE_DATA_ERROR),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_DELETE_DATA_RESULT),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_LOCATION_CANCEL_REQUEST),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_LOCATION_CANCEL_ERROR),
OSMO_VALUE_STRING(OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT),
{ 0, NULL }
}