Fix lot of warnings
[lcr.git] / port.h
diff --git a/port.h b/port.h
index 3a7bdb1..3a1a930 100644 (file)
--- a/port.h
+++ b/port.h
@@ -46,7 +46,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", \
@@ -80,17 +80,17 @@ enum { /* event list from listening to tty */
        TTYI_EVENT_BUSY,        /* channel unavailable */
 };
 
-#define RECORD_BUFFER_LENGTH   1024
+#define RECORD_BUFFER_LENGTH   1024 // must be a binary border & must be greater 256, because 256 will be written if buffer overflows
 #define RECORD_BUFFER_MASK     1023
 
 /* structure of epoint_list */
 struct epoint_list {
        struct epoint_list      *next;
-       unsigned long           epoint_id;
+       unsigned int            epoint_id;
        int                     active;
 };
 
-inline unsigned long ACTIVE_EPOINT(struct epoint_list *epointlist)
+inline unsigned int ACTIVE_EPOINT(struct epoint_list *epointlist)
 {
        while(epointlist)
        {
@@ -101,7 +101,7 @@ inline unsigned long ACTIVE_EPOINT(struct epoint_list *epointlist)
        return(0);
 }
 
-inline unsigned long INACTIVE_EPOINT(struct epoint_list *epointlist)
+inline unsigned int INACTIVE_EPOINT(struct epoint_list *epointlist)
 {
        while(epointlist)
        {
@@ -116,14 +116,7 @@ inline unsigned long INACTIVE_EPOINT(struct epoint_list *epointlist)
 /* structure of port settings */
 struct port_settings {
        char tones_dir[256];                    /* directory of current tone */
-        int tout_setup;
-        int tout_dialing;
-        int tout_proceeding;
-        int tout_alerting;
-        int tout_disconnect;
-//     int tout_hold;
-//     int tout_park;
-       int no_seconds;                         /* don't send seconds with time information element */
+       int no_seconds;
 };
 
 /* generic port class */
@@ -131,41 +124,38 @@ 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 long epoint_id, int message, union parameter *param);
+       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);
 
        struct port_settings p_settings;
        
        /* tone */
-       unsigned long p_last_tv_sec;            /* time stamp of last handler call, (to sync audio data */
-       unsigned long p_last_tv_msec;
-       int p_debug_nothingtosend;              /* used for debugging the, if we have currently nothing to send (used for ISDN) */
        char p_tone_dir[256];                   /* name of current directory */
        char p_tone_name[256];                  /* name of current tone */
        char p_tone_fh;                         /* file descriptor of current tone or -1 if not open */
        void *p_tone_fetched;                   /* pointer to fetched data */
        int p_tone_codec;                       /* codec that the tone is made of */
-       long p_tone_size, p_tone_left;          /* size of tone in bytes (not samples), bytes left */
-       long p_tone_eof;                        /* flag that makes the use of eof message */
-       long p_tone_counter;                    /* flag that makes the use of counter message */
-       long p_tone_speed;                      /* speed of current tone, 1=normal, may also be negative */
+       signed int p_tone_size, p_tone_left;    /* size of tone in bytes (not samples), bytes left */
+       signed int p_tone_eof;                  /* flag that makes the use of eof message */
+       signed int p_tone_counter;              /* flag that makes the use of counter message */
+       signed int p_tone_speed;                /* speed of current tone, 1=normal, may also be negative */
 //     char p_knock_fh;                        /* file descriptor of knocking tone or -1 if not open */
 //     void *p_knock_fetched;                  /* pointer to fetched data */
 //     int p_knock_codec;
-//     long 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. */
+//     signed int p_knock_size, p_knock_left;
+       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 */
-       unsigned long p_serial;                 /* serial unique id of port */
+       unsigned int p_serial;                  /* serial unique id of port */
        char p_name[128];                       /* name of port or token (h323) */
 
        /* endpoint relation */
@@ -182,17 +172,17 @@ 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);
-       void close_record(int beep);
+       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 */
        int p_record_type;                      /* codec to use: RECORD_MONO, RECORD_STEREO, ... */
        int p_record_skip;                      /* skip bytes before writing the sample */
-       unsigned long p_record_length;          /* size of what's written so far */
+       unsigned int p_record_length;           /* size of what's written so far */
 
-       unsigned char p_record_buffer[RECORD_BUFFER_LENGTH];
-       unsigned long p_record_buffer_readp;
-       unsigned long p_record_buffer_writep;
+       signed short p_record_buffer[RECORD_BUFFER_LENGTH];
+       unsigned int p_record_buffer_readp;
+       unsigned int p_record_buffer_writep;
        int p_record_buffer_dir;                /* current direction in buffer */
 
        char p_record_filename[256];            /* record filename */
@@ -208,16 +198,16 @@ class Port
        int p_record_vbox_email_file;
 
        void free_epointlist(struct epoint_list *epointlist);
-       void free_epointid(unsigned long epoint_id);
-       struct epoint_list *epointlist_new(unsigned long epoint_id);
+       void free_epointid(unsigned int epoint_id);
+       struct epoint_list *epointlist_new(unsigned int epoint_id);
 };
 
 
 extern Port *port_first;
-extern unsigned long port_serial;
+extern unsigned int port_serial;
 
 class Port *find_port_with_token(char *name);
-class Port *find_port_id(unsigned long port_id);
+class Port *find_port_id(unsigned int port_id);
 
 
 #endif // PORT_HEADER