VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/7.0/X11/Xresource.h@ 17236

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

Additions/x11/x11include: blast! Reverted r43555 and r43556

  • Property svn:eol-style set to native
File size: 10.5 KB
Line 
1/* $Xorg: Xresource.h,v 1.7 2001/02/09 02:03:39 xorgcvs Exp $ */
2
3/***********************************************************
4
5Copyright 1987, 1988, 1998 The Open Group
6
7Permission to use, copy, modify, distribute, and sell this software and its
8documentation for any purpose is hereby granted without fee, provided that
9the above copyright notice appear in all copies and that both that
10copyright notice and this permission notice appear in supporting
11documentation.
12
13The above copyright notice and this permission notice shall be included in
14all copies or substantial portions of the Software.
15
16THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23Except as contained in this notice, the name of The Open Group shall not be
24used in advertising or otherwise to promote the sale, use or other dealings
25in this Software without prior written authorization from The Open Group.
26
27
28Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
29
30 All Rights Reserved
31
32Permission to use, copy, modify, and distribute this software and its
33documentation for any purpose and without fee is hereby granted,
34provided that the above copyright notice appear in all copies and that
35both that copyright notice and this permission notice appear in
36supporting documentation, and that the name of Digital not be
37used in advertising or publicity pertaining to distribution of the
38software without specific, written prior permission.
39
40DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
41ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
42DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
43ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
44WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
45ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
46SOFTWARE.
47
48******************************************************************/
49/* $XFree86: xc/lib/X11/Xresource.h,v 3.8 2001/12/14 19:54:10 dawes Exp $ */
50
51#ifndef _XRESOURCE_H_
52#define _XRESOURCE_H_
53
54#ifndef _XP_PRINT_SERVER_
55#include <X11/Xlib.h>
56#endif
57
58/****************************************************************
59 ****************************************************************
60 *** ***
61 *** ***
62 *** X Resource Manager Intrinsics ***
63 *** ***
64 *** ***
65 ****************************************************************
66 ****************************************************************/
67
68_XFUNCPROTOBEGIN
69
70/****************************************************************
71 *
72 * Memory Management
73 *
74 ****************************************************************/
75
76extern char *Xpermalloc(
77 unsigned int /* size */
78);
79
80/****************************************************************
81 *
82 * Quark Management
83 *
84 ****************************************************************/
85
86typedef int XrmQuark, *XrmQuarkList;
87#define NULLQUARK ((XrmQuark) 0)
88
89typedef char *XrmString;
90#define NULLSTRING ((XrmString) 0)
91
92/* find quark for string, create new quark if none already exists */
93extern XrmQuark XrmStringToQuark(
94 _Xconst char* /* string */
95);
96
97extern XrmQuark XrmPermStringToQuark(
98 _Xconst char* /* string */
99);
100
101/* find string for quark */
102extern XrmString XrmQuarkToString(
103 XrmQuark /* quark */
104);
105
106extern XrmQuark XrmUniqueQuark(
107 void
108);
109
110#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
111
112
113/****************************************************************
114 *
115 * Conversion of Strings to Lists
116 *
117 ****************************************************************/
118
119typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
120
121extern void XrmStringToQuarkList(
122 _Xconst char* /* string */,
123 XrmQuarkList /* quarks_return */
124);
125
126extern void XrmStringToBindingQuarkList(
127 _Xconst char* /* string */,
128 XrmBindingList /* bindings_return */,
129 XrmQuarkList /* quarks_return */
130);
131
132/****************************************************************
133 *
134 * Name and Class lists.
135 *
136 ****************************************************************/
137
138typedef XrmQuark XrmName;
139typedef XrmQuarkList XrmNameList;
140#define XrmNameToString(name) XrmQuarkToString(name)
141#define XrmStringToName(string) XrmStringToQuark(string)
142#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
143
144typedef XrmQuark XrmClass;
145typedef XrmQuarkList XrmClassList;
146#define XrmClassToString(c_class) XrmQuarkToString(c_class)
147#define XrmStringToClass(c_class) XrmStringToQuark(c_class)
148#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
149
150
151
152/****************************************************************
153 *
154 * Resource Representation Types and Values
155 *
156 ****************************************************************/
157
158typedef XrmQuark XrmRepresentation;
159#define XrmStringToRepresentation(string) XrmStringToQuark(string)
160#define XrmRepresentationToString(type) XrmQuarkToString(type)
161
162typedef struct {
163 unsigned int size;
164 XPointer addr;
165} XrmValue, *XrmValuePtr;
166
167
168/****************************************************************
169 *
170 * Resource Manager Functions
171 *
172 ****************************************************************/
173
174typedef struct _XrmHashBucketRec *XrmHashBucket;
175typedef XrmHashBucket *XrmHashTable;
176typedef XrmHashTable XrmSearchList[];
177typedef struct _XrmHashBucketRec *XrmDatabase;
178
179
180extern void XrmDestroyDatabase(
181 XrmDatabase /* database */
182);
183
184extern void XrmQPutResource(
185 XrmDatabase* /* database */,
186 XrmBindingList /* bindings */,
187 XrmQuarkList /* quarks */,
188 XrmRepresentation /* type */,
189 XrmValue* /* value */
190);
191
192extern void XrmPutResource(
193 XrmDatabase* /* database */,
194 _Xconst char* /* specifier */,
195 _Xconst char* /* type */,
196 XrmValue* /* value */
197);
198
199extern void XrmQPutStringResource(
200 XrmDatabase* /* database */,
201 XrmBindingList /* bindings */,
202 XrmQuarkList /* quarks */,
203 _Xconst char* /* value */
204);
205
206extern void XrmPutStringResource(
207 XrmDatabase* /* database */,
208 _Xconst char* /* specifier */,
209 _Xconst char* /* value */
210);
211
212extern void XrmPutLineResource(
213 XrmDatabase* /* database */,
214 _Xconst char* /* line */
215);
216
217extern Bool XrmQGetResource(
218 XrmDatabase /* database */,
219 XrmNameList /* quark_name */,
220 XrmClassList /* quark_class */,
221 XrmRepresentation* /* quark_type_return */,
222 XrmValue* /* value_return */
223);
224
225extern Bool XrmGetResource(
226 XrmDatabase /* database */,
227 _Xconst char* /* str_name */,
228 _Xconst char* /* str_class */,
229 char** /* str_type_return */,
230 XrmValue* /* value_return */
231);
232
233extern Bool XrmQGetSearchList(
234 XrmDatabase /* database */,
235 XrmNameList /* names */,
236 XrmClassList /* classes */,
237 XrmSearchList /* list_return */,
238 int /* list_length */
239);
240
241extern Bool XrmQGetSearchResource(
242 XrmSearchList /* list */,
243 XrmName /* name */,
244 XrmClass /* class */,
245 XrmRepresentation* /* type_return */,
246 XrmValue* /* value_return */
247);
248
249/****************************************************************
250 *
251 * Resource Database Management
252 *
253 ****************************************************************/
254
255#ifndef _XP_PRINT_SERVER_
256
257extern void XrmSetDatabase(
258 Display* /* display */,
259 XrmDatabase /* database */
260);
261
262extern XrmDatabase XrmGetDatabase(
263 Display* /* display */
264);
265
266#endif /* !_XP_PRINT_SERVER_ */
267
268extern XrmDatabase XrmGetFileDatabase(
269 _Xconst char* /* filename */
270);
271
272extern Status XrmCombineFileDatabase(
273 _Xconst char* /* filename */,
274 XrmDatabase* /* target */,
275 Bool /* override */
276);
277
278extern XrmDatabase XrmGetStringDatabase(
279 _Xconst char* /* data */ /* null terminated string */
280);
281
282extern void XrmPutFileDatabase(
283 XrmDatabase /* database */,
284 _Xconst char* /* filename */
285);
286
287extern void XrmMergeDatabases(
288 XrmDatabase /* source_db */,
289 XrmDatabase* /* target_db */
290);
291
292extern void XrmCombineDatabase(
293 XrmDatabase /* source_db */,
294 XrmDatabase* /* target_db */,
295 Bool /* override */
296);
297
298#define XrmEnumAllLevels 0
299#define XrmEnumOneLevel 1
300
301extern Bool XrmEnumerateDatabase(
302 XrmDatabase /* db */,
303 XrmNameList /* name_prefix */,
304 XrmClassList /* class_prefix */,
305 int /* mode */,
306 Bool (*)(
307 XrmDatabase* /* db */,
308 XrmBindingList /* bindings */,
309 XrmQuarkList /* quarks */,
310 XrmRepresentation* /* type */,
311 XrmValue* /* value */,
312 XPointer /* closure */
313 ) /* proc */,
314 XPointer /* closure */
315);
316
317extern const char *XrmLocaleOfDatabase(
318 XrmDatabase /* database */
319);
320
321
322/****************************************************************
323 *
324 * Command line option mapping to resource entries
325 *
326 ****************************************************************/
327
328typedef enum {
329 XrmoptionNoArg, /* Value is specified in OptionDescRec.value */
330 XrmoptionIsArg, /* Value is the option string itself */
331 XrmoptionStickyArg, /* Value is characters immediately following option */
332 XrmoptionSepArg, /* Value is next argument in argv */
333 XrmoptionResArg, /* Resource and value in next argument in argv */
334 XrmoptionSkipArg, /* Ignore this option and the next argument in argv */
335 XrmoptionSkipLine, /* Ignore this option and the rest of argv */
336 XrmoptionSkipNArgs /* Ignore this option and the next
337 OptionDescRes.value arguments in argv */
338} XrmOptionKind;
339
340typedef struct {
341 char *option; /* Option abbreviation in argv */
342 char *specifier; /* Resource specifier */
343 XrmOptionKind argKind; /* Which style of option it is */
344 XPointer value; /* Value to provide if XrmoptionNoArg */
345} XrmOptionDescRec, *XrmOptionDescList;
346
347
348extern void XrmParseCommand(
349 XrmDatabase* /* database */,
350 XrmOptionDescList /* table */,
351 int /* table_count */,
352 _Xconst char* /* name */,
353 int* /* argc_in_out */,
354 char** /* argv_in_out */
355);
356
357_XFUNCPROTOEND
358
359#endif /* _XRESOURCE_H_ */
360/* DON'T ADD STUFF AFTER THIS #endif */
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