socket mISDN work
[lcr.git] / dss1.h
diff --git a/dss1.h b/dss1.h
index d8ffe49..8216e9c 100644 (file)
--- a/dss1.h
+++ b/dss1.h
 class Pdss1 : public PmISDN
 {
        public:
-       Pdss1(int type, struct mISDNport *mISDNport, char *portname, struct port_settings *settings, int channel);
+       Pdss1(int type, struct mISDNport *mISDNport, char *portname, struct port_settings *settings, int channel, int exclusive);
        ~Pdss1();
+#ifdef SOCKET_MISDN
+       unsigned int p_m_d_l3id;                /* current l3 process id */
+       void message_isdn(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+#else
        int p_m_d_l3id;                         /* current l3 process id */
+       void message_isdn(unsigned long prim, unsigned long dinfo, void *data);
+#endif
        int p_m_d_ces;                          /* ntmode: tei&sapi */
        int handler(void);
        int message_epoint(unsigned long epoint_id, int message, union parameter *param);
-       void message_isdn(unsigned long prim, unsigned long dinfo, void *data);
 
        int p_m_d_ntmode;                       /* flags the nt-mode */
        struct message *p_m_d_queue;            /* queue for SETUP if link is down */
@@ -29,8 +34,29 @@ class Pdss1 : public PmISDN
        int p_m_d_collect_location;
 
        void new_state(int state);              /* set new state */
-       void isdn_show_send_message(unsigned long prim, msg_t *msg);
-       int received_first_reply_to_setup(unsigned long prim, int exclusive, int channel);
+//     void isdn_show_send_message(unsigned long prim, msg_t *msg);
+       int hunt_bchannel(int exclusive, int channel);
+#ifdef SOCKET_MISDN
+       int received_first_reply_to_setup(unsigned long cmd, int channel, int exclusive);
+       void information_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void setup_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void setup_acknowledge_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void proceeding_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void alerting_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void connect_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void disconnect_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void release_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void release_complete_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void disconnect_ind_i(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void t312_timeout_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void notify_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void facility_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void hold_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void retrieve_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void suspend_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+       void resume_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m);
+#else
+       int received_first_reply_to_setup(unsigned long prim, int channel, int exclusive);
        void information_ind(unsigned long prim, unsigned long dinfo, void *data);
        void setup_ind(unsigned long prim, unsigned long dinfo, void *data);
        void setup_acknowledge_ind(unsigned long prim, unsigned long dinfo, void *data);
@@ -41,13 +67,14 @@ class Pdss1 : public PmISDN
        void release_ind(unsigned long prim, unsigned long dinfo, void *data);
        void release_complete_ind(unsigned long prim, unsigned long dinfo, void *data);
        void disconnect_ind_i(unsigned long prim, unsigned long dinfo, void *data);
-       void t312_timeout(unsigned long prim, unsigned long dinfo, void *data);
+       void t312_timeout_ind(unsigned long prim, unsigned long dinfo, void *data);
        void notify_ind(unsigned long prim, unsigned long dinfo, void *data);
        void facility_ind(unsigned long prim, unsigned long dinfo, void *data);
        void hold_ind(unsigned long prim, unsigned long dinfo, void *data);
        void retrieve_ind(unsigned long prim, unsigned long dinfo, void *data);
        void suspend_ind(unsigned long prim, unsigned long dinfo, void *data);
        void resume_ind(unsigned long prim, unsigned long dinfo, void *data);
+#endif
        void message_information(unsigned long epoint_id, int message_id, union parameter *param);
        void message_setup(unsigned long epoint_id, int message_id, union parameter *param);
        void message_notify(unsigned long epoint_id, int message_id, union parameter *param);
@@ -60,6 +87,44 @@ class Pdss1 : public PmISDN
        void message_release(unsigned long epoint_id, int message_id, union parameter *param);
 
        /* IE conversion */
+#ifdef SOCKET_MISDN
+       void enc_ie_complete(struct l3_msg *l3m, int complete);
+       void dec_ie_complete(struct l3_msg *l3m, int *complete);
+       void enc_ie_bearer(struct l3_msg *l3m, int coding, int capability, int mode, int rate, int multi, int user);
+       void dec_ie_bearer(struct l3_msg *l3m, int *coding, int *capability, int *mode, int *rate, int *multi, int *user);
+       void enc_ie_call_id(struct l3_msg *l3m, unsigned char *callid, int callid_len);
+       void dec_ie_call_id(struct l3_msg *l3m, unsigned char *callid, int *callid_len);
+       void enc_ie_called_pn(struct l3_msg *l3m, int type, int plan, unsigned char *number);
+       void dec_ie_called_pn(struct l3_msg *l3m, int *type, int *plan, unsigned char *number, int number_len);
+       void enc_ie_calling_pn(struct l3_msg *l3m, int type, int plan, int present, int screen, unsigned char *number);
+       void dec_ie_calling_pn(struct l3_msg *l3m, int *type, int *plan, int *present, int *screen, unsigned char *number, int number_len);
+       void enc_ie_connected_pn(struct l3_msg *l3m, int type, int plan, int present, int screen, unsigned char *number);
+       void dec_ie_connected_pn(struct l3_msg *l3m, int *type, int *plan, int *present, int *screen, unsigned char *number, int number_len);
+       void enc_ie_cause(struct l3_msg *l3m, int location, int cause);
+       void dec_ie_cause(struct l3_msg *l3m, int *location, int *cause);
+       void enc_ie_channel_id(struct l3_msg *l3m, int exclusive, int channel);
+       void dec_ie_channel_id(struct l3_msg *l3m, int *exclusive, int *channel);
+       void enc_ie_date(struct l3_msg *l3m, time_t ti, int seconds);
+       void enc_ie_display(struct l3_msg *l3m, unsigned char *display);
+       void dec_ie_display(struct l3_msg *l3m, unsigned char *display, int display_len);
+       void enc_ie_keypad(struct l3_msg *l3m, unsigned char *keypad);
+       void dec_ie_keypad(struct l3_msg *l3m, unsigned char *keypad, int keypad_len);
+       void enc_ie_notify(struct l3_msg *l3m, int notify);
+       void dec_ie_notify(struct l3_msg *l3m, int *notify);
+       void enc_ie_progress(struct l3_msg *l3m, int coding, int location, int progress);
+       void dec_ie_progress(struct l3_msg *l3m, int *coding, int *location, int *progress);
+       void enc_ie_hlc(struct l3_msg *l3m, int coding, int interpretation, int presentation, int hlc, int exthlc);
+       void dec_ie_hlc(struct l3_msg *l3m, int *coding, int *interpretation, int *presentation, int *hlc, int *exthlc);
+       void enc_ie_redir_nr(struct l3_msg *l3m, int type, int plan, int present, int screen, int reason, unsigned char *number);
+       void dec_ie_redir_nr(struct l3_msg *l3m, int *type, int *plan, int *present, int *screen, int *reason, unsigned char *number, int number_len);
+       void enc_ie_redir_dn(struct l3_msg *l3m, int type, int plan, int present, unsigned char *number);
+       void dec_ie_redir_dn(struct l3_msg *l3m, int *type, int *plan, int *present, unsigned char *number, int number_len);
+       void enc_ie_facility(struct l3_msg *l3m, unsigned char *facility, int facility_len);
+       void dec_ie_facility(struct l3_msg *l3m, unsigned char *facility, int *facility_len);
+       void dec_facility_centrex(struct l3_msg *l3m, unsigned char *cnip, int cnip_len);
+       void enc_ie_useruser(struct l3_msg *l3m, int protocol, unsigned char *user, int user_len);
+       void dec_ie_useruser(struct l3_msg *l3m, int *protocol, unsigned char *user, int *user_len);
+#else
        void enc_ie_complete(unsigned char **ntmode, msg_t *msg, int complete);
        void dec_ie_complete(unsigned char *p, Q931_info_t *qi, int *complete);
        void enc_ie_bearer(unsigned char **ntmode, msg_t *msg, int coding, int capability, int mode, int rate, int multi, int user);
@@ -93,10 +158,10 @@ class Pdss1 : public PmISDN
        void dec_ie_redir_dn(unsigned char *p, Q931_info_t *qi, int *type, int *plan, int *present, unsigned char *number, int number_len);
        void enc_ie_facility(unsigned char **ntmode, msg_t *msg, unsigned char *facility, int facility_len);
        void dec_ie_facility(unsigned char *p, Q931_info_t *qi, unsigned char *facility, int *facility_len);
-       void enc_facility_centrex(unsigned char **ntmode, msg_t *msg, unsigned char *cnip, int setup);
        void dec_facility_centrex(unsigned char *p, Q931_info_t *qi, unsigned char *cnip, int cnip_len);
        void enc_ie_useruser(unsigned char **ntmode, msg_t *msg, int protocol, unsigned char *user, int user_len);
        void dec_ie_useruser(unsigned char *p, Q931_info_t *qi, int *protocol, unsigned char *user, int *user_len);
+#endif
 
 };