XkbFreeNames(3) XKB FUNCTIONS XkbFreeNames(3)

# [NAME](#NAME)

XkbFreeNames - Free symbolic names structures

# [SYNOPSIS](#SYNOPSIS)

**void XkbFreeNames** **(XkbDescPtr xkb,** **unsigned int which,** **Bool free\_map);**

# [ARGUMENTS](#ARGUMENTS)

[*xkb*](#xkb)

keyboard description for which names are to be freed

[*which*](#which)

mask of names components to be freed

[*free\_map*](#free_map)

True =&gt; XkbNamesRec structure itself should be freed

# [DESCRIPTION](#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&lt;&lt;0) Xkb-&gt;names keycodes XkbGeometryNameMask (1&lt;&lt;1) Xkb-&gt;names geometry XkbSymbolsNameMask (1&lt;&lt;2) Xkb-&gt;names symbols XkbPhysSymbolsNameMask (1&lt;&lt;3) Xkb-&gt;names phys\_symbols XkbTypesNameMask (1&lt;&lt;4) Xkb-&gt;names type XkbCompatNameMask (1&lt;&lt;5) Xkb-&gt;names compat XkbKeyTypeNamesMask (1&lt;&lt;6) Xkb-&gt;map type\[\*].name XkbKTLevelNamesMask (1&lt;&lt;7) Xkb-&gt;map type\[\*].lvl\_names\[\*] XkbIndicatorNamesMask (1&lt;&lt;8) Xkb-&gt;names indicators\[\*] XkbKeyNamesMask (1&lt;&lt;9) Xkb-&gt;names keys\[\*], num\_keys XkbKeyAliasesMask (1&lt;&lt;10) Xkb-&gt;names key\_aliases\[\*], num\_key\_aliases XkbVirtualModNamesMask (1&lt;&lt;11) Xkb-&gt;names vmods\[\*] XkbGroupNamesMask (1&lt;&lt;12) Xkb-&gt;names groups\[\*] XkbRGNamesMask (1&lt;&lt;13) Xkb-&gt;names radio\_groups\[\*], num\_rg XkbComponentNamesMask (0x3f) Xkb-&gt;names keycodes, geometry, symbols, physical symbols, types, and compatibility map XkbAllNamesMask (0x3fff) Xkb-&gt;names all name components

libX11 1.8.14 X Version 11

---

Document: XkbFreeNames(3) from libx11 1.8.14-r0 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
