.\RmTestApp_wrap.cpp

[ Module : ResMan_Perl_ModuleNT, Package : ResMan_Perl_Module ]

Contents


1. ResMan SWIG/PERL Modules

$ALLOC_CTX_DMA_FLAGS_LOCKED_CACHED = 0x1000

[ Constant: int ]
(DRF_MASK(NVOS03_FLAGS_COHERENCY_CACHED) << DRF_SHIFT(NVOS03_FLAGS_COHERENCY))

$STATUS_NOTYETCALLED = (0x254)

[ Constant: int ]

freeAllRoots();

[ returns bool ]

cleanUp();

[ returns bool ]

setExtraInfo(x);

[ returns void ]

printInfo(message);

[ returns void ]

AllocRoot(_expectedStatus);

[ returns ULONG ]

AllocDevice(_hClient,_hDevice,_hClass,_expectedStatus);

[ returns ULONG ]

AllocChannelDma(_hClient,_hDevice,_hChannel,_hClass,_hErrorCtx,_hDataCtx,_offset,_expectedStatus);

[ returns PVOID ]

AllocChannelPio(_hClient,_hDevice,_hChannel,_hClass,_hErrorCtx,_flags,_expectedStatus);

[ returns PVOID ]

AllocContextDma(_hClient,_hDma,_hClass,_flags,_base,_limit,_expectedStatus);

[ returns void ]

AllocObject(_hClient,_hChannel,_hObject,_hClass,_expectedStatus);

[ returns ULONG ]

AllocEvent(_hClient,_hParent,_hObject,_hClass,_hIndex,_hEvent,_expectedStatus);

[ returns ULONG ]

RmFree(_hClient,_hParent,_hObject,_expectedStatus);

[ returns void ]

1.1. class RmApiCall

[ created from class RmApiCall ]

new();

[ Constructor: returns RmApiCall * ]

DESTROY

[ Destructor ]

$RmApiCall_m_pOutputFile

[ Static member : Global : FILE * RmApiCall::m_pOutputFile ]
hard coded to log.txt ....the log file

$RmApiCall_m_bExtraInfo

[ Static member : Global : int RmApiCall::m_bExtraInfo ]
an int that when set to 0 or false will cause printExtraInfo to not write to the log file

$this->{m_ExpectedStatus}

[ Member data: returns ULONG ]
The return status that is expected from the apicall. If expectedStatus does not match the actual returned status an error is reported and logged in log.txt

beenCalled();

[ Member : returns bool ]
A bool that is true if the apiCall object has already been executed. Checked by call().

RmApiCall_printInfo(message);

[ Static member : returns void ]
A method that takes a string and writes it to the currently open log file if OUTPUT_TO_FILE is defined or stdout if OUTPUT_TO_STDIO is defined.

RmApiCall_printError(message);

[ Static member : returns void ]
A method that takes a string and writes it to the currently open log file if OUTPUT_TO_FILE is defined or stdout if OUTPUT_TO_STDIO is defined.

RmApiCall_printExtraInfo(message);

[ Static member : returns void ]
A method that takes a string and writes it to the currently open log file if OUTPUT_TO_FILE is defined or stdout if OUTPUT_TO_STDIO is defined.

checkCallStat();

[ Member : returns bool ]
Checks if expected return status matches actual return status and writes error and successes to the own log file. Return true if test is successful, otherwise false. Called by call().

getStatusString(_expectedStatus);

[ Member : returns char * ]
Used to change a status HEX code into a string for easy log file reading.

call();

[ Member : returns bool ]
The method that actual makes the object CALL the api function and gets a return status. This can only be called once per object instance. This will be called upon object instantiation if AUTOCALL is defined

getName();

[ Member : returns char * ]
Returns the actual string name of the derived class.

1.2. class AllocRootObj

[ created from class AllocRootObj ]

new(_expectedStatus);

[ Constructor: returns AllocRootObj * ]
Allocates a Root Object also known as a Client

DESTROY

[ Destructor ]

$this->{m_hClient}

[ Member data: returns ULONG ]
Return value set by call() - the returned handle of the root instance

call();

[ Member : returns bool ]
The method that actual makes the object CALL the api function and gets a return status. This can only be called once per object instance. This will be called upon object instantiation if AUTOCALL is defined

getName();

[ Member : returns char * ]
Returns the actual string name of the derived class.

getStatusString(_expectedStatus);

[ Member : returns char * ]
Used to change a status HEX code into a string for easy log file reading.

1.3. class AllocDeviceObj

[ created from class AllocDeviceObj ]

new(_hClient,_hDevice,_hClass,_expectedStatus);

[ Constructor: returns AllocDeviceObj * ]

DESTROY

[ Destructor ]

$this->{m_hDevice}

[ Member data: returns ULONG ]
Device name, A 32bit ID of our choice to track our allocated device. By default set to 0xBAAD0001

$this->{m_hClass}

[ Member data: returns ULONG ]
The class that describes the type of device (which card in the system) ie. NV01_DEVICE_0 ...NV01_DEVICE_7. By default this is set to NV01_DEVICE_0

$this->{m_hClient}

[ Member data: returns ULONG ]
A handle to the parent

call();

[ Member : returns bool ]
The method that actual makes the object CALL the api function and gets a return status. This can only be called once per object instance. This will be called upon object instantiation if AUTOCALL is defined

getName();

[ Member : returns char * ]
Returns the actual string name of the derived class.

getStatusString(_expectedStatus);

[ Member : returns char * ]
Used to change a status HEX code into a string for easy log file reading.

getNameBuffer();

[ Member : returns char * ]
Returns the nameBuffer set by call()

1.4. class AllocChannelDmaObj

[ created from class AllocChannelDmaObj ]

new(_hClient,_hDevice,_hChannel,_hClass,_hErrorCtx,_hDataCtx,_offset,_expectedStatus);

[ Constructor: returns AllocChannelDmaObj * ]

DESTROY

[ Destructor ]

$this->{m_hClient}

[ Member data: returns ULONG ]
A handle to the parent

$this->{m_hDevice}

[ Member data: returns ULONG ]
The handle returned from NvAllocDevice

$this->{m_hChannel}

[ Member data: returns ULONG ]
The unique 32-bit ID you give the channel.

$this->{m_hClass}

[ Member data: returns ULONG ]
Class of the channel (usually NV04_CHANNEL_DMA)

$this->{m_hErrorCtx}

[ Member data: returns ULONG ]

$this->{m_hDataCtx}

[ Member data: returns ULONG ]

$this->{m_offset}

[ Member data: returns ULONG ]

$this->{m_ppChannel}

[ Member data: returns PVOID ]
Pointer to a buffer that contains a pointer to channel returned by AllocChannelDma

call();

[ Member : returns bool ]
The method that actual makes the object CALL the api function and gets a return status. This can only be called once per object instance. This will be called upon object instantiation if AUTOCALL is defined

getName();

[ Member : returns char * ]
Returns the actual string name of the derived class.

getStatusString(_expectedStatus);

[ Member : returns char * ]
Used to change a status HEX code into a string for easy log file reading.

1.5. class AllocChannelPioObj

[ created from class AllocChannelPioObj ]

new(_hClient,_hDevice,_hChannel,_hClass,_hErrorCtx,_flags,_expectedStatus);

[ Constructor: returns AllocChannelPioObj * ]

DESTROY

[ Destructor ]

$this->{m_hClient}

[ Member data: returns ULONG ]
A handle to the parent

$this->{m_hDevice}

[ Member data: returns ULONG ]
The handle returned from NvAllocDevice

$this->{m_hChannel}

[ Member data: returns ULONG ]
The unique 32-bit ID you give the channel.

$this->{m_hClass}

[ Member data: returns ULONG ]
Class of the channel (usually NV04_CHANNEL_PIO)

$this->{m_hErrorCtx}

[ Member data: returns ULONG ]

$this->{m_flags}

[ Member data: returns ULONG ]

$this->{m_ppChannel}

[ Member data: returns PVOID ]
Pointer to a buffer that contains a pointer to channel returned by AllocChannelDma

call();

[ Member : returns bool ]
The method that actual makes the object CALL the api function and gets a return status. This can only be called once per object instance. This will be called upon object instantiation if AUTOCALL is defined

getName();

[ Member : returns char * ]
Returns the actual string name of the derived class.

getStatusString(_expectedStatus);

[ Member : returns char * ]
Used to change a status HEX code into a string for easy log file reading.

1.6. class AllocContextDmaObj

[ created from class AllocContextDmaObj ]

new(_hClient,_hDma,_hClass,_flags,_base,_limit,_expectedStatus);

[ Constructor: returns AllocContextDmaObj * ]

DESTROY

[ Destructor ]

$this->{m_hClient}

[ Member data: returns ULONG ]
A handle to the parent

$this->{m_hDma}

[ Member data: returns ULONG ]
The unique 32-bit ID you give the dma context.

$this->{m_hClass}

[ Member data: returns ULONG ]

$this->{m_flags}

[ Member data: returns ULONG ]

$this->{m_pBase}

[ Member data: returns PVOID ]

$this->{m_limit}

[ Member data: returns ULONG ]

call();

[ Member : returns bool ]
The method that actual makes the object CALL the api function and gets a return status. This can only be called once per object instance. This will be called upon object instantiation if AUTOCALL is defined

getName();

[ Member : returns char * ]
Returns the actual string name of the derived class.

getStatusString(_expectedStatus);

[ Member : returns char * ]
Used to change a status HEX code into a string for easy log file reading.

1.7. class AllocObjectObj

[ created from class AllocObjectObj ]

new(_hClient,_hChannel,_hObject,_hClass,_expectedStatus);

[ Constructor: returns AllocObjectObj * ]

DESTROY

[ Destructor ]

$this->{m_hClient}

[ Member data: returns ULONG ]
A handle to the parent

$this->{m_hChannel}

[ Member data: returns ULONG ]
The handle returned from NvAllocChannel

$this->{m_hObject}

[ Member data: returns ULONG ]
The unique 32-bit ID you give the object.

$this->{m_hClass}

[ Member data: returns ULONG ]

call();

[ Member : returns bool ]
The method that actual makes the object CALL the api function and gets a return status. This can only be called once per object instance. This will be called upon object instantiation if AUTOCALL is defined

getName();

[ Member : returns char * ]
Returns the actual string name of the derived class.

getStatusString(_expectedStatus);

[ Member : returns char * ]
Used to change a status HEX code into a string for easy log file reading.

1.8. class AllocEventObj

[ created from class AllocEventObj ]

new(_hClient,_hParent,_hObject,_hClass,_hIndex,_hEvent,_expectedStatus);

[ Constructor: returns AllocEventObj * ]

DESTROY

[ Destructor ]

$this->{m_hClient}

[ Member data: returns ULONG ]
A handle to the parent

$this->{m_hParent}

[ Member data: returns ULONG ]

$this->{m_hObject}

[ Member data: returns ULONG ]
The unique 32-bit ID you give the event.

$this->{m_hClass}

[ Member data: returns ULONG ]

$this->{m_hIndex}

[ Member data: returns ULONG ]

$this->{m_hEvent}

[ Member data: returns PVOID ]

call();

[ Member : returns bool ]
The method that actual makes the object CALL the api function and gets a return status. This can only be called once per object instance. This will be called upon object instantiation if AUTOCALL is defined

getName();

[ Member : returns char * ]
Returns the actual string name of the derived class.

getStatusString(_expectedStatus);

[ Member : returns char * ]
Used to change a status HEX code into a string for easy log file reading.

1.9. class RmFreeObj

[ created from class RmFreeObj ]

new(_hClient,_hParent,_hObject,_expectedStatus);

[ Constructor: returns RmFreeObj * ]
23 was chosed at random between 0 and 255 (the range of reserved handle IDs). It is used as a flag to indicate that if only one handle is specified, it should be used for hClient, hParent, and hObject because it is a root handle

DESTROY

[ Destructor ]

$this->{m_hClient}

[ Member data: returns ULONG ]
A handle to the parent

$this->{m_hParent}

[ Member data: returns ULONG ]

$this->{m_hObject}

[ Member data: returns ULONG ]

call();

[ Member : returns bool ]
The method that actual makes the object CALL the api function and gets a return status. This can only be called once per object instance. This will be called upon object instantiation if AUTOCALL is defined

getName();

[ Member : returns char * ]
Returns the actual string name of the derived class.

getStatusString(_expectedStatus);

[ Member : returns char * ]
Used to change a status HEX code into a string for easy log file reading.

preCall();

[ returns void ]

postCall(x);

[ returns void ]

2. Basic Typedefs

2.1. class NvV64

[ created from struct NvV64 ]

$this->{low}

[ Member data: returns NvU32 ]

$this->{high}

[ Member data: returns NvU32 ]

2.2. class NvU64

[ created from struct NvU64 ]

$this->{low}

[ Member data: returns NvU32 ]

$this->{high}

[ Member data: returns NvU32 ]

2.3. class NvS64

[ created from struct NvS64 ]

$this->{low}

[ Member data: returns NvU32 ]

$this->{high}

[ Member data: returns NvS32 ]

2.4. class NvP64

[ created from struct NvP64 ]

$this->{offset}

[ Member data: returns NvU32 ]

$this->{selector}

[ Member data: returns NvU16 ]

$this->{reserved}

[ Member data: returns NvU16 ]

3. NV OS Functions

module nvos.i

Note: This version of the architecture has been changed to allow the RM to return a client handle that will subsequently used to identify the client. NvAllocRoot() returns the handle. All other functions must specify this client handle.

3.1. Macro/Function Declarations

$NV01_FREE = (0x00000000)

[ Constant: int ]
macro NV01_FREE

$NV01_ALLOC_ROOT = (0x00000001)

[ Constant: int ]
macro NV01_ALLOC_ROOT

$NV01_ROOT = (0x00000000)

[ Constant: int ]
valid hClass values.

$NV01_ROOT_USER = (0x00000041)

[ Constant: int ]
valid hClass values.

$NV01_ALLOC_MEMORY = (0x00000002)

[ Constant: int ]
macro NV01_ALLOC_MEMORY

$NV01_ALLOC_CONTEXT_DMA = (0x00000003)

[ Constant: int ]
macro NV01_ALLOC_CONTEXT_DMA

$NV01_ALLOC_CHANNEL_PIO = (0x00000004)

[ Constant: int ]
macro NV01_ALLOC_CHANNEL_PIO

$NV01_ALLOC_OBJECT = (0x00000005)

[ Constant: int ]
macro NV01_ALLOC_OBJECT

$NV01_ALLOC_DEVICE = (0x00000006)

[ Constant: int ]
***** this has been changed to allow a device name string to be returned macro NV01_ALLOC_DEVICE

$NV03_ALLOC_CHANNEL_DMA = (0x00000007)

[ Constant: int ]
macro NV03_ALLOC_CHANNEL_DMA

$NV03_DMA_FLOW_CONTROL = (0x00000008)

[ Constant: int ]
macro NV03_DMA_FLOW_CONTROL

$NV01_INTERRUPT = (0x00000009)

[ Constant: int ]
macro NV01_INTERRUPT

$NV01_ALLOC_EVENT = (0x0000000A)

[ Constant: int ]
macro NV01_ALLOC_EVENT

$NV01_EVENT_KERNEL_CALLBACK = (0x00000078)

[ Constant: int ]
Valid values for hClass in Nv01AllocEvent

$NV01_EVENT_WIN32_EVENT = (0x00000079)

[ Constant: int ]
Valid values for hClass in Nv01AllocEvent

$NV01_ARCH_HEAP = (0x0000000B)

[ Constant: int ]
funct NV03_HEAP

$NV01_CONFIG_VERSION = (0x0000000C)

[ Constant: int ]
function OS0C

$NV01_CONFIG_GET = (0x0000000D)

[ Constant: int ]
function OS0D

$NV01_CONFIG_SET = (0x0000000E)

[ Constant: int ]
function OS0E

$NV01_CONFIG_UPDATE = (0x0000000F)

[ Constant: int ]

$NV04_RING0_CALLBACK = (0x00000010)

[ Constant: int ]
function OS10

$NV04_CONFIG_GET_EX = (0x00000011)

[ Constant: int ]
function OS17

$NV04_CONFIG_SET_EX = (0x00000012)

[ Constant: int ]
function OS18

$NV04_I2C_ACCESS = (0x00000013)

[ Constant: int ]
function OS19

3.2. local defines here

$FILE_DEVICE_NV = 0x00008000

[ Constant: int ]

$NV_IOCTL_FCT_BASE = 0x00000800

[ Constant: int ]

3.3. NV3 Resource Manager VXDs

Use these defines if you are opening the RM vxd or the minivdd using the CreateFile inetrface.

$NV3_PRIMARY_MINIVDD = \\\\.\\NV3.VXD

[ Constant: char * ]

$NV3_SECONDARY_MINIVDD = \\\\.\\NV3MINI2.VXD

[ Constant: char * ]

$NV3_RESMAN_VXD = \\\\.\\NV3RM.VXD

[ Constant: char * ]

3.4. NV4/NV10 Resource Manager VXDs

$NVX_PRIMARY_MINIVDD = \\\\.\\NVMINI.VXD

[ Constant: char * ]

$NVX_SECONDARY_MINIVDD = \\\\.\\NVMINI2.VXD

[ Constant: char * ]

$NVX_RESMAN_VXD = \\\\.\\NVCORE.VXD

[ Constant: char * ]

$VXDLDR_NV3_RESMAN_VXD_NAME = NV3RM.VXD

[ Constant: char * ]
Use this define for the resman vxd name if you use the VXDLDR_LoadDevice interface.

$VXDLDR_NVX_RESMAN_VXD_NAME = NVCORE.VXD

[ Constant: char * ]
Use this define for the resman vxd name if you use the VXDLDR_LoadDevice interface.

3.5. NVOS00

$NVOS00_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]
parameter values

$NVOS00_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS00_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS00_STATUS_ERROR_BAD_OBJECT_OLD = (0x00000003)

[ Constant: int ]

$NVOS00_STATUS_ERROR_OBJECT_IN_USE = (0x00000004)

[ Constant: int ]

$NVOS00_STATUS_ERROR_OBJECT_HAS_CHILDERN = (0x00000005)

[ Constant: int ]

3.5.1. class NVOS00_PARAMETERS

[ created from struct NVOS00_PARAMETERS ]
NT ioctl data structure

$this->{hRoot}

[ Member data: returns NvV32 ]

$this->{hObjectParent}

[ Member data: returns NvV32 ]

$this->{hObjectOld}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.6. NVOS01

$NVOS01_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS01_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS01_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS01_STATUS_ERROR_BAD_OBJECT_NEW = (0x00000003)

[ Constant: int ]

$NVOS01_STATUS_ERROR_BAD_CLASS = (0x00000004)

[ Constant: int ]

$NVOS01_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000005)

[ Constant: int ]

3.6.1. class NVOS01_PARAMETERS

[ created from struct NVOS01_PARAMETERS ]
parameters

$this->{hObjectNew}

[ Member data: returns NvV32 ]

$this->{hClass}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.7. NVOS02

$NVOS02_FLAGS_PHYSICALITY_CONTIGUOUS = (0x00000000)

[ Constant: int ]

$NVOS02_FLAGS_PHYSICALITY_NONCONTIGUOUS = (0x00000001)

[ Constant: int ]

$NVOS02_FLAGS_LOCATION_PCI = (0x00000000)

[ Constant: int ]

$NVOS02_FLAGS_LOCATION_AGP = (0x00000001)

[ Constant: int ]

$NVOS02_FLAGS_COHERENCY_UNCACHED = (0x00000000)

[ Constant: int ]

$NVOS02_FLAGS_COHERENCY_CACHED = (0x00000001)

[ Constant: int ]

$NVOS02_FLAGS_COHERENCY_WRITE_COMBINE = (0x00000002)

[ Constant: int ]

$NVOS02_FLAGS_COHERENCY_WRITE_THROUGH = (0x00000003)

[ Constant: int ]

$NVOS02_FLAGS_COHERENCY_WRITE_PROTECT = (0x00000004)

[ Constant: int ]

$NVOS02_FLAGS_COHERENCY_WRITE_BACK = (0x00000005)

[ Constant: int ]

$NVOS02_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS02_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS02_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS02_STATUS_ERROR_BAD_OBJECT_NEW = (0x00000003)

[ Constant: int ]

$NVOS02_STATUS_ERROR_BAD_CLASS = (0x00000004)

[ Constant: int ]

$NVOS02_STATUS_ERROR_BAD_FLAGS = (0x00000005)

[ Constant: int ]

$NVOS02_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000006)

[ Constant: int ]

3.7.1. class NVOS02_PARAMETERS

[ created from struct NVOS02_PARAMETERS ]
parameters

$this->{hRoot}

[ Member data: returns NvV32 ]

$this->{hObjectParent}

[ Member data: returns NvV32 ]

$this->{hObjectNew}

[ Member data: returns NvV32 ]

$this->{hClass}

[ Member data: returns NvV32 ]

$this->{flags}

[ Member data: returns NvV32 ]

$this->{pMemory}

[ Member data: returns NvP64 * ]

$this->{pLimit}

[ Member data: returns NvU64 * ]

$this->{status}

[ Member data: returns NvV32 ]

3.8. NVOS03

$NVOS03_FLAGS_ACCESS_READ_WRITE = (0x00000000)

[ Constant: int ]

$NVOS03_FLAGS_ACCESS_READ_ONLY = (0x00000001)

[ Constant: int ]

$NVOS03_FLAGS_ACCESS_WRITE_ONLY = (0x00000002)

[ Constant: int ]

$NVOS03_FLAGS_PHYSICALITY_CONTIGUOUS = (0x00000000)

[ Constant: int ]

$NVOS03_FLAGS_PHYSICALITY_NONCONTIGUOUS = (0x00000001)

[ Constant: int ]

$NVOS03_FLAGS_LOCKED_ALWAYS = (0x00000000)

[ Constant: int ]

$NVOS03_FLAGS_LOCKED_IN_TRANSIT = (0x00000001)

[ Constant: int ]

$NVOS03_FLAGS_COHERENCY_UNCACHED = (0x00000000)

[ Constant: int ]

$NVOS03_FLAGS_COHERENCY_CACHED = (0x00000001)

[ Constant: int ]

$NVOS03_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS03_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS03_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS03_STATUS_ERROR_BAD_OBJECT_NEW = (0x00000003)

[ Constant: int ]

$NVOS03_STATUS_ERROR_BAD_CLASS = (0x00000004)

[ Constant: int ]

$NVOS03_STATUS_ERROR_BAD_FLAGS = (0x00000005)

[ Constant: int ]

$NVOS03_STATUS_ERROR_BAD_BASE = (0x00000006)

[ Constant: int ]

$NVOS03_STATUS_ERROR_BAD_LIMIT = (0x00000007)

[ Constant: int ]

$NVOS03_STATUS_ERROR_PROTECTION_FAULT = (0x00000008)

[ Constant: int ]

$NVOS03_STATUS_ERROR_MULTIPLE_MEMORY_TYPES = (0x00000009)

[ Constant: int ]

$NVOS03_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x0000000A)

[ Constant: int ]

3.8.1. class NVOS03_PARAMETERS

[ created from struct NVOS03_PARAMETERS ]
parameters

$this->{hObjectParent}

[ Member data: returns NvV32 ]

$this->{hObjectNew}

[ Member data: returns NvV32 ]

$this->{hClass}

[ Member data: returns NvV32 ]

$this->{flags}

[ Member data: returns NvV32 ]

$this->{pBase}

[ Member data: returns NvP64 * ]

$this->{limit}

[ Member data: returns NvU64 * ]

$this->{status}

[ Member data: returns NvV32 ]

3.9. NVOS04

$NVOS04_FLAGS_FIFO_RUNOUT_IGNORE = (0x00000000)

[ Constant: int ]

$NVOS04_FLAGS_FIFO_RUNOUT_ERROR = (0x00000001)

[ Constant: int ]

$NVOS04_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS04_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS04_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS04_STATUS_ERROR_BAD_OBJECT_NEW = (0x00000003)

[ Constant: int ]

$NVOS04_STATUS_ERROR_BAD_CLASS = (0x00000004)

[ Constant: int ]

$NVOS04_STATUS_ERROR_BAD_OBJECT_ERROR = (0x00000005)

[ Constant: int ]

$NVOS04_STATUS_ERROR_BAD_FLAGS = (0x00000006)

[ Constant: int ]

$NVOS04_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000007)

[ Constant: int ]

3.9.1. class NVOS04_PARAMETERS

[ created from struct NVOS04_PARAMETERS ]
parameters

$this->{hRoot}

[ Member data: returns NvV32 ]

$this->{hObjectParent}

[ Member data: returns NvV32 ]

$this->{hObjectNew}

[ Member data: returns NvV32 ]

$this->{hClass}

[ Member data: returns NvV32 ]

$this->{hObjectError}

[ Member data: returns NvV32 ]

$this->{pChannel}

[ Member data: returns NvP64 * ]

$this->{flags}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.10. NVOS05

$NVOS05_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS05_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS05_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS05_STATUS_ERROR_BAD_OBJECT_NEW = (0x00000003)

[ Constant: int ]

$NVOS05_STATUS_ERROR_BAD_CLASS = (0x00000004)

[ Constant: int ]

$NVOS05_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000005)

[ Constant: int ]

3.10.1. class NVOS05_PARAMETERS

[ created from struct NVOS05_PARAMETERS ]
parameters

$this->{hRoot}

[ Member data: returns NvV32 ]

$this->{hObjectParent}

[ Member data: returns NvV32 ]

$this->{hObjectNew}

[ Member data: returns NvV32 ]

$this->{hClass}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.11. NVOS06

$NVOS06_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS06_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS06_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS06_STATUS_ERROR_BAD_OBJECT_NEW = (0x00000003)

[ Constant: int ]

$NVOS06_STATUS_ERROR_BAD_CLASS = (0x00000004)

[ Constant: int ]

$NVOS06_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000005)

[ Constant: int ]

3.11.1. class NVOS06_PARAMETERS

[ created from struct NVOS06_PARAMETERS ]
parameters

$this->{hObjectParent}

[ Member data: returns NvV32 ]

$this->{hObjectNew}

[ Member data: returns NvV32 ]

$this->{hClass}

[ Member data: returns NvV32 ]

$this->{szName}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.12. NVOS07

$NVOS07_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS07_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS07_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS07_STATUS_ERROR_BAD_OBJECT_NEW = (0x00000003)

[ Constant: int ]

$NVOS07_STATUS_ERROR_BAD_CLASS = (0x00000004)

[ Constant: int ]

$NVOS07_STATUS_ERROR_BAD_OBJECT_ERROR = (0x00000005)

[ Constant: int ]

$NVOS07_STATUS_ERROR_BAD_OBJECT_BUFFER = (0x00000006)

[ Constant: int ]

$NVOS07_STATUS_ERROR_BAD_OFFSET = (0x00000007)

[ Constant: int ]

$NVOS07_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000008)

[ Constant: int ]

3.12.1. class NVOS07_PARAMETERS

[ created from struct NVOS07_PARAMETERS ]
parameters

$this->{hRoot}

[ Member data: returns NvV32 ]

$this->{hObjectParent}

[ Member data: returns NvV32 ]

$this->{hObjectNew}

[ Member data: returns NvV32 ]

$this->{hClass}

[ Member data: returns NvV32 ]

$this->{hObjectError}

[ Member data: returns NvV32 ]

$this->{hObjectBuffer}

[ Member data: returns NvV32 ]

$this->{offset}

[ Member data: returns NvU32 ]

$this->{pControl}

[ Member data: returns NvP64 * ]

$this->{status}

[ Member data: returns NvV32 ]

3.13. NVOS08

$NVOS08_FLAGS_PUT_IGNORE = (0x00000000)

[ Constant: int ]

$NVOS08_FLAGS_PUT_UPDATE = (0x00000001)

[ Constant: int ]

$NVOS08_FLAGS_JUMP_IGNORE = (0x00000000)

[ Constant: int ]

$NVOS08_FLAGS_JUMP_UPDATE = (0x00000001)

[ Constant: int ]

$NVOS08_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS08_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS08_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS08_STATUS_ERROR_BAD_FLAGS = (0x00000003)

[ Constant: int ]

$NVOS08_STATUS_ERROR_BAD_PUT = (0x00000004)

[ Constant: int ]

3.13.1. class NVOS08_PARAMETERS

[ created from struct NVOS08_PARAMETERS ]
parameters

$this->{hChannel}

[ Member data: returns NvV32 ]

$this->{flags}

[ Member data: returns NvV32 ]

$this->{put}

[ Member data: returns NvU32 ]

$this->{get}

[ Member data: returns NvU32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.14. NVOS09

$NVOS09_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS09_STATUS_ERROR_BAD_CLIENT = (0x00000001)

[ Constant: int ]

$NVOS09_STATUS_ERROR_BAD_DEVICE = (0x00000002)

[ Constant: int ]

3.14.1. class NVOS09_PARAMETERS

[ created from struct NVOS09_PARAMETERS ]
parameters

$this->{hClient}

[ Member data: returns NvV32 ]

$this->{hDevice}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.15. NVOS10

$NVOS10_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS10_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS10_STATUS_ERROR_BAD_OBJECT_PARENT = (0x00000002)

[ Constant: int ]

$NVOS10_STATUS_ERROR_BAD_OBJECT_NEW = (0x00000003)

[ Constant: int ]

$NVOS10_STATUS_ERROR_BAD_CLASS = (0x00000004)

[ Constant: int ]

$NVOS10_STATUS_ERROR_BAD_INDEX = (0x00000005)

[ Constant: int ]

$NVOS10_STATUS_ERROR_BAD_EVENT = (0x00000006)

[ Constant: int ]

$NVOS10_STATUS_ERROR_OBJECT_IN_USE = (0x00000007)

[ Constant: int ]

3.15.1. class NVOS10_PARAMETERS

[ created from struct NVOS10_PARAMETERS ]
parameters

$this->{hRoot}

[ Member data: returns NvV32 ]

$this->{hObjectParent}

[ Member data: returns NvV32 ]

$this->{hObjectNew}

[ Member data: returns NvV32 ]

$this->{hClass}

[ Member data: returns NvV32 ]

$this->{index}

[ Member data: returns NvV32 ]

$this->{hEvent}

[ Member data: returns NvU64 * ]

$this->{status}

[ Member data: returns NvV32 ]

3.16. NVOS11

$NVOS11_HEAP_ALLOC_DEPTH_WIDTH_HEIGHT = 1

[ Constant: int ]

$NVOS11_HEAP_ALLOC_SIZE = 2

[ Constant: int ]

$NVOS11_HEAP_FREE = 3

[ Constant: int ]

$NVOS11_HEAP_PURGE = 4

[ Constant: int ]

$NVOS11_HEAP_INFO = 5

[ Constant: int ]

$NVOS11_HEAP_ALLOC_TILED_PITCH_HEIGHT = 6

[ Constant: int ]

$NVOS11_TYPE_IMAGE = 0

[ Constant: int ]

$NVOS11_TYPE_DEPTH = 1

[ Constant: int ]

$NVOS11_TYPE_TEXTURE = 2

[ Constant: int ]

$NVOS11_TYPE_VIDEO_OVERLAY = 3

[ Constant: int ]

$NVOS11_TYPE_FONT = 4

[ Constant: int ]

$NVOS11_TYPE_CURSOR = 5

[ Constant: int ]

$NVOS11_TYPE_DMA = 6

[ Constant: int ]

$NVOS11_TYPE_INSTANCE = 7

[ Constant: int ]

$NVOS11_TYPE_PRIMARY = 8

[ Constant: int ]

$NVOS11_TYPE_IMAGE_TILED = 9

[ Constant: int ]

$NVOS11_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS11_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000001)

[ Constant: int ]

$NVOS11_STATUS_ERROR_INVALID_FUNCTION = (0x00000002)

[ Constant: int ]

$NVOS11_STATUS_ERROR_INVALID_OWNER = (0x00000003)

[ Constant: int ]

3.16.1. class NVOS11_PARAMETERS

[ created from struct NVOS11_PARAMETERS ]
Size will return size of largest free block when function is NVOS11_HEAP_INFO. Address will return base address of heap when function is NVOS11_HEAP_INFO.

$this->{hRoot}

[ Member data: returns NvV32 ]

$this->{hObjectParent}

[ Member data: returns NvV32 ]

$this->{function}

[ Member data: returns NvU32 ]

$this->{owner}

[ Member data: returns NvU32 ]

$this->{type}

[ Member data: returns NvU32 ]

$this->{depth}

[ Member data: returns NvU32 ]

$this->{width}

[ Member data: returns NvU32 ]

$this->{height}

[ Member data: returns NvU32 ]

$this->{pitch}

[ Member data: returns NvS32 ]

$this->{offset}

[ Member data: returns NvU32 ]

$this->{size}

[ Member data: returns NvU32 ]

$this->{address}

[ Member data: returns NvU32 ]

$this->{limit}

[ Member data: returns NvU32 ]

$this->{total}

[ Member data: returns NvU32 ]

$this->{free}

[ Member data: returns NvU32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.17. NVOS12

$NVOS12_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS12_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS12_STATUS_ERROR_BAD_CLIENT = (0x00000002)

[ Constant: int ]

$NVOS12_STATUS_ERROR_BAD_DEVICE = (0x00000003)

[ Constant: int ]

$NVOS12_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000005)

[ Constant: int ]

3.17.1. class NVOS12_PARAMETERS

[ created from struct NVOS12_PARAMETERS ]
parameters

$this->{hClient}

[ Member data: returns NvV32 ]

$this->{hDevice}

[ Member data: returns NvV32 ]

$this->{version}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.18. NVOS13

$NVOS13_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS13_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS13_STATUS_ERROR_BAD_CLIENT = (0x00000002)

[ Constant: int ]

$NVOS13_STATUS_ERROR_BAD_DEVICE = (0x00000003)

[ Constant: int ]

$NVOS13_STATUS_ERROR_BAD_INDEX = (0x00000004)

[ Constant: int ]

$NVOS13_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000005)

[ Constant: int ]

3.18.1. class NVOS13_PARAMETERS

[ created from struct NVOS13_PARAMETERS ]
parameters

$this->{hClient}

[ Member data: returns NvV32 ]

$this->{hDevice}

[ Member data: returns NvV32 ]

$this->{index}

[ Member data: returns NvV32 ]

$this->{value}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.19. NVOS14

$NVOS14_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS14_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS14_STATUS_ERROR_BAD_CLIENT = (0x00000002)

[ Constant: int ]

$NVOS14_STATUS_ERROR_BAD_DEVICE = (0x00000003)

[ Constant: int ]

$NVOS14_STATUS_ERROR_BAD_INDEX = (0x00000004)

[ Constant: int ]

$NVOS14_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000005)

[ Constant: int ]

3.19.1. class NVOS14_PARAMETERS

[ created from struct NVOS14_PARAMETERS ]
parameters

$this->{hClient}

[ Member data: returns NvV32 ]

$this->{hDevice}

[ Member data: returns NvV32 ]

$this->{index}

[ Member data: returns NvV32 ]

$this->{oldValue}

[ Member data: returns NvV32 ]

$this->{newValue}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.20. NVOS15

$NVOS15_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS15_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS15_STATUS_ERROR_BAD_CLIENT = (0x00000002)

[ Constant: int ]

$NVOS15_STATUS_ERROR_BAD_DEVICE = (0x00000003)

[ Constant: int ]

$NVOS15_STATUS_ERROR_BAD_FLAGS = (0x00000004)

[ Constant: int ]

$NVOS15_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000005)

[ Constant: int ]

3.20.1. class NVOS15_PARAMETERS

[ created from struct NVOS15_PARAMETERS ]
parameters

$this->{hClient}

[ Member data: returns NvV32 ]

$this->{hDevice}

[ Member data: returns NvV32 ]

$this->{flags}

[ Member data: returns NvV32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.21. NVOS_CONFIG_GET_EX

$NVOS_CGE_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS_CGE_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS_CGE_STATUS_ERROR_BAD_CLIENT = (0x00000002)

[ Constant: int ]

$NVOS_CGE_STATUS_ERROR_BAD_DEVICE = (0x00000003)

[ Constant: int ]

$NVOS_CGE_STATUS_ERROR_BAD_INDEX = (0x00000004)

[ Constant: int ]

$NVOS_CGE_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000005)

[ Constant: int ]

$NVOS_CGE_STATUS_ERROR_BAD_PARAM_STRUCT = (0x00000006)

[ Constant: int ]

3.21.1. class NVOS_CONFIG_GET_EX_PARAMS

[ created from struct NVOS_CONFIG_GET_EX_PARAMS ]
parameters

$this->{hClient}

[ Member data: returns NvV32 ]

$this->{hDevice}

[ Member data: returns NvV32 ]

$this->{index}

[ Member data: returns NvV32 ]

$this->{paramStructPtr}

[ Member data: returns NvV32 ]

$this->{paramSize}

[ Member data: returns NvU32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.22. NVOS_CONFIG_SET_EX

$NVOS_CSE_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS_CSE_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS_CSE_STATUS_ERROR_BAD_CLIENT = (0x00000002)

[ Constant: int ]

$NVOS_CSE_STATUS_ERROR_BAD_DEVICE = (0x00000003)

[ Constant: int ]

$NVOS_CSE_STATUS_ERROR_BAD_INDEX = (0x00000004)

[ Constant: int ]

$NVOS_CSE_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000005)

[ Constant: int ]

$NVOS_CSE_STATUS_ERROR_BAD_PARAM_STRUCT = (0x00000006)

[ Constant: int ]

3.22.1. class NVOS_CONFIG_SET_EX_PARAMS

[ created from struct NVOS_CONFIG_SET_EX_PARAMS ]
parameters

$this->{hClient}

[ Member data: returns NvV32 ]

$this->{hDevice}

[ Member data: returns NvV32 ]

$this->{index}

[ Member data: returns NvV32 ]

$this->{paramStructPtr}

[ Member data: returns NvV32 ]

$this->{paramSize}

[ Member data: returns NvU32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.23. NVOS_I2C_ACCESS_STATUS

$NVOS_I2C_ACCESS_STATUS_SUCCESS = (0x00000000)

[ Constant: int ]

$NVOS_I2C_ACCESS_STATUS_ERROR_OPERATING_SYSTEM = (0x00000001)

[ Constant: int ]

$NVOS_I2C_ACCESS_STATUS_ERROR_BAD_CLIENT = (0x00000002)

[ Constant: int ]

$NVOS_I2C_ACCESS_STATUS_ERROR_BAD_DEVICE = (0x00000003)

[ Constant: int ]

$NVOS_I2C_ACCESS_STATUS_ERROR_INSUFFICIENT_RESOURCES = (0x00000004)

[ Constant: int ]

$NVOS_I2C_ACCESS_STATUS_ERROR_BAD_PARAM_STRUCT = (0x00000005)

[ Constant: int ]

3.23.1. class NVOS_I2C_ACCESS_PARAMS

[ created from struct NVOS_I2C_ACCESS_PARAMS ]
parameters

$this->{hClient}

[ Member data: returns NvV32 ]

$this->{hDevice}

[ Member data: returns NvV32 ]

$this->{paramStructPtr}

[ Member data: returns NvV32 ]

$this->{paramSize}

[ Member data: returns NvU32 ]

$this->{status}

[ Member data: returns NvV32 ]

3.24. NVRM_RING0CALLBACK_PARAMS

3.24.1. class NVRM_RING0CALLBACK_PARAMS

[ created from struct NVRM_RING0CALLBACK_PARAMS ]

$this->{hClient}

[ Member data: returns NvV32 ]

$this->{hDevice}

[ Member data: returns NvV32 ]

$this->{functionPtr}

[ Member data: returns RING0CALLBACKPROC ]

$this->{param1}

[ Member data: returns NvU32 ]

$this->{param2}

[ Member data: returns NvU32 ]

$this->{status}

[ Member data: returns NvV32 ]

4. Configuration Definitions

  module Nvcm.i

//---------------------------------------------------------------------------
//
//  Configuration Defines.
//
//---------------------------------------------------------------------------

 Index parameters to ConfigGet/Set.  All other values are reserved.

$NV_CFG_MANUFACTURER = 1

[ Constant: int  ]

NV_CFG_MANUFACTURER - Return the manufacturer of this device

   0 - NVIDIA Corporation
  (all other values are reserved)

$NV_CFG_ARCHITECTURE = 2

[ Constant: int  ]

NV_CFG_ARCHITECTURE - Return the architecture of this device

 0 - NV0
 1 - NV1, etc

$NV_CFG_REVISION = 3

[ Constant: int  ]

NV_CFG_REVISION - Return the major revision of this device

 0 - RevA
 1 - RevB, etc

$NV_CFG_BIOS_REVISION = 4

[ Constant: int  ]

NV_CFG_BIOS_REVISION - Return the current revision of this device's BIOS

 MMNNRRRR - MM   Major Revision
            NN   Minor Revision
            RRRR Release Revision

$NV_CFG_BUS_TYPE = 5

[ Constant: int  ]

NV_CFG_BUS_TYPE - Return the bus implementation of this device

 1 - PCI
 2 - VL
 4 - AGP
 All other values are reserved

$NV_CFG_CRYSTAL_FREQ = 6

[ Constant: int  ]

NV_CFG_CRYSTAL_FREQ - Return the PLL crystal frequency of this device

 Value returned in Hz

$NV_CFG_ADDRESS_NVADDR = 9

[ Constant: int  ]

NV_CFG_ADDRESS_NVADDR - Return the linear address of (BAR0) of this device

$NV_CFG_ADDRESS = 10

[ Constant: int  ]

NV_CFG_ADDRESS - Return the physical PCI address (BAR0) of this device

$NV_CFG_IRQ = 11

[ Constant: int  ]

NV_CFG_IRQ - Return the PCI IRQ assigned to this device

$NV_CFG_IO_NEEDED = 12

[ Constant: int  ]

NV_CFG_IO_NEEDED - Return the detection flag for chipsets that have broken
                   PCI snoop mastering.

$NV_CFG_PCI_ID = 13

[ Constant: int  ]

NV_CFG_PCI_ID - Return the PCI Vendor and Device ID assigned to this device

     DDDDVVVV -  VVVV    PCI Vendor ID
                 DDDD    PCI Device ID

$NV_CFG_PROCESSOR_TYPE = 15

[ Constant: int  ]

NV_CFG_PROCESSOR_TYPE - Return the functionality of the system processor

There are 2 pieces of data passed back, the processor indicator is in
the low 8 bits and its bitmask of functionality is in the upper 24

$NV_CFG_PROCESSOR_SPEED = 16

[ Constant: int  ]

NV_CFG_PROCESSOR_SPEED - Return the speed of the processor in MHz

$NV_CFG_INSTANCE_SIZE = 20

[ Constant: int  ]

NV_CFG_INSTANCE_SIZE - Return the size of the instance pool of this device

$NV_CFG_FIFO_COUNT = 32

[ Constant: int  ]

NV_CFG_FIFO_COUNT - Return the number of user fifos allowed in this device

$NV_CFG_FIFO_USE_COUNT = 33

[ Constant: int  ]

NV_CFG_FIFO_USE_COUNT - Return the number of fifos used in this device

$NV_CFG_RAM_SIZE_MB = 40

[ Constant: int  ]

NV_CFG_RAM_SIZE_MB - Return the video memory size (in MB) of this device

$NV_CFG_RAM_SIZE = 41

[ Constant: int  ]

NV_CFG_RAM_SIZE - Return the video memory size (in bytes) of this device

$NV_CFG_RAM_TYPE = 42

[ Constant: int  ]

NV_CFG_RAM_TYPE - Return the video memory type of this device

 0 - DRAM (EDO/FPM)
 1 - SGRAM
 2 - SDRAM
 All other values are reserved

$NV_CFG_AGP_PHYS_BASE = 44

[ Constant: int  ]

NV_CFG_AGP_PHYS_BASE - Return/Set the current physical GART address

$NV_CFG_AGP_LINEAR_BASE = 45

[ Constant: int  ]

NV_CFG_AGP_LINEAR_BASE - Return/Set the current linear GART address

$NV_CFG_AGP_LIMIT = 46

[ Constant: int  ]

NV_CFG_AGP_LIMIT - Return/Set the current GART size

$NV_CFG_AGP_LOAD_DUMMY_PAGES = 47

[ Constant: int  ]

$NV_CFG_SCREEN_WIDTH = 50

[ Constant: int  ]

NV_CFG_SCREEN_WIDTH - Return/Set the current display horizontal resolution

 Value defined in pixels

NOTE: Updates to this value will not take affect until NvConfigUpdate().
This allows batching with other screen size parameters.

$NV_CFG_SCREEN_HEIGHT = 51

[ Constant: int  ]

NV_CFG_SCREEN_HEIGHT - Return/Set the current display vertical resolution

 Value defined in pixels

NOTE: Updates to this value will not take affect until NvConfigUpdate().
This allows batching with other screen size parameters.

$NV_CFG_PIXEL_DEPTH = 52

[ Constant: int  ]

NV_CFG_PIXEL_DEPTH - Return/Set the current display pixel depth

 Value defined in bits per pixel

NOTE: Updates to this value will not take affect until NvConfigUpdate().
This allows batching with other screen size parameters.

$NV_CFG_SCREEN_MAX_WIDTH = 53

[ Constant: int  ]

NV_CFG_SCREEN_MAX_WIDTH - Returns the maximum horizontal resolution supported by the display type.

 Value defined in pixels

$NV_CFG_SCREEN_MAX_HEIGHT = 54

[ Constant: int  ]

NV_CFG_SCREEN_MAX_HEIGHT - Returns the maximum vertical resolution supported by the display type.

 Value defined in pixels

$NV_CFG_VIDEO_ENCODER_ID = 57

[ Constant: int  ]

$NV_CFG_PRIMARY_SURFACE_PITCH = 56

[ Constant: int  ]

NV_CFG_PRIMARY_SURFACE_PITCH - Return the display pitch of the primary surface

 Value defined in bytes

$NV_CFG_VIDEO_OVERLAY_ALLOWED = 80

[ Constant: int  ]

NV_CFG_VIDEO_OVERLAY_ALLOWED - Return the video overlay validity in the current
     desktop resolution

 0 - Video Overlay not allowed
 1 - Video Overlay is allowed
 All other values are reserved

$NV_CFG_FRAMEBUFFER_UNDERSCAN_X = 85

[ Constant: int  ]

NV_CFG_FRAMEBUFFER_UNDERSCAN - Return/Set the NV3 (RIVA128) TV Underscan resolution

$NV_CFG_FRAMEBUFFER_UNDERSCAN_Y = 86

[ Constant: int  ]

$NV_CFG_DAC_INPUT_WIDTH = 110

[ Constant: int  ]

NV_CFG_DAC_INPUT_WIDTH - Return the width (in bits) of the current framebuffer bus

//
// NV_CFG_DAC_VPLL_*
// NV_CFG_DAC_MPLL_* - Return the individual components of the memory and video PLL's
//
//  The definition of these values is reserved
//

$NV_CFG_DAC_VPLL_M = 120

[ Constant: int  ]

$NV_CFG_DAC_VPLL_N = 121

[ Constant: int  ]

$NV_CFG_DAC_VPLL_O = 122

[ Constant: int  ]

$NV_CFG_DAC_VPLL_P = 123

[ Constant: int  ]

$NV_CFG_DAC_MPLL_M = 130

[ Constant: int  ]

$NV_CFG_DAC_MPLL_N = 131

[ Constant: int  ]

$NV_CFG_DAC_MPLL_O = 132

[ Constant: int  ]

$NV_CFG_DAC_MPLL_P = 133

[ Constant: int  ]

$NV_CFGEX_ENABLE_TETRIS_TILING = 200

[ Constant: int  ]
************ Enable tiling *******************************  

$NV_CFGEX_DISABLE_TETRIS_TILING = 201

[ Constant: int  ]
************ Disable tiling ******************************  

$NV_CFG_VBLANK_TOGGLE = 212

[ Constant: int  ]

NV_CFG_VBLANK_TOGGLE - Return/Set the current value of the vertical sync toggle

 This value is toggled to zero (0) during every vertical sync.  By setting it to
 any other value and then monitoring, a client can detect the presence of a
 vertical sync signal occuring within a defined time period.

$NV_CFG_VBLANK_COUNTER = 213

[ Constant: int  ]

NV_CFG_VBLANK_COUNTER - Return/Set the number of vertical blanks 

 This value is initialized to zero and keeps a running count of the number of
 vertical blanks since the last reset. Use ConfigSet to reset it to zero.

$NV_CFG_PRAM_CURRENT_SIZE = 220

[ Constant: int  ]

NV_CFG_PRAM_CURRENT_SIZE - Return the currently allocated size of chip

$NV_CFG_DAC_PIXEL_CLOCK = 250

[ Constant: int  ]

NV_CFG_DAC_PIXEL_CLOCK - Return the current video pixel clock (in Hz) for this device

$NV_CFG_DAC_MEMORY_CLOCK = 251

[ Constant: int  ]

NV_CFG_DAC_MEMORY_CLOCK - Return the current memory clock (in Hz) for this device

$NV_CFG_DAC_GRAPHICS_CLOCK = 253

[ Constant: int  ]

NV_CFG_DAC_GRAPHICS_CLOCK - Return the current graphics clock (in Hz) for this device

$NV_CFG_DAC_PCLK_LIMIT_8BPP = 260

[ Constant: int  ]

NV_CFG_DAC_PCLK_LIMIT_8BPP - Return the current 8bpp graphics clock limit (in Hz) for this device

$NV_CFG_DAC_PCLK_LIMIT_16BPP = 261

[ Constant: int  ]

NV_CFG_DAC_PCLK_LIMIT_16BPP - Return the current 16bpp graphics clock limit (in Hz) for this device

$NV_CFG_DAC_PCLK_LIMIT_32BPP = 262

[ Constant: int  ]

NV_CFG_DAC_PCLK_LIMIT_32BPP - Return the current 16bpp graphics clock limit (in Hz) for this device

$NV_CFG_MAPPING_BUSDEVICEFUNC = 263

[ Constant: int  ]
Function added for display driver registry setting storage.
This will return the device type or'ed to the busdevicefunc info.                     

$NV_CFG_VBLANK_STATUS = 500

[ Constant: int  ]

NV_CFG_VBLANK_STATUS - Return the current vertical blank status of this device

 0 - device is not currently in vertical blank
 1 - device is currently in vertical blank

$NV_CFG_GE_STATUS = 501

[ Constant: int  ]

NV_CFG_GE_STATUS - Return the current graphics activity state of this device

 any value other than zero (0) denotes graphics activity is in progress

$NV_CFG_CURRENT_SCANLINE = 502

[ Constant: int  ]

NV_CFG_CURRENT_SCANLINE - Return the current active display scanline of this device

 The value returned may be greater than the current resolution if the display
 has moved into the vertical blanking period.

$NV_CFG_CRTC = 768

[ Constant: int  ]

NV_CFG_CRTC_* - Return/Set a CRTC (VGA) register in this device

 All CRTC registers are accessed by adding the index the base value given here.
 For example, CR1B is accessed using index (NV_CFG_CRTC+0x1B)

4.1. NV_CFGEX_DESKTOP_POSITION_MONITOR


$NV_CFGEX_GET_DESKTOP_POSITION_MONITOR = 100

[ Constant: int  ]
************ Get the Desktop position for Monitor *************  

4.1.1. class NV_CFGEX_GET_DESKTOP_POSITION_MONITOR_PARAMS

[ created from struct NV_CFGEX_GET_DESKTOP_POSITION_MONITOR_PARAMS ]
Param Structure

$this->{GetDefault}

[ Member data: returns unsigned long  ]

$this->{HBlankStart}

[ Member data: returns unsigned long  ]

$this->{HBlankEnd}

[ Member data: returns unsigned long  ]

$this->{VBlankStart}

[ Member data: returns unsigned long  ]

$this->{VBlankEnd}

[ Member data: returns unsigned long  ]

$this->{HRetraceStart}

[ Member data: returns unsigned long  ]

$this->{HRetraceEnd}

[ Member data: returns unsigned long  ]

$this->{VRetraceStart}

[ Member data: returns unsigned long  ]

$this->{VRetraceEnd}

[ Member data: returns unsigned long  ]

$NV_CFGEX_SET_DESKTOP_POSITION_MONITOR = 101

[ Constant: int  ]
************ Set the Desktop position for Monitor *************  

4.1.2. class NV_CFGEX_SET_DESKTOP_POSITION_MONITOR_PARAMS

[ created from struct NV_CFGEX_SET_DESKTOP_POSITION_MONITOR_PARAMS ]
Param Structure

$this->{CommitChanges}

[ Member data: returns unsigned long  ]

$this->{HRetraceStart}

[ Member data: returns unsigned long  ]

$this->{HRetraceEnd}

[ Member data: returns unsigned long  ]

$this->{VRetraceStart}

[ Member data: returns unsigned long  ]

$this->{VRetraceEnd}

[ Member data: returns unsigned long  ]

4.2. NV_CFGEX_DESKTOP_POSITION_TV_PARAMS


$NV_CFGEX_GET_DESKTOP_POSITION_TV = 102

[ Constant: int  ]
************ Desktop position for TV **********  

$NV_CFGEX_COMMIT_DESKTOP_POSITION_TV = 103

[ Constant: int  ]

4.2.1. class NV_CFGEX_DESKTOP_POSITION_TV_PARAMS

[ created from struct NV_CFGEX_DESKTOP_POSITION_TV_PARAMS ]
Param Structure
     Encoder_ID = NV_ENCODER_ type
     Default    = get default setting if set, else get current


$this->{Encoder_ID}

[ Member data: returns unsigned long  ]

$this->{Default}

[ Member data: returns unsigned char  ]

4.3. NV_CFGEX_TV_ENCODER_INFO


$NV_CFGEX_GET_TV_ENCODER_INFO = 104

[ Constant: int  ]
------- TV Encoder -----------------------------------

$TV_NOT_CONNECTED = 0

[ Constant: int  ]

$TV_CONNECTED = 1

[ Constant: int  ]

$NV_CFGEX_SET_TV_ENCODER_INFO = 105

[ Constant: int  ]

4.3.1. class NV_CFGEX_TV_ENCODER_PARAMS

[ created from struct NV_CFGEX_TV_ENCODER_PARAMS ]

am Structure
     EncoderType:
             0 - None
             1 - Chrontel 7003
             2 - Brooktree 868
             3 - Brooktree 869
             All other values are reserved
     TVConnected:
             0 - Not connected
             1 - Connected
     EncoderID: I2C address of encoder


$this->{EncoderType}

[ Member data: returns unsigned long  ]

$this->{EncoderID}

[ Member data: returns unsigned long  ]

$this->{TVConnected}

[ Member data: returns unsigned long  ]

4.3.2. class PARAMS_BROOKTREE

[ created from struct PARAMS_BROOKTREE ]

$this->{HRetraceStart}

[ Member data: returns unsigned long  ]

$this->{HRetraceEnd}

[ Member data: returns unsigned long  ]

$this->{VRetraceStart}

[ Member data: returns unsigned long  ]

$this->{VRetraceEnd}

[ Member data: returns unsigned long  ]

$this->{reg0x80}

[ Member data: returns unsigned char  ]

$this->{reg0x82}

[ Member data: returns unsigned char  ]

$this->{reg0x92}

[ Member data: returns unsigned char  ]

$this->{reg0x98}

[ Member data: returns unsigned char  ]

$this->{reg0x9A}

[ Member data: returns unsigned char  ]

$this->{reg0xC8}

[ Member data: returns unsigned char  ]

$this->{reg0xCA}

[ Member data: returns unsigned char  ]

$this->{reg0xCC}

[ Member data: returns unsigned char  ]

4.3.3. class PARAMS_CHRONTEL

[ created from struct PARAMS_CHRONTEL ]

$this->{reg0x01}

[ Member data: returns unsigned char  ]

$this->{reg0x08}

[ Member data: returns unsigned char  ]
Flicker Filter

$this->{reg0x0A}

[ Member data: returns unsigned char  ]
overflow bits for V & H position

$this->{reg0x0B}

[ Member data: returns unsigned char  ]
Horizontal Position

$this->{reg0x09}

[ Member data: returns unsigned char  ]
Vertical Position

$this->{reg0x11}

[ Member data: returns unsigned char  ]
Black Level (Brightness)

4.4. NV_CFGEX_FLATPANEL_INFO


$NV_CFGEX_GET_FLAT_PANEL_INFO = 106

[ Constant: int  ]
************ Flat Panel **********************************  

$NV_CFGEX_GET_FLATPANEL_INFO_NOT_CONNECTED = 0

[ Constant: int  ]

$NV_CFGEX_GET_FLATPANEL_INFO_CONNECTED = 1

[ Constant: int  ]

$NV_CFGEX_GET_FLATPANEL_INFO_SCALED = 0

[ Constant: int  ]

$NV_CFGEX_GET_FLATPANEL_INFO_CENTERED = 1

[ Constant: int  ]

$NV_CFGEX_GET_FLATPANEL_INFO_NATIVE = 2

[ Constant: int  ]

$NV_CFGEX_SET_FLAT_PANEL_INFO = 107

[ Constant: int  ]

4.4.1. class NV_CFGEX_GET_FLATPANEL_INFO_PARAMS

[ created from struct NV_CFGEX_GET_FLATPANEL_INFO_PARAMS ]

ram structure
atPanelMode:
      0 - Not Connected
  1 - Centered
  2 - Native
  3 - Scaled mode
atPanelSizeX:
  Max horizontal resolution.
atPanelSizeY:
  Max vertical resolution.
atPanelNativeSupported


$this->{FlatPanelMode}

[ Member data: returns unsigned long  ]

$this->{FlatPanelSizeX}

[ Member data: returns unsigned long  ]

$this->{FlatPanelSizeY}

[ Member data: returns unsigned long  ]

$this->{FlatPanelConnected}

[ Member data: returns int  ]

$this->{FlatPanelNativeSupported}

[ Member data: returns int  ]

4.4.2. class NV_CFGEX_SET_FLATPANEL_INFO_PARAMS

[ created from struct NV_CFGEX_SET_FLATPANEL_INFO_PARAMS ]
Param structure

$this->{CommitChanges}

[ Member data: returns unsigned long  ]

$this->{FlatPanelMode}

[ Member data: returns unsigned long  ]

4.5. NV_CFGEX_MONITOR_INFO


$NV_CFGEX_GET_MONITOR_INFO = 108

[ Constant: int  ]
************ Monitor *************************************  

$NV_CFGEX_GET_MONITOR_INFO_NOT_CONNECTED = 0

[ Constant: int  ]

$NV_CFGEX_GET_MONITOR_INFO_CONNECTED = 1

[ Constant: int  ]

4.5.1. class NV_CFGEX_GET_MONITOR_INFO_PARAMS

[ created from struct NV_CFGEX_GET_MONITOR_INFO_PARAMS ]

ram structure
nitorConnected:
     0 - Not Connected
     1 - Connected


$this->{MonitorConnected}

[ Member data: returns unsigned long  ]

4.6. NV_CFGEX_VIDEO_TV_FORMAT


$NV_CFG_VIDEO_TV_FORMAT = 109

[ Constant: int  ]
NV_CFG_VIDEO_TV_FORMAT - Return the current TV format   

 must be one of the following formats 

$NTSC_M = 0

[ Constant: int  ]

$NTSC_J = 1

[ Constant: int  ]

$PAL_M = 2

[ Constant: int  ]

$PAL_A = 3

[ Constant: int  ]
PAL B, D, G, H, I

$PAL_N = 4

[ Constant: int  ]

$PAL_NC = 5

[ Constant: int  ]

$KNOWN_TV_FORMATS = 5

[ Constant: int  ]
number of formats we know about + 1

4.7. NV_CFGEX_REFRESH_INFO/RATE


$NV_CFGEX_GET_REFRESH_INFO = 111

[ Constant: int  ]
************ Get the current Windows refresh rate and state (real, default or optimal) *************  

 definitions of state flags

$NV_CFG_REFRESH_FLAG_SPECIFIC = 0x00000000

[ Constant: int  ]
use specific value contained in ulRefreshRate   

$NV_CFG_REFRESH_FLAG_ADAPTER_DEFAULT = 0x00000001

[ Constant: int  ]
Windows is using "Adapter Default" setting      

$NV_CFG_REFRESH_FLAG_OPTIMAL = 0x00000002

[ Constant: int  ]
Windows is using "Optimal" setting              

$NV_CFG_VIDEO_REFRESH_RATE = 170

[ Constant: int  ]

NV_CFG_VIDEO_REFRESH_RATE - Return/Set the current display refresh rate (in Hz)

4.7.1. class NV_CFGEX_GET_REFRESH_INFO_PARAMS

[ created from struct NV_CFGEX_GET_REFRESH_INFO_PARAMS ]
Param Structure

$this->{ulRefreshRate}

[ Member data: returns unsigned long  ]

$this->{ulState}

[ Member data: returns unsigned long  ]

4.8. NV_CFGEX_DISPLAY_TYPE


$NV_CFGEX_GET_DISPLAY_TYPE = 140

[ Constant: int  ]
************ Get the Display Type *************  

 definitions of Display Types

$DISPLAY_TYPE_MONITOR = 0

[ Constant: int  ]

$DISPLAY_TYPE_TV = 1

[ Constant: int  ]

$DISPLAY_TYPE_DUALSURFACE = 2

[ Constant: int  ]

$DISPLAY_TYPE_FLAT_PANEL = 3

[ Constant: int  ]

 definitions of TV types: see NV_CFG_VIDEO_TV_FORMAT

$NV_CFGEX_SET_DISPLAY_TYPE = 141

[ Constant: int  ]
************ Set the Display Type *************  

4.8.1. class NV_CFGEX_GET_DISPLAY_TYPE_PARAMS

[ created from struct NV_CFGEX_GET_DISPLAY_TYPE_PARAMS ]
Param Structure

$this->{Type}

[ Member data: returns unsigned long  ]

$this->{TVType}

[ Member data: returns unsigned long  ]

4.8.2. class NV_CFGEX_SET_DISPLAY_TYPE_PARAMS

[ created from struct NV_CFGEX_SET_DISPLAY_TYPE_PARAMS ]
Param Structure

$this->{Type}

[ Member data: returns unsigned long  ]

$this->{TVType}

[ Member data: returns unsigned long  ]

4.9. NV_CFGEX_GET_EDID


$NV_CFGEX_GET_EDID = 210

[ Constant: int  ]
************ Get the monitor EDID ************************  

param structure
    displayType = see NV_CFGEX_GET_DISPLAY_TYPE for legal values
    *bufferLength = in/out

4.9.1. class NV_CFGEX_GET_EDID_PARAMS

[ created from struct NV_CFGEX_GET_EDID_PARAMS ]

$this->{displayType}

[ Member data: returns unsigned long  ]

$this->{edidBuffer}

[ Member data: returns unsigned char * ]

$this->{bufferLength}

[ Member data: returns unsigned long * ]

4.10. NV_CFGEX_GET_SURFACE_PITCH


$NV_CFGEX_GET_SURFACE_PITCH = 300

[ Constant: int  ]
************ Return Pitch given Width/Depth **************  

4.10.1. class NV_CFGEX_GET_SURFACE_PITCH_PARAMS

[ created from struct NV_CFGEX_GET_SURFACE_PITCH_PARAMS ]
Param structure
  Width = in (pixels)
  Depth = in (bits per pixel)
  Pitch = out


$this->{Width}

[ Member data: returns unsigned long  ]

$this->{Depth}

[ Member data: returns unsigned long  ]

$this->{Pitch}

[ Member data: returns unsigned long  ]

4.11. NV_CFG_VIDEO_ENCODER_TYPE


$NV_CFG_VIDEO_ENCODER_TYPE = 55

[ Constant: int  ]

NV_CFG_VIDEO_ENCODER_TYPE - Return the external video decoder being used by this device


$TV_ENCODER_BROOKTREE = 0x100

[ Constant: int  ]

$TV_ENCODER_CHRONTEL = 0x200

[ Constant: int  ]

$NV_ENCODER_NONE = 0

[ Constant: int  ]

$NV_ENCODER_BROOKTREE_868 = ((0x100)+1)

[ Constant: int  ]

$NV_ENCODER_BROOKTREE_869 = ((0x100)+2)

[ Constant: int  ]

$NV_ENCODER_CHRONTEL_7003 = ((0x200)+3)

[ Constant: int  ]

$NV_ENCODER_CHRONTEL_7004 = ((0x200)+4)

[ Constant: int  ]

$NV_ENCODER_CHRONTEL_7005 = ((0x200)+5)

[ Constant: int  ]

$NV_ENCODER_CHRONTEL_7006 = ((0x200)+6)

[ Constant: int  ]

$NV_ENCODER_CHRONTEL_7007 = ((0x200)+7)

[ Constant: int  ]

$NV_ENCODER_CHRONTEL_7008 = ((0x200)+8)

[ Constant: int  ]

4.12. NV_CFG_VIDEO_MONITOR_TYPE


$NV_CFG_VIDEO_MONITOR_TYPE = 79

[ Constant: int  ]

NV_CFG_VIDEO_MONITOR_TYPE - Return the monitor type being used by this device

 0 - VGA
 2 - NTSC TV
 3 - PAL TV
 4 - Flat Panel
 All other values are reserved

$MONITOR_TYPE_VGA = 0

[ Constant: int  ]

$MONITOR_TYPE_NTSC = 2

[ Constant: int  ]

$MONITOR_TYPE_PAL = 3

[ Constant: int  ]

$MONITOR_TYPE_FLAT_PANEL = 4

[ Constant: int  ]

4.13. NV_CFG_VIDEO_OUTPUT_FORMAT


$NV_CFG_VIDEO_OUTPUT_FORMAT = 90

[ Constant: int  ]

NV_CFG_VIDEO_OUTPUT_FORMAT - Return/Set the NV4/5/10 TV output format (S-Video, Composite, or Auto)
0 = Auto, 1 = Composite, 2 = S-Video  

$NV_CFG_VIDEO_OUTPUT_FORMAT_AUTOSELECT = 0x0

[ Constant: int  ]

$NV_CFG_VIDEO_OUTPUT_FORMAT_FORCE_COMPOSITE = 0x1

[ Constant: int  ]

$NV_CFG_VIDEO_OUTPUT_FORMAT_FORCE_SVIDEO = 0x2

[ Constant: int  ]

4.14. NV_CFG_PROCESSOR_TYPE


//
// NV_CFG_PROCESSOR_TYPE - Return the functionality of the system processor
//
// There are 2 pieces of data passed back, the processor indicator is in
// the low 8 bits and its bitmask of functionality is in the upper 24
//

$NV_CPU_UNKNOWN = 0x00000000

[ Constant: int  ]
Unknown / generic

 ----------Intel--------------

$NV_CPU_P5 = 0x00000001

[ Constant: int  ]

$NV_CPU_P55 = 0x00000002

[ Constant: int  ]
P55C - MMX

$NV_CPU_P6 = 0x00000003

[ Constant: int  ]
PPro

$NV_CPU_P2 = 0x00000004

[ Constant: int  ]
PentiumII

$NV_CPU_P2XC = 0x00000005

[ Constant: int  ]
Xeon & Celeron

$NV_CPU_CELA = 0x00000006

[ Constant: int  ]
Celeron-A

$NV_CPU_P3 = 0x00000007

[ Constant: int  ]
Pentium-III

 ----------AMD------------

$NV_CPU_K5 = 0x00000030

[ Constant: int  ]

$NV_CPU_K6 = 0x00000031

[ Constant: int  ]

$NV_CPU_K62 = 0x00000032

[ Constant: int  ]
K6-2 w/ 3DNow

$NV_CPU_K63 = 0x00000033

[ Constant: int  ]

$NV_CPU_K7 = 0x00000034

[ Constant: int  ]

 ---------IDT/Centaur-----------

$NV_CPU_C6 = 0x00000060

[ Constant: int  ]
WinChip C6

$NV_CPU_C62 = 0x00000061

[ Constant: int  ]
WinChip 2 w/ 3DNow

 ------------Cyrix-------------

$NV_CPU_GX = 0x00000070

[ Constant: int  ]
MediaGX

$NV_CPU_M1 = 0x00000071

[ Constant: int  ]
6x86

$NV_CPU_M2 = 0x00000072

[ Constant: int  ]
M2

$NV_CPU_MGX = 0x00000073

[ Constant: int  ]
MediaGX w/ MMX

 ------------Function bits---------

$NV_CPU_FUNC_MMX = 0x00000100

[ Constant: int  ]
supports MMX

$NV_CPU_FUNC_SSE = 0x00000200

[ Constant: int  ]
supports SSE

$NV_CPU_FUNC_3DNOW = 0x00000400

[ Constant: int  ]
supports 3DNow

4.15. CRTC RESERVED


//
// CRTC RESERVED TO INDEX 832
//
//
// The following values are reserved
//

$NV_CFG_SET_JUMP_WRITE_PUT_READ_GET = 833

[ Constant: int  ]

$NV_STAT_INTERVAL_NSEC_LO = 1000

[ Constant: int  ]

$NV_STAT_INTERVAL_NSEC_HI = 1001

[ Constant: int  ]

$NV_STAT_FIFO_EXCEPTIONS = 1003

[ Constant: int  ]

$NV_STAT_FRAMEBUFFER_EXCEPTIONS = 1004

[ Constant: int  ]

$NV_STAT_GRAPHICS_EXCEPTIONS = 1005

[ Constant: int  ]

$NV_STAT_TIMER_EXCEPTIONS = 1006

[ Constant: int  ]

$NV_STAT_CHIP_EXCEPTIONS = 1050

[ Constant: int  ]

$NV_STAT_MEM_ALLOCATED = 1100

[ Constant: int  ]

$NV_STAT_MEM_LOCKED = 1101

[ Constant: int  ]

$NV_STAT_EXEC_NSEC_LO = 1200

[ Constant: int  ]

$NV_STAT_EXEC_NSEC_HI = 1201

[ Constant: int  ]

$NV_STAT_INT_NSEC_LO = 1202

[ Constant: int  ]

$NV_STAT_INT_NSEC_HI = 1203

[ Constant: int  ]

4.16. Parameter to ConfigUpdate


$NV_CFG_PERMANENT = 1

[ Constant: int  ]

$NV_CFG_TEMPORARY = 2

[ Constant: int  ]

4.17. Configuration Manager API


//
//---------------------------------------------------------------------------
//
//  Configuration Manager API.
//
//---------------------------------------------------------------------------
//
//
// DWORD NvConfigVersion(VOID)
//
//  Returns the revision of the ddk (config) interface built into the resource manager.
//  This is used for version continuity between all the resource manager files,
//  as well as provides the interface version for people using the config interface.
//
//  The format of this is 0xAAAABBCC, where
//   - 0xAAAA is [nvidia internal]
//   -   0xBB is the software release revision
//   -   0xCC is the minor revision
//
//
// DWORD NvConfigGet(DWORD Index, DWORD DeviceHandle)
//
//  Given an Index from NVCM.H and a pointer to a specific device (see SDK), return
//  the current configuration value.  The format of the value is dependent on the
//  index requested.
//
//
// DWORD NvConfigSet(DWORD Index, DWORD NewValue, DWORD DeviceHandle)
//
//  Given an Index from NVCM.H, a pointer to a specific device (see SDK), and a new
//  value, update the current configuration value.  This call returns the original
//  value in that configuration index.  In general, most new values do not take affect
//  until NvConfigUpdate() is called.  This allows multiple values to be batched
//  together before enabling the change.
//
//
// DWORD NvConfigUpdate(DWORD UpdateFlag, DWORD DeviceHandle)
//
//  Given an update flag and pointer to a specific device (see SDK), perform any previously
//  batched NvConfigSet() calls.  This call returns an error code (0 denotes success).
//  The only UpdateFlag currently in use is NV_CFG_PERMANENT.
//

4.18. Device Defines


/////////////////////////////////////////////////////////////////////////////
//
// THE FOLLOWING DEFINES AND ENTRY POINTS ARE NVIDIA RESERVED
//
//---------------------------------------------------------------------------
//
//  Device Defines.
//
//---------------------------------------------------------------------------

//
// Parameter to DeviceGet.
//

$NV_DEV_BASE = 1

[ Constant: int  ]

$NV_DEV_ALTERNATE = 2

[ Constant: int  ]

$NV_DEV_BUFFER_0 = 3

[ Constant: int  ]

$NV_DEV_BUFFER_1 = 4

[ Constant: int  ]

$NV_DEV_TIMER = 5

[ Constant: int  ]

$NV_DEV_PFB = 6

[ Constant: int  ]

$NV_DEV_PGRAPH = 7

[ Constant: int  ]

$NV_DEV_PRMCIO = 8

[ Constant: int  ]

$NV_DEV_PRMVIO = 9

[ Constant: int  ]

$NV_DEV_AGP = 10

[ Constant: int  ]

$NV_DEV_GAMMA = 11

[ Constant: int  ]

$NV_DEV_PRAMDAC = 12

[ Constant: int  ]

$NV_DEV_PCRTC = 13

[ Constant: int  ]

$NV_DEV_MAX = 13

[ Constant: int  ]

5. NVidia resource manager API

  module nvRmApi.i

 *
 * nvRmApi.h
 *
 * NVidia resource manager API header file exported to drivers.
 *
 *

NvRmOpen();

[ returns HANDLE  ]

NvRmClose();

[ returns void  ]

NvRmAllocRoot(phClient);

[ returns ULONG  ]

NvRmAllocDevice(hClient,hDevice,hClass,szName);

[ returns ULONG  ]

NvRmAllocContextDma(hClient,hDma,hClass,flags,base,limit);

[ returns ULONG  ]

NvRmAllocChannelPio(hClient,hDevice,hChannel,hClass,hErrorCtx,ppChannel,flags);

[ returns ULONG  ]

NvRmAllocChannelDma(hClient,hDevice,hChannel,hClass,hErrorCtx,hDataCtx,offset,ppChannel);

[ returns ULONG  ]

NvRmAllocMemory(hClient,hParent,hMemory,hClass,flags,ppAddress,pLimit);

[ returns ULONG  ]

NvRmAllocObject(hClient,hChannel,hObject,hClass);

[ returns ULONG  ]

NvRmFree(hClient,hParent,hObject);

[ returns ULONG  ]

Nv3RmGetDmaPushInfo(hClient,hDevice,hChannel,hDmaContext,get);

[ returns ULONG  ]

NvRmAllocEvent(hClient,hParent,object,hClass,hIndex,hEvent);

[ returns ULONG  ]

NvRmArchHeap(hClient,hParent,function,owner,type,height,size,pitch,offset,address,limit,free,total);

[ returns ULONG  ]

NvRmConfigVersion(hClient,hDevice,pVersion);

[ returns ULONG  ]

NvRmConfigGet(hClient,hDevice,index,pValue);

[ returns ULONG  ]

NvRmConfigSet(hClient,hDevice,index,newValue,pOldValue);

[ returns ULONG  ]

NvRmConfigUpdate(hClient,hDevice,flags);

[ returns ULONG  ]

NvRmInterrupt(hClient,hDevice);

[ returns ULONG  ]

NvRmRing0Callback(hClient,hDevice,procAddr,param1,param2);

[ returns ULONG  ]

NvRmConfigSetEx(hClient,hDevice,index,paramStructPtr,ParamSize);

[ returns ULONG  ]

NvRmConfigGetEx(hClient,hDevice,index,paramStructPtr,ParamSize);

[ returns ULONG  ]

NvRmI2CAccess(hClient,hDevice,ctrlStructPtr);

[ returns ULONG  ]

5.1. class _iobuf

[ created from struct _iobuf ]

$this->{_ptr}

[ Member data: returns char * ]

$this->{_cnt}

[ Member data: returns int  ]

$this->{_base}

[ Member data: returns char * ]

$this->{_flag}

[ Member data: returns int  ]

$this->{_file}

[ Member data: returns int  ]

$this->{_charbuf}

[ Member data: returns int  ]

$this->{_bufsiz}

[ Member data: returns int  ]

$this->{_tmpfname}

[ Member data: returns char * ]

6. Other Definitions

  module nv32.i

 Other Definitions

$NV01_DEVICE_0 = (0x00000080)

[ Constant: int  ]

$NV080_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV01_DEVICE_1 = (0x00000081)

[ Constant: int  ]

$NV081_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV01_DEVICE_2 = (0x00000082)

[ Constant: int  ]

$NV082_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV01_DEVICE_3 = (0x00000083)

[ Constant: int  ]

$NV083_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV01_DEVICE_4 = (0x00000084)

[ Constant: int  ]

$NV084_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV01_DEVICE_5 = (0x00000085)

[ Constant: int  ]

$NV085_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV01_DEVICE_6 = (0x00000086)

[ Constant: int  ]

$NV086_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV01_DEVICE_7 = (0x00000087)

[ Constant: int  ]

$NV087_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV3_CHANNEL_PIO = (0x0000006A)

[ Constant: int  ]

$NV03_CHANNEL_DMA = (0x0000006B)

[ Constant: int  ]

$NV06B_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV04_CHANNEL_PIO = (0x0000006D)

[ Constant: int  ]

$NV06D_NOTIFICATION_STATUS_ERROR_PROTECTION_FAULT = (0x4000)

[ Constant: int  ]

$NV06D_NOTIFICATION_STATUS_ERROR_BAD_ARGUMENT = (0x2000)

[ Constant: int  ]

$NV06D_NOTIFICATION_STATUS_ERROR_FLOW_CONTROL = (0x0200)

[ Constant: int  ]