X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=port.h;h=caf017aa32c6427b8c5260f11e2861e9ac195715;hp=56bd47b93449b0a3c740bd1c1d91b824b2640f66;hb=79bd731c0db3e3202cfeed2af3fb217ae744b70f;hpb=e233557e40043050c72b46d4b32b3a04cfd3d947 diff --git a/port.h b/port.h index 56bd47b..caf017a 100644 --- a/port.h +++ b/port.h @@ -182,6 +182,11 @@ struct port_bridge { extern struct port_bridge *p_bridge_first; +enum dov_type { + DOV_TYPE_PWM, + DOV_TYPE_PCM, +}; + /* generic port class */ class Port { @@ -202,6 +207,7 @@ class Port char p_interface_name[64]; /* tone */ + char p_tones_interface[256]; /* directory of tones of interface */ 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 */ @@ -276,6 +282,36 @@ class Port void set_vootp(struct param_vootp *vootp); #endif + /* DOV */ + int p_dov_tx, p_dov_rx; + int p_dov_tx_sync, p_dov_rx_sync; + enum dov_type p_dov_tx_type, p_dov_rx_type; + unsigned char *p_dov_tx_data, *p_dov_rx_data; + int p_dov_tx_data_length; + int p_dov_tx_data_pos, p_dov_rx_data_pos; + int p_dov_tx_bit_pos, p_dov_rx_bit_pos; + int p_dov_tx_pwm_pos, p_dov_rx_pwm_pos; + int p_dov_rx_pwm_duration, p_dov_rx_pwm_polarity; + int p_dov_tx_up; + int p_dov_rx_sync_word; + unsigned char p_dov_up; + unsigned char p_dov_down; + void dov_init(void); + void dov_exit(void); + void dov_reset_tx(void); + void dov_reset_rx(void); + struct lcr_timer p_dov_tx_timer; + struct lcr_timer p_dov_rx_timer; + void dov_sendmsg(unsigned char *data, int length, enum dov_type type, int level); + int dov_tx(unsigned char *data, int length); + int dov_tx_pcm(unsigned char *data, int length); + int dov_tx_pwm(unsigned char *data, int length); + void dov_listen(enum dov_type type); + void dov_rx(unsigned char *data, int length); + void dov_rx_pcm(unsigned char *data, int length); + void dov_rx_pwm(unsigned char *data, int length); + void dov_message(unsigned char *data, int length); + void free_epointlist(struct epoint_list *epointlist); void free_epointid(unsigned int epoint_id); struct epoint_list *epointlist_new(unsigned int epoint_id);