remove struct bsc_api

struct bsc_api was used to provide an abstract API for both osmo-bsc and
osmo-msc, between BSC and MSC. That's no longer needed, so get rid of it, to
prevent code turbulences it creates for no reason.

Change-Id: I3fd5888c63a0b4f95520a498320aa105a6d60579
diff --git a/include/osmocom/bsc/bsc_api.h b/include/osmocom/bsc/bsc_api.h
index 06f8093..a90268b 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,