X-Git-Url: http://git.eversberg.eu/gitweb.cgi?a=blobdiff_plain;f=bchannel.h;h=267f8b7aed08e1e0765bbab5d1e98238ceb8921e;hb=de8f81a69bac7db90856ddb639c4bfa62fa80150;hp=9511afefc16cc919d00ce513ea63def1a4c184f3;hpb=153bf9b2f40504eb7fde8d7c5bcb996227deece3;p=lcr.git diff --git a/bchannel.h b/bchannel.h index 9511afe..267f8b7 100644 --- a/bchannel.h +++ b/bchannel.h @@ -13,31 +13,25 @@ struct bchannel { struct bchannel *next; struct chan_call *call; /* link to call process */ - unsigned long handle; /* handle for stack id */ -#ifdef SOCKET_MISDN + unsigned int handle; /* handle for stack id */ int b_sock; /* socket for b-channel */ -#else - unsigned long b_stid; /* stack id */ - unsigned long b_addr; /* channel address */ -#endif + int b_mode; /* dsp, raw, dsphdlc */ int b_state; int b_txdata; int b_delay; int b_tx_dejitter; int b_tx_gain, b_rx_gain; char b_pipeline[256]; - unsigned long b_conf; + unsigned int b_conf; int b_echo; int b_tone; int b_rxoff; // int b_txmix; int b_dtmf; - int b_crypt_len; - int b_crypt_type; - unsigned char b_crypt_key[128]; - - void (*rx_data)(struct bchannel *bchannel, unsigned char *data, int len); - void (*rx_dtmf)(struct bchannel *bchannel, char tone); + int b_bf_len; + unsigned char b_bf_key[128]; + int rebuffer_usage; + unsigned char rebuffer[160]; }; @@ -46,13 +40,18 @@ extern pid_t bchannel_pid; int bchannel_initialize(void); void bchannel_deinitialize(void); -int bchannel_create(struct bchannel *channel); +void bchannel_destroy(struct bchannel *bchannel); +int bchannel_create(struct bchannel *channel, int mode); void bchannel_activate(struct bchannel *channel, int activate); void bchannel_transmit(struct bchannel *channel, unsigned char *data, int len); void bchannel_join(struct bchannel *channel, unsigned short id); +void bchannel_dtmf(struct bchannel *channel, int on); +void bchannel_blowfish(struct bchannel *bchannel, unsigned char *key, int len); +void bchannel_pipeline(struct bchannel *bchannel, char *pipeline); +void bchannel_gain(struct bchannel *bchannel, int gain, int tx); int bchannel_handle(void); -struct bchannel *find_bchannel_handle(unsigned long handle); -//struct bchannel *find_bchannel_ref(unsigned long ref); -struct bchannel *alloc_bchannel(unsigned long handle); +struct bchannel *find_bchannel_handle(unsigned int handle); +//struct bchannel *find_bchannel_ref(unsigned int ref); +struct bchannel *alloc_bchannel(unsigned int handle); void free_bchannel(struct bchannel *channel);