Determine dmx extension version
#include <X11/extensions/dmxext.h>
Bool DMXQueryVersion(Display *dpy, int *major_version, int *minor_version, int *patch_version);
DMXQueryVersion() returns version information about the DMX protocol extension.
Any incompatible changes to the protocol will be indicated by a change in major_version. Small, upward-compatible changes will be indicated by a change in minor_version. In general, patch_version is for informational purposes and will encode the date of the last protocol revision (e.g., 20040604).
If the DMX protocol extension is available, major_version, minor_version, and patch_version will be set, and True will be returned. Otherwise, False will be returned.
At the time of this writing, the DMX protocol is at version 2.2.
Version 2.2 was the final development version, and code supporting this version was submitted to upstream X server repositories in the summer of 2004.
Version 1.5 was the last of the 1.x series, which was used for development before screen and input addition and removal were supported. Version 2.0 and 2.1 were development versions that partially supported screen and input addition and removal.
Since we do not expect development versions to be widely used, we recommend that any software that uses the DMX protocol extension to support only versions 2.2 and above (although they should detect earlier versions and either reduce functionality or fail gracefully).