blob: b504332e37ad7a798580128358ae4a101c1fdeb7 [file] [log] [blame]
Holger Hans Peter Freyther55aea502010-09-30 18:30:41 +08001#ifndef gsm0480_h
2#define gsm0480_h
3
4#include "msgb.h"
Holger Hans Peter Freytherdaa653f2010-10-11 07:56:06 +02005#include "protocol/gsm_04_08.h"
6#include "protocol/gsm_04_80.h"
Holger Hans Peter Freyther55aea502010-09-30 18:30:41 +08007
Holger Hans Peter Freyther00cb5702010-10-09 01:47:15 +08008#define MAX_LEN_USSD_STRING 31
9
10struct ussd_request {
11 char text[MAX_LEN_USSD_STRING + 1];
12 uint8_t transaction_id;
13 uint8_t invoke_id;
14};
15
Holger Hans Peter Freytherdaa653f2010-10-11 07:56:06 +020016int gsm0480_decode_ussd_request(const struct gsm48_hdr *hdr, uint16_t len,
Holger Hans Peter Freyther00cb5702010-10-09 01:47:15 +080017 struct ussd_request *request);
18
Holger Hans Peter Freytherc64970e2010-10-18 16:56:43 +020019struct msgb *gsm0480_create_ussd_resp(uint8_t invoke_id, uint8_t trans_id, const char *text);
Holger Hans Peter Freyther55aea502010-09-30 18:30:41 +080020struct msgb *gsm0480_create_unstructuredSS_Notify(int alertPattern, const char *text);
21struct msgb *gsm0480_create_notifySS(const char *text);
22
23int gsm0480_wrap_invoke(struct msgb *msg, int op, int link_id);
24int gsm0480_wrap_facility(struct msgb *msg);
25
26#endif