X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=interface.h;h=221b08507b4c6d08cf42b5174291356b9955b22c;hp=f7d56c94a96eaa21b4861ef58d2e91331a9a85b6;hb=b2a665f8f1cdeb7d02c3f665d95e6a80297e21d1;hpb=2ed0fee489c37a6e2d4473f6185ebbe3e746ac11 diff --git a/interface.h b/interface.h index f7d56c9..221b085 100644 --- a/interface.h +++ b/interface.h @@ -9,9 +9,6 @@ ** ** \*****************************************************************************/ -#define FLAG_PORT_USE 1 -#define FLAG_PORT_PTP (1<<1) - enum { /* interface type */ IF_TYPE_DIRECT, IF_TYPE_EXTENSION, @@ -48,12 +45,23 @@ struct interface_port { struct interface *interface; /* link to interface */ struct mISDNport *mISDNport; /* link to port */ int portnum; /* port number */ - int ptp; /* load stack in PTP mode */ + char portname[64]; /* alternately: port name */ + int ptp; /* force load stack in PTP mode */ + int ptmp; /* force load stack in PTP mode */ + int nt; /* load stack in NT-mode */ + int l2hold; /* hold layer 2 (1=force, -1=disable */ int channel_force; /* forces channel by protocol */ - struct select_channel *out_select; /* list of channels to select */ - struct select_channel *in_select; /* the same for incoming channels */ -// int open; /* set if port is opened */ + int nodtmf; /* disables DTMF */ + struct select_channel *out_channel; /* list of channels to select */ + struct select_channel *in_channel; /* the same for incoming channels */ int block; /* set if interface is blocked */ + int tout_setup; + int tout_dialing; + int tout_proceeding; + int tout_alerting; + int tout_disconnect; +// int tout_hold; +// int tout_park; }; struct interface_msn { @@ -71,12 +79,6 @@ struct interface_screen { int result_present; /* presentation type */ }; -struct interface_filter { - struct interface_filter *next; - int filter; /* filter to use */ - char parameter[256]; /* filter parameter */ -}; - struct interface { struct interface *next; char name[64]; /* name of interface */ @@ -89,15 +91,18 @@ struct interface { struct interface_msn *ifmsn; /* link to interface msn list */ struct interface_screen *ifscreen_in; /* link to screening list */ struct interface_screen *ifscreen_out; /* link to screening list */ - struct interface_filter *iffilter; /* link to filter list */ + int tx_gain, rx_gain; /* filter gain */ + char pipeline[256]; /* filter pipeline */ + unsigned char bf_key[56]; /* filter blowfish */ + int bf_len; /* filter length of blowfish */ }; struct interface_param { - char *name; + const char *name; /* return value (pointer of function)(args ...) */ int (*func)(struct interface *, char *, int, char *, char*); - char *usage; - char *help; + const char *usage; + const char *help; }; @@ -108,6 +113,7 @@ extern char interface_error[256]; struct interface *read_interfaces(void); void free_interfaces(struct interface *interface_start); void relink_interfaces(void); +void load_port(struct interface_port *ifport); void doc_interface(void); - +void do_screen(int out, char *id, int idsize, int *type, int *present, struct interface *interface);