#include <linux/jiffies.h>
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/kthread.h>
#include "spk_priv.h"
#include "speakup.h"
#define MODULE_init …
#define MODULE_self_test …
#define MODULE_reset …
#define MODE_mask …
#define MODE_null …
#define MODE_test …
#define MODE_status …
#define STAT_int …
#define STAT_tr_char …
#define STAT_rr_char …
#define STAT_cmd_ready …
#define STAT_dma_ready …
#define STAT_digitized …
#define STAT_new_index …
#define STAT_new_status …
#define STAT_dma_state …
#define STAT_index_valid …
#define STAT_flushing …
#define STAT_self_test …
#define MODE_ready …
#define READY_boot …
#define READY_kernel …
#define MODE_error …
#define CMD_mask …
#define CMD_null …
#define CMD_control …
#define CTRL_mask …
#define CTRL_data …
#define CTRL_null …
#define CTRL_vol_up …
#define CTRL_vol_down …
#define CTRL_vol_set …
#define CTRL_pause …
#define CTRL_resume …
#define CTRL_resume_spc …
#define CTRL_flush …
#define CTRL_int_enable …
#define CTRL_buff_free …
#define CTRL_buff_used …
#define CTRL_speech …
#define CTRL_SP_voice …
#define CTRL_SP_rate …
#define CTRL_SP_comma …
#define CTRL_SP_period …
#define CTRL_SP_rate_delta …
#define CTRL_SP_get_param …
#define CTRL_last_index …
#define CTRL_io_priority …
#define CTRL_free_mem …
#define CTRL_get_lang …
#define CMD_test …
#define TEST_mask …
#define TEST_null …
#define TEST_isa_int …
#define TEST_echo …
#define TEST_seg …
#define TEST_off …
#define TEST_peek …
#define TEST_poke …
#define TEST_sub_code …
#define CMD_id …
#define ID_null …
#define ID_kernel …
#define ID_boot …
#define CMD_dma …
#define CMD_reset …
#define CMD_sync …
#define CMD_char_in …
#define CMD_char_out …
#define CHAR_count_1 …
#define CHAR_count_2 …
#define CHAR_count_3 …
#define CMD_spc_mode …
#define CMD_spc_to_text …
#define CMD_spc_to_digit …
#define CMD_spc_rate …
#define CMD_error …
enum { … };
#define DMA_single_in …
#define DMA_single_out …
#define DMA_buff_in …
#define DMA_buff_out …
#define DMA_control …
#define DT_MEM_ALLOC …
#define DT_SET_DIC …
#define DT_START_TASK …
#define DT_LOAD_MEM …
#define DT_READ_MEM …
#define DT_DIGITAL_IN …
#define DMA_sync …
#define DMA_sync_char …
#define DRV_VERSION …
#define PROCSPEECH …
#define SYNTH_IO_EXTENT …
static int synth_probe(struct spk_synth *synth);
static void dtpc_release(struct spk_synth *synth);
static const char *synth_immediate(struct spk_synth *synth, const char *buf);
static void do_catch_up(struct spk_synth *synth);
static void synth_flush(struct spk_synth *synth);
static int synth_portlist[] = …;
static int in_escape, is_flushing;
static int dt_stat, dma_state;
enum default_vars_id { … };
static struct var_t vars[NB_ID] = …;
static struct kobj_attribute caps_start_attribute = …;
static struct kobj_attribute caps_stop_attribute = …;
static struct kobj_attribute pitch_attribute = …;
static struct kobj_attribute inflection_attribute = …;
static struct kobj_attribute punct_attribute = …;
static struct kobj_attribute rate_attribute = …;
static struct kobj_attribute voice_attribute = …;
static struct kobj_attribute vol_attribute = …;
static struct kobj_attribute delay_time_attribute = …;
static struct kobj_attribute direct_attribute = …;
static struct kobj_attribute full_time_attribute = …;
static struct kobj_attribute jiffy_delta_attribute = …;
static struct kobj_attribute trigger_time_attribute = …;
static struct attribute *synth_attrs[] = …;
static struct spk_synth synth_dec_pc = …;
static int dt_getstatus(void)
{ … }
static void dt_sendcmd(u_int cmd)
{ … }
static int dt_waitbit(int bit)
{ … }
static int dt_wait_dma(void)
{ … }
static int dt_ctrl(u_int cmd)
{ … }
static void synth_flush(struct spk_synth *synth)
{ … }
static int dt_sendchar(char ch)
{ … }
static int testkernel(void)
{ … }
static void do_catch_up(struct spk_synth *synth)
{ … }
static const char *synth_immediate(struct spk_synth *synth, const char *buf)
{ … }
static int synth_probe(struct spk_synth *synth)
{ … }
static void dtpc_release(struct spk_synth *synth)
{ … }
module_param_named(start, synth_dec_pc.startup, short, 0444);
module_param_named(rate, vars[RATE_ID].u.n.default_val, int, 0444);
module_param_named(pitch, vars[PITCH_ID].u.n.default_val, int, 0444);
module_param_named(inflection, vars[INFLECTION_ID].u.n.default_val, int, 0444);
module_param_named(vol, vars[VOL_ID].u.n.default_val, int, 0444);
module_param_named(punct, vars[PUNCT_ID].u.n.default_val, int, 0444);
module_param_named(voice, vars[VOICE_ID].u.n.default_val, int, 0444);
module_param_named(direct, vars[DIRECT_ID].u.n.default_val, int, 0444);
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
module_spk_synth(…);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…);