The XAllocIconSize function
allocates and returns a pointer to a XIconSize structure. Note that all
fields in the XIconSize structure are initially set to zero. If insufficient
memory is available, XAllocIconSize returns NULL. To free the memory
allocated to this structure, use XFree.

The XSetIconSizes function is
used only by window managers to set the supported icon sizes.

XSetIconSizes
can generate BadAlloc and BadWindow errors.

The XGetIconSizes function
returns zero if a window manager has not set icon sizes; otherwise, it
return nonzero. XGetIconSizes should be called by an application that
wants to find out what icon sizes would be most appreciated by the window
manager under which the application is running. The application should then
use XSetWMHints to supply the window manager with an icon pixmap or window
in one of the supported sizes. To free the data allocated in size_list_return,
use XFree.