libosmogsm 1.10.0.57-8972
Osmocom GSM library
|
Files | |
file | gsm0341.h |
file | gsm0411_smc.h |
file | gsm0411_smr.h |
file | gsm0411_utils.h |
file | gsm0341.c |
file | gsm0411_smc.c |
Point-to-Point (PP) Short Message Service (SMS) as per TS 04.11. | |
file | gsm0411_smr.c |
file | gsm0411_utils.c |
Data Structures | |
struct | gsm411_smc_inst |
struct | gsm411_smr_inst |
struct | smcdownstate |
struct | smcdatastate |
struct | smrdownstate |
struct | smrdatastate |
Functions | |
struct gsm341_ms_message * | gsm0341_build_msg (void *ctx, uint8_t geo_scope, uint8_t msg_code, uint8_t update, uint16_t msg_id, uint8_t dcs, uint8_t page_total, uint8_t page_cur, uint8_t *data, uint8_t len) |
Encode a 3GPP TS 03.41 SMS-CB message. More... | |
void | gsm411_smc_init (struct gsm411_smc_inst *inst, uint64_t id, int network, int(*mn_recv)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg), int(*mm_send)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg, int cp_msg_type)) |
void | gsm411_smc_clear (struct gsm411_smc_inst *inst) |
int | gsm411_smc_send (struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg) |
int | gsm411_smc_recv (struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg, int cp_msg_type) |
static const char * | gsm411_cp_state_name (enum gsm411_cp_state cp_state) |
void | gsm411_smr_init (struct gsm411_smr_inst *inst, uint64_t id, int network, int(*rl_recv)(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg), int(*mn_send)(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg)) |
void | gsm411_smr_clear (struct gsm411_smr_inst *inst) |
int | gsm411_smr_send (struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg) |
int | gsm411_smr_recv (struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg) |
static const char * | gsm411_rp_state_name (enum gsm411_rp_state rp_state) |
uint8_t | gsm411_bcdify (uint8_t value) |
Turn int into semi-octet representation: 98 => 0x89. More... | |
uint8_t | gsm411_unbcdify (uint8_t value) |
Turn semi-octet representation into int: 0x89 => 98. More... | |
struct msgb * | gsm411_msgb_alloc (void) |
Allocate a message buffer for use as TS 04.11 message. More... | |
void | gsm340_gen_scts (uint8_t *scts, time_t time) |
Generate 03.40 TP-SCTS. More... | |
time_t | gsm340_scts (uint8_t *scts) |
Decode 03.40 TP-SCTS (into utc/gmt timestamp) More... | |
unsigned long | gsm340_validity_period (uint8_t sms_vpf, uint8_t *sms_vp) |
decode validity period. More... | |
enum sms_alphabet | gsm338_get_sms_alphabet (uint8_t dcs) |
determine coding alphabet dependent on GSM 03.38 Section 4 DCS More... | |
int | gsm340_gen_oa (uint8_t *oa, unsigned int oa_len, uint8_t type, uint8_t plan, const char *number) |
generate a TPDU address field compliant with 03.40 sec. More... | |
int | gsm411_push_rp_header (struct msgb *msg, uint8_t rp_msg_type, uint8_t rp_msg_ref) |
Prefix Message buffers with a RP header. More... | |
int | gsm411_push_cp_header (struct msgb *msg, uint8_t proto, uint8_t trans, uint8_t msg_type) |
Prefix Message buffers with a 04.08/04.11 CP header. More... | |
static void | cp_timer_expired (void *data) |
static void | new_cp_state (struct gsm411_smc_inst *inst, enum gsm411_cp_state state) |
static int | gsm411_tx_cp_error (struct gsm411_smc_inst *inst, uint8_t cause) |
static int | gsm411_mnsms_est_req (struct gsm411_smc_inst *inst, struct msgb *msg) |
static int | gsm411_mmsms_send_msg (struct gsm411_smc_inst *inst) |
static int | gsm411_mmsms_est_cnf (struct gsm411_smc_inst *inst, struct msgb *msg) |
static int | gsm411_mmsms_cp_ack (struct gsm411_smc_inst *inst, struct msgb *msg) |
static int | gsm411_mmsms_cp_data (struct gsm411_smc_inst *inst, struct msgb *msg) |
static int | gsm411_mnsms_data_req (struct gsm411_smc_inst *inst, struct msgb *msg) |
static int | gsm411_mnsms_rel_req (struct gsm411_smc_inst *inst, struct msgb *msg) |
static int | gsm411_mmsms_cp_error (struct gsm411_smc_inst *inst, struct msgb *msg) |
static int | gsm411_mmsms_rel_ind (struct gsm411_smc_inst *inst, struct msgb *msg) |
static int | gsm411_mnsms_abort_req (struct gsm411_smc_inst *inst, struct msgb *msg) |
static void | rp_timer_expired (void *data) |
static void | new_rp_state (struct gsm411_smr_inst *inst, enum gsm411_rp_state state) |
static int | gsm411_rp_sendmsg (struct gsm411_smr_inst *inst, struct msgb *msg, uint8_t rp_msg_type, uint8_t rp_msg_ref, int mnsms_msg_type) |
static int | gsm411_send_rp_error (struct gsm411_smr_inst *inst, uint8_t msg_ref, uint8_t cause) |
static int | gsm411_send_release (struct gsm411_smr_inst *inst) |
static int | gsm411_send_abort (struct gsm411_smr_inst *inst) |
static int | gsm411_send_report (struct gsm411_smr_inst *inst) |
static int | gsm411_rl_data_req (struct gsm411_smr_inst *inst, struct msgb *msg) |
static int | gsm411_rl_report_req (struct gsm411_smr_inst *inst, struct msgb *msg) |
static int | gsm411_mnsms_est_ind (struct gsm411_smr_inst *inst, struct msgb *msg) |
static int | gsm411_mnsms_data_ind_tx (struct gsm411_smr_inst *inst, struct msgb *msg) |
static int | gsm411_mnsms_error_ind_tx (struct gsm411_smr_inst *inst, struct msgb *msg) |
static int | gsm411_mnsms_error_ind_rx (struct gsm411_smr_inst *inst, struct msgb *msg) |
static unsigned long | gsm340_vp_default (void) |
static unsigned long | gsm340_vp_relative (uint8_t *sms_vp) |
static unsigned long | gsm340_vp_absolute (uint8_t *sms_vp) |
static unsigned long | gsm340_vp_relative_integer (uint8_t *sms_vp) |
static unsigned long | gsm340_vp_relative_semioctet (uint8_t *sms_vp) |
Variables | |
const struct value_string | gsm411_cp_cause_strs [] |
const struct value_string | gsm411_cp_state_names [] |
const struct value_string | gsm411_rp_cause_strs [] |
const struct value_string | gsm411_rp_state_names [] |
const char * | smc_state_names [] |
const struct value_string | gsm411_cp_cause_strs [] |
static const struct smcdownstate | smcdownstatelist [] |
static const struct smcdatastate | smcdatastatelist [] |
const struct value_string | gsm411_cp_state_names [] |
static const char * | smr_state_names [] |
const struct value_string | gsm411_rp_cause_strs [] |
static const struct smrdownstate | smrdownstatelist [] |
static const struct smrdatastate | smrdatastatelist [] |
const struct value_string | gsm411_rp_state_names [] |
#define GSM411_ALLOC_HEADROOM 128 |
#define GSM411_ALLOC_SIZE 1024 |
#define GSM411_MMSMS_DATA_IND 0x332 |
#define GSM411_MMSMS_DATA_REQ 0x330 |
#define GSM411_MMSMS_ERR_IND 0x372 |
#define GSM411_MMSMS_EST_CNF 0x311 |
#define GSM411_MMSMS_EST_IND 0x312 |
#define GSM411_MMSMS_EST_REQ 0x310 |
#define GSM411_MMSMS_REL_IND 0x322 |
#define GSM411_MMSMS_REL_REQ 0x320 |
#define GSM411_MMSMS_UNIT_DATA_IND 0x342 |
#define GSM411_MMSMS_UNIT_DATA_REQ 0x340 |
#define GSM411_MNSMS_ABORT_REQ 0x101 |
#define GSM411_MNSMS_DATA_IND 0x103 |
#define GSM411_MNSMS_DATA_REQ 0x102 |
#define GSM411_MNSMS_ERROR_IND 0x106 |
#define GSM411_MNSMS_EST_IND 0x105 |
#define GSM411_MNSMS_EST_REQ 0x104 |
#define GSM411_MNSMS_REL_REQ 0x107 |
#define GSM411_SM_RL_DATA_IND 0x402 |
#define GSM411_SM_RL_DATA_REQ 0x401 |
#define GSM411_SM_RL_MEM_AVAIL_IND 0x404 |
#define GSM411_SM_RL_MEM_AVAIL_REQ 0x403 |
#define GSM411_SM_RL_REPORT_IND 0x406 |
#define GSM411_SM_RL_REPORT_REQ 0x405 |
#define MAX_SMS_RETRY 2 |
#define SMC_LOG_STR "SMC(%" PRIu64 ") " |
#define SMCDATASLLEN (sizeof(smcdatastatelist) / sizeof(struct smcdatastate)) |
#define SMCDOWNSLLEN (sizeof(smcdownstatelist) / sizeof(struct smcdownstate)) |
#define SMRDATASLLEN (sizeof(smrdatastatelist) / sizeof(struct smrdatastate)) |
#define SMRDOWNSLLEN (sizeof(smrdownstatelist) / sizeof(struct smrdownstate)) |
|
static |
References gsm411_smc_inst::cp_max_retr, gsm411_smc_inst::cp_msg, gsm411_smc_inst::cp_retx, data, DLSMS, GSM411_CPS_IDLE, gsm411_mmsms_est_cnf(), GSM411_MMSMS_REL_REQ, GSM411_MNSMS_ERROR_IND, gsm411_msgb_alloc(), gsm411_smc_inst::id, LOGL_INFO, LOGP, gsm411_smc_inst::mm_send, gsm411_smc_inst::mn_recv, msgb_free(), new_cp_state(), and SMC_LOG_STR.
Referenced by gsm411_mmsms_send_msg().
struct gsm341_ms_message * gsm0341_build_msg | ( | void * | ctx, |
uint8_t | geo_scope, | ||
uint8_t | msg_code, | ||
uint8_t | update, | ||
uint16_t | msg_id, | ||
uint8_t | dcs, | ||
uint8_t | page_total, | ||
uint8_t | page_cur, | ||
uint8_t * | data, | ||
uint8_t | len | ||
) |
Encode a 3GPP TS 03.41 SMS-CB message.
[in] | ctx | talloc allocation context |
[in] | geo_scope | Geographic Scope |
[in] | msg_code | Message Code |
[in] | update | Is this an update? |
[in] | msg_id | Message ID |
[in] | dcs | Data Coding Scheme |
[in] | page_total | Total number of pages |
[in] | page_cur | Current Page (up to page_total) |
[in] | data | Message data (copied 1:1) |
[in] | len | Length of data in bytes (up to 88) |
References data, gsm341_ms_message::data, dcs, gsm341_ms_message::dcs, len, msg_id, gsm341_ms_message::msg_id, osmo_htons, gsm341_ms_message::page, and gsm341_ms_message::serial.
enum sms_alphabet gsm338_get_sms_alphabet | ( | uint8_t | dcs | ) |
determine coding alphabet dependent on GSM 03.38 Section 4 DCS
[in] | dcs | Data Coding Scheme in 03.38 encoding |
References dcs, DCS_7BIT_DEFAULT, DCS_8BIT_DATA, DCS_NONE, DCS_UCS2, DLSMS, LOGL_NOTICE, and LOGP.
int gsm340_gen_oa | ( | uint8_t * | oa, |
unsigned int | oa_len, | ||
uint8_t | type, | ||
uint8_t | plan, | ||
const char * | number | ||
) |
generate a TPDU address field compliant with 03.40 sec.
9.1.2.5
[out] | oa | caller-provided output buffer |
[in] | oa_len | caller-specified length of oa in bytes |
[in] | type | GSM340_TYPE_* |
[in] | plan | Numbering Plan |
[in] | number | string containing number |
References GSM340_TYPE_ALPHA_NUMERIC, gsm48_encode_bcd_number(), gsm_7bit_encode_n(), and type.
void gsm340_gen_scts | ( | uint8_t * | scts, |
time_t | time | ||
) |
Generate 03.40 TP-SCTS.
[out] | scts | Caller-provided buffer to store SCTS (7 octets) |
[in] | time | to encode |
References gsm411_bcdify(), and time.
time_t gsm340_scts | ( | uint8_t * | scts | ) |
Decode 03.40 TP-SCTS (into utc/gmt timestamp)
[in] | scts | SMS Center Time Stamp |
References gsm411_unbcdify().
Referenced by gsm340_vp_absolute().
unsigned long gsm340_validity_period | ( | uint8_t | sms_vpf, |
uint8_t * | sms_vp | ||
) |
decode validity period.
return minutes
[in] | sms_vpf | Validity Period Format in 03.40 encoding |
[in] | sms_vp | Validity Period Information Element |
References DLSMS, GSM340_TP_VPF_ABSOLUTE, GSM340_TP_VPF_ENHANCED, GSM340_TP_VPF_NONE, GSM340_TP_VPF_RELATIVE, gsm340_vp_absolute(), gsm340_vp_default(), gsm340_vp_relative(), gsm340_vp_relative_integer(), gsm340_vp_relative_semioctet(), LOGL_ERROR, and LOGP.
|
static |
References gsm340_scts(), and time.
Referenced by gsm340_validity_period().
|
static |
Referenced by gsm340_validity_period(), and gsm340_vp_relative_integer().
|
static |
Referenced by gsm340_validity_period().
|
static |
References DLSMS, gsm340_vp_default(), LOGL_ERROR, and LOGP.
Referenced by gsm340_validity_period().
|
static |
References gsm411_unbcdify().
Referenced by gsm340_validity_period().
uint8_t gsm411_bcdify | ( | uint8_t | value | ) |
Turn int into semi-octet representation: 98 => 0x89.
[in] | integer | value representing decimal number 0..99 |
Referenced by gsm340_gen_scts().
|
inlinestatic |
References get_value_string(), and gsm411_cp_state_names.
|
static |
References gsm411_smc_inst::cp_msg, gsm411_smc_inst::cp_rel, gsm411_smc_inst::cp_timer, DLSMS, GSM411_CPS_IDLE, GSM411_CPS_MM_ESTABLISHED, GSM411_MMSMS_REL_REQ, gsm411_msgb_alloc(), gsm411_smc_inst::id, LOGL_INFO, LOGP, gsm411_smc_inst::mm_send, msgb_free(), new_cp_state(), osmo_timer_del(), and SMC_LOG_STR.
|
static |
References gsm411_smc_inst::cp_rel, gsm411_smc_inst::cp_state, DLSMS, GSM411_CPS_IDLE, GSM411_CPS_MM_ESTABLISHED, GSM411_MMSMS_DATA_REQ, GSM411_MNSMS_DATA_IND, GSM411_MNSMS_EST_IND, gsm411_msgb_alloc(), GSM411_MT_CP_ACK, gsm411_smc_inst::id, LOGL_INFO, LOGP, gsm411_smc_inst::mm_send, gsm411_smc_inst::mn_recv, msg, new_cp_state(), and SMC_LOG_STR.
|
static |
|
static |
References gsm411_smc_inst::cp_msg, DLSMS, gsm411_mmsms_send_msg(), gsm411_smc_inst::id, LOGL_FATAL, LOGP, and SMC_LOG_STR.
Referenced by cp_timer_expired().
|
static |
|
static |
References gsm411_smc_inst::cp_msg, gsm411_smc_inst::cp_retx, gsm411_smc_inst::cp_state, gsm411_smc_inst::cp_tc1, gsm411_smc_inst::cp_timer, cp_timer_expired(), msgb::data, DLSMS, GSM411_CPS_WAIT_CP_ACK, GSM411_MMSMS_DATA_REQ, gsm411_msgb_alloc(), GSM411_MT_CP_DATA, gsm411_smc_inst::id, msgb::len, LOGL_INFO, LOGP, gsm411_smc_inst::mm_send, msgb_put(), new_cp_state(), osmo_timer_schedule(), osmo_timer_setup(), and SMC_LOG_STR.
Referenced by gsm411_mmsms_est_cnf(), and gsm411_mnsms_data_req().
|
static |
|
static |
References gsm48_hdr::data, DLSMS, GSM411_MT_RP_ACK_MO, GSM411_MT_RP_ACK_MT, GSM411_MT_RP_ERROR_MO, GSM411_MT_RP_ERROR_MT, GSM411_RP_CAUSE_MSG_INCOMP_STATE, GSM411_RP_CAUSE_MSGTYPE_NOTEXIST, GSM411_RPS_IDLE, gsm411_send_release(), gsm411_send_rp_error(), GSM411_SM_RL_REPORT_IND, gsm411_smr_inst::id, LOGL_DEBUG, LOGL_NOTICE, LOGP, msg, msg_type, gsm411_smr_inst::network, new_rp_state(), gsm411_smr_inst::rl_recv, and SMR_LOG_STR.
|
static |
References gsm411_smc_inst::cp_msg, DLSMS, gsm411_mmsms_send_msg(), gsm411_smc_inst::id, LOGL_FATAL, LOGP, msg, msgb_free(), and SMC_LOG_STR.
|
static |
References DLSMS, GSM411_RPS_IDLE, GSM411_SM_RL_REPORT_IND, gsm411_smr_inst::id, LOGL_DEBUG, LOGP, msg, new_rp_state(), gsm411_smr_inst::rl_recv, and SMR_LOG_STR.
|
static |
|
static |
References gsm48_hdr::data, DLSMS, GSM411_MT_RP_DATA_MO, GSM411_MT_RP_DATA_MT, GSM411_MT_RP_SMMA_MO, GSM411_RP_CAUSE_MSG_INCOMP_STATE, GSM411_RP_CAUSE_MSGTYPE_NOTEXIST, GSM411_RPS_IDLE, GSM411_RPS_WAIT_TO_TX_RP_ACK, gsm411_send_release(), gsm411_send_rp_error(), GSM411_SM_RL_DATA_IND, GSM411_TMR_TR2M, gsm411_smr_inst::id, LOGL_DEBUG, LOGL_NOTICE, LOGP, msg, msg_type, gsm411_smr_inst::network, new_rp_state(), osmo_timer_schedule(), gsm411_smr_inst::rl_recv, gsm411_smr_inst::rp_timer, and SMR_LOG_STR.
|
static |
|
static |
References gsm411_smc_inst::cp_msg, gsm411_smc_inst::cp_rel, gsm411_smc_inst::cp_state, DLSMS, GSM411_CPS_IDLE, GSM411_CPS_MM_ESTABLISHED, GSM411_MMSMS_REL_REQ, gsm411_msgb_alloc(), gsm411_smc_inst::id, LOGL_NOTICE, LOGP, gsm411_smc_inst::mm_send, msg, msgb_free(), new_cp_state(), SMC_LOG_STR, and smc_state_names.
struct msgb * gsm411_msgb_alloc | ( | void | ) |
Allocate a message buffer for use as TS 04.11 message.
References GSM411_ALLOC_HEADROOM, GSM411_ALLOC_SIZE, and msgb_alloc_headroom().
Referenced by cp_timer_expired(), gsm411_mmsms_cp_ack(), gsm411_mmsms_cp_data(), gsm411_mmsms_cp_error(), gsm411_mmsms_rel_ind(), gsm411_mmsms_send_msg(), gsm411_mnsms_abort_req(), gsm411_mnsms_est_req(), gsm411_mnsms_rel_req(), gsm411_send_abort(), gsm411_send_release(), gsm411_send_report(), gsm411_send_rp_error(), gsm411_smc_recv(), and gsm411_tx_cp_error().
int gsm411_push_cp_header | ( | struct msgb * | msg, |
uint8_t | proto, | ||
uint8_t | trans, | ||
uint8_t | msg_type | ||
) |
Prefix Message buffers with a 04.08/04.11 CP header.
msg | Message Buffer containing message | |
[in] | proto | Protocol |
[in] | trans | Transaction |
[in] | msg_type | Message Type |
References gsm48_push_l3hdr_tid, msg, msg_type, and proto.
int gsm411_push_rp_header | ( | struct msgb * | msg, |
uint8_t | rp_msg_type, | ||
uint8_t | rp_msg_ref | ||
) |
Prefix Message buffers with a RP header.
msg | Message Buffer containing message | |
[in] | rp_msg_type | RP Message Type |
[in] | rp_msg_ref | RP Message Reference |
References len, gsm411_rp_hdr::len, msg, gsm411_rp_hdr::msg_ref, gsm411_rp_hdr::msg_type, and msgb_push().
|
static |
|
static |
|
static |
References len, gsm411_rp_hdr::len, gsm411_smr_inst::mn_send, msg, gsm411_rp_hdr::msg_ref, gsm411_rp_hdr::msg_type, and msgb_push().
Referenced by gsm411_send_rp_error().
|
inlinestatic |
References get_value_string(), and gsm411_rp_state_names.
|
static |
References DLSMS, GSM411_MNSMS_ABORT_REQ, gsm411_msgb_alloc(), gsm411_smr_inst::id, LOGL_DEBUG, LOGP, gsm411_smr_inst::mn_send, msg, msgb_tv_put(), and SMR_LOG_STR.
Referenced by rp_timer_expired().
|
static |
References DLSMS, GSM411_MNSMS_REL_REQ, gsm411_msgb_alloc(), gsm411_smr_inst::id, LOGL_DEBUG, LOGP, gsm411_smr_inst::mn_send, msg, and SMR_LOG_STR.
Referenced by gsm411_mnsms_data_ind_tx(), gsm411_mnsms_error_ind_tx(), gsm411_mnsms_est_ind(), and gsm411_rl_report_req().
|
static |
References DLSMS, gsm411_msgb_alloc(), GSM411_SM_RL_REPORT_IND, gsm411_smr_inst::id, LOGL_DEBUG, LOGP, msg, gsm411_smr_inst::rl_recv, and SMR_LOG_STR.
Referenced by rp_timer_expired().
|
static |
References cause, DLSMS, get_value_string(), GSM411_MNSMS_DATA_REQ, gsm411_msgb_alloc(), GSM411_MT_RP_ERROR_MO, GSM411_MT_RP_ERROR_MT, gsm411_rp_cause_strs, gsm411_rp_sendmsg(), gsm411_smr_inst::id, LOGL_NOTICE, LOGP, msg, msg_ref, msgb_tv_put(), gsm411_smr_inst::network, and SMR_LOG_STR.
Referenced by gsm411_mnsms_data_ind_tx(), and gsm411_mnsms_est_ind().
void gsm411_smc_clear | ( | struct gsm411_smc_inst * | inst | ) |
References gsm411_smc_inst::cp_msg, gsm411_smc_inst::cp_timer, DLSMS, gsm411_smc_inst::id, LOGL_INFO, LOGP, msgb_free(), osmo_timer_del(), and SMC_LOG_STR.
void gsm411_smc_init | ( | struct gsm411_smc_inst * | inst, |
uint64_t | id, | ||
int | network, | ||
int(*)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg) | mn_recv, | ||
int(*)(struct gsm411_smc_inst *inst, int msg_type, struct msgb *msg, int cp_msg_type) | mm_send | ||
) |
int gsm411_smc_recv | ( | struct gsm411_smc_inst * | inst, |
int | msg_type, | ||
struct msgb * | msg, | ||
int | cp_msg_type | ||
) |
References gsm411_smc_inst::cp_state, smcdatastate::cp_type, DLSMS, GSM411_CP_CAUSE_MSGTYPE_NOTEXIST, GSM411_CPS_IDLE, GSM411_MMSMS_DATA_IND, GSM411_MMSMS_EST_IND, GSM411_MMSMS_REL_REQ, GSM411_MNSMS_ERROR_IND, gsm411_msgb_alloc(), gsm411_tx_cp_error(), gsm411_smc_inst::id, LOGL_INFO, LOGL_NOTICE, LOGP, gsm411_smc_inst::mm_send, gsm411_smc_inst::mn_recv, msg, msg_type, msgb_free(), smcdatastate::name, new_cp_state(), smcdatastate::rout, SBIT, SMC_LOG_STR, smc_state_names, SMCDATASLLEN, smcdatastatelist, smcdatastate::states, and type.
int gsm411_smc_send | ( | struct gsm411_smc_inst * | inst, |
int | msg_type, | ||
struct msgb * | msg | ||
) |
void gsm411_smr_clear | ( | struct gsm411_smr_inst * | inst | ) |
References DLSMS, gsm411_smr_inst::id, LOGL_INFO, LOGP, osmo_timer_del(), gsm411_smr_inst::rp_timer, and SMR_LOG_STR.
void gsm411_smr_init | ( | struct gsm411_smr_inst * | inst, |
uint64_t | id, | ||
int | network, | ||
int(*)(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg) | rl_recv, | ||
int(*)(struct gsm411_smr_inst *inst, int msg_type, struct msgb *msg) | mn_send | ||
) |
int gsm411_smr_recv | ( | struct gsm411_smr_inst * | inst, |
int | msg_type, | ||
struct msgb * | msg | ||
) |
int gsm411_smr_send | ( | struct gsm411_smr_inst * | inst, |
int | msg_type, | ||
struct msgb * | msg | ||
) |
|
static |
References cause, DLSMS, get_value_string(), gsm411_cp_cause_strs, GSM411_MMSMS_DATA_REQ, gsm411_msgb_alloc(), GSM411_MT_CP_ERROR, gsm411_smc_inst::id, LOGL_NOTICE, LOGP, gsm411_smc_inst::mm_send, msgb_put(), and SMC_LOG_STR.
Referenced by gsm411_smc_recv().
uint8_t gsm411_unbcdify | ( | uint8_t | value | ) |
Turn semi-octet representation into int: 0x89 => 98.
[in] | value | byte containing two BCD nibbles in revere order |
References DLSMS, LOGL_ERROR, and LOGP.
Referenced by gsm340_scts(), and gsm340_vp_relative_semioctet().
|
static |
References gsm411_smc_inst::cp_state, DLSMS, gsm411_smc_inst::id, LOGL_INFO, LOGP, SMC_LOG_STR, and smc_state_names.
Referenced by cp_timer_expired(), gsm411_mmsms_cp_ack(), gsm411_mmsms_cp_data(), gsm411_mmsms_cp_error(), gsm411_mmsms_rel_ind(), gsm411_mmsms_send_msg(), gsm411_mnsms_abort_req(), gsm411_mnsms_est_req(), gsm411_mnsms_rel_req(), and gsm411_smc_recv().
|
static |
References DLSMS, GSM411_RPS_IDLE, gsm411_smr_inst::id, LOGL_INFO, LOGP, osmo_timer_del(), gsm411_smr_inst::rp_state, gsm411_smr_inst::rp_timer, SMR_LOG_STR, and smr_state_names.
Referenced by gsm411_mnsms_data_ind_tx(), gsm411_mnsms_error_ind_rx(), gsm411_mnsms_error_ind_tx(), gsm411_mnsms_est_ind(), gsm411_rl_data_req(), and gsm411_rl_report_req().
|
static |
References data, DLSMS, GSM411_RPS_WAIT_TO_TX_RP_ACK, gsm411_send_abort(), gsm411_send_report(), gsm411_smr_inst::id, LOGL_DEBUG, LOGP, gsm411_smr_inst::rp_state, and SMR_LOG_STR.
Referenced by gsm411_smr_init().
|
extern |
Referenced by gsm411_tx_cp_error().
const struct value_string gsm411_cp_cause_strs[] |
Referenced by gsm411_tx_cp_error().
|
extern |
Referenced by gsm411_cp_state_name().
const struct value_string gsm411_cp_state_names[] |
Referenced by gsm411_cp_state_name().
|
extern |
Referenced by gsm411_send_rp_error().
const struct value_string gsm411_rp_cause_strs[] |
Referenced by gsm411_send_rp_error().
|
extern |
Referenced by gsm411_rp_state_name().
const struct value_string gsm411_rp_state_names[] |
Referenced by gsm411_rp_state_name().
const char* smc_state_names[] |
Referenced by gsm411_mnsms_rel_req(), gsm411_smc_recv(), gsm411_smc_send(), and new_cp_state().
|
static |
Referenced by gsm411_smc_recv().
|
static |
Referenced by gsm411_smc_send().
|
static |
Referenced by gsm411_smr_recv(), gsm411_smr_send(), and new_rp_state().
|
static |
Referenced by gsm411_smr_recv().
|
static |
Referenced by gsm411_smr_send().