Provided by: libx11-doc_1.6.9-2ubuntu1_all bug

NAME

       XkbAllocNames - Allocate symbolic names structures

SYNOPSIS

       Status   XkbAllocNames   (XkbDescPtr   xkb,   unsigned   int   which,   int   num_rg,  int
              num_key_aliases);

ARGUMENTS

       - xkb  keyboard description for which names are to be allocated

       - which
              mask of names to be allocated

       - num_rg
              total number of radio group names needed

       - num_key_aliases
              total number of key aliases needed

DESCRIPTION

       Most applications do not need to directly  allocate  symbolic  names  structures.  Do  not
       allocate  a  names  structure directly using malloc or Xmalloc if your application changes
       the number of key aliases or radio groups or constructs a symbolic names structure without
       loading the necessary components from the X server. Instead use XkbAllocNames.

       XkbAllocNames  can  return BadAlloc, BadMatch, and BadValue errors. The which parameter is
       the bitwise inclusive OR of the valid names mask bits defined 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

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

DIAGNOSTICS

       BadAlloc       Unable to allocate storage

       BadMatch       A  compatible version of Xkb was not available in the server or an argument
                      has correct type and range, but is otherwise invalid

       BadValue       An argument is out of range

SEE ALSO

       XkbFreeNames(3)