Table of Contents

## Name

XrmEnumerateDatabase - enumerate resource database entries

## Syntax

#define
XrmEnumAllLevels
T}`` `` T{
0
T}
#define
XrmEnumOneLevel
T}`` `` T{
1
T}

    Bool XrmEnumerateDatabase(database, name_prefix, class_prefix, mode, proc,
    arg)

          XrmDatabase database;

          XrmNameList name_prefix;

          XrmClassList class_prefix;

          int mode;

          Bool (*proc)();

          XPointer arg;

    ArgumentsdatabaseSpecifies the resource database. name_prefixSpecifies the
    resource name prefix. class_prefixSpecifies the resource class prefix. modeSpecifies
    the number of levels to enumerate. procSpecifies the procedure that is to
    be called for each matching entry. argSpecifies the user-supplied argument
    that will be passed to the procedure. DescriptionThe XrmEnumerateDatabase
      function calls the specified procedure for each resource in the database
    that would match some completion of the given name/class resource prefix.
    The order in which resources are found is implementation-dependent. If mode
    is XrmEnumOneLevel,   a resource must match the given name/class prefix
    with just a single name and class appended.  If mode is XrmEnumAllLevels,
      the resource must match the given name/class prefix with one or more
    names and classes appended. If the procedure returns True,   the enumeration
    terminates and the function returns True.   If the procedure always returns
    False,   all matching resources are enumerated and the function returns
    False.   The procedure is called with the following arguments:
    Start marker code here

    0
    0>=40 .vs 0u
    0<=39 .vs 0p
    (*proc)(database, bindings, quarks, type, value, arg)
        XrmDatabase *database;
        XrmBindingList bindings;
        XrmQuarkList quarks;
        XrmRepresentation *type;
        XrmValue *value;
        XPointer arg;

The bindings and quarks lists are terminated by NULLQUARK. Note that pointers to the database and type are passed, but these values should not be modified.

The procedure must not modifiy the database. If Xlib has been initialized for threads, the procedure is called with the database locked and the result of a call by the procedure to any Xlib function using the same database is not defined.

## See Also

XrmGetResource(3X11) , XrmInitialize(3X11) , XrmPutResource(3X11)
Xlib - C Language X Interface

Table of Contents

- Name
- Syntax
- Arguments
- Description
- See Also