Files
splash/external/datapath/include/rgb133deviceapi.h

96 lines
3.0 KiB
C

/*
* rgb133deviceapi.h
*
* Copyright (c) 2009 Datapath Limited All rights reserved.
*
* All information contained herein is proprietary and
* confidential to Datapath Limited and is licensed under
* the terms of the Datapath Limited Software License.
* Please read the LICENCE file for full license terms
* and conditions.
*
* http://www.datapath.co.uk/
* support@datapath.co.uk
*
*/
#ifndef RGB133CARDAPI_H_
#define RGB133CARDAPI_H_
#include "rgb133.h"
#include "rgb_windows_types.h"
#include "rgb_api_types.h"
#include "rgb133control.h"
#define DeviceIsControl(control) (control ? 1 : 0)
extern void* AllocMem(unsigned int size);
extern void FreeMem(PDATAAPI pData);
VOID
DGCDriverUnload (
PDRIVER_OBJECT pDriverObject );
void* DeviceAllocMemory(int* pSize);
void DeviceSetDevice(PDEAPI _pDE, struct rgb133_dev* dev);
int DeviceGetChannels(struct rgb133_dev* dev, struct rgb133_dev* ctrl);
int DeviceGetCurrentUsers(struct rgb133_dev* dev);
int DeviceGetUsersOnChannel(struct rgb133_dev* dev, int channel);
void DeviceInitializeHardware(PHW_STREAM_REQUEST_BLOCK pSrb);
void DeviceUninitializeHardware(PHW_STREAM_REQUEST_BLOCK pSrb);
void DeviceEnableAllInterrupts(PDEAPI pDE);
void DeviceDisableAllInterrupts(PDEAPI pDE);
void DeviceSetInterruptObject(PDEAPI _pDE, KINTERRUPT* rgb133_interruptObject);
PHANDLETABLEAPI DeviceAllocHandleTable(void);
void DeviceInitHandleTable(PHANDLETABLEAPI _HandleTable);
void DeviceCleanupHandleTable(void** pPtr);
unsigned long DeviceGetVHDLVersion(struct rgb133_dev* dev, sVWDeviceInfo* pDeviceInfo);
unsigned long DeviceGetVHDLVersionFromPDE(PDEAPI _pDE, sVWDeviceInfo* pDeviceInfo);
unsigned long DeviceGetVHDLMinVersion(PDEAPI _pDE);
void DeviceGetLinkID(struct rgb133_dev* dev, sVWDeviceInfo* pDeviceInfo);
struct rgb133_dev* DeviceGetRGB133(PDEAPI _pDE);
int DeviceGetIndex(PDEAPI _pDE);
void DeviceDriverEntry(void);
void DeviceDGCDriverUnload(void);
PKEVENTAPI DeviceGetSignalNotificationEvent(PDEAPI _pDE, int event);
VOID DeviceClearSignalNotificationEvent(PDEAPI _pDE, int event);
BOOLEAN DeviceSignalNotificationEventSignalled(PDEAPI _pDE, int event);
VOID DeviceLockMutex(struct rgb133_dev* dev);
VOID DeviceUnlockMutex(struct rgb133_dev* dev);
VOID DeviceIsFlashable(struct rgb133_dev* dev, int channel, int* pFlashable);
int DeviceIsInputOrdinalZero(PDEAPI _pDE);
BOOL DeviceHasFirmwareLoaded(PDEAPI _pDE);
DWORD DeviceGetAlignmentMask(PDEAPI _pDE);
unsigned int DeviceGetType(void* dev);
char* DeviceGetName(void* dev);
char* DeviceGetNode(void* dev);
PDESTDESCAPI DeviceGetPDDFromContext(PVOID _pContext);
ULONG DeviceGetPlaneFromContext(PVOID _pContext);
BOOL DeviceIsNiosAlive(PDEAPI _pDE, long* pErrorLinux);
VOID DeviceSetDeviceObject(PDEAPI _pDE, PIO_STACK_LOCATION irpStack);
const char* DeviceGetConnectorType(PDEAPI _pDE, int channel);
BOOLEAN DeviceIs10BitSupported(struct rgb133_handle* h);
BOOLEAN DeviceIsYV12Supported(struct rgb133_handle* h);
#endif /*RGB133CARDAPI_H_*/