blob: bc6c67651505049ec6aea41b1e4461df8bab378d [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
Neels Hofmeyrc19581f2018-05-27 03:05:18 +020011void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci);
12void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr);
13int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel);
14void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg);
Neels Hofmeyrc19581f2018-05-27 03:05:18 +020015int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause);
16void bsc_cm_update(struct gsm_subscriber_connection *conn,
17 const uint8_t *cm2, uint8_t cm2_len,
18 const uint8_t *cm3, uint8_t cm3_len);
Holger Hans Peter Freyther25aa7492011-08-06 07:00:52 +020019
Neels Hofmeyr31f525e2018-05-14 18:14:15 +020020int gsm0808_submit_dtap(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t link_id,
21 bool allow_sacch);
Holger Hans Peter Freyther2603c1f2010-11-10 10:01:20 +010022int gsm0808_assign_req(struct gsm_subscriber_connection *conn, int chan_mode, int full_rate);
Holger Hans Peter Freytherdbc62db2010-07-23 16:55:24 +080023int gsm0808_cipher_mode(struct gsm_subscriber_connection *conn, int cipher,
Holger Hans Peter Freyther2f169d62010-11-10 09:42:50 +010024 const uint8_t *key, int len, int include_imeisv);
Holger Hans Peter Freyther77008462010-06-16 14:10:45 +080025int gsm0808_page(struct gsm_bts *bts, unsigned int page_group,
26 unsigned int mi_len, uint8_t *mi, int chan_type);
Holger Hans Peter Freyther40494552010-06-28 17:09:29 +080027int gsm0808_clear(struct gsm_subscriber_connection *conn);
Holger Hans Peter Freyther05a379b2010-06-14 15:50:35 +080028
Neels Hofmeyr31f525e2018-05-14 18:14:15 +020029bool msc_connected(struct gsm_subscriber_connection *conn);
Holger Hans Peter Freyther05a379b2010-06-14 15:50:35 +080030#endif