libosmogsm  0.9.6.311-c977
Osmocom GSM library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
gsm0411_utils.h
Go to the documentation of this file.
1 
3 #pragma once
4 
5 #include <time.h>
6 
7 /* Turn int into semi-octet representation: 98 => 0x89 */
8 uint8_t gsm411_bcdify(uint8_t value);
9 
10 /* Turn semi-octet representation into int: 0x89 => 98 */
11 uint8_t gsm411_unbcdify(uint8_t value);
12 
13 struct msgb *gsm411_msgb_alloc(void);
14 
15 /* Generate 03.40 TP-SCTS */
16 void gsm340_gen_scts(uint8_t *scts, time_t time);
17 
18 /* Decode 03.40 TP-SCTS (into utc/gmt timestamp) */
19 time_t gsm340_scts(uint8_t *scts);
20 
21 /* decode validity period. return minutes */
22 unsigned long gsm340_validity_period(uint8_t sms_vpf, uint8_t *sms_vp);
23 
24 /* determine coding alphabet dependent on GSM 03.38 Section 4 DCS */
25 enum sms_alphabet gsm338_get_sms_alphabet(uint8_t dcs);
26 
27 /* generate a TPDU address field compliant with 03.40 sec. 9.1.2.5 */
28 int gsm340_gen_oa(uint8_t *oa, unsigned int oa_len, uint8_t type,
29  uint8_t plan, const char *number);
30 
31 /* Prefix msg with a RP header */
32 int gsm411_push_rp_header(struct msgb *msg, uint8_t rp_msg_type,
33  uint8_t rp_msg_ref);
34 
35 /* Prefix msg with a 04.08/04.11 CP header */
36 int gsm411_push_cp_header(struct msgb *msg, uint8_t proto, uint8_t trans,
37  uint8_t msg_type);
struct msgb * gsm411_msgb_alloc(void)
Allocate a message buffer for use as TS 04.11 message.
Definition: gsm0411_utils.c:51
uint8_t gsm411_unbcdify(uint8_t value)
Turn semi-octet representation into int: 0x89 => 98.
Definition: gsm0411_utils.c:73
void gsm340_gen_scts(uint8_t *scts, time_t time)
Generate 03.40 TP-SCTS.
Definition: gsm0411_utils.c:90
int gsm411_push_rp_header(struct msgb *msg, uint8_t rp_msg_type, uint8_t rp_msg_ref)
Prefix msgb with a RP header.
Definition: gsm0411_utils.c:330
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.
Definition: gsm0411_utils.c:296
time_t gsm340_scts(uint8_t *scts)
Decode 03.40 TP-SCTS (into utc/gmt timestamp)
Definition: gsm0411_utils.c:111
int gsm411_push_cp_header(struct msgb *msg, uint8_t proto, uint8_t trans, uint8_t msg_type)
Prefix msgb with a 04.08/04.11 CP header.
Definition: gsm0411_utils.c:351
unsigned long gsm340_validity_period(uint8_t sms_vpf, uint8_t *sms_vp)
decode validity period.
Definition: gsm0411_utils.c:212
uint8_t gsm411_bcdify(uint8_t value)
Turn int into semi-octet representation: 98 => 0x89.
Definition: gsm0411_utils.c:60
enum sms_alphabet gsm338_get_sms_alphabet(uint8_t dcs)
determine coding alphabet dependent on GSM 03.38 Section 4 DCS
Definition: gsm0411_utils.c:252