blob: 68b36ab4d1fe64ec20b845229b9f595137a0aa4d [file] [log] [blame]
Harald Welte6be350c2011-05-25 13:10:08 +02001#ifndef _GSM_DATA_SHAREDH
2#define _GSM_DATA_SHAREDH
3
Holger Hans Peter Freyther06c9da62011-06-09 21:48:49 +02004#include <regex.h>
Harald Welte6be350c2011-05-25 13:10:08 +02005#include <stdbool.h>
6#include <stdint.h>
7
8#include <osmocom/core/timer.h>
9#include <osmocom/core/bitvec.h>
10#include <osmocom/core/statistics.h>
11#include <osmocom/core/utils.h>
12#include <osmocom/gsm/gsm_utils.h>
13#include <osmocom/gsm/tlv.h>
Maxc08ee712016-05-11 12:45:13 +020014#include <osmocom/gsm/protocol/gsm_04_08.h>
Holger Hans Peter Freyther0e0a09c2012-12-20 19:03:18 +010015
Neels Hofmeyr90843962017-09-04 15:04:35 +020016#include <osmocom/msc/common_cs.h>
Neels Hofmeyrac1f1432016-05-10 13:30:17 +020017
Holger Hans Peter Freyther8ec49522011-08-15 15:53:00 +020018struct osmo_bsc_data;
19
Harald Welte6be350c2011-05-25 13:10:08 +020020struct osmo_bsc_sccp_con;
21struct gsm_sms_queue;
22
23/* RRLP mode of operation */
24enum rrlp_mode {
25 RRLP_MODE_NONE,
26 RRLP_MODE_MS_BASED,
27 RRLP_MODE_MS_PREF,
28 RRLP_MODE_ASS_PREF,
29};
30
Harald Welte6be350c2011-05-25 13:10:08 +020031enum gsm_hooks {
32 GSM_HOOK_NM_SWLOAD,
33 GSM_HOOK_RR_PAGING,
34 GSM_HOOK_RR_SECURITY,
35};
36
37enum gsm_paging_event {
38 GSM_PAGING_SUCCEEDED,
39 GSM_PAGING_EXPIRED,
40 GSM_PAGING_OOM,
41 GSM_PAGING_BUSY,
42};
43
Harald Welte6be350c2011-05-25 13:10:08 +020044struct gsm_mncc;
Harald Welte135a6bd2011-09-04 13:53:26 +020045struct osmo_rtp_socket;
Harald Welte6be350c2011-05-25 13:10:08 +020046struct rtp_socket;
47struct bsc_api;
48
Holger Hans Peter Freyther06c9da62011-06-09 21:48:49 +020049/*
50 * help with parsing regexps
51 */
52int gsm_parse_reg(void *ctx, regex_t *reg, char **str,
53 int argc, const char **argv) __attribute__ ((warn_unused_result));
54
Harald Welte6be350c2011-05-25 13:10:08 +020055#endif