upload tizen2.0 source
[framework/uifw/xorg/lib/libx11.git] / man / XrmInitialize.man
1 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
2 .\"
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:
10 .\"
11 .\" The above copyright notice and this permission notice shall be included
12 .\" in all copies or substantial portions of the Software.
13 .\"
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.
21 .\"
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.
26 .\"
27 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
28 .\" Digital Equipment Corporation
29 .\"
30 .\" Portions Copyright \(co 1990, 1991 by
31 .\" Tektronix, Inc.
32 .\"
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.
42 .\" 
43 .\"
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
48 .na
49 .de Ds
50 .nf
51 .\\$1D \\$2 \\$1
52 .ft 1
53 .\".ps \\n(PS
54 .\".if \\n(VS>=40 .vs \\n(VSu
55 .\".if \\n(VS<=39 .vs \\n(VSp
56 ..
57 .de De
58 .ce 0
59 .if \\n(BD .DF
60 .nr BD 0
61 .in \\n(OIu
62 .if \\n(TM .ls 2
63 .sp \\n(DDu
64 .fi
65 ..
66 .de FD
67 .LP
68 .KS
69 .TA .5i 3i
70 .ta .5i 3i
71 .nf
72 ..
73 .de FN
74 .fi
75 .KE
76 .LP
77 ..
78 .de IN          \" send an index entry to the stderr
79 ..
80 .de C{
81 .KS
82 .nf
83 .D
84 .\"
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...
89 .\"
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
94 .el .ft R
95 .ps \\n(PS
96 .ie \\n(VS>40 .vs \\n(VSu
97 .el .vs \\n(VSp
98 ..
99 .de C}
100 .DE
101 .R
102 ..
103 .de Pn
104 .ie t \\$1\fB\^\\$2\^\fR\\$3
105 .el \\$1\fI\^\\$2\^\fP\\$3
106 ..
107 .de ZN
108 .ie t \fB\^\\$1\^\fR\\$2
109 .el \fI\^\\$1\^\fP\\$2
110 ..
111 .de hN
112 .ie t <\fB\\$1\fR>\\$2
113 .el <\fI\\$1\fP>\\$2
114 ..
115 .de NT
116 .ne 7
117 .ds NO Note
118 .if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
119 .if \\n(.$ .if !'\\$1'C' .ds NO \\$1
120 .ie n .sp
121 .el .sp 10p
122 .TB
123 .ce
124 \\*(NO
125 .ie n .sp
126 .el .sp 5p
127 .if '\\$1'C' .ce 99
128 .if '\\$2'C' .ce 99
129 .in +5n
130 .ll -5n
131 .R
132 ..
133 .               \" Note End -- doug kraft 3/85
134 .de NE
135 .ce 0
136 .in -5n
137 .ll +5n
138 .ie n .sp
139 .el .sp 10p
140 ..
141 .ny0
142 .TH XrmInitialize __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
143 .SH NAME
144 XrmInitialize, XrmParseCommand, XrmValue, XrmOptionKind, XrmOptionDescRec \- initialize the Resource Manager, Resource Manager structures, and parse the command line
145 .SH SYNTAX
146 .HP
147 void XrmInitialize\^(void\^);
148 .HP
149 void XrmParseCommand\^(\^XrmDatabase *\fIdatabase\fP\^, XrmOptionDescList
150 \fItable\fP\^, int \fItable_count\fP\^, char *\fIname\fP\^, int
151 *\fIargc_in_out\fP\^, char **\fIargv_in_out\fP\^); 
152 .SH ARGUMENTS
153 .IP \fIargc_in_out\fP 1i
154 Specifies the number of arguments and returns the number of remaining arguments.
155 .IP \fIargv_in_out\fP 1i
156 Specifies the command line arguments
157 and returns the remaining arguments.
158 .IP \fIdatabase\fP 1i
159 Specifies the resource database.
160 .IP \fIname\fP 1i
161 Specifies the application name.
162 .IP \fItable\fP 1i
163 Specifies the table of command line arguments to be parsed.
164 .IP \fItable_count\fP 1i
165 Specifies the number of entries in the table.
166 .SH DESCRIPTION
167 The
168 .ZN XrmInitialize
169 function initialize the resource manager.
170 It must be called before any other Xrm functions are used.
171 .LP
172 The
173 .ZN XrmParseCommand
174 function parses an (argc, argv) pair according to the specified option table,
175 loads recognized options into the specified database with type ``String,''
176 and modifies the (argc, argv) pair to remove all recognized options.
177 If database contains NULL,
178 .ZN XrmParseCommand
179 creates a new database and returns a pointer to it.
180 Otherwise, entries are added to the database specified.
181 If a database is created, it is created in the current locale.
182 .LP
183 The specified table is used to parse the command line.
184 Recognized options in the table are removed from argv,
185 and entries are added to the specified resource database
186 in the order they occur in argv.
187 The table entries contain information on the option string,
188 the option name, the style of option, 
189 and a value to provide if the option kind is 
190 .ZN XrmoptionNoArg .
191 The option names are compared byte-for-byte to arguments in argv,
192 independent of any locale.
193 The resource values given in the table are stored in the resource database
194 without modification.
195 All resource database entries are created
196 using a ``String'' representation type.
197 The argc argument specifies the number of arguments in argv
198 and is set on return to the remaining number of arguments that were not parsed.
199 The name argument should be the name of your application
200 for use in building the database entry.
201 The name argument is prefixed to the resourceName in the option table
202 before storing a database entry.
203 The name argument is treated as a single component, even if it
204 has embedded periods.
205 No separating (binding) character is inserted,
206 so the table must contain either a period (.) or an asterisk (*)
207 as the first character in each resourceName entry.
208 To specify a more completely qualified resource name,
209 the resourceName entry can contain multiple components.
210 If the name argument and the resourceNames are not in the
211 Host Portable Character Encoding,
212 the result is implementation-dependent.
213 .SH STRUCTURES
214 The
215 .ZN XrmValue ,
216 .ZN XrmOptionKind ,
217 and
218 .ZN XrmOptionDescRec
219 structures contain:
220 .LP
221 .Ds 0
222 .TA .5i 3i
223 .ta .5i 3i
224 typedef struct {
225         unsigned int size;
226         XPointer addr;
227 } XrmValue, *XrmValuePtr;
228 .De
229 .LP
230 .Ds 0
231 .TA .5i 2.5i
232 .ta .5i 2.5i
233 typedef enum {
234         XrmoptionNoArg, /\&* Value is specified in XrmOptionDescRec.value */
235         XrmoptionIsArg, /\&* Value is the option string itself */
236         XrmoptionStickyArg,     /\&* Value is characters immediately following option */
237         XrmoptionSepArg,        /\&* Value is next argument in argv */
238         XrmoptionResArg,        /\&* Resource and value in next argument in argv */
239         XrmoptionSkipArg,       /\&* Ignore this option and the next argument in argv */
240         XrmoptionSkipLine,      /\&* Ignore this option and the rest of argv */
241         XrmoptionSkipNArgs      /\&* Ignore this option and the next
242                 \ \ \ XrmOptionDescRec.value arguments in argv */
243 } XrmOptionKind;
244 .De
245 .LP
246 .Ds 0
247 .TA .5i 2.5i
248 .ta .5i 2.5i
249 typedef struct {
250         char *option;   /\&* Option specification string in argv                    */
251         char *specifier;        /\&* Binding and resource name (sans application name)    */
252         XrmOptionKind argKind;  /\&* Which style of option it is            */
253         XPointer value; /\&* Value to provide if XrmoptionNoArg or 
254                 \ \ \ XrmoptionSkipNArgs   */
255 } XrmOptionDescRec, *XrmOptionDescList;
256 .De
257 .SH "SEE ALSO"
258 XrmGetResource(__libmansuffix__),
259 XrmMergeDatabases(__libmansuffix__),
260 XrmPutResource(__libmansuffix__),
261 XrmUniqueQuark(__libmansuffix__)
262 .br
263 \fI\*(xL\fP