Jonathan Santos | 03fd8d0 | 2011-05-25 13:54:02 -0400 | [diff] [blame] | 1 | #ifndef _GSM_04_11_H |
| 2 | #define _GSM_04_11_H |
| 3 | |
Jonathan Santos | 5a45b15 | 2011-08-17 15:33:57 -0400 | [diff] [blame^] | 4 | #include <osmocom/gsm/protocol/gsm_04_11.h> |
Jonathan Santos | 03fd8d0 | 2011-05-25 13:54:02 -0400 | [diff] [blame] | 5 | |
| 6 | #define UM_SAPI_SMS 3 /* See GSM 04.05/04.06 */ |
| 7 | |
| 8 | /* SMS deliver PDU */ |
| 9 | struct sms_deliver { |
Jonathan Santos | 5a45b15 | 2011-08-17 15:33:57 -0400 | [diff] [blame^] | 10 | uint8_t mti:2; /* message type indicator */ |
| 11 | uint8_t mms:1; /* more messages to send */ |
| 12 | uint8_t rp:1; /* reply path */ |
| 13 | uint8_t udhi:1; /* user data header indicator */ |
| 14 | uint8_t sri:1; /* status report indication */ |
| 15 | uint8_t *orig_addr; /* originating address */ |
| 16 | uint8_t pid; /* protocol identifier */ |
| 17 | uint8_t dcs; /* data coding scheme */ |
Jonathan Santos | 03fd8d0 | 2011-05-25 13:54:02 -0400 | [diff] [blame] | 18 | /* service centre time stamp */ |
Jonathan Santos | 5a45b15 | 2011-08-17 15:33:57 -0400 | [diff] [blame^] | 19 | uint8_t ud_len; /* user data length */ |
| 20 | uint8_t *user_data; /* user data */ |
Jonathan Santos | 03fd8d0 | 2011-05-25 13:54:02 -0400 | [diff] [blame] | 21 | |
Jonathan Santos | 5a45b15 | 2011-08-17 15:33:57 -0400 | [diff] [blame^] | 22 | uint8_t msg_ref; /* message reference */ |
| 23 | uint8_t *smsc; |
Jonathan Santos | 03fd8d0 | 2011-05-25 13:54:02 -0400 | [diff] [blame] | 24 | }; |
| 25 | |
| 26 | struct msgb; |
| 27 | |
| 28 | int gsm0411_rcv_sms(struct gsm_subscriber_connection *conn, struct msgb *msg); |
| 29 | |
| 30 | struct gsm_sms *sms_alloc(void); |
| 31 | void sms_free(struct gsm_sms *sms); |
| 32 | struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, int dcs, const char *text); |
| 33 | |
| 34 | void _gsm411_sms_trans_free(struct gsm_trans *trans); |
| 35 | int gsm411_send_sms_subscr(struct gsm_subscriber *subscr, |
| 36 | struct gsm_sms *sms); |
| 37 | int gsm411_send_sms(struct gsm_subscriber_connection *conn, |
| 38 | struct gsm_sms *sms); |
| 39 | void gsm411_sapi_n_reject(struct gsm_subscriber_connection *conn); |
| 40 | #endif |