1 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
3 .\" Permission is hereby granted, free of charge, to any person obtaining
4 .\" a copy of this software and associated documentation files (the
5 .\" "Software"), to deal in the Software without restriction, including
6 .\" without limitation the rights to use, copy, modify, merge, publish,
7 .\" distribute, sublicense, and/or sell copies of the Software, and to
8 .\" permit persons to whom the Software is furnished to do so, subject to
9 .\" the following conditions:
11 .\" The above copyright notice and this permission notice shall be included
12 .\" in all copies or substantial portions of the Software.
14 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 .\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 .\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 .\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 .\" OTHER DEALINGS IN THE SOFTWARE.
22 .\" Except as contained in this notice, the name of the X Consortium shall
23 .\" not be used in advertising or otherwise to promote the sale, use or
24 .\" other dealings in this Software without prior written authorization
25 .\" from the X Consortium.
27 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
28 .\" Digital Equipment Corporation
30 .\" Portions Copyright \(co 1990, 1991 by
33 .\" Permission to use, copy, modify and distribute this documentation for
34 .\" any purpose and without fee is hereby granted, provided that the above
35 .\" copyright notice appears in all copies and that both that copyright notice
36 .\" and this permission notice appear in all copies, and that the names of
37 .\" Digital and Tektronix not be used in in advertising or publicity pertaining
38 .\" to this documentation without specific, written prior permission.
39 .\" Digital and Tektronix makes no representations about the suitability
40 .\" of this documentation for any purpose.
41 .\" It is provided ``as is'' without express or implied warranty.
44 .ds xT X Toolkit Intrinsics \- C Language Interface
45 .ds xW Athena X Widgets \- C Language X Toolkit Interface
46 .ds xL Xlib \- C Language X Interface
47 .ds xC Inter-Client Communication Conventions Manual
54 .\".if \\n(VS>=40 .vs \\n(VSu
55 .\".if \\n(VS<=39 .vs \\n(VSp
78 .de IN \" send an index entry to the stderr
85 .\" choose appropriate monospace font
86 .\" the imagen conditional, 480,
87 .\" may be changed to L if LB is too
88 .\" heavy for your eyes...
90 .ie "\\*(.T"480" .ft L
91 .el .ie "\\*(.T"300" .ft L
92 .el .ie "\\*(.T"202" .ft PO
93 .el .ie "\\*(.T"aps" .ft CW
96 .ie \\n(VS>40 .vs \\n(VSu
104 .ie t \\$1\fB\^\\$2\^\fR\\$3
105 .el \\$1\fI\^\\$2\^\fP\\$3
108 .ie t \fB\^\\$1\^\fR\\$2
109 .el \fI\^\\$1\^\fP\\$2
112 .ie t <\fB\\$1\fR>\\$2
118 .if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
119 .if \\n(.$ .if !'\\$1'C' .ds NO \\$1
133 . \" Note End -- doug kraft 3/85
142 .TH XrmUniqueQuark __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
144 XrmUniqueQuark, XrmStringToQuark, XrmPermStringToQuark, XrmQuarkToString, XrmStringToQuarkList, XrmStringToBindingQuarkList \- manipulate resource quarks
147 XrmQuark XrmUniqueQuark\^(void);
149 \&#define XrmStringToName(string) XrmStringToQuark(string)
151 \&#define XrmStringToClass(string) XrmStringToQuark(string)
153 \&#define XrmStringToRepresentation(string) XrmStringToQuark(string)
155 int XrmQuark XrmStringToQuark\^(\^char *\fIstring\fP\^);
157 XrmQuark XrmPermStringToQuark\^(\^char *\fIstring\fP\^);
159 \&#define XrmStringToName(string) XrmStringToQuark(string)
161 \&#define XrmStringToClass(string) XrmStringToQuark(string)
163 \&#define XrmStringToRepresentation(string) XrmStringToQuark(string)
165 XrmQuark XrmStringToQuark\^(\^char *\fIstring\fP\^);
167 XrmQuark XrmPermStringToQuark\^(\^char *\fIstring\fP\^);
169 \&#define XrmNameToString(name) XrmQuarkToString(name)
171 \&#define XrmClassToString(class) XrmQuarkToString(class)
173 \&#define XrmRepresentationToString(type) XrmQuarkToString(type)
175 char *XrmQuarkToString\^(\^XrmQuark \fIquark\fP\^);
177 \&#define XrmStringToNameList(str, name) XrmStringToQuarkList((str), (name))
179 \&#define XrmStringToClassList(str,class) XrmStringToQuarkList((str), (class))
182 void XrmStringToQuarkList\^(\^char *\fIstring\fP\^, XrmQuarkList
183 \fIquarks_return\fP\^);
185 XrmStringToBindingQuarkList\^(\^char *\fIstring\fP\^, XrmBindingList
186 \fIbindings_return\fP\^, XrmQuarkList \fIquarks_return\fP\^);
188 .IP \fIbindings_return\fP 1i
189 Returns the binding list.
191 Specifies the quark for which the equivalent string is desired.
192 .IP \fIquarks_return\fP 1i
193 Returns the list of quarks.
194 .ds Ql \ or quark list
196 Specifies the string for which a quark\*(Ql is to be allocated.
200 function allocates a quark that is guaranteed not to represent any string that
201 is known to the resource manager.
203 These functions can be used to convert from string to quark representation.
204 If the string is not in the Host Portable Character Encoding,
205 the conversion is implementation-dependent.
206 The string argument to
208 need not be permanently allocated storage.
209 .ZN XrmPermStringToQuark
211 .ZN XrmStringToQuark ,
212 except that Xlib is permitted to assume the string argument is permanently
214 and, hence, that it can be used as the value to be returned by
215 .ZN XrmQuarkToString .
217 For any given quark, if
219 returns a non-NULL value,
220 all future calls will return the same value (identical address).
222 These functions can be used to convert from quark representation to string.
223 The string pointed to by the return value must not be modified or freed.
224 The returned string is byte-for-byte equal to the original
225 string passed to one of the string-to-quark routines.
226 If no string exists for that quark,
229 For any given quark, if
231 returns a non-NULL value,
232 all future calls will return the same value (identical address).
234 These functions can be used to convert from string to quark representation.
235 If the string is not in the Host Portable Character Encoding,
236 the conversion is implementation-dependent.
237 The string argument to
239 need not be permanently allocated storage.
240 .ZN XrmPermStringToQuark
242 .ZN XrmStringToQuark ,
243 except that Xlib is permitted to assume the string argument is permanently
245 and, hence, that it can be used as the value to be returned by
246 .ZN XrmQuarkToString .
248 For any given quark, if
250 returns a non-NULL value,
251 all future calls will return the same value (identical address).
254 .ZN XrmStringToQuarkList
255 function converts the null-terminated string (generally a fully qualified name)
257 The caller must allocate sufficient space for the quarks list before calling
258 .ZN XrmStringToQuarkList .
259 Note that the string must be in the valid ResourceName format
261 If the string is not in the Host Portable Character Encoding,
262 the conversion is implementation-dependent.
264 A binding list is a list of type
266 and indicates if components of name or class lists are bound tightly or loosely
267 (that is, if wildcarding of intermediate components is specified).
270 typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
274 indicates that a period separates the components, and
276 indicates that an asterisk separates the components.
279 .ZN XrmStringToBindingQuarkList
280 function converts the specified string to a binding list and a quark list.
281 The caller must allocate sufficient space for the quarks list and the
282 binding list before calling
283 .ZN XrmStringToBindingQuarkList .
284 If the string is not in the Host Portable Character Encoding
285 the conversion is implementation-dependent.
286 Component names in the list are separated by a period or
287 an asterisk character.
288 If the string does not start with period or asterisk,
290 For example, ``*a.b*c'' becomes:
295 bindings loose tight loose
298 XrmGetResource(__libmansuffix__),
299 XrmInitialize(__libmansuffix__),
300 XrmMergeDatabases(__libmansuffix__),
301 XrmPutResource(__libmansuffix__)