chromium/third_party/angle/src/third_party/libXNVCtrl/nv_control.h

/*
 * 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 */