blob: da942d268ee947d6f4b8d2af9241bd1ff6597e69 [file] [log] [blame]
Holger Hans Peter Freytherec32b582010-03-23 07:40:46 +01001/* GSM 08.08 like API for OpenBSC */
2
Holger Hans Peter Freyther05a379b2010-06-14 15:50:35 +08003#ifndef OPENBSC_BSC_API_H
4#define OPENBSC_BSC_API_H
5
Holger Hans Peter Freytherec32b582010-03-23 07:40:46 +01006#include "gsm_data.h"
7
Holger Hans Peter Freyther97643312010-06-17 16:41:25 +08008#define BSC_API_CONN_POL_ACCEPT 0
9#define BSC_API_CONN_POL_REJECT 1
10
Holger Hans Peter Freyther05a379b2010-06-14 15:50:35 +080011struct bsc_api {
12 void (*sapi_n_reject)(struct gsm_subscriber_connection *conn, int dlci);
13 void (*cipher_mode_compl)(struct gsm_subscriber_connection *conn,
14 struct msgb *msg, uint16_t ind);
Holger Hans Peter Freyther97643312010-06-17 16:41:25 +080015 int (*compl_l3)(struct gsm_subscriber_connection *conn,
16 struct msgb *msg, uint16_t chosen_channel);
17 void (*dtap)(struct gsm_subscriber_connection *conn, struct msgb *msg);
Holger Hans Peter Freyther05a379b2010-06-14 15:50:35 +080018 void (*ass_compl)(struct gsm_subscriber_connection *conn,
19 uint16_t rr_cause);
20 void (*ass_fail)(struct gsm_subscriber_connection *conn,
21 uint16_t rr_cause);
22 void (*clear_request)(struct gsm_subscriber_connection *conn,
23 uint32_t cause);
24 void (*clear_compl)(struct gsm_subscriber_connection *conn);
25};
Holger Hans Peter Freytherec32b582010-03-23 07:40:46 +010026
Holger Hans Peter Freytherabcddf12010-06-14 18:20:15 +080027int bsc_api_init(struct gsm_network *network, struct bsc_api *api);
Holger Hans Peter Freytherec32b582010-03-23 07:40:46 +010028int gsm0808_submit_dtap(struct gsm_subscriber_connection *conn, struct msgb *msg, int link_id);
Holger Hans Peter Freyther77008462010-06-16 14:10:45 +080029int gsm0808_page(struct gsm_bts *bts, unsigned int page_group,
30 unsigned int mi_len, uint8_t *mi, int chan_type);
Holger Hans Peter Freyther40494552010-06-28 17:09:29 +080031int gsm0808_clear(struct gsm_subscriber_connection *conn);
Holger Hans Peter Freyther05a379b2010-06-14 15:50:35 +080032
33#endif