libosmogsm 1.9.0.196-9975
Osmocom GSM library
gsm0411_smr.c File Reference
#include <sys/types.h>
#include <inttypes.h>
#include <string.h>
#include <errno.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/timer.h>
#include <osmocom/gsm/tlv.h>
#include <osmocom/gsm/gsm0411_utils.h>
#include <osmocom/gsm/gsm0411_smc.h>
#include <osmocom/gsm/gsm0411_smr.h>
#include <osmocom/gsm/protocol/gsm_04_08.h>

Data Structures

struct  smrdownstate
 
struct  smrdatastate
 

Macros

#define SMR_LOG_STR   "SMR(%" PRIu64 ") "
 
#define SMRDOWNSLLEN    (sizeof(smrdownstatelist) / sizeof(struct smrdownstate))
 
#define SMRDATASLLEN    (sizeof(smrdatastatelist) / sizeof(struct smrdatastate))
 

Functions

static void rp_timer_expired (void *data)
 
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)
 
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)
 
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)
 

Variables

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 []
 

Macro Definition Documentation

◆ SMR_LOG_STR

#define SMR_LOG_STR   "SMR(%" PRIu64 ") "