diff options
author | Daniel Willmann <daniel@totalueberwachung.de> | 2008-12-29 00:44:41 +0000 |
---|---|---|
committer | Daniel Willmann <daniel@totalueberwachung.de> | 2008-12-29 00:44:41 +0000 |
commit | e0fbec823bbcc8c275aa3bb6b3ae707fad37c46f (patch) | |
tree | 71ba71b2543e223053554a5ae0a80f73eaf914c1 /include | |
parent | 6f4b753000d12574be13051f0f7df30a587ae822 (diff) |
Parse sms-submit messages
Diffstat (limited to 'include')
-rw-r--r-- | include/openbsc/gsm_04_11.h | 22 | ||||
-rw-r--r-- | include/openbsc/msgb.h | 2 |
2 files changed, 22 insertions, 2 deletions
diff --git a/include/openbsc/gsm_04_11.h b/include/openbsc/gsm_04_11.h index 3f4b0a31f..84751a326 100644 --- a/include/openbsc/gsm_04_11.h +++ b/include/openbsc/gsm_04_11.h @@ -22,12 +22,30 @@ /* Chapter 8.1.1 */ struct gsm411_rp_data_hdr { - u_int8_t len; - u_int8_t msg_type; + u_int8_t len; + u_int8_t msg_type; u_int8_t msg_ref; u_int8_t data[0]; } __attribute__ ((packed)); +/* SMS submit PDU */ +struct sms_submit { + u_int8_t *smsc; + u_int8_t mti:2; + u_int8_t mms:1; + u_int8_t vpf:2; + u_int8_t sri:1; + u_int8_t udhi:1; + u_int8_t rp:1; + u_int8_t msg_ref; + u_int8_t *dest_addr; + u_int8_t pid; + u_int8_t dcs; + u_int8_t vp; + u_int8_t ud_len; + u_int8_t *user_data; +}; + struct msgb; int gsm0411_rcv_sms(struct msgb *msg); diff --git a/include/openbsc/msgb.h b/include/openbsc/msgb.h index cfb912135..db1f8aee2 100644 --- a/include/openbsc/msgb.h +++ b/include/openbsc/msgb.h @@ -36,6 +36,7 @@ struct msgb { unsigned char *l2h; unsigned char *l3h; + unsigned char *smsh; u_int16_t data_len; u_int16_t len; @@ -53,6 +54,7 @@ extern struct msgb *msgb_dequeue(struct llist_head *queue); #define msgb_l2(m) ((void *)(m->l2h)) #define msgb_l3(m) ((void *)(m->l3h)) +#define msgb_sms(m) ((void *)(m->smsh)) static inline unsigned int msgb_headlen(const struct msgb *msgb) { |