The XGetVisualInfo
function returns a list of visual structures that have attributes equal
to the attributes specified by vinfo_template. If no visual structures match
the template using the specified vinfo_mask, XGetVisualInfo returns a
NULL. To free the data returned by this function, use XFree.

The XMatchVisualInfo
function returns the visual information for a visual that matches the
specified depth and class for a screen. Because multiple visuals that match
the specified depth and class can exist, the exact visual chosen is undefined.
If a visual is found, XMatchVisualInfo returns nonzero and the information
on the visual to vinfo_return. Otherwise, when a visual is not found, XMatchVisualInfo
returns zero.

The XVisualIDFromVisual function returns the visual ID
for the specified visual type.