blob: aa40648c98fb3abcc76e7967378fdb26a83fd3fa [file] [log] [blame]
Sylvain Munaut12ba7782014-06-16 10:13:40 +02001#pragma once
Holger Hans Peter Freyther0d60aa22010-07-21 05:02:33 +08002
3#include <stdint.h>
4
5/* GSM TS 04.12 definitions for Short Message Service Cell Broadcast */
6
7#define GSM412_SEQ_FST_BLOCK 0x0
8#define GSM412_SEQ_SND_BLOCK 0x1
9#define GSM412_SEQ_TRD_BLOCK 0x2
10#define GSM412_SEQ_FTH_BLOCK 0x3
11#define GSM412_SEQ_FST_SCHED_BLOCK 0x8
Alex Badea3ba0a2b2010-11-27 20:00:39 +020012#define GSM412_SEQ_NULL_MSG 0xf
Holger Hans Peter Freyther0d60aa22010-07-21 05:02:33 +080013
14struct gsm412_block_type {
15 uint8_t seq_nr : 4,
16 lb : 1,
17 lpd : 2,
18 spare : 1;
19} __attribute__((packed));
20
Alex Badea3ba0a2b2010-11-27 20:00:39 +020021struct gsm412_sched_msg {
Holger Hans Peter Freyther0d60aa22010-07-21 05:02:33 +080022 uint8_t beg_slot_nr : 6,
23 type : 2;
24 uint8_t end_slot_nr : 6,
25 spare1 : 1, spare2: 1;
26 uint8_t cbsms_msg_map[6];
27 uint8_t data[0];
28} __attribute__((packed));