Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XUQuark(XS) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XrmGetResource(XS)

XrmInitialize(XS)

XrmMergeDatabases(XS)

XrmPutResource(XS)


 XrmUniqueQuark(XS)       X Version 11 (Release 5)         XrmUniqueQuark(XS)
                                6 January 1993


 Name

    XrmUniqueQuark - manipulate resource quarks

 Syntax


    XrmQuark XrmUniqueQuark()

    #define XrmStringToName(string) XrmStringToQuark(string)
    #define XrmStringToClass(string) XrmStringToQuark(string)
    #define XrmStringToRepresentation(string) XrmStringToQuark(string)

    XrmQuark XrmStringToQuark(string)
         char *string;

    XrmQuark XrmPermStringToQuark(string)
         char *string;

    #define XrmStringToName(string) XrmStringToQuark(string)
    #define XrmStringToClass(string) XrmStringToQuark(string)
    #define XrmStringToRepresentation(string) XrmStringToQuark(string)

    XrmQuark XrmStringToQuark(string)
         char *string;

    XrmQuark XrmPermStringToQuark(string)
         char *string;

    #define XrmNameToString(name) XrmQuarkToString(name)
    #define XrmClassToString(class) XrmQuarkToString(class)
    #define XrmRepresentationToString(type) XrmQuarkToString(type)

    char *XrmQuarkToString(quark)
         XrmQuark quark;

    #define XrmStringToNameList(str, name)  XrmStringToQuarkList((str), (name))
    #define XrmStringToClassList(str,class) XrmStringToQuarkList((str), (class))

    void XrmStringToQuarkList(string, quarks_return)
         char *string;
         XrmQuarkList quarks_return;

    XrmStringToBindingQuarkList(string, bindings_return, quarks_return)
         char *string;
         XrmBindingList bindings_return;
         XrmQuarkList quarks_return;


 Arguments


    bindingsreturn
                   Returns the binding list.

    quark          Specifies the quark for which the equivalent string is
                   desired.

    quarksreturn  Returns the list of quarks.

    string         Specifies the string for which a quark or quark list is to
                   be allocated.

 Description

    The XrmUniqueQuark function allocates a quark that is guaranteed not to
    represent any string that is known to the resource manager.

    These functions can be used to convert from string to quark representa-
    tion.  If the string is not in the Host Portable Character Encoding the
    conversion is implementation dependent.  The string argument to
    XrmStringToQuark need not be permanently allocated storage.
    XrmPermStringToQuark is just like XrmStringToQuark, except that Xlib is
    permitted to assume the string argument is permanently allocated, and
    hence that it can be used as the value to be returned by XrmQuarkTo-
    String.

    This function can be used to convert from quark representation to string.
    The string pointed to by the return value must not be modified or freed.
    The returned string is byte-for-byte equal to the original string passed
    to one of the string-to-quark routines.  If no string exists for that
    quark, XrmQuarkToString returns NULL.  For any given quark, if XrmQuark-
    ToString returns a non-NULL value, all future calls will return the same
    value (identical address).

    These functions can be used to convert from string to quark representa-
    tion.  If the string is not in the Host Portable Character Encoding the
    conversion is implementation dependent.  The string argument to
    XrmStringToQuark need not be permanently allocated storage.
    XrmPermStringToQuark is just like XrmStringToQuark, except that Xlib is
    permitted to assume the string argument is permanently allocated, and
    hence that it can be used as the value to be returned by XrmQuarkTo-
    String.

    The XrmStringToQuarkList function converts the null-terminated string
    (generally a fully qualified name) to a list of quarks.  Note that the
    string must be in the valid ResourceName format (see section 15.1 of Xlib
    - C Language X Interface).  If the string is not in the Host Portable
    Character Encoding the conversion is implementation dependent.

    A binding list is a list of type XrmBindingList and indicates if com-
    ponents of name or class lists are bound tightly or loosely (that is, if
    wildcarding of intermediate components is specified).

    typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;

    XrmBindTightly indicates that a period separates the components, and
    XrmBindLoosely indicates that an asterisk separates the components.

    The XrmStringToBindingQuarkList function converts the specified string to
    a binding list and a quark list.  If the string is not in the Host Port-
    able Character Encoding the conversion is implementation dependent.  Com-
    ponent names in the list are separated by a period or an asterisk charac-
    ter.  If the string does not start with period or asterisk, a period is
    assumed.  For example, ``*a.b*c'' becomes:

       quarks      a        b        c
       bindings    loose    tight    loose


 See also

    XrmGetResource(XS), XrmInitialize(XS), XrmMergeDatabases(XS),
    XrmPutResource(XS)
    Xlib - C Language X Interface


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026