45bf0835e990bc4a17b90e3c6611b8f80d8a8bdd
[lcr.git] / gsm_bs.h
1 extern "C" {
2 #include <openbsc/gsm_data.h>
3 #include <openbsc/mncc.h>
4 }
5
6 /* GSM port class */
7 class Pgsm_bs : public Pgsm
8 {
9         public:
10         Pgsm_bs(int type, struct mISDNport *mISDNport, char *portname, struct port_settings *settings, int channel, int exclusive, int mode);
11         ~Pgsm_bs();
12
13         unsigned char *p_m_g_dtmf; /* DTMF tone generation (MS only) */
14         int p_m_g_dtmf_index; /* DTMF tone generation index */
15
16         void setup_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
17         void start_dtmf_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
18         void stop_dtmf_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
19         void hold_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
20         void retr_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
21         void message_setup(unsigned int epoint_id, int message_id, union parameter *param);
22         int message_epoint(unsigned int epoint_id, int message_id, union parameter *param);
23 };
24
25 int handle_gsm_bs(void);
26 int gsm_bs_conf(struct gsm_conf *gsm_conf, char *conf_error);
27 int gsm_bs_exit(int rc);
28 int gsm_bs_init(void);
29
30 extern "C" {
31 int mncc_send(struct gsm_network *instance, int msg_type, void *data);
32 };