blob: 95ff5ef782438dd030cb6d084b37bc9d843d715e [file] [log] [blame]
Daniel Willmann8b3390e2008-12-28 00:31:09 +00001#ifndef _GSM_04_11_H
2#define _GSM_04_11_H
3
Harald Welte13f52972010-02-20 18:56:00 +01004#include <osmocore/protocol/gsm_04_11.h>
Harald Welte7e310b12009-03-30 20:56:32 +00005
Holger Hans Peter Freyther6a3d7652010-06-15 12:03:10 +08006#define UM_SAPI_SMS 3 /* See GSM 04.05/04.06 */
7
Daniel Willmann6fe997e2008-12-29 04:20:41 +00008/* SMS deliver PDU */
9struct sms_deliver {
Harald Welteb9c758b2009-07-05 14:02:46 +020010 u_int8_t mti:2; /* message type indicator */
11 u_int8_t mms:1; /* more messages to send */
12 u_int8_t rp:1; /* reply path */
13 u_int8_t udhi:1; /* user data header indicator */
14 u_int8_t sri:1; /* status report indication */
15 u_int8_t *orig_addr; /* originating address */
16 u_int8_t pid; /* protocol identifier */
17 u_int8_t dcs; /* data coding scheme */
18 /* service centre time stamp */
19 u_int8_t ud_len; /* user data length */
20 u_int8_t *user_data; /* user data */
21
22 u_int8_t msg_ref; /* message reference */
Daniel Willmann6fe997e2008-12-29 04:20:41 +000023 u_int8_t *smsc;
Daniel Willmann6fe997e2008-12-29 04:20:41 +000024};
25
Daniel Willmann8b3390e2008-12-28 00:31:09 +000026struct msgb;
27
Harald Welte (local)daef6062009-08-14 11:41:12 +020028int gsm0411_rcv_sms(struct msgb *msg, u_int8_t link_id);
Daniel Willmann8b3390e2008-12-28 00:31:09 +000029
Holger Hans Peter Freyther5179c8e2010-03-23 07:32:23 +010030int gsm411_send_sms_lchan(struct gsm_subscriber_connection *conn, struct gsm_sms *sms);
Holger Hans Peter Freyther34e97492009-08-10 07:54:02 +020031
32struct gsm_sms *sms_alloc(void);
33void sms_free(struct gsm_sms *sms);
Daniel Willmann6fe997e2008-12-29 04:20:41 +000034
Holger Hans Peter Freyther65fb0fd2009-10-22 15:39:37 +020035void _gsm411_sms_trans_free(struct gsm_trans *trans);
36int gsm411_send_sms_subscr(struct gsm_subscriber *subscr,
37 struct gsm_sms *sms);
Holger Hans Peter Freyther6a3d7652010-06-15 12:03:10 +080038void gsm411_sapi_n_reject(struct gsm_subscriber_connection *conn);
Daniel Willmann8b3390e2008-12-28 00:31:09 +000039#endif