Loading...
Searching...
No Matches
gsm0411_utils.c File Reference
Short Message Service (SMS)
`#include "config.h"`
`#include <time.h>`
`#include <string.h>`
`#include <osmocom/core/msgb.h>`
`#include <osmocom/core/logging.h>`
`#include <osmocom/gsm/gsm48.h>`
`#include <osmocom/gsm/gsm_utils.h>`
`#include <osmocom/gsm/protocol/gsm_03_40.h>`
`#include <osmocom/gsm/protocol/gsm_04_11.h>`

## Macros

#define | GSM411_ALLOC_SIZE 1024
#define | GSM411_ALLOC_HEADROOM 128

## Functions

struct msgb * | gsm411_msgb_alloc (void)
| Allocate a message buffer for use as TS 04.11 message.
uint8_t | gsm411_bcdify (uint8_t value)
| Turn int into semi-octet representation: 98 => 0x89.
uint8_t | gsm411_unbcdify (uint8_t value)
| Turn semi-octet representation into int: 0x89 => 98.
void | gsm340_gen_scts (uint8_t *scts, time_t time)
| Generate 03.40 TP-SCTS.
time_t | gsm340_scts (uint8_t *scts)
| Decode 03.40 TP-SCTS (into utc/gmt timestamp).
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)
unsigned long | gsm340_validity_period (uint8_t sms_vpf, uint8_t *sms_vp)
| decode validity period.
enum sms_alphabet | gsm338_get_sms_alphabet (uint8_t dcs)
| determine coding alphabet dependent on GSM 03.38 Section 4 DCS
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.
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.
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.