libosmogsm  0.10.2
Osmocom GSM library
gsm0480.c File Reference

Format functions for GSM 04.80. More...

#include <osmocom/gsm/gsm0480.h>
#include <osmocom/gsm/gsm_utils.h>
#include <osmocom/core/logging.h>
#include <osmocom/gsm/protocol/gsm_04_08.h>
#include <osmocom/gsm/protocol/gsm_04_80.h>
#include <string.h>

Functions

static unsigned char * msgb_wrap_with_TL (struct msgb *msgb, uint8_t tag)
 
static unsigned char * msgb_push_TLV1 (struct msgb *msgb, uint8_t tag, uint8_t value)
 
int gsm0480_wrap_invoke (struct msgb *msg, int op, int link_id)
 
int gsm0480_wrap_facility (struct msgb *msg)
 
struct msgb * gsm0480_create_unstructuredSS_Notify (int alertPattern, const char *text)
 
struct msgb * gsm0480_create_notifySS (const char *text)
 
static int parse_ss (const struct gsm48_hdr *hdr, uint16_t len, struct ss_request *req)
 
static int parse_ss_info_elements (const uint8_t *ussd_ie, uint16_t len, struct ss_request *req)
 
static int parse_facility_ie (const uint8_t *facility_ie, uint16_t length, struct ss_request *req)
 
static int parse_ss_invoke (const uint8_t *invoke_data, uint16_t length, struct ss_request *req)
 
static int parse_process_uss_req (const uint8_t *uss_req_data, uint16_t length, struct ss_request *req)
 
static int parse_ss_for_bs_req (const uint8_t *ss_req_data, uint16_t length, struct ss_request *req)
 
int gsm0480_decode_ussd_request (const struct gsm48_hdr *hdr, uint16_t len, struct ussd_request *req)
 
int gsm0480_decode_ss_request (const struct gsm48_hdr *hdr, uint16_t len, struct ss_request *req)
 
struct msgb * gsm0480_create_ussd_resp (uint8_t invoke_id, uint8_t trans_id, const char *text)
 
struct gsm48_hdrgsm0480_l3hdr_push (struct msgb *msg, uint8_t proto_discr, uint8_t msg_type)
 
struct msgb * gsm0480_create_ussd_notify (int level, const char *text)
 
struct msgb * gsm0480_create_ussd_release_complete (void)
 

Detailed Description

Format functions for GSM 04.80.

Function Documentation

◆ gsm0480_create_notifySS()

◆ gsm0480_create_unstructuredSS_Notify()

struct msgb* gsm0480_create_unstructuredSS_Notify ( int  alertPattern,
const char *  text 
)

◆ gsm0480_create_ussd_notify()

◆ gsm0480_create_ussd_release_complete()

struct msgb* gsm0480_create_ussd_release_complete ( void  )

◆ gsm0480_create_ussd_resp()

◆ gsm0480_decode_ss_request()

int gsm0480_decode_ss_request ( const struct gsm48_hdr hdr,
uint16_t  len,
struct ss_request req 
)

◆ gsm0480_decode_ussd_request()

◆ gsm0480_l3hdr_push()

struct gsm48_hdr* gsm0480_l3hdr_push ( struct msgb *  msg,
uint8_t  proto_discr,
uint8_t  msg_type 
)

◆ gsm0480_wrap_facility()

int gsm0480_wrap_facility ( struct msgb *  msg)

◆ gsm0480_wrap_invoke()

int gsm0480_wrap_invoke ( struct msgb *  msg,
int  op,
int  link_id 
)

◆ msgb_push_TLV1()

static unsigned char* msgb_push_TLV1 ( struct msgb *  msgb,
uint8_t  tag,
uint8_t  value 
)
inlinestatic

References data.

Referenced by gsm0480_create_ussd_resp(), and gsm0480_wrap_invoke().

◆ msgb_wrap_with_TL()

static unsigned char* msgb_wrap_with_TL ( struct msgb *  msgb,
uint8_t  tag 
)
inlinestatic

◆ parse_facility_ie()

static int parse_facility_ie ( const uint8_t *  facility_ie,
uint16_t  length,
struct ss_request req 
)
static

◆ parse_process_uss_req()

static int parse_process_uss_req ( const uint8_t *  uss_req_data,
uint16_t  length,
struct ss_request req 
)
static

◆ parse_ss()

◆ parse_ss_for_bs_req()

static int parse_ss_for_bs_req ( const uint8_t *  ss_req_data,
uint16_t  length,
struct ss_request req 
)
static

◆ parse_ss_info_elements()

static int parse_ss_info_elements ( const uint8_t *  ussd_ie,
uint16_t  len,
struct ss_request req 
)
static

◆ parse_ss_invoke()