📄 prvphlib.h
字号:
// Sync Specifiers
#define SY_None 0x0
#define SY_Field_0 0x1
#define SY_Field_1 0x2
#define SY_Frame 0x3
#define SY_VSync 0x4
#define ResBrd_NotReserved 0
#define ResBrd_ReservedToOther 1
#define ResBrd_ReservedToUs 2
// *****************************
// Interface prototypes
#define MAX_DEVNAMELEN 20
#define MAX_SERNRLEN 20
typedef struct _tagDevDescr {
char Name[MAX_DEVNAMELEN];
HDEVICE hDevice;
U16BIT BoardType;
BOOL IsActive;
BOOL IsInitialized;
U32BIT VMemSize;
U8BIT PCIBusNr;
U8BIT PCIDeviceNr;
PCICfgSpace PCIConfig;
BOOL IsVGA;
int VGANr;
// Add Novram data
} LvDevDescr;
typedef struct _tagLvCfgDevDescr {
char Name[MAX_DEVNAMELEN];
U16BIT BoardType;
BOOL IsMainBoard;
} LvCfgDevDescr;
typedef struct _tagLvBoardDescr {
char Name[MAX_DEVNAMELEN];
U16BIT Id;
U16BIT BoardType;
char SerialNr[MAX_SERNRLEN]; // Added 01.07.97
} LvBoardDescr;
typedef struct _tagLvRegSetDescr {
char Name[MAX_DEVNAMELEN];
U16BIT Id;
U16BIT ChipId;
U16BIT ChipIndex;
} LvRegSetDescr;
typedef struct _tagLvRegDescr {
char Name[MAX_DEVNAMELEN];
LvRegister Id;
U16BIT Attribute;
U16BIT RegType;
U8BIT Msb;
U8BIT Lsb;
LvRegister ParentRegister;
U8BIT Base;
U8BIT ManualChapter;
U16BIT ManualPage;
} LvRegDescr;
typedef struct _tagLvNovramData_R0 {
// U16BIT Signature;
U8BIT Dummy_1[7] _BYTEALIGNED; // 8
U8BIT Revision _BYTEALIGNED;
U8BIT Year _BYTEALIGNED;
// U8BIT Dummy_2[116]; // Total bytes: 128
} LvNovramData_R0;
/*
typedef struct _tagLvBoardIdentifier {
U16BIT PrintId;
U8BIT PrintRev;
U8BIT FW;
U8BIT FWO;
U8BIT HW;
U8BIT HWO;
U8BIT DL;
U8BIT DLO;
} LvBoardIdentifier;
*/
typedef struct _tagLvNovramData_R1 {
char ProductionCode[2] _BYTEALIGNED; // 0x3
U16BIT SerialNr _BYTEALIGNED;
LvBoardIdentifier Id _BYTEALIGNED;
U32BIT ManifacturingDate _BYTEALIGNED;
U32BIT LastTest_Date _BYTEALIGNED;
U16BIT LastTest_Info _BYTEALIGNED;
char UserName[4] _BYTEALIGNED;
U16BIT TestFlag _BYTEALIGNED;
U8BIT NrOfWrites _BYTEALIGNED;
U16BIT UserIdent _BYTEALIGNED;
U16BIT UserCode _BYTEALIGNED;
U16BIT SWCode_1 _BYTEALIGNED;
U16BIT SWCode_2 _BYTEALIGNED;
U16BIT SWCode_3 _BYTEALIGNED;
U32BIT LCAInfo _BYTEALIGNED;
U32BIT CheckSum _BYTEALIGNED;
} LvNovramData_R1;
typedef struct _tagLvNovramExtData_R1_1 {
unsigned IntOrder : 17;
unsigned Lot : 4;
unsigned ArticleNr : 27;
unsigned Base_IntOrder : 17;
unsigned Base_Lot : 4;
unsigned Base_ArticleNr : 27;
/*
U32BIT IntOrder _BYTEALIGNED;
U8BIT Lot _BYTEALIGNED;
U8BIT Reserved _BYTEALIGNED;
U32BIT DList _BYTEALIGNED;
U32BIT Reserved2 _BYTEALIGNED;
*/
} LvNovramExtData_R1_1;
typedef struct _tagLvNovramExtData_R1_2 {
U16BIT PLLRangeLo _BYTEALIGNED;
U16BIT PLLRangeHi _BYTEALIGNED;
} LvNovramExtData_R1_2;
typedef struct _tagLvNovram {
U16BIT MagicNumber _BYTEALIGNED;
U8BIT NovramRev _BYTEALIGNED;
union __LvNovramData {
LvNovramData_R0 R0 _BYTEALIGNED;
LvNovramData_R1 R1 _BYTEALIGNED;
} Data _BYTEALIGNED;
LvNovramExtData_R1_1 ExtData_1 _BYTEALIGNED;
LvNovramExtData_R1_2 ExtData_2 _BYTEALIGNED;
} LvNovram;
// typedef struct _tagLvNovramPKXData {
// U32BIT Crc32_Pci0;
// U32BIT Crc32_Pci1;
// U32BIT Crc32_Video;
// U32BIT Crc32_CLP1;
// U32BIT Crc32_CLP2;
// } LvNovramPKXData;
#ifdef __cplusplus
struct _tagLvPKXNovram : public LvNovram {
#else
struct _tagLvPKXNovram {
LvNovram Novram;
#endif
U8BIT Reserved[256-sizeof(LvNovram)];
U32BIT Crc32_Pci5_0 _BYTEALIGNED;
U32BIT Crc32_Pci5_1 _BYTEALIGNED;
U32BIT Crc32_Video _BYTEALIGNED;
U32BIT Crc32_CLP_0 _BYTEALIGNED;
U32BIT Crc32_CLP_1 _BYTEALIGNED;
U32BIT Crc32_CLP_2 _BYTEALIGNED;
U32BIT Crc32_CLP_3 _BYTEALIGNED;
U32BIT Crc32_Pci3_0 _BYTEALIGNED;
U32BIT Crc32_Pci3_1 _BYTEALIGNED;
U16BIT Ver_Pci5_0 _BYTEALIGNED;
U16BIT Flg_Pci5_0 _BYTEALIGNED;
U16BIT Ver_Pci5_1 _BYTEALIGNED;
U16BIT Flg_Pci5_1 _BYTEALIGNED;
U16BIT Ver_Video _BYTEALIGNED;
U16BIT Flg_Video _BYTEALIGNED;
U16BIT Ver_CLP_0 _BYTEALIGNED;
U16BIT Flg_CLP_0 _BYTEALIGNED;
U16BIT Ver_CLP_1 _BYTEALIGNED;
U16BIT Flg_CLP_1 _BYTEALIGNED;
U16BIT Ver_CLP_2 _BYTEALIGNED;
U16BIT Flg_CLP_2 _BYTEALIGNED;
U16BIT Ver_CLP_3 _BYTEALIGNED;
U16BIT Flg_CLP_3 _BYTEALIGNED;
U16BIT Ver_Pci3_0 _BYTEALIGNED;
U16BIT Flg_Pci3_0 _BYTEALIGNED;
U16BIT Ver_Pci3_1 _BYTEALIGNED;
U16BIT Flg_Pci3_1 _BYTEALIGNED;
};
typedef struct _tagLvPKXNovram LvPKXNovram;
typedef struct _tagLvRegisterAccess {
HDEVICE hDevice;
U16BIT Board;
U8BIT ChipIndex;
LvRegister RegId;
U8BIT Operation;
U32BIT Value;
BOOL ErrorOnChipDisabled;
} LvRegisterAccess;
#define SysHealthType_None 0
#define SysHealthType_LVmPC 1
#define SysHealthType_PicSightGigE 2
#define SysHealthNrValues 15
typedef struct _tagLvSysHealth {
U32BIT Type _BYTEALIGNED;
union {
struct {
float Value[SysHealthNrValues] _BYTEALIGNED;
} NotDefined _BYTEALIGNED;
struct {
float V_CoreA _BYTEALIGNED;
float V_CoreB _BYTEALIGNED;
float V_3_3 _BYTEALIGNED;
float V_5 _BYTEALIGNED;
float V_12 _BYTEALIGNED;
float RPM_Fan1 _BYTEALIGNED;
float C_SysTemp _BYTEALIGNED;
float C_CPUTemp _BYTEALIGNED;
float C_IDETemp _BYTEALIGNED;
float C_PwrTemp _BYTEALIGNED;
} LVmPC _BYTEALIGNED;
struct {
float WDResetCount _BYTEALIGNED;
float UpTime _BYTEALIGNED;
float C_SysTemp _BYTEALIGNED;
float C_ModTemp _BYTEALIGNED;
float LinkSpeed _BYTEALIGNED;
} PicSightGigE _BYTEALIGNED;
} u _BYTEALIGNED;
} LvSysHealth;
#ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */
LVPRVAPI(U16BIT) PrvPlGetVersion(void);
LVPRVAPI(void ) PrvPlLinkTime(LPSTR Buffer, int BufferLen);
LVPRVAPI(LVSTATUS) PrvPlEnumDevDescription(U8BIT Index, LvDevDescr FAR *Dev);
LVPRVAPI(LVSTATUS) PrvPlGetDevDescription(HDEVICE TheDevice, LvDevDescr FAR *Dev);
LVPRVAPI(LVSTATUS) PrvPlGetPCIDevDescription(U8BIT Index, PCICfgSpace FAR *Dev);
LVPRVAPI(LVSTATUS) PrvPlRegAccess(HDEVICE TheDevice, U8BIT Module, U8BIT ChipIndex, LvRegister RegId, U32BIT FAR *Value, U16BIT NrValue, U8BIT Operation);
LVPRVAPI(LVSTATUS) PrvPlStructRegAccess(HDEVICE TheDevice, LvRegisterAccess *Structs);
// LVSTATUS FAR PASCAL PrvPlStructRegAccess(LvRegisterAccess FAR *Structs);
LVPRVAPI(LVSTATUS) PrvPlEnumBoardDescription(HDEVICE TheDevice, U8BIT Index, LvBoardDescr FAR *BoardDesc);
LVPRVAPI(LVSTATUS) PrvPlGetBoardDescription(HDEVICE TheDevice, U8BIT Index, LvBoardDescr FAR *BoardDesc);
LVPRVAPI(LVSTATUS) PrvPlEnumRegSetDescription(HDEVICE TheDevice, U8BIT BoardId, int Index, LvRegSetDescr FAR *SetDesc);
LVPRVAPI(LVSTATUS) PrvPlRegisterFlush(HDEVICE TheDevice, U8BIT BoardId, U16BIT RegSet);
LVPRVAPI(LVSTATUS) PrvPlResetShadow(HDEVICE TheDevice);
LVPRVAPI(LVSTATUS) PrvPlEnumRegDescription(U16BIT RegisterSet, U16BIT RegIndex, LvRegDescr FAR *RegDesc);
LVPRVAPI(LVSTATUS) PrvPlGetRegDescription(LvRegister Reg, LvRegDescr FAR *RegDesc);
LVPRVAPI(LVSTATUS) PrvPlForceBoard(HDEVICE FAR *TheDevice, U16BIT BoardType, LvBoardIdentifier FAR *Id);
LVPRVAPI(LVSTATUS) PrvPlSaveRegisters(HDEVICE TheDevice);
LVPRVAPI(LVSTATUS) PrvPlCompareRegisters(HDEVICE TheDevice, LPSTR FileName);
LVPRVAPI(LVSTATUS) PrvPlLogRegisters(HDEVICE TheDevice, LPSTR FileName);
LVPRVAPI(LVSTATUS) PrvPlEnumConfiguredDevices(U16BIT Index, LvCfgDevDescr FAR *BoardDesc);
LVPRVAPI(LVSTATUS) PrvPlEnumConfiguredRegSet(U16BIT Index, LvRegSetDescr FAR *SetDesc);
LVPRVAPI(LVSTATUS) PrvPlConvertRegisterSetId(HDEVICE hDevice, U16BIT BoardId, LPSTR RegSetName, LvRegSetDescr FAR *Desc);
LVPRVAPI(LVSTATUS) PrvPlConvertRegisterId(LPSTR RegName, LvRegister FAR *RegId);
LVPRVAPI(LVSTATUS) PrvPlLoadLCA(HDEVICE TheDevice, U8BIT ModuleId, U16BIT ChipId, LPSTR FileName);
LVPRVAPI(void ) PrvPlGetErrorMessage(LVSTATUS RetVal, LPSTR Buffer, int Size);
LVPRVAPI(U32BIT) PrvPlGetInitStatus(void);
// May be temporary
LVPRVAPI(char _Huge_ *) PrvPlGetVMemPtr(HDEVICE TheDevice);
LVPRVAPI(LVSTATUS) PrvPlEnableVMemAccess(HDEVICE TheDevice);
LVPRVAPI(LVSTATUS) PrvPlDisableVMemAccess(HDEVICE TheDevice);
LVPRVAPI(LVSTATUS) PrvPlSetVGAMode(HDEVICE hDevice, int Mode);
LVPRVAPI(LVSTATUS) PrvPlCopyRegisters(HDEVICE FromDevice, HDEVICE ToDevice, U8BIT WhichRegisters);
LVPRVAPI(LVSTATUS) PrvPlCheckChip(HDEVICE hDevice, void **Report);
LVPRVAPI(LVSTATUS) PrvPlWaitSync(HDEVICE TheDevice, U8BIT Module, U8BIT SyncMode);
LVPRVAPI(LVSTATUS) PrvPlGetCheckItemText(void *Report, U16BIT ItemNr, char FAR *Buffer, U16BIT MaxChar);
LVPRVAPI(LVSTATUS) PrvPlGetBoardIdentifier(HDEVICE TheDevice, U8BIT ModuleId, LvBoardIdentifier *BoardId);
LVPRVAPI(LVSTATUS) PrvPlEnableParallelAccess(HDEVICE TheDevice, U8BIT Module);
LVPRVAPI(LVSTATUS) PrvPlDisableParallelAccess(HDEVICE TheDevice, U8BIT Module);
LVPRVAPI(LVSTATUS) PrvPlEnableSerialAccess(HDEVICE TheDevice, U8BIT Module, U8BIT Protocol);
LVPRVAPI(LVSTATUS) PrvPlDisableSerialAccess(HDEVICE TheDevice, U8BIT Module, U8BIT Protocol);
LVPRVAPI(LVSTATUS) PrvPlStartCompile(void);
LVPRVAPI(LVSTATUS) PrvPlCompile(U8BIT OpCode, U16BIT Par1, U16BIT Par2, U16BIT Par3, U16BIT Par4);
LVPRVAPI(BOOL ) PrvPlIsCompiling(void);
LVPRVAPI(LVSTATUS) PrvPlEndCompile(HANDLE *hTarget);
LVPRVAPI(LVSTATUS) PrvPlExec(HDEVICE TheDevice, HANDLE hTarget);
LVPRVAPI(BOOL ) PrvPlIsLeutronBoard(HDEVICE hDevice);
LVPRVAPI(LVSTATUS) PrvPlGetProductionString(HDEVICE TheDevice, U8BIT Module, U32BIT Which, char *String, U32BIT Len);
#if defined(__WIN3264__) || defined(__UNIX__)
LVPRVAPI(LVSTATUS) PrvPlDeviceIo(HDEVICE TheDevice,
DWORD dwIoControlCode, // control code of operation to perform
LPVOID lpInBuffer, // pointer to buffer to supply input data
DWORD nInBufferSize, // size of input buffer
LPVOID lpOutBuffer, // pointer to buffer to receive output data
DWORD nOutBufferSize, // size of output buffer
LPDWORD lpBytesReturned, // pointer to variable to receive output byte count
LPOVERLAPPED lpOverlapped // pointer to overlapped structure for asynchronous operation
);
LVPRVAPI(char * ) PrvPlGetWin32DeviceName(HDEVICE TheDevice, char *Buffer);
LVPRVAPI(LVSTATUS) PrvPlGetLCAFlag(HDEVICE TheDevice, U8BIT Module, DWORD *Flag, int Size);
LVPRVAPI(LVSTATUS) PrvPlEnableWatchDog(HDEVICE TheDevice, U8BIT Module, U32BIT *FlagAndSeconds);
LVPRVAPI(LVSTATUS) PrvPlDisableWatchDog(HDEVICE TheDevice, U8BIT Module);
LVPRVAPI(U32BIT) PrvPlGetWatchDogTimeLeft(HDEVICE TheDevice, U8BIT Module);
LVPRVAPI(U32BIT) PrvPlHasWatchDogTimer(HDEVICE TheDevice, U8BIT Module);
LVPRVAPI(LVSTATUS) PrvPlLockBoard(HDEVICE TheDevice);
LVPRVAPI(LVSTATUS) PrvPlUnlockBoard(HDEVICE TheDevice);
LVPRVAPI(LVSTATUS) PrvPlCheckLock(HDEVICE TheDevice);
LVPRVAPI(BOOL ) PrvPlPCI_IsPresent(void);
LVPRVAPI(U16BIT ) PrvPlPCI_GetVersion(void);
LVPRVAPI(LVSTATUS) PrvPlPCI_FillPCIDeviceDescriptor(int BusNr, int DevNr, int FnNr, PCICfgSpace *Dev);
LVPRVAPI(void ) PrvPlPCI_GetVendorDescription(U16BIT VendorId, char *Buffer);
LVPRVAPI(void ) PrvPlPCI_GetClassDescription(U8BIT Base, U8BIT Sub, char *Buffer);
LVPRVAPI(LVSTATUS) PrvPlPCI_GetDeviceTextDescription(int BusNr, int DevNr, int FnNr, char *Buffer, BOOL Address);
LVPRVAPI(void ) PrvPlMem16_FreeSelectorArray(unsigned short FirstSelector, unsigned long MemSize);
LVPRVAPI(unsigned short) PrvPlDPMI_SetSelectorLimit(unsigned short selector, unsigned long dwLimit);
LVPRVAPI(unsigned short) PrvPlMem16_AllocSelectorArray(unsigned long Linear, unsigned long MemSize);
LVPRVAPI(unsigned long) PrvPlDPMI_Phys2Lin(unsigned long PhysicalAddress, unsigned long __Size);
LVPRVAPI(void * ) PrvPlWOWGetVDMPointerFix(DWORD vp, DWORD dwBytes, BOOL fProtectedMode);
LVPRVAPI(unsigned long) PrvPlVxD_GetDeviceAPI(unsigned short Id);
LVPRVAPI(unsigned short) PrvPlVxD_Call(void *Io);
#endif
#ifdef __cplusplus
} /* Assume C declarations for C++ */
#endif /* __cplusplus */
#include <lvpackof.h>
#endif
//-[HEADER] PrvPhLib
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -