summaryrefslogtreecommitdiffstats
path: root/include/osmocore/gsm0480.h
blob: b504332e37ad7a798580128358ae4a101c1fdeb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef gsm0480_h
#define gsm0480_h

#include "msgb.h"
#include "protocol/gsm_04_08.h"
#include "protocol/gsm_04_80.h"

#define MAX_LEN_USSD_STRING	31

struct ussd_request {
	char text[MAX_LEN_USSD_STRING + 1];
	uint8_t transaction_id;
	uint8_t invoke_id;
};

int gsm0480_decode_ussd_request(const struct gsm48_hdr *hdr, uint16_t len,
				struct ussd_request *request);

struct msgb *gsm0480_create_ussd_resp(uint8_t invoke_id, uint8_t trans_id, const char *text);
struct msgb *gsm0480_create_unstructuredSS_Notify(int alertPattern, const char *text);
struct msgb *gsm0480_create_notifySS(const char *text);

int gsm0480_wrap_invoke(struct msgb *msg, int op, int link_id);
int gsm0480_wrap_facility(struct msgb *msg);

#endif