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