The functions in this section use the visual information masks and the XVisualInfo structure, which is defined in X11/Xutil.h and contains:
/* Visual information mask bits */
#define VisualNoMask		0x0
#define VisualIDMask		0x1
#define VisualScreenMask	0x2
#define VisualDepthMask		0x4
#define VisualClassMask		0x8
#define VisualRedMaskMask	0x10
#define VisualGreenMaskMask	0x20
#define VisualBlueMaskMask	0x40
#define VisualColormapSizeMask	0x80
#define VisualBitsPerRGBMask	0x100
#define VisualAllMask		0x1FF
/* Values */
typedef struct {
	Visual *visual;
	VisualID visualid;
	int screen;
	unsigned int depth;
	int class;
	unsigned long red_mask;
	unsigned long green_mask;
	unsigned long blue_mask;
	int colormap_size;
	int bits_per_rgb;
} XVisualInfo;
To obtain a list of visual information structures that match a specified template, use XGetVisualInfo().
To obtain the visual information that matches the specified depth and class of the screen, use XMatchVisualInfo().