diff options
Diffstat (limited to 'nx-X11/programs/Xserver/hw/dmx/doc/DMXSpec-v1.txt')
-rw-r--r-- | nx-X11/programs/Xserver/hw/dmx/doc/DMXSpec-v1.txt | 458 |
1 files changed, 0 insertions, 458 deletions
diff --git a/nx-X11/programs/Xserver/hw/dmx/doc/DMXSpec-v1.txt b/nx-X11/programs/Xserver/hw/dmx/doc/DMXSpec-v1.txt deleted file mode 100644 index 423bc32f8..000000000 --- a/nx-X11/programs/Xserver/hw/dmx/doc/DMXSpec-v1.txt +++ /dev/null @@ -1,458 +0,0 @@ - - - Client-to-Server DMX Extension to the X Protocol - - $Date: 2004/06/30 20:06:54 $, $Revision: 1.1 $ - - Rickard E. (Rik) Faith (faith@redhat.com) - Kevin E. Martin (kem@redhat.com) - - Copyright 2002,2003 Red Hat Inc., Raleigh, North Carolina. - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation on the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the - Software, and to permit persons to whom the Software is furnished to - do so, subject to the following conditions: - - The above copyright notice and this permission notice (including the - next paragraph) shall be included in all copies or substantial - portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - - - -1. Overview - - The client-to-server DMX extension to the X protocol (DMX) provides - normal client applications with the ability to determine information - about the characteristics of the Xdmx server and the back-end X - servers that DMX is using. - - The name for this extension is "DMX". - - - -2. Syntactic conventions - - This document uses the same syntactic conventions requests and data - types as [X11R6.4]. - - - -3. Data types - - No new data types are defined by this extension. All data types - referenced in this document are defined in [X11R6.4]. - - - -4. Requests - - DMXQueryVersion - ==> - majorVersion: CARD32 - minorVersion: CARD32 - patchVersion: CARD32 - - The protocol this extension actually supports is indicated by - majorVersion and minorVersion (patchVersion indicates the - patchlevel and is for informational purposes only). - - Any incompatible changes to the protocol should be indicated by - incrementing majorVersion. - - Small, upward-compatible changes should be indicated by incrementing - minorVersion. - - Servers that support the protocol defined in this document will - return a majorVersion of 1 and a minorVersion of 1. - - - - DMXGetScreenCount - ==> - screenCount: CARD32 - - This request returns the number of back-end screens that the Xdmx - server controls. A back-end screen may be managed as a regular X - screen in the Xdmx server or may be joined with other back-end - screens using Xinerama. (The information returned by this request - does not change while Xdmx is running and may be cached on the - client side.) - - - - DMXGetScreenInformation - physicalScreen: CARD32 - ==> - displayName: STRING8 - width: CARD16 - height: CARD16 - xoffset: INT16 - yoffset: INT16 - logicalScreen: CARD32 - xorigin: INT16 - yorigin: INT16 - - Errors: Value - - This request returns information about individual back-end screens. - The physicalScreen value is between 0 and screenCount-1, inclusive - (values outside this range will result in a Value error). The - displayname is the name used to open the display, either from the - Xdmx command-line or from the configuration file. The width, - height, xoffset, and yoffset values comprise a geometry - specification (see X(7x)) for the location of the DMX window on the - back-end screen. This request will always return non-negative - (i.e., normalized) values for xoffset and yoffset. The - logicalScreen value is the value of the screen that that Xdmx server - exports to clients. When Xinerama is in use, this value is - typically 0 for all values of physicalScreen. If Xinerama is in - use, the xorigin and yorigin values specify where the physical - screen is positioned in the global Xinerama coordinate system. - Otherwise, these values are set to 0. (The information returned by - this request does not change while Xdmx is running and may be cached - on the client side.) - - - - DMXGetWindowInformation - window: CARD32 - ==> - screenCount: CARD32 - screens: LISTofCARD32 - windows: LISTofCARD32 - pos: LISTofRECTANGLE - vis: LISTofRECTANGLE - - Errors: Window, Alloc - - This request computed the return values incorrectly for version 1.0 - of this protocol. Version 1.1 of this protocol conforms to this - description. - - Given a window ID on the Xdmx server, this request returns data - about how the window is represented on the back-end X servers. For - each back-end X server that displays a portion of the window, the - following information is returned: - 1) the number of the physical screen containing that portion - (which can be used with the DMXGetScreenInformation request - to obtain more information about the screen), - 2) the window ID on the back-end X server of the window - containing that portion, - 3) the position and dimensions of the window on the back-end, in - screen coordinates, and - 4) the visible area of the window on the back-end, in - window-relative coordinates (all zeros for windows that are - not visible) - Note that DMX allows multiple back-end windows to overlap in their - view of the DMX logical window. Further, a logical window does not - have to be completely covered by back-end windows -- there may be - gaps. - - As an example, consider a 500x500 window that spans the top two - 1024x768 back-end displays (A and B) of a 2048x1536 DMX display - composed of 4 1024x768 back-end displays arranged in a cube: - A B - C D - - In this case, the DMXGetWindowInformation call would return the - following information for the 500x500 window: - - display A: 500x500 window at 1024-250,0 (relative to back end) - with 250x500 visible at 0,0 (relative to window origin) - - display B: 500x500 window at -250,0 (relative to back end) - with 250x500 visible at 250,0 (relative to window origin) - - display C: 500x500 window at 1024-250,-768 with 0x0 visible at 0,0 - - display D: 500x500 window at -250,-768 with 0x0 visible at 0,0 - - Note that if the specified window has not yet been mapped when - DMXGetWindowInformation is called, then a subsequent XMapWindow call - might be buffered in xlib while requests directly to the back-end X - servers are processed. This race condition can be solved by calling - DMXSync before talking directly to the back-end X servers. - - - DMXGetInputCount - ==> - inputCount: CARD32 - - This request was first supported in version 1.1 of this protocol. - - This request returns the number of input devices connected to the - Xdmx server. This number is the same as that returned by - XListInputDevices, but is available even when the XInput extension - is not supported. - - - - DMXGetInputInformation - deviceId: CARD32 - ==> - inputType: CARD32 - physicalScreen: CARD32 - physicalId: CARD32 - isCore: BOOL - sendsCore: BOOL - name: STRING8 - - Errors: Value - - This request was first supported in version 1.1 of this protocol. - - This request returns information about the specified input device - that cannot be obtained from the XListInputDeivices call. The - deviceId is the same as that used by the XListInputDevices call, and - must be in the range 0 to inputCount-1, inclusive (values outside - this range will result in a Value error). - - The value of inputType will always be value, and will be one of the - following values: - 0 for local (and dummy) devices, - 1 for console devices, and - 2 for back-end devices. - - For local devices, all other fields returned, except isCore and - sendsCore, are invalid. - - For console devices, the physicalScreen and physicalID will be - invalid, and the name will return the name of the X server on which - the console window is displayed. - - For back-end devices, the physicalScreen will identify the back-end - display and can be used as an argument to DMXGetScreenInformation to - obtain more information; the physicalId will be the XInput device id - on the back-end X server; and the name will be invalid (since it - does not provide any additional information that cannot be obtained - with DMXGetScreenInformation). - - If isCore is True, then this device is active as a true core input - device and will send core events. If sendsCore is True, then this - device queried an XInput extension device, but sends core events - instead of extension events. Note that this behavior is different - from that of XFree86, where XInput extension devices may send both - extension events and core events. - - - - DMXForceWindowCreation - window: CARD32 - ==> - - Errors: Window - - This request was first supported in version 1.2 of this protocol. - - When using the lazy window creation optimization, windows are not - created on the back-end X servers until they are required. This - request forces the immediate creation of the window requested. - - - - DMXReconfigureScreen - screen: CARD32 - x: INT16 - y: INT16 - ==> - status: CARD32 - - Errors: Value - - This request was first supported in version 1.3 of this protocol. - - This request reconfigures the screen position to coordinates (x,y) - when using the Xinerama extension. Otherwise, it is a NOP. Illegal - values for screen will result in a BadValue error. Other non-fatal - errors will be returned in status. - - - - DMXSync - ==> - - This request was first supported in version 1.5 of this protocol. - - This request flushes all pending protocol requests between the Xdmx - server and each back-end X server. It is used by a client that - talks directly to back-end X servers - - To ensure proper synchronization semantics, this request has a - reply, but the reply does not carry any information. - - - -5. Events - - No new events are defined by this extension. - - - -6. Errors - - No new events are defined by this extension. - - - -7. Encoding - - DMXQueryVersion - 1 CARD8 opcode (X assigned) - 1 0 DMX opcode (X_DMXQueryVersion) - 2 1 request length - ==> - 1 1 Reply - 1 unused - 2 CARD16 sequence number - 4 0 reply length - 4 CARD32 majorVersion - 4 CARD32 minorVersion - 4 CARD32 patchVersion - 12 unused - - DMXGetScreenCount - 1 CARD8 opcode (X assigned) - 1 1 DMX opcode (X_DMXGetScreenCount) - 2 1 request length - ==> - 1 1 Reply - 1 unused - 2 CARD16 sequence number - 4 0 reply length - 4 CARD32 screenCount - 20 unused - - DMXGetScreenInformation - 1 CARD8 opcode (X assigned) - 1 2 DMX opcode (X_DMXGetScreenInformation) - 2 2 request length - 4 CARD32 physicalScreen - ==> - 1 1 Reply - 1 unused - 2 CARD16 sequence number - 4 n/4+p reply length - 4 n displayNameLength - 2 CARD16 width - 2 CARD16 height - 2 INT16 xoffset - 2 INT16 yoffset - 4 CARD32 logicalScreen - 2 INT16 xorigin - 2 INT16 yorigin - 4 unused - n displayName - p pad(n) - - DMXGetWindowInformation - 1 CARD8 opcode (X assigned) - 1 3 DMX opcode (X_DMXGetWindowInformation) - 2 2 request length - 4 CARD32 window - ==> - 1 1 Reply - 1 unused - 2 CARD16 sequence number - 4 n*6 reply length - 4 n screenCount - 20 unused - n*4 LISTofCARD32 screens - n*4 LISTofCARD32 windows - n*8 LISTofRECTANGLE pos - n*8 LISTofRECTANGLE vis - - DMXGetInputCount - 1 CARD8 opcode (X assigned) - 1 DMX opcode (X_DMXGetInputCount) - 2 1 request length - ==> - 1 1 Reply - 1 unused - 2 CARD16 sequence number - 4 0 reply length - 4 CARD32 inputCount - 20 unused - - DMXGetInputInformation - 1 CARD8 opcode (X assigned) - 1 4 DMX opcode (X_DMXGetInputInformation) - 2 2 request length - 4 CARD32 deviceId - ==> - 1 1 Reply - 1 unused - 2 CARD16 sequence number - 4 n/4+p reply length - 4 CARD32 inputType - 4 CARD32 physicalScreen - 4 CARD32 physicalId - 4 n nameLength - 1 BOOL isCore - 1 BOOL sendsCore - 6 unused - n name - p pad(n) - - DMXForceWindowCreation - 1 CARD8 opcode (X assigned) - 1 2 DMX opcode (X_DMXForceWindowCreation) - 2 2 request length - 4 CARD32 window - ==> - - DMXReconfigureScreen - 1 CARD8 opcode (X assigned) - 1 2 DMX opcode (X_DMXReconfigureScreen) - 2 2 request length - 4 CARD32 screen - 2 INT16 x - 2 INT16 y - ==> - 1 1 Reply - 1 unused - 2 CARD16 sequence number - 4 0 reply length - 4 CARD32 status - 20 unused - - DMXSync - 1 CARD8 opcode (X assigned) - 1 0 DMX opcode (X_DMXSync) - 2 1 request length - ==> - 1 1 Reply - 1 unused - 2 CARD16 sequence number - 4 0 reply length - 24 unused - - -8. Changes to existing requests/replies/events - - No changes to existing requests, replies, or events are necessitated - by this extension. - - - -9. Acknowledgments - - - -10. References - - [X11R6.4] Robert W. Sheifler. X Window System Protocol, X Consortium - Standard, X Version 11, Release 6.4. Available from - xc/doc/specs/XProtocol and xc/doc/hardcopy/XProtocol. |