aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc/bsc_api.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/osmocom/bsc/bsc_api.h')
-rw-r--r--include/osmocom/bsc/bsc_api.h47
1 files changed, 11 insertions, 36 deletions
diff --git a/include/osmocom/bsc/bsc_api.h b/include/osmocom/bsc/bsc_api.h
index 06f80937f..a90268bde 100644
--- a/include/osmocom/bsc/bsc_api.h
+++ b/include/osmocom/bsc/bsc_api.h
@@ -8,43 +8,18 @@
#define BSC_API_CONN_POL_ACCEPT 0
#define BSC_API_CONN_POL_REJECT 1
-struct bsc_api {
- /*! \brief BTS->MSC: tell MSC a SAPI was not established */
- void (*sapi_n_reject)(struct gsm_subscriber_connection *conn, int dlci);
- /*! \brief MS->MSC: Tell MSC that ciphering has been enabled */
- void (*cipher_mode_compl)(struct gsm_subscriber_connection *conn,
- struct msgb *msg, uint8_t chosen_encr);
- /*! \brief MS->MSC: New MM context with L3 payload */
- int (*compl_l3)(struct gsm_subscriber_connection *conn,
- struct msgb *msg, uint16_t chosen_channel);
- /*! \brief MS->BSC/MSC: Um L3 message */
- void (*dtap)(struct gsm_subscriber_connection *conn, uint8_t link_id,
- struct msgb *msg);
- /*! \brief BSC->MSC: Assignment of lchan successful */
- void (*assign_compl)(struct gsm_subscriber_connection *conn, uint8_t rr_cause);
- /*! \brief BSC->MSC: Assignment of lchan failed */
- void (*assign_fail)(struct gsm_subscriber_connection *conn,
- uint8_t cause, uint8_t *rr_cause);
- /*! \brief BSC->MSC: RR conn has been cleared */
- int (*clear_request)(struct gsm_subscriber_connection *conn,
- uint32_t cause);
- /*! \brief BSC->MSC: Classmark Update */
- void (*classmark_chg)(struct gsm_subscriber_connection *conn,
- const uint8_t *cm2, uint8_t cm2_len,
- const uint8_t *cm3, uint8_t cm3_len);
+void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci);
+void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr);
+int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel);
+void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg);
+void bsc_assign_compl(struct gsm_subscriber_connection *conn, uint8_t rr_cause);
+void bsc_assign_fail(struct gsm_subscriber_connection *conn, uint8_t cause, uint8_t *rr_cause);
+int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause);
+void bsc_cm_update(struct gsm_subscriber_connection *conn,
+ const uint8_t *cm2, uint8_t cm2_len,
+ const uint8_t *cm3, uint8_t cm3_len);
+void bsc_mr_config(struct gsm_subscriber_connection *conn, struct gsm_lchan *lchan, int full_rate);
- /**
- * Configure the multirate setting on this channel. If it is
- * not implemented AMR5.9 will be used.
- */
- void (*mr_config)(struct gsm_subscriber_connection *conn,
- struct gsm_lchan *lchan, int full_rate);
-
- /** Callback for additional actions during conn cleanup */
- void (*conn_cleanup)(struct gsm_subscriber_connection *conn);
-};
-
-int bsc_api_init(struct gsm_network *network, struct bsc_api *api);
int gsm0808_submit_dtap(struct gsm_subscriber_connection *conn, struct msgb *msg, int link_id, int allow_sacch);
int gsm0808_assign_req(struct gsm_subscriber_connection *conn, int chan_mode, int full_rate);
int gsm0808_cipher_mode(struct gsm_subscriber_connection *conn, int cipher,