/* * 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 … #define NV_CONTROL_EVENTS … #define NV_CONTROL_NAME … #define NV_CONTROL_MAJOR … #define NV_CONTROL_MINOR … #define X_nvCtrlQueryExtension … #define X_nvCtrlIsNv … #define X_nvCtrlQueryAttribute … #define X_nvCtrlSetAttribute … #define X_nvCtrlQueryStringAttribute … #define X_nvCtrlQueryValidAttributeValues … #define X_nvCtrlSelectNotify … #define X_nvCtrlSetGvoColorConversionDeprecated … #define X_nvCtrlQueryGvoColorConversionDeprecated … #define X_nvCtrlSetStringAttribute … /* 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 … #define X_nvCtrlQueryBinaryData … #define X_nvCtrlSetGvoColorConversion … #define X_nvCtrlQueryGvoColorConversion … #define X_nvCtrlSelectTargetNotify … #define X_nvCtrlQueryTargetCount … #define X_nvCtrlStringOperation … #define X_nvCtrlQueryValidAttributeValues64 … #define X_nvCtrlQueryAttribute64 … #define X_nvCtrlQueryValidStringAttributeValues … #define X_nvCtrlQueryAttributePermissions … #define X_nvCtrlQueryStringAttributePermissions … #define X_nvCtrlQueryBinaryDataAttributePermissions … #define X_nvCtrlQueryStringOperationAttributePermissions … #define X_nvCtrlLastRequest … /* Define 32 bit floats */ FLOAT32; #ifndef F32 #define F32 #endif xnvCtrlQueryExtensionReq; #define sz_xnvCtrlQueryExtensionReq … xnvCtrlQueryExtensionReply; #define sz_xnvCtrlQueryExtensionReply … xnvCtrlIsNvReq; #define sz_xnvCtrlIsNvReq … xnvCtrlIsNvReply; #define sz_xnvCtrlIsNvReply … xnvCtrlQueryTargetCountReq; #define sz_xnvCtrlQueryTargetCountReq … xnvCtrlQueryTargetCountReply; #define sz_xnvCtrlQueryTargetCountReply … xnvCtrlQueryAttributeReq; #define sz_xnvCtrlQueryAttributeReq … xnvCtrlQueryAttributeReply; #define sz_xnvCtrlQueryAttributeReply … xnvCtrlQueryAttribute64Reply; #define sz_xnvCtrlQueryAttribute64Reply … xnvCtrlSetAttributeReq; #define sz_xnvCtrlSetAttributeReq … xnvCtrlSetAttributeAndGetStatusReq; #define sz_xnvCtrlSetAttributeAndGetStatusReq … xnvCtrlSetAttributeAndGetStatusReply; #define sz_xnvCtrlSetAttributeAndGetStatusReply … xnvCtrlQueryStringAttributeReq; #define sz_xnvCtrlQueryStringAttributeReq … xnvCtrlQueryStringAttributeReply; #define sz_xnvCtrlQueryStringAttributeReply … xnvCtrlSetStringAttributeReq; #define sz_xnvCtrlSetStringAttributeReq … xnvCtrlSetStringAttributeReply; #define sz_xnvCtrlSetStringAttributeReply … xnvCtrlQueryValidAttributeValuesReq; #define sz_xnvCtrlQueryValidAttributeValuesReq … xnvCtrlQueryValidAttributeValuesReply; #define sz_xnvCtrlQueryValidAttributeValuesReply … xnvCtrlQueryValidAttributeValues64Reply; #define sz_xnvCtrlQueryValidAttributeValues64Reply … #define sz_xnvCtrlQueryValidAttributeValues64Reply_extra … xnvCtrlQueryAttributePermissionsReq; #define sz_xnvCtrlQueryAttributePermissionsReq … xnvCtrlQueryAttributePermissionsReply; #define sz_xnvCtrlQueryAttributePermissionsReply … /* Set GVO Color Conversion request (deprecated) */ xnvCtrlSetGvoColorConversionDeprecatedReq; #define sz_xnvCtrlSetGvoColorConversionDeprecatedReq … /* Query GVO Color Conversion request (deprecated) */ xnvCtrlQueryGvoColorConversionDeprecatedReq; #define sz_xnvCtrlQueryGvoColorConversionDeprecatedReq … /* Query GVO Color Conversion reply (deprecated) */ xnvCtrlQueryGvoColorConversionDeprecatedReply; #define sz_xnvCtrlQueryGvoColorConversionDeprecatedReply … /* Set GVO Color Conversion request */ xnvCtrlSetGvoColorConversionReq; #define sz_xnvCtrlSetGvoColorConversionReq … /* Query GVO Color Conversion request */ xnvCtrlQueryGvoColorConversionReq; #define sz_xnvCtrlQueryGvoColorConversionReq … /* Query GVO Color Conversion reply */ xnvCtrlQueryGvoColorConversionReply; #define sz_xnvCtrlQueryGvoColorConversionReply … xnvCtrlQueryBinaryDataReq; #define sz_xnvCtrlQueryBinaryDataReq … xnvCtrlQueryBinaryDataReply; #define sz_xnvCtrlQueryBinaryDataReply … xnvCtrlSelectNotifyReq; #define sz_xnvCtrlSelectNotifyReq … xnvCtrlStringOperationReq; #define sz_xnvCtrlStringOperationReq … xnvCtrlStringOperationReply; #define sz_xnvCtrlStringOperationReply … 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. */ xnvCtrlSelectTargetNotifyReq; #define sz_xnvCtrlSelectTargetNotifyReq … xnvctrlEventTarget; #endif /* __NVCONTROL_H */