1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /* spk_priv.h
3  * review functions for the speakup screen review package.
4  * originally written by: Kirk Reiser and Andy Berdan.
5  *
6  * extensively modified by David Borowski.
7  *
8  * Copyright (C) 1998  Kirk Reiser.
9  * Copyright (C) 2003  David Borowski.
10  */
11 #ifndef _SPEAKUP_PRIVATE_H
12 #define _SPEAKUP_PRIVATE_H
13 
14 #include "spk_types.h"
15 #include "spk_priv_keyinfo.h"
16 
17 #ifndef pr_warn
18 #define pr_warn(fmt, arg...) printk(KERN_WARNING fmt, ##arg)
19 #endif
20 
21 #define V_LAST_VAR { MAXVARS }
22 #define SPACE 0x20
23 #define SYNTH_CHECK 20030716 /* today's date ought to do for check value */
24 /* synth flags, for odd synths */
25 #define SF_DEC 1 /* to fiddle puncs in alpha strings so it doesn't spell */
26 #ifdef MODULE
27 #define SYNTH_START 1
28 #else
29 #define SYNTH_START 0
30 #endif
31 
32 #define KT_SPKUP 15
33 #define SPK_SYNTH_TIMEOUT 100000 /* in micro-seconds */
34 #define SYNTH_DEFAULT_DEV "ttyS0"
35 #define SYNTH_DEFAULT_SER 0
36 
37 const struct old_serial_port *spk_serial_init(int index);
38 void spk_stop_serial_interrupt(void);
39 int spk_wait_for_xmitr(struct spk_synth *in_synth);
40 void spk_serial_release(void);
41 void spk_ttyio_release(void);
42 void spk_ttyio_register_ldisc(void);
43 void spk_ttyio_unregister_ldisc(void);
44 
45 void synth_buffer_skip_nonlatin1(void);
46 u16 synth_buffer_getc(void);
47 u16 synth_buffer_peek(void);
48 int synth_buffer_empty(void);
49 struct var_t *spk_get_var(enum var_id_t var_id);
50 ssize_t spk_var_show(struct kobject *kobj, struct kobj_attribute *attr,
51 		     char *buf);
52 ssize_t spk_var_store(struct kobject *kobj, struct kobj_attribute *attr,
53 		      const char *buf, size_t count);
54 
55 int spk_serial_synth_probe(struct spk_synth *synth);
56 int spk_ttyio_synth_probe(struct spk_synth *synth);
57 const char *spk_serial_synth_immediate(struct spk_synth *synth,
58 				       const char *buff);
59 const char *spk_ttyio_synth_immediate(struct spk_synth *synth,
60 				      const char *buff);
61 void spk_do_catch_up(struct spk_synth *synth);
62 void spk_do_catch_up_unicode(struct spk_synth *synth);
63 void spk_synth_flush(struct spk_synth *synth);
64 unsigned char spk_synth_get_index(struct spk_synth *synth);
65 int spk_synth_is_alive_nop(struct spk_synth *synth);
66 int spk_synth_is_alive_restart(struct spk_synth *synth);
67 __printf(1, 2)
68 void synth_printf(const char *buf, ...);
69 void synth_putwc(u16 wc);
70 void synth_putwc_s(u16 wc);
71 void synth_putws(const u16 *buf);
72 void synth_putws_s(const u16 *buf);
73 int synth_request_region(unsigned long start, unsigned long n);
74 int synth_release_region(unsigned long start, unsigned long n);
75 int synth_add(struct spk_synth *in_synth);
76 void synth_remove(struct spk_synth *in_synth);
77 struct spk_synth *synth_current(void);
78 
79 extern struct speakup_info_t speakup_info;
80 
81 extern struct var_t synth_time_vars[];
82 
83 extern struct spk_io_ops spk_serial_io_ops;
84 extern struct spk_io_ops spk_ttyio_ops;
85 
86 #endif
87