Minor fix for GSM HR codec negotiation: Add missing 'break'.
[lcr.git] / gsm_bs.h
index fd56efe..9f2ea89 100644 (file)
--- a/gsm_bs.h
+++ b/gsm_bs.h
@@ -1,27 +1,35 @@
-extern "C" {
-#include <openbsc/gsm_data.h>
-}
 
 /* GSM port class */
 class Pgsm_bs : public Pgsm
 {
        public:
-       Pgsm_bs(int type, struct mISDNport *mISDNport, char *portname, struct port_settings *settings, int channel, int exclusive, int mode);
+       Pgsm_bs(int type, char *portname, struct port_settings *settings, struct interface *interface);
        ~Pgsm_bs();
 
-       unsigned char *p_m_g_dtmf; /* DTMF tone generation (MS only) */
-       int p_m_g_dtmf_index; /* DTMF tone generation index */
+       unsigned char *p_g_dtmf; /* DTMF tone generation (MS only) */
+       int p_g_dtmf_index; /* DTMF tone generation index */
 
+       void select_payload_type(struct gsm_mncc *mncc, unsigned char *payload_types, int *media_types, int *payloads, int max_payloads);
        void setup_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
+       void call_conf_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *gsm);
        void start_dtmf_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
        void stop_dtmf_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
        void hold_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
        void retr_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
+       void enc_ie_facility(struct gsm_mncc *mncc, int operation_code, int error_code, unsigned char invoke_id);
+       void facility_req(int operation_code, int error_code, unsigned char invoke_id);
+       void facility_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
+       void message_3pty(unsigned int epoint_id, int message_id, union parameter *param);
+       void enc_ie_facility_ect(struct gsm_mncc *mncc, struct param_transfer *transfer);
+       void message_transfer(unsigned int epoint_id, int message_id, union parameter *param);
        void message_setup(unsigned int epoint_id, int message_id, union parameter *param);
        int message_epoint(unsigned int epoint_id, int message_id, union parameter *param);
 };
 
-int handle_gsm_bs(void);
 int gsm_bs_conf(struct gsm_conf *gsm_conf, char *conf_error);
 int gsm_bs_exit(int rc);
-int gsm_bs_init(void);
+int gsm_bs_init(struct interface *interface);
+
+void gsm_trace_facility(unsigned char *fac_ie, unsigned char fac_len);
+
+int message_bsc(struct lcr_gsm *lcr_gsm, int msg_type, void *arg);