More debug.
[lcr.git] / port.h
diff --git a/port.h b/port.h
index f2c0ffe..d7c0580 100644 (file)
--- a/port.h
+++ b/port.h
 
 /* type of port */
 #define        PORT_TYPE_NULL          0x0000
-#define PORT_CLASS_mISDN       0x0100
-#define PORT_CLASS_MASK                0xff00
-#define PORT_CLASS_mISDN_DSS1  0x0110
-#define PORT_CLASS_mISDN_MASK  0xfff0
+#define PORT_CLASS_mISDN       0x1000
+#define PORT_CLASS_DSS1                0x1100
+#define PORT_CLASS_DSS1_NT     0x1110
+#define PORT_CLASS_DSS1_TE     0x1120
+#define PORT_CLASS_GSM         0x1200
+#define PORT_CLASS_GSM_BS      0x1210
+#define PORT_CLASS_GSM_MS      0x1220
+#define PORT_CLASS_SS5         0x1300
+#define PORT_CLASS_MASK                0xf000
+#define PORT_CLASS_mISDN_MASK  0xff00
+#define PORT_CLASS_DSS1_MASK   0xfff0
+#define PORT_CLASS_GSM_MASK    0xfff0
        /* nt-mode */
-#define        PORT_TYPE_DSS1_NT_IN    0x0111
-#define        PORT_TYPE_DSS1_NT_OUT   0x0112
+#define        PORT_TYPE_DSS1_NT_IN    0x1111
+#define        PORT_TYPE_DSS1_NT_OUT   0x1112
        /* te-mode */
-#define        PORT_TYPE_DSS1_TE_IN    0x0113
-#define        PORT_TYPE_DSS1_TE_OUT   0x0114
+#define        PORT_TYPE_DSS1_TE_IN    0x1121
+#define        PORT_TYPE_DSS1_TE_OUT   0x1122
+       /* gsm */
+#define        PORT_TYPE_GSM_BS_IN     0x1211
+#define        PORT_TYPE_GSM_BS_OUT    0x1212
+#define        PORT_TYPE_GSM_MS_IN     0x1221
+#define        PORT_TYPE_GSM_MS_OUT    0x1222
+       /* ss5 */
+#define        PORT_TYPE_SS5_IN        0x1311
+#define        PORT_TYPE_SS5_OUT       0x1312
+#define        PORT_TYPE_SS5_IDLE      0x1313
        /* answering machine */
-#define        PORT_TYPE_VBOX_OUT      0x0311
+#define        PORT_TYPE_VBOX_OUT      0x3111
 
 
 enum { /* states of call */
@@ -46,7 +63,7 @@ enum { /* states of call */
 };
 
 #define PORT_STATE_NAMES \
-static char *state_name[] = { \
+static const char *state_name[] = { \
        "PORT_STATE_IDLE", \
        "PORT_STATE_IN_SETUP", \
        "PORT_STATE_OUT_SETUP", \
@@ -124,15 +141,15 @@ class Port
 {
        public:
        /* methods */
-       Port(int type, char *portname, struct port_settings *settings);
+       Port(int type, const char *portname, struct port_settings *settings);
        virtual ~Port();
        class Port *next;                       /* next port in list */
        int p_type;                             /* type of port */
-       virtual int handler(void);
        virtual int message_epoint(unsigned int epoint_id, int message, union parameter *param);
        virtual void set_echotest(int echotest);
-       virtual void set_tone(char *dir, char *name);
+       virtual void set_tone(const char *dir, const char *name);
        virtual int read_audio(unsigned char *buffer, int length);
+       virtual void update_load(void);
 
        struct port_settings p_settings;
        
@@ -150,8 +167,8 @@ class Port
 //     void *p_knock_fetched;                  /* pointer to fetched data */
 //     int p_knock_codec;
 //     signed int p_knock_size, p_knock_left;
-       void set_vbox_tone(char *dir, char *name);/* tone of answering machine */
-       void set_vbox_play(char *name, int offset); /* sample of answ. */
+       void set_vbox_tone(const char *dir, const char *name);/* tone of answering machine */
+       void set_vbox_play(const char *name, int offset); /* sample of answ. */
        void set_vbox_speed(int speed); /* speed of answ. */
 
        /* identification */
@@ -172,7 +189,7 @@ class Port
        int p_echotest;                         /* set to echo audio data FROM port back to port's mixer */
 
        /* recording */
-       int open_record(int type, int mode, int skip, char *terminal, int anon_ignore, char *vbox_email, int vbox_email_file);
+       int open_record(int type, int mode, int skip, char *terminal, int anon_ignore, const char *vbox_email, int vbox_email_file);
        void close_record(int beep, int mute);
        void record(unsigned char *data, int length, int dir_fromup);
        FILE *p_record;                         /* recording fp: if not NULL, recording is enabled */
@@ -196,6 +213,7 @@ class Port
        int p_record_anon_ignore;
        char p_record_vbox_email[128];
        int p_record_vbox_email_file;
+       virtual void update_rxoff(void);        /* inherited by mISDNport, to control rxoff */
 
        void free_epointlist(struct epoint_list *epointlist);
        void free_epointid(unsigned int epoint_id);