comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/X11/Xresource.h @ 69:33d812a61356

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