Provided by: libx11-doc_1.8.10-2_all 

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
X Version 11 libX11 1.8.10 XkbFreeNames(3)