libosmogsm 1.9.0.196-9975
Osmocom GSM library
gsm0411_smc.c File Reference

Point-to-Point (PP) Short Message Service (SMS) as per TS 04.11. More...

#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/gsm0411_utils.h>
#include <osmocom/gsm/gsm0411_smc.h>
#include <osmocom/gsm/protocol/gsm_04_08.h>

Data Structures

struct  smcdownstate
 
struct  smcdatastate
 

Macros

#define MAX_SMS_RETRY   2
 
#define SMC_LOG_STR   "SMC(%" PRIu64 ") "
 
#define SMCDOWNSLLEN    (sizeof(smcdownstatelist) / sizeof(struct smcdownstate))
 
#define SMCDATASLLEN    (sizeof(smcdatastatelist) / sizeof(struct smcdatastate))
 

Functions

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

Variables

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

Detailed Description

Point-to-Point (PP) Short Message Service (SMS) as per TS 04.11.