remarkable-linux/drivers/staging/speakup/speakup_dtlk.h
William Hubbs c6e3fd22cd Staging: add speakup to the staging directory
Speakup is a kernel based screen review package for the linux operating
system.  It allows blind users to interact with applications on the
linux console by means of synthetic speech.

The authors and maintainers of this code include the following:

Kirk Reiser, Andy Berdan, John Covici, Brian and
David Borowski, Christopher Brannon, Samuel Thibault and William Hubbs.

Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-10-07 19:22:31 -07:00

55 lines
2.1 KiB
C

/* speakup_dtlk.h - header file for speakups DoubleTalk driver. */
#define SYNTH_IO_EXTENT 0x02
#define SYNTH_CLEAR 0x18 /* stops speech */
/* TTS Port Status Flags */
#define TTS_READABLE 0x80 /* mask for bit which is nonzero if a
byte can be read from the TTS port */
#define TTS_SPEAKING 0x40 /* mask for SYNC bit, which is nonzero
while DoubleTalk is producing
output with TTS, PCM or CVSD
synthesizers or tone generators
(that is, all but LPC) */
#define TTS_SPEAKING2 0x20 /* mask for SYNC2 bit,
which falls to zero up to 0.4 sec
before speech stops */
#define TTS_WRITABLE 0x10 /* mask for RDY bit, which when set to
1, indicates the TTS port is ready
to accept a byte of data. The RDY
bit goes zero 2-3 usec after
writing, and goes 1 again 180-190
usec later. */
#define TTS_ALMOST_FULL 0x08 /* mask for AF bit: When set to 1,
indicates that less than 300 bytes
are available in the TTS input
buffer. AF is always 0 in the PCM,
TGN and CVSD modes. */
#define TTS_ALMOST_EMPTY 0x04 /* mask for AE bit: When set to 1,
indicates that less than 300 bytes
are remaining in DoubleTalk's input
(TTS or PCM) buffer. AE is always 1
in the TGN and CVSD modes. */
/* data returned by Interrogate command */
struct synth_settings {
u_short serial_number; /* 0-7Fh:0-7Fh */
u_char rom_version[24]; /* null terminated string */
u_char mode; /* 0=Character; 1=Phoneme; 2=Text */
u_char punc_level; /* nB; 0-7 */
u_char formant_freq; /* nF; 0-9 */
u_char pitch; /* nP; 0-99 */
u_char speed; /* nS; 0-9 */
u_char volume; /* nV; 0-9 */
u_char tone; /* nX; 0-2 */
u_char expression; /* nE; 0-9 */
u_char ext_dict_loaded; /* 1=exception dictionary loaded */
u_char ext_dict_status; /* 1=exception dictionary enabled */
u_char free_ram; /* # pages (truncated) remaining for
* text buffer */
u_char articulation; /* nA; 0-9 */
u_char reverb; /* nR; 0-9 */
u_char eob; /* 7Fh value indicating end of
* parameter block */
u_char has_indexing; /* nonzero if indexing is implemented */
};