Provided by: libx11-doc_1.6.4-3_all bug

NAME

       XkbFreeNames - Free symbolic names structures

SYNOPSIS

       void XkbFreeNames (XkbDescPtr xkb, unsigned int which, Bool free_map);

ARGUMENTS

       - xkb  keyboard description for which names are to be freed

       - which
              mask of names components to be freed

       - free_map
              True => XkbNamesRec structure itself should be freed

DESCRIPTION

       Do  not  free  symbolic  names  structures directly using free or XFree.  Use XkbFreeNames
       instead.

       The which parameter is the bitwise inclusive OR of the valid names mask  bits  defined  in
       Table 1.

       Xkb provides several functions that work with symbolic names. Each of these functions uses
       a mask to specify individual fields of the structures described  above.  These  masks  and
       their relationships to the fields in a keyboard description are shown in Table 1.

                                 Table 1 Symbolic Names Masks
       ─────────────────────────────────────────────────────────────────────────────────
       Mask Bit                 Value      Keyboard     Field
                                           Component
       ─────────────────────────────────────────────────────────────────────────────────
       XkbKeycodesNameMask      (1<<0)     Xkb->names   keycodes
       XkbGeometryNameMask      (1<<1)     Xkb->names   geometry
       XkbSymbolsNameMask       (1<<2)     Xkb->names   symbols
       XkbPhysSymbolsNameMask   (1<<3)     Xkb->names   phys_symbols
       XkbTypesNameMask         (1<<4)     Xkb->names   type
       XkbCompatNameMask        (1<<5)     Xkb->names   compat
       XkbKeyTypeNamesMask      (1<<6)     Xkb->map     type[*].name
       XkbKTLevelNamesMask      (1<<7)     Xkb->map     type[*].lvl_names[*]
       XkbIndicatorNamesMask    (1<<8)     Xkb->names   indicators[*]
       XkbKeyNamesMask          (1<<9)     Xkb->names   keys[*], num_keys
       XkbKeyAliasesMask        (1<<10)    Xkb->names   key_aliases[*], num_key_aliases
       XkbVirtualModNamesMask   (1<<11)    Xkb->names   vmods[*]
       XkbGroupNamesMask        (1<<12)    Xkb->names   groups[*]
       XkbRGNamesMask           (1<<13)    Xkb->names   radio_groups[*], num_rg
       XkbComponentNamesMask    (0x3f)     Xkb->names   keycodes,
                                                        geometry,
                                                        symbols,
                                                        physical symbols,
                                                        types, and
                                                        compatibility map
       XkbAllNamesMask          (0x3fff)   Xkb->names   all name components