Index: third_party/libXNVCtrl/nv_control.h |
=================================================================== |
--- third_party/libXNVCtrl/nv_control.h (revision 0) |
+++ third_party/libXNVCtrl/nv_control.h (revision 0) |
@@ -0,0 +1,617 @@ |
+/* |
+ * Copyright (c) 2008 NVIDIA, Corporation |
+ * |
+ * 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 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 NONINFRINGEMENT. IN NO EVENT SHALL THE |
+ * AUTHORS OR COPYRIGHT HOLDERS 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. |
+ * |
+ * |
+ * NV-CONTROL Protocol Version History |
+ * |
+ * 1.0 - 1.5 NVIDIA Internal development versions |
+ * 1.6 Initial public version |
+ * 1.7 Added QueryBinaryData request |
+ * 1.8 Added TargetTypes |
+ * 1.9 Added QueryTargetCount request |
+ * 1.10 Fixed target type/id byte ordering for compatibility with |
+ * pre-1.8 NV-CONTROL clients |
+ * 1.11 NVIDIA Internal development version |
+ * 1.12 Added StringOperation request |
+ * 1.13 NVIDIA Internal development version |
+ * 1.14 Fixed an NV_CTRL_BINARY_DATA_MODELINES double scan modeline |
+ * reporting bug (vsyncstart, vsyncend, and vtotal were incorrectly |
+ * doubled) |
+ * 1.15 Added AVAILABILITY_TARGET_ATTRIBUTE_CHANGED_EVENT |
+ * 1.16 Added TARGET_STRING_ATTRIBUTE_CHANGED_EVENT |
+ * 1.17 Added TARGET_BINARY_ATTRIBUTE_CHANGED_EVENT |
+ * 1.18 Updated QueryTargetCount to return a count of 0, rather than |
+ * BadMatch, if an unknown TargetType is specified |
+ * 1.19 Added TargetType support for SetAttributeAndGetStatus and |
+ * SetStringAttribute requests |
+ * 1.20 Added COOLER TargetType |
+ * 1.21 Added initial 64-bit integer attribute support (read-only) |
+ * 1.22 Added X_nvCtrlQueryValidStringAttributeValues to check |
+ * string attribute permissions. |
+ * 1.23 Added SENSOR TargetType |
+ * 1.24 Fixed a bug where SLI_MOSAIC_MODE_AVAILABLE attribute would |
+ * report false positives via the GPU and X screen target types |
+ * 1.25 Added 3D_VISION_PRO_TRANSCEIVER TargetType |
+ * 1.26 Added XNVCTRLQueryXXXAttributePermissions. |
+ * 1.27 Added DISPLAY TargetType |
+ * 1.28 Added NV_CTRL_CURRENT_METAMODE_ID: clients should use this |
+ * attribute to switch MetaModes, rather than pass the MetaMode ID |
+ * through the RRSetScreenConfig protocol request. |
+ */ |
+ |
+#ifndef __NVCONTROL_H |
+#define __NVCONTROL_H |
+ |
+#define NV_CONTROL_ERRORS 0 |
+#define NV_CONTROL_EVENTS 5 |
+#define NV_CONTROL_NAME "NV-CONTROL" |
+ |
+#define NV_CONTROL_MAJOR 1 |
+#define NV_CONTROL_MINOR 28 |
+ |
+#define X_nvCtrlQueryExtension 0 |
+#define X_nvCtrlIsNv 1 |
+#define X_nvCtrlQueryAttribute 2 |
+#define X_nvCtrlSetAttribute 3 |
+#define X_nvCtrlQueryStringAttribute 4 |
+#define X_nvCtrlQueryValidAttributeValues 5 |
+#define X_nvCtrlSelectNotify 6 |
+#define X_nvCtrlSetGvoColorConversionDeprecated 7 |
+#define X_nvCtrlQueryGvoColorConversionDeprecated 8 |
+#define X_nvCtrlSetStringAttribute 9 |
+/* STUB X_nvCtrlQueryDDCCILutSize 10 */ |
+/* STUB X_nvCtrlQueryDDCCISinglePointLutOperation 11 */ |
+/* STUB X_nvCtrlSetDDCCISinglePointLutOperation 12 */ |
+/* STUB X_nvCtrlQueryDDCCIBlockLutOperation 13 */ |
+/* STUB X_nvCtrlSetDDCCIBlockLutOperation 14 */ |
+/* STUB X_nvCtrlSetDDCCIRemoteProcedureCall 15 */ |
+/* STUB X_nvCtrlQueryDDCCIDisplayControllerType 16 */ |
+/* STUB X_nvCtrlQueryDDCCICapabilities 17 */ |
+/* STUB X_nvCtrlQueryDDCCITimingReport 18 */ |
+#define X_nvCtrlSetAttributeAndGetStatus 19 |
+#define X_nvCtrlQueryBinaryData 20 |
+#define X_nvCtrlSetGvoColorConversion 21 |
+#define X_nvCtrlQueryGvoColorConversion 22 |
+#define X_nvCtrlSelectTargetNotify 23 |
+#define X_nvCtrlQueryTargetCount 24 |
+#define X_nvCtrlStringOperation 25 |
+#define X_nvCtrlQueryValidAttributeValues64 26 |
+#define X_nvCtrlQueryAttribute64 27 |
+#define X_nvCtrlQueryValidStringAttributeValues 28 |
+#define X_nvCtrlQueryAttributePermissions 29 |
+#define X_nvCtrlQueryStringAttributePermissions 30 |
+#define X_nvCtrlQueryBinaryDataAttributePermissions 31 |
+#define X_nvCtrlQueryStringOperationAttributePermissions 32 |
+ |
+#define X_nvCtrlLastRequest (X_nvCtrlQueryStringOperationAttributePermissions + 1) |
+ |
+ |
+/* Define 32 bit floats */ |
+typedef float FLOAT32; |
+#ifndef F32 |
+#define F32 |
+#endif |
+ |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+} xnvCtrlQueryExtensionReq; |
+#define sz_xnvCtrlQueryExtensionReq 4 |
+ |
+typedef struct { |
+ BYTE type; /* X_Reply */ |
+ CARD8 padb1; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD16 major B16; |
+ CARD16 minor B16; |
+ CARD32 padl4 B32; |
+ CARD32 padl5 B32; |
+ CARD32 padl6 B32; |
+ CARD32 padl7 B32; |
+ CARD32 padl8 B32; |
+} xnvCtrlQueryExtensionReply; |
+#define sz_xnvCtrlQueryExtensionReply 32 |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD32 screen B32; |
+} xnvCtrlIsNvReq; |
+#define sz_xnvCtrlIsNvReq 8 |
+ |
+typedef struct { |
+ BYTE type; /* X_Reply */ |
+ CARD8 padb1; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 isnv B32; |
+ CARD32 padl4 B32; |
+ CARD32 padl5 B32; |
+ CARD32 padl6 B32; |
+ CARD32 padl7 B32; |
+ CARD32 padl8 B32; |
+} xnvCtrlIsNvReply; |
+#define sz_xnvCtrlIsNvReply 32 |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD32 target_type B32; |
+} xnvCtrlQueryTargetCountReq; |
+#define sz_xnvCtrlQueryTargetCountReq 8 |
+ |
+typedef struct { |
+ BYTE type; /* X_Reply */ |
+ CARD8 padb1; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 count B32; |
+ CARD32 padl4 B32; |
+ CARD32 padl5 B32; |
+ CARD32 padl6 B32; |
+ CARD32 padl7 B32; |
+ CARD32 padl8 B32; |
+} xnvCtrlQueryTargetCountReply; |
+#define sz_xnvCtrlQueryTargetCountReply 32 |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD16 target_id B16; /* X screen number or GPU number */ |
+ CARD16 target_type B16; /* X screen or GPU */ |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+} xnvCtrlQueryAttributeReq; |
+#define sz_xnvCtrlQueryAttributeReq 16 |
+ |
+typedef struct { |
+ BYTE type; |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 flags B32; |
+ INT32 value B32; |
+ CARD32 pad4 B32; |
+ CARD32 pad5 B32; |
+ CARD32 pad6 B32; |
+ CARD32 pad7 B32; |
+} xnvCtrlQueryAttributeReply; |
+#define sz_xnvCtrlQueryAttributeReply 32 |
+ |
+typedef struct { |
+ BYTE type; |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 flags B32; |
+ CARD32 pad3 B32; |
+ int64_t value_64; |
+ CARD32 pad6 B32; |
+ CARD32 pad7 B32; |
+} xnvCtrlQueryAttribute64Reply; |
+#define sz_xnvCtrlQueryAttribute64Reply 32 |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD16 target_id B16; |
+ CARD16 target_type B16; |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+ INT32 value B32; |
+} xnvCtrlSetAttributeReq; |
+#define sz_xnvCtrlSetAttributeReq 20 |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD16 target_id B16; |
+ CARD16 target_type B16; |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+ INT32 value B32; |
+} xnvCtrlSetAttributeAndGetStatusReq; |
+#define sz_xnvCtrlSetAttributeAndGetStatusReq 20 |
+ |
+typedef struct { |
+ BYTE type; |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 flags B32; |
+ CARD32 pad3 B32; |
+ CARD32 pad4 B32; |
+ CARD32 pad5 B32; |
+ CARD32 pad6 B32; |
+ CARD32 pad7 B32; |
+} xnvCtrlSetAttributeAndGetStatusReply; |
+#define sz_xnvCtrlSetAttributeAndGetStatusReply 32 |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD16 target_id B16; /* X screen number or GPU number */ |
+ CARD16 target_type B16; /* X screen or GPU */ |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+} xnvCtrlQueryStringAttributeReq; |
+#define sz_xnvCtrlQueryStringAttributeReq 16 |
+ |
+typedef struct { |
+ BYTE type; |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 flags B32; |
+ CARD32 n B32; /* Length of string */ |
+ CARD32 pad4 B32; |
+ CARD32 pad5 B32; |
+ CARD32 pad6 B32; |
+ CARD32 pad7 B32; |
+} xnvCtrlQueryStringAttributeReply; |
+#define sz_xnvCtrlQueryStringAttributeReply 32 |
+ |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD16 target_id B16; |
+ CARD16 target_type B16; |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+ CARD32 num_bytes B32; |
+} xnvCtrlSetStringAttributeReq; |
+#define sz_xnvCtrlSetStringAttributeReq 20 |
+ |
+typedef struct { |
+ BYTE type; |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 flags B32; |
+ CARD32 pad3 B32; |
+ CARD32 pad4 B32; |
+ CARD32 pad5 B32; |
+ CARD32 pad6 B32; |
+ CARD32 pad7 B32; |
+} xnvCtrlSetStringAttributeReply; |
+#define sz_xnvCtrlSetStringAttributeReply 32 |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD16 target_id B16; /* X screen number or GPU number */ |
+ CARD16 target_type B16; /* X screen or GPU */ |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+} xnvCtrlQueryValidAttributeValuesReq; |
+#define sz_xnvCtrlQueryValidAttributeValuesReq 16 |
+ |
+typedef struct { |
+ BYTE type; |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 flags B32; |
+ INT32 attr_type B32; |
+ INT32 min B32; |
+ INT32 max B32; |
+ CARD32 bits B32; |
+ CARD32 perms B32; |
+} xnvCtrlQueryValidAttributeValuesReply; |
+#define sz_xnvCtrlQueryValidAttributeValuesReply 32 |
+ |
+typedef struct { |
+ BYTE type; |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 flags B32; |
+ INT32 attr_type B32; |
+ int64_t min_64; |
+ int64_t max_64; |
+ CARD64 bits_64; |
+ CARD32 perms B32; |
+ CARD32 pad1 B32; |
+} xnvCtrlQueryValidAttributeValues64Reply; |
+#define sz_xnvCtrlQueryValidAttributeValues64Reply 48 |
+#define sz_xnvCtrlQueryValidAttributeValues64Reply_extra ((48 - 32) >> 2) |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD32 attribute B32; |
+} xnvCtrlQueryAttributePermissionsReq; |
+#define sz_xnvCtrlQueryAttributePermissionsReq 8 |
+ |
+typedef struct { |
+ BYTE type; |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 flags B32; |
+ INT32 attr_type B32; |
+ CARD32 perms B32; |
+ CARD32 pad5 B32; |
+ CARD32 pad6 B32; |
+ CARD32 pad7 B32; |
+ CARD32 pad8 B32; |
+} xnvCtrlQueryAttributePermissionsReply; |
+#define sz_xnvCtrlQueryAttributePermissionsReply 32 |
+ |
+/* Set GVO Color Conversion request (deprecated) */ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD32 screen B32; |
+ FLOAT32 row1_col1 F32; |
+ FLOAT32 row1_col2 F32; |
+ FLOAT32 row1_col3 F32; |
+ FLOAT32 row1_col4 F32; |
+ FLOAT32 row2_col1 F32; |
+ FLOAT32 row2_col2 F32; |
+ FLOAT32 row2_col3 F32; |
+ FLOAT32 row2_col4 F32; |
+ FLOAT32 row3_col1 F32; |
+ FLOAT32 row3_col2 F32; |
+ FLOAT32 row3_col3 F32; |
+ FLOAT32 row3_col4 F32; |
+} xnvCtrlSetGvoColorConversionDeprecatedReq; |
+#define sz_xnvCtrlSetGvoColorConversionDeprecatedReq 56 |
+ |
+/* Query GVO Color Conversion request (deprecated) */ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD32 screen B32; |
+} xnvCtrlQueryGvoColorConversionDeprecatedReq; |
+#define sz_xnvCtrlQueryGvoColorConversionDeprecatedReq 8 |
+ |
+/* Query GVO Color Conversion reply (deprecated) */ |
+typedef struct { |
+ BYTE type; /* X_Reply */ |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 pad3 B32; |
+ CARD32 pad4 B32; |
+ CARD32 pad5 B32; |
+ CARD32 pad6 B32; |
+ CARD32 pad7 B32; |
+ CARD32 pad8 B32; |
+} xnvCtrlQueryGvoColorConversionDeprecatedReply; |
+#define sz_xnvCtrlQueryGvoColorConversionDeprecatedReply 32 |
+ |
+ |
+/* Set GVO Color Conversion request */ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD32 screen B32; |
+ |
+ FLOAT32 cscMatrix_y_r F32; |
+ FLOAT32 cscMatrix_y_g F32; |
+ FLOAT32 cscMatrix_y_b F32; |
+ |
+ FLOAT32 cscMatrix_cr_r F32; |
+ FLOAT32 cscMatrix_cr_g F32; |
+ FLOAT32 cscMatrix_cr_b F32; |
+ |
+ FLOAT32 cscMatrix_cb_r F32; |
+ FLOAT32 cscMatrix_cb_g F32; |
+ FLOAT32 cscMatrix_cb_b F32; |
+ |
+ FLOAT32 cscOffset_y F32; |
+ FLOAT32 cscOffset_cr F32; |
+ FLOAT32 cscOffset_cb F32; |
+ |
+ FLOAT32 cscScale_y F32; |
+ FLOAT32 cscScale_cr F32; |
+ FLOAT32 cscScale_cb F32; |
+ |
+} xnvCtrlSetGvoColorConversionReq; |
+#define sz_xnvCtrlSetGvoColorConversionReq 68 |
+ |
+/* Query GVO Color Conversion request */ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD32 screen B32; |
+} xnvCtrlQueryGvoColorConversionReq; |
+#define sz_xnvCtrlQueryGvoColorConversionReq 8 |
+ |
+/* Query GVO Color Conversion reply */ |
+typedef struct { |
+ BYTE type; /* X_Reply */ |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 pad3 B32; |
+ CARD32 pad4 B32; |
+ CARD32 pad5 B32; |
+ CARD32 pad6 B32; |
+ CARD32 pad7 B32; |
+ CARD32 pad8 B32; |
+} xnvCtrlQueryGvoColorConversionReply; |
+#define sz_xnvCtrlQueryGvoColorConversionReply 32 |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD16 target_id B16; /* X screen number or GPU number */ |
+ CARD16 target_type B16; /* X screen or GPU */ |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+} xnvCtrlQueryBinaryDataReq; |
+#define sz_xnvCtrlQueryBinaryDataReq 16 |
+ |
+typedef struct { |
+ BYTE type; |
+ BYTE pad0; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 flags B32; |
+ CARD32 n B32; |
+ CARD32 pad4 B32; |
+ CARD32 pad5 B32; |
+ CARD32 pad6 B32; |
+ CARD32 pad7 B32; |
+} xnvCtrlQueryBinaryDataReply; |
+#define sz_xnvCtrlQueryBinaryDataReply 32 |
+ |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD32 screen B32; |
+ CARD16 notifyType B16; |
+ CARD16 onoff B16; |
+} xnvCtrlSelectNotifyReq; |
+#define sz_xnvCtrlSelectNotifyReq 12 |
+ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD16 target_id B16; /* X screen number or GPU number */ |
+ CARD16 target_type B16; /* X screen or GPU */ |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+ CARD32 num_bytes B32; /* Length of string */ |
+} xnvCtrlStringOperationReq; |
+#define sz_xnvCtrlStringOperationReq 20 |
+ |
+typedef struct { |
+ BYTE type; /* X_Reply */ |
+ CARD8 padb1; |
+ CARD16 sequenceNumber B16; |
+ CARD32 length B32; |
+ CARD32 ret B32; |
+ CARD32 num_bytes B32; /* Length of string */ |
+ CARD32 padl4 B32; |
+ CARD32 padl5 B32; |
+ CARD32 padl6 B32; |
+ CARD32 padl7 B32; |
+} xnvCtrlStringOperationReply; |
+#define sz_xnvCtrlStringOperationReply 32 |
+ |
+typedef struct { |
+ union { |
+ struct { |
+ BYTE type; |
+ BYTE detail; |
+ CARD16 sequenceNumber B16; |
+ } u; |
+ struct { |
+ BYTE type; |
+ BYTE detail; |
+ CARD16 sequenceNumber B16; |
+ CARD32 time B32; |
+ CARD32 screen B32; |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+ CARD32 value B32; |
+ CARD32 pad0 B32; |
+ CARD32 pad1 B32; |
+ } attribute_changed; |
+ } u; |
+} xnvctrlEvent; |
+ |
+ |
+/* |
+ * Leave target_type before target_id for the |
+ * xnvCtrlSelectTargetNotifyReq and xnvctrlEventTarget |
+ * structures, even though other request protocol structures |
+ * store target_id in the bottom 16-bits of the second DWORD of the |
+ * structures. The event-related structures were added in version |
+ * 1.8, and so there is no prior version with which to maintain |
+ * compatibility. |
+ */ |
+typedef struct { |
+ CARD8 reqType; |
+ CARD8 nvReqType; |
+ CARD16 length B16; |
+ CARD16 target_type B16; /* Don't swap these */ |
+ CARD16 target_id B16; |
+ CARD16 notifyType B16; |
+ CARD16 onoff B16; |
+} xnvCtrlSelectTargetNotifyReq; |
+#define sz_xnvCtrlSelectTargetNotifyReq 12 |
+ |
+typedef struct { |
+ union { |
+ struct { |
+ BYTE type; |
+ BYTE detail; |
+ CARD16 sequenceNumber B16; |
+ } u; |
+ struct { |
+ BYTE type; |
+ BYTE detail; |
+ CARD16 sequenceNumber B16; |
+ CARD32 time B32; |
+ CARD16 target_type B16; /* Don't swap these */ |
+ CARD16 target_id B16; |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+ CARD32 value B32; |
+ CARD32 pad0 B32; |
+ CARD32 pad1 B32; |
+ } attribute_changed; |
+ struct { |
+ BYTE type; |
+ BYTE detail; |
+ CARD16 sequenceNumber B16; |
+ CARD32 time B32; |
+ CARD16 target_type B16; /* Don't swap these */ |
+ CARD16 target_id B16; |
+ CARD32 display_mask B32; |
+ CARD32 attribute B32; |
+ CARD32 value B32; |
+ CARD8 availability; |
+ CARD8 pad0; |
+ CARD16 pad1 B16; |
+ CARD32 pad2 B32; |
+ } availability_changed; |
+ } u; |
+} xnvctrlEventTarget; |
+ |
+ |
+#endif /* __NVCONTROL_H */ |
Property changes on: third_party/libXNVCtrl/nv_control.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |