XVaCreateNestedList() XVaCreateNestedList()
Name
XVaCreateNestedList - allocate a nested variable argument list.
SynopsisXVaNestedList XVaCreateNestedList(dummy, ...)
int dummy;
Arguments
dummy Unused argument (required by ANSI C).
... Specifies the variable length argument list.
Returns
The variable-length argument list.
Availability
Release 5 and later.
Description
XVaCreateNestedList() creates a nested argument list of type XVaNestedList. The first argument is an integer value which is unused but
required because ANSI-C does not allow variable-length argument lists which do not have any "non-variable" arguments. This first argument
is followed by a NULL-terminated variable-length argument list. Generally, the arguments will be input method or input context attribute
name/value pairs.
Nested lists created in this way may be used in any of the input method and input context functions which require a variable-length argu-
ment list. Also, the XNPreeditAttributes and XNStatusAttributes input context attributes are of this type XVaNestedList.
XVaCreateNestedList() allocates memory and copies its arguments into a single list pointer which may be used as value for arguments requir-
ing a list value. Any entries are copied as specified. Data passed by reference is not copied; the caller must ensure that data remains
valid for the lifetime of the nested list. The list should be freed using XFree() when it is no longer needed.
See Also
XCreateIC(), XSetICValues(), XGetICValues().
Xlib - Input Methods XVaCreateNestedList()
Check Out this Related Man Page
XSetICValues(3X11)XSetICValues(3X11)NAME
XSetICValues, XGetICValues - set and obtain XIC values
SYNOPSIS
char * XSetICValues(ic, ...)
XIC ic;
char * XGetICValues(ic, ...)
XIC ic;
ARGUMENTS
Specifies the input context. Specifies the variable length argument list to set or get XIC values.
DESCRIPTION
The XSetICValues function returns NULL if no error occurred; otherwise, it returns the name of the first argument that could not be set. An
argument might not be set for any of the following reasons: The argument is read-only (for example, XNFilterEvents). The argument name is
not recognized. An implementation-dependent error occurs.
Each value to be set must be an appropriate datum, matching the data type imposed by the semantics of the argument.
The XSetICValues can generate BadAtom, BadColor, BadCursor, BadPixmap, and BadWindow errors.
The XGetICValues function returns NULL if no error occurred; otherwise, it returns the name of the first argument that could not be
obtained. An argument could not be obtained for any of the following reasons: The argument name is not recognized. The input method
encountered an implementation-dependent error.
Each IC attribute value argument (following a name) must point to a location where the IC value is to be stored. That is, if the IC value
is of type T, the argument must be of type T*. If T itself is a pointer type, then XGetICValues allocates memory to store the actual data,
and the client is responsible for freeing this data by calling XFree with the returned pointer. The exception to this rule is for an IC
value of type XVaNestedList (for preedit and status attributes). In this case, the argument must also be of type XVaNestedList. Then,
the rule of changing type T to T* and freeing the allocated data applies to each element of the nested list.
DIAGNOSTICS
A value for an Atom argument does not name a defined Atom. A value for a Colormap argument does not name a defined Colormap. A value for
a Cursor argument does not name a defined Cursor. A value for a Pixmap argument does not name a defined Pixmap. A value for a Window
argument does not name a defined Window.
SEE ALSO XCreateIC(3X11), XOpenIM(3X11), XSetICFocus(3X11), XmbResetIC(3X11)
Xlib -- C Language X Interface
XSetICValues(3X11)