int DMXChangeScreensAttributes(Display *dpy, int screen_count, int *screens, int mask_count, unsigned int *masks, DMXScreenAttributes *attr, int *error_screen);
An explanation of the DMXScreenAttributes structure is given in DMXGetScreenAttributes(3).
The values that are used to compute each value in masks are as follows
DMXScreenWindowWidth DMXScreenWindowHeight DMXScreenWindowXoffset DMXScreenWindowYoffset DMXRootWindowWidth DMXRootWindowHeight DMXRootWindowXoffset DMXRootWindowYoffset DMXRootWindowXorigin DMXRootWindowYorigin
In general, mask_count should be equal to screen_count. However, as a convenience, mask_count may be less than screen_count, and the last entry in masks will then be used for all of the remaining screens. For example, this allows identical changes to be made to several screens using only one mask.
DMXChangeScreensAttributes() can generate BadLength (if the data provided does not match the data implicitly required by the screen_count and mask_count values), BadValue (if the values in screens are not valid), and BadAlloc errors.