1 /* Types */
2 struct cwirc_keyer_state
3 {
4   T_BOOL keyer_initialized;	/* Put 0 here for the first call to the keyer */
5   T_BOOL prev_dit;
6   T_BOOL prev_dah;
7   int last_element;		/* -1 -> nothing, 0 -> dit, 1 -> dah */
8   int current_element;		/* -1 -> nothing, 0 -> dit, 1 -> dah */
9   T_BOOL insert_inverted_element;
10   int iambic_in_element;	/* 0 -> none, 1 -> squeezed, 2 -> released */
11   T_BOOL paddles_squeezed_after_mid_element;
12   double beep_timeout;
13   double mid_element_timeout;
14   double element_timeout;
15   double delay_timeout;
16   int delay_type;		/* 0 -> none, 1 -> inter-char spacing,
17 				   2 -> inter-word spacing */
18 };
19 
20 
21 
22 /* Variables */
23 extern char cwirc_available_iambic_modes[][10];
24 
25 
26 
27 /* Prototypes */
28 T_BOOL cwirc_run_keyer(struct cwirc_keyer_state *is,T_BOOL dit,T_BOOL dah,
29 	int wpm,int iambicmode,T_BOOL midelementmodeB,T_BOOL ditmemory,
30 	T_BOOL dahmemory,T_BOOL autocharspacing,T_BOOL autowordspacing,
31 	int weight,double ticklen);
32