Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / speakup / i18n.h
1 #ifndef I18N_H
2 #define I18N_H
3 /* Internationalization declarations */
4
5 enum msg_index_t {
6         MSG_FIRST_INDEX,
7         MSG_ANNOUNCEMENTS_START = MSG_FIRST_INDEX,
8         MSG_BLANK = MSG_ANNOUNCEMENTS_START,
9         MSG_IAM_ALIVE,
10         MSG_YOU_KILLED_SPEAKUP,
11         MSG_HEY_THATS_BETTER,
12         MSG_YOU_TURNED_ME_OFF,
13         MSG_PARKED,
14         MSG_UNPARKED,
15         MSG_MARK,
16         MSG_CUT,
17         MSG_MARK_CLEARED,
18         MSG_PASTE,
19         MSG_BRIGHT,
20         MSG_ON_BLINKING,
21         MSG_STATUS_START,
22         MSG_OFF = MSG_STATUS_START,
23         MSG_ON,
24         MSG_NO_WINDOW,
25         MSG_CURSOR_MSGS_START,
26         MSG_CURSORING_OFF = MSG_CURSOR_MSGS_START,
27         MSG_CURSORING_ON,
28         MSG_HIGHLIGHT_TRACKING,
29         MSG_READ_WINDOW,
30         MSG_READ_ALL,
31         MSG_EDIT_DONE,
32         MSG_WINDOW_ALREADY_SET,
33         MSG_END_BEFORE_START,
34         MSG_WINDOW_CLEARED,
35         MSG_WINDOW_SILENCED,
36         MSG_WINDOW_SILENCE_DISABLED,
37         MSG_ERROR,
38         MSG_GOTO_CANCELED,
39         MSG_GOTO,
40         MSG_LEAVING_HELP,
41         MSG_IS_UNASSIGNED,
42         MSG_HELP_INFO,
43         MSG_EDGE_MSGS_START,
44         MSG_EDGE_TOP  = MSG_EDGE_MSGS_START,
45         MSG_EDGE_BOTTOM,
46         MSG_EDGE_LEFT,
47         MSG_EDGE_RIGHT,
48         MSG_NUMBER,
49         MSG_SPACE,
50         MSG_START, /* A little confusing, given our convention. */
51         MSG_END, /* A little confusing, given our convention. */
52         MSG_CTRL,
53
54 /* A message containing the single word "or". */
55         MSG_DISJUNCTION,
56         MSG_ANNOUNCEMENTS_END = MSG_DISJUNCTION,
57
58 /* Messages with format specifiers. */
59         MSG_FORMATTED_START,
60         MSG_POS_INFO = MSG_FORMATTED_START,
61         MSG_CHAR_INFO,
62         MSG_REPEAT_DESC,
63         MSG_REPEAT_DESC2,
64         MSG_WINDOW_LINE,
65         MSG_WINDOW_BOUNDARY,
66         MSG_EDIT_PROMPT,
67         MSG_NO_COMMAND,
68         MSG_KEYDESC,
69         MSG_FORMATTED_END = MSG_KEYDESC,
70
71         /* Control keys. */
72         MSG_CTL_START,
73         MSG_CTL_SHIFT = MSG_CTL_START,
74         MSG_CTL_ALTGR,
75         MSG_CTL_CONTROL,
76         MSG_CTL_ALT,
77         MSG_CTL_LSHIFT,
78         MSG_CTL_SPEAKUP,
79         MSG_CTL_LCONTROL,
80         MSG_CTL_RCONTROL,
81         MSG_CTL_CAPSSHIFT,
82         MSG_CTL_END = MSG_CTL_CAPSSHIFT,
83
84         /* Colors. */
85         MSG_COLORS_START,
86         MSG_COLOR_BLACK = MSG_COLORS_START,
87         MSG_COLOR_BLUE,
88         MSG_COLOR_GREEN,
89         MSG_COLOR_CYAN,
90         MSG_COLOR_RED,
91         MSG_COLOR_MAGENTA,
92         MSG_COLOR_YELLOW,
93         MSG_COLOR_WHITE,
94         MSG_COLOR_GREY,
95         MSG_COLORS_END = MSG_COLOR_GREY,
96
97         MSG_STATES_START,
98         MSG_STATE_DOUBLE = MSG_STATES_START,
99         MSG_STATE_SPEAKUP,
100         MSG_STATE_ALT,
101         MSG_STATE_CONTROL,
102         MSG_STATE_ALTGR,
103         MSG_STATE_SHIFT,
104         MSG_STATES_END = MSG_STATE_SHIFT,
105
106         MSG_KEYNAMES_START,
107         MSG_KEYNAME_ESC = MSG_KEYNAMES_START,
108         MSG_KEYNAME_1, MSG_KEYNAME_2, MSG_KEYNAME_3, MSG_KEYNAME_4,
109         MSG_KEYNAME_5, MSG_KEYNAME_6, MSG_KEYNAME_7, MSG_KEYNAME_8,
110         MSG_KEYNAME_9,
111         MSG_KEYNAME_0, MSG_KEYNAME_DASH, MSG_KEYNAME_EQUAL, MSG_KEYNAME_BS,
112         MSG_KEYNAME_TAB,
113         MSG_KEYNAME_Q, MSG_KEYNAME_W, MSG_KEYNAME_E, MSG_KEYNAME_R,
114         MSG_KEYNAME_T, MSG_KEYNAME_Y, MSG_KEYNAME_U, MSG_KEYNAME_I,
115         MSG_KEYNAME_O, MSG_KEYNAME_P,
116         MSG_KEYNAME_LEFTBRACE, MSG_KEYNAME_RIGHTBRACE, MSG_KEYNAME_ENTER,
117         MSG_KEYNAME_LEFTCTRL, MSG_KEYNAME_A,
118         MSG_KEYNAME_S, MSG_KEYNAME_D, MSG_KEYNAME_F, MSG_KEYNAME_G,
119         MSG_KEYNAME_H, MSG_KEYNAME_J, MSG_KEYNAME_K, MSG_KEYNAME_L,
120         MSG_KEYNAME_SEMICOLON,
121         MSG_KEYNAME_SINGLEQUOTE, MSG_KEYNAME_GRAVE,
122         MSG_KEYNAME_LEFTSHFT, MSG_KEYNAME_BACKSLASH, MSG_KEYNAME_Z,
123         MSG_KEYNAME_X, MSG_KEYNAME_C, MSG_KEYNAME_V, MSG_KEYNAME_B,
124         MSG_KEYNAME_N, MSG_KEYNAME_M, MSG_KEYNAME_COMMA, MSG_KEYNAME_DOT,
125         MSG_KEYNAME_SLASH, MSG_KEYNAME_RIGHTSHFT,
126         MSG_KEYNAME_KPSTAR,
127         MSG_KEYNAME_LEFTALT, MSG_KEYNAME_SPACE, MSG_KEYNAME_CAPSLOCK,
128         MSG_KEYNAME_F1, MSG_KEYNAME_F2,
129         MSG_KEYNAME_F3, MSG_KEYNAME_F4, MSG_KEYNAME_F5, MSG_KEYNAME_F6,
130         MSG_KEYNAME_F7,
131         MSG_KEYNAME_F8, MSG_KEYNAME_F9, MSG_KEYNAME_F10, MSG_KEYNAME_NUMLOCK,
132         MSG_KEYNAME_SCROLLLOCK,
133         MSG_KEYNAME_KP7, MSG_KEYNAME_KP8, MSG_KEYNAME_KP9, MSG_KEYNAME_KPMINUS,
134         MSG_KEYNAME_KP4,
135         MSG_KEYNAME_KP5, MSG_KEYNAME_KP6, MSG_KEYNAME_KPPLUS, MSG_KEYNAME_KP1,
136         MSG_KEYNAME_KP2,
137         MSG_KEYNAME_KP3, MSG_KEYNAME_KP0, MSG_KEYNAME_KPDOT, MSG_KEYNAME_103RD,
138         MSG_KEYNAME_F13,
139         MSG_KEYNAME_102ND, MSG_KEYNAME_F11, MSG_KEYNAME_F12, MSG_KEYNAME_F14,
140         MSG_KEYNAME_F15,
141         MSG_KEYNAME_F16, MSG_KEYNAME_F17, MSG_KEYNAME_F18, MSG_KEYNAME_F19,
142         MSG_KEYNAME_F20,
143         MSG_KEYNAME_KPENTER, MSG_KEYNAME_RIGHTCTRL, MSG_KEYNAME_KPSLASH,
144         MSG_KEYNAME_SYSRQ, MSG_KEYNAME_RIGHTALT,
145         MSG_KEYNAME_LF, MSG_KEYNAME_HOME, MSG_KEYNAME_UP, MSG_KEYNAME_PGUP,
146         MSG_KEYNAME_LEFT,
147         MSG_KEYNAME_RIGHT, MSG_KEYNAME_END, MSG_KEYNAME_DOWN, MSG_KEYNAME_PGDN,
148         MSG_KEYNAME_INS,
149         MSG_KEYNAME_DEL, MSG_KEYNAME_MACRO, MSG_KEYNAME_MUTE,
150         MSG_KEYNAME_VOLDOWN, MSG_KEYNAME_VOLUP,
151         MSG_KEYNAME_POWER, MSG_KEYNAME_KPEQUAL, MSG_KEYNAME_KPPLUSDASH,
152         MSG_KEYNAME_PAUSE, MSG_KEYNAME_F21, MSG_KEYNAME_F22, MSG_KEYNAME_F23,
153         MSG_KEYNAME_F24, MSG_KEYNAME_KPCOMMA, MSG_KEYNAME_LEFTMETA,
154         MSG_KEYNAME_RIGHTMETA, MSG_KEYNAME_COMPOSE, MSG_KEYNAME_STOP,
155         MSG_KEYNAME_AGAIN, MSG_KEYNAME_PROPS,
156         MSG_KEYNAME_UNDO, MSG_KEYNAME_FRONT, MSG_KEYNAME_COPY, MSG_KEYNAME_OPEN,
157         MSG_KEYNAME_PASTE,
158         MSG_KEYNAME_FIND, MSG_KEYNAME_CUT, MSG_KEYNAME_HELP, MSG_KEYNAME_MENU,
159         MSG_KEYNAME_CALC,
160         MSG_KEYNAME_SETUP, MSG_KEYNAME_SLEEP, MSG_KEYNAME_WAKEUP,
161         MSG_KEYNAME_FILE, MSG_KEYNAME_SENDFILE,
162         MSG_KEYNAME_DELFILE, MSG_KEYNAME_XFER, MSG_KEYNAME_PROG1,
163         MSG_KEYNAME_PROG2, MSG_KEYNAME_WWW,
164         MSG_KEYNAME_MSDOS, MSG_KEYNAME_COFFEE, MSG_KEYNAME_DIRECTION,
165         MSG_KEYNAME_CYCLEWINDOWS, MSG_KEYNAME_MAIL,
166         MSG_KEYNAME_BOOKMARKS, MSG_KEYNAME_COMPUTER, MSG_KEYNAME_BACK,
167         MSG_KEYNAME_FORWARD, MSG_KEYNAME_CLOSECD,
168         MSG_KEYNAME_EJECTCD, MSG_KEYNAME_EJECTCLOSE, MSG_KEYNAME_NEXTSONG,
169         MSG_KEYNAME_PLAYPAUSE, MSG_KEYNAME_PREVSONG,
170         MSG_KEYNAME_STOPCD, MSG_KEYNAME_RECORD, MSG_KEYNAME_REWIND,
171         MSG_KEYNAME_PHONE, MSG_KEYNAME_ISO,
172         MSG_KEYNAME_CONFIG, MSG_KEYNAME_HOMEPG, MSG_KEYNAME_REFRESH,
173         MSG_KEYNAME_EXIT, MSG_KEYNAME_MOVE,
174         MSG_KEYNAME_EDIT, MSG_KEYNAME_SCROLLUP, MSG_KEYNAME_SCROLLDN,
175         MSG_KEYNAME_KPLEFTPAR, MSG_KEYNAME_KPRIGHTPAR,
176         MSG_KEYNAMES_END = MSG_KEYNAME_KPRIGHTPAR,
177
178         MSG_FUNCNAMES_START,
179         MSG_FUNCNAME_ATTRIB_BLEEP_DEC = MSG_FUNCNAMES_START,
180         MSG_FUNCNAME_ATTRIB_BLEEP_INC,
181         MSG_FUNCNAME_BLEEPS_DEC, MSG_FUNCNAME_BLEEPS_INC,
182         MSG_FUNCNAME_CHAR_FIRST, MSG_FUNCNAME_CHAR_LAST,
183         MSG_FUNCNAME_CHAR_CURRENT, MSG_FUNCNAME_CHAR_HEX_AND_DEC,
184         MSG_FUNCNAME_CHAR_NEXT,
185         MSG_FUNCNAME_CHAR_PHONETIC, MSG_FUNCNAME_CHAR_PREVIOUS,
186         MSG_FUNCNAME_CURSOR_PARK, MSG_FUNCNAME_CUT,
187         MSG_FUNCNAME_EDIT_DELIM, MSG_FUNCNAME_EDIT_EXNUM,
188         MSG_FUNCNAME_EDIT_MOST, MSG_FUNCNAME_EDIT_REPEATS,
189         MSG_FUNCNAME_EDIT_SOME,
190         MSG_FUNCNAME_GOTO, MSG_FUNCNAME_GOTO_BOTTOM, MSG_FUNCNAME_GOTO_LEFT,
191         MSG_FUNCNAME_GOTO_RIGHT, MSG_FUNCNAME_GOTO_TOP, MSG_FUNCNAME_HELP,
192         MSG_FUNCNAME_LINE_SAY_CURRENT, MSG_FUNCNAME_LINE_SAY_NEXT,
193         MSG_FUNCNAME_LINE_SAY_PREVIOUS, MSG_FUNCNAME_LINE_SAY_WITH_INDENT,
194         MSG_FUNCNAME_PASTE, MSG_FUNCNAME_PITCH_DEC, MSG_FUNCNAME_PITCH_INC,
195         MSG_FUNCNAME_PUNC_DEC, MSG_FUNCNAME_PUNC_INC,
196         MSG_FUNCNAME_PUNC_LEVEL_DEC, MSG_FUNCNAME_PUNC_LEVEL_INC,
197         MSG_FUNCNAME_QUIET,
198         MSG_FUNCNAME_RATE_DEC, MSG_FUNCNAME_RATE_INC,
199         MSG_FUNCNAME_READING_PUNC_DEC, MSG_FUNCNAME_READING_PUNC_INC,
200         MSG_FUNCNAME_SAY_ATTRIBUTES,
201         MSG_FUNCNAME_SAY_FROM_LEFT, MSG_FUNCNAME_SAY_FROM_TOP,
202         MSG_FUNCNAME_SAY_POSITION, MSG_FUNCNAME_SAY_SCREEN,
203         MSG_FUNCNAME_SAY_TO_BOTTOM, MSG_FUNCNAME_SAY_TO_RIGHT,
204         MSG_FUNCNAME_SPEAKUP, MSG_FUNCNAME_SPEAKUP_LOCK,
205         MSG_FUNCNAME_SPEAKUP_OFF, MSG_FUNCNAME_SPEECH_KILL,
206         MSG_FUNCNAME_SPELL_DELAY_DEC, MSG_FUNCNAME_SPELL_DELAY_INC,
207         MSG_FUNCNAME_SPELL_WORD, MSG_FUNCNAME_SPELL_WORD_PHONETICALLY,
208         MSG_FUNCNAME_TONE_DEC, MSG_FUNCNAME_TONE_INC,
209         MSG_FUNCNAME_VOICE_DEC, MSG_FUNCNAME_VOICE_INC,
210         MSG_FUNCNAME_VOLUME_DEC, MSG_FUNCNAME_VOLUME_INC,
211         MSG_FUNCNAME_WINDOW_CLEAR, MSG_FUNCNAME_WINDOW_SAY,
212         MSG_FUNCNAME_WINDOW_SET, MSG_FUNCNAME_WINDOW_SILENCE,
213         MSG_FUNCNAME_WORD_SAY_CURRENT, MSG_FUNCNAME_WORD_SAY_NEXT,
214         MSG_FUNCNAME_WORD_SAY_PREVIOUS,
215         MSG_FUNCNAMES_END = MSG_FUNCNAME_WORD_SAY_PREVIOUS,
216
217         /* all valid indices must be above this */
218         MSG_LAST_INDEX
219 };
220
221 struct msg_group_t {
222         char *name;
223         enum msg_index_t start;
224         enum msg_index_t end;
225 };
226
227 extern char *spk_msg_get(enum msg_index_t index);
228 extern ssize_t spk_msg_set(enum msg_index_t index, char *text, size_t length);
229 extern struct msg_group_t *spk_find_msg_group(const char *group_name);
230 extern void spk_reset_msg_group(struct msg_group_t *group);
231 extern void spk_initialize_msgs(void);
232 extern void spk_free_user_msgs(void);
233
234 #endif