VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.6.0/xkbrules.h@ 17471

Last change on this file since 17471 was 17471, checked in by vboxsync, 16 years ago

export to OSE

  • Property svn:eol-style set to native
File size: 4.7 KB
Line 
1#ifndef _XKBRULES_H_
2#define _XKBRULES_H_ 1
3
4/************************************************************
5 Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
6
7 Permission to use, copy, modify, and distribute this
8 software and its documentation for any purpose and without
9 fee is hereby granted, provided that the above copyright
10 notice appear in all copies and that both that copyright
11 notice and this permission notice appear in supporting
12 documentation, and that the name of Silicon Graphics not be
13 used in advertising or publicity pertaining to distribution
14 of the software without specific prior written permission.
15 Silicon Graphics makes no representation about the suitability
16 of this software for any purpose. It is provided "as is"
17 without any express or implied warranty.
18
19 SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
20 SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
21 AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
22 GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
23 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
24 DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
25 OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
26 THE USE OR PERFORMANCE OF THIS SOFTWARE.
27
28 ********************************************************/
29
30/***====================================================================***/
31
32typedef struct _XkbRF_VarDefs {
33 char * model;
34 char * layout;
35 char * variant;
36 char * options;
37 unsigned short sz_extra;
38 unsigned short num_extra;
39 char * extra_names;
40 char ** extra_values;
41} XkbRF_VarDefsRec,*XkbRF_VarDefsPtr;
42
43typedef struct _XkbRF_VarDesc {
44 char * name;
45 char * desc;
46} XkbRF_VarDescRec, *XkbRF_VarDescPtr;
47
48typedef struct _XkbRF_DescribeVars {
49 int sz_desc;
50 int num_desc;
51 XkbRF_VarDescPtr desc;
52} XkbRF_DescribeVarsRec,*XkbRF_DescribeVarsPtr;
53
54typedef struct _XkbRF_Rule {
55 int number;
56 int layout_num;
57 int variant_num;
58 char * model;
59 char * layout;
60 char * variant;
61 char * option;
62 /* yields */
63 char * keycodes;
64 char * symbols;
65 char * types;
66 char * compat;
67 char * geometry;
68 char * keymap;
69 unsigned flags;
70} XkbRF_RuleRec,*XkbRF_RulePtr;
71
72typedef struct _XkbRF_Group {
73 int number;
74 char * name;
75 char * words;
76} XkbRF_GroupRec, *XkbRF_GroupPtr;
77
78#define XkbRF_PendingMatch (1L<<1)
79#define XkbRF_Option (1L<<2)
80#define XkbRF_Append (1L<<3)
81#define XkbRF_Normal (1L<<4)
82#define XkbRF_Invalid (1L<<5)
83
84typedef struct _XkbRF_Rules {
85 XkbRF_DescribeVarsRec models;
86 XkbRF_DescribeVarsRec layouts;
87 XkbRF_DescribeVarsRec variants;
88 XkbRF_DescribeVarsRec options;
89 unsigned short sz_extra;
90 unsigned short num_extra;
91 char ** extra_names;
92 XkbRF_DescribeVarsPtr extra;
93
94 unsigned short sz_rules;
95 unsigned short num_rules;
96 XkbRF_RulePtr rules;
97 unsigned short sz_groups;
98 unsigned short num_groups;
99 XkbRF_GroupPtr groups;
100} XkbRF_RulesRec, *XkbRF_RulesPtr;
101
102/***====================================================================***/
103
104_XFUNCPROTOBEGIN
105
106extern Bool XkbRF_GetComponents(
107 XkbRF_RulesPtr /* rules */,
108 XkbRF_VarDefsPtr /* var_defs */,
109 XkbComponentNamesPtr /* names */
110);
111
112extern XkbRF_RulePtr XkbRF_AddRule(
113 XkbRF_RulesPtr /* rules */
114);
115
116extern XkbRF_GroupPtr XkbRF_AddGroup(XkbRF_RulesPtr rules);
117
118extern Bool XkbRF_LoadRules(
119 FILE * /* file */,
120 XkbRF_RulesPtr /* rules */
121);
122
123extern Bool XkbRF_LoadRulesByName(
124 char * /* base */,
125 char * /* locale */,
126 XkbRF_RulesPtr /* rules */
127);
128
129/***====================================================================***/
130
131extern XkbRF_VarDescPtr XkbRF_AddVarDesc(
132 XkbRF_DescribeVarsPtr /* vars */
133);
134
135extern XkbRF_VarDescPtr XkbRF_AddVarDescCopy(
136 XkbRF_DescribeVarsPtr /* vars */,
137 XkbRF_VarDescPtr /* copy_from */
138);
139
140extern XkbRF_DescribeVarsPtr XkbRF_AddVarToDescribe(
141 XkbRF_RulesPtr /* rules */,
142 char * /* name */
143);
144
145extern Bool XkbRF_LoadDescriptions(
146 FILE * /* file */,
147 XkbRF_RulesPtr /* rules */
148);
149
150extern Bool XkbRF_LoadDescriptionsByName(
151 char * /* base */,
152 char * /* locale */,
153 XkbRF_RulesPtr /* rules */
154);
155
156extern XkbRF_RulesPtr XkbRF_Load(
157 char * /* base */,
158 char * /* locale */,
159 Bool /* wantDesc */,
160 Bool /* wantRules */
161);
162
163extern XkbRF_RulesPtr XkbRF_Create(
164 int /* sz_rules */,
165 int /* sz_extra */
166);
167
168/***====================================================================***/
169
170extern void XkbRF_Free(
171 XkbRF_RulesPtr /* rules */,
172 Bool /* freeRules */
173);
174
175
176/***====================================================================***/
177
178#define _XKB_RF_NAMES_PROP_ATOM "_XKB_RULES_NAMES"
179#define _XKB_RF_NAMES_PROP_MAXLEN 1024
180
181_XFUNCPROTOEND
182
183#endif /* _XKBRULES_H_ */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette