📄 lvrps.h
字号:
#ifndef ___LVRPS_H
#define ___LVRPS_H
#include <lvdef.h>
#include <lvpackon.h>
#define LvRPS_Signature 0x4570
#define MaxIdLen 64
typedef struct _tagLvRPS_Header {
U16BIT Signature _BYTEALIGNED;
U32BIT CodeStart _BYTEALIGNED;
U32BIT RpsIp _BYTEALIGNED;
U16BIT NrVar_Rps0 _BYTEALIGNED;
U16BIT NrVar_Rps1 _BYTEALIGNED;
U16BIT NrProc_Rps0 _BYTEALIGNED;
U16BIT NrProc_Rps1 _BYTEALIGNED;
U16BIT NrDefMem _BYTEALIGNED;
} LvRPS_Header;
typedef struct _tagLvRPS_Variable {
char Name[MaxIdLen] _BYTEALIGNED;
U32BIT Offset _BYTEALIGNED;
U32BIT StartValue _BYTEALIGNED;
} LvRPS_Variable _BYTEALIGNED;
typedef struct _tagLvRPS_Procedure {
char Name[MaxIdLen] _BYTEALIGNED;
U32BIT Offset _BYTEALIGNED;
} LvRPS_Procedure;
typedef struct _tagLvRPS_DefineMem {
char Name[MaxIdLen] _BYTEALIGNED;
U32BIT Value _BYTEALIGNED;
U32BIT NrOffset _BYTEALIGNED;
} LvRPS_DefineMem;
#ifdef __WIN3264__
# ifdef _LVRPS_
# define LVRPSAPI(x) __declspec(dllexport) x
# else
# define LVRPSAPI(x) __declspec(dllimport) x
# endif
#else
# define LVRPSAPI(x) x FAR PASCAL __export
#endif
#define _RPI_Variable_Rps0 0x01
#define _RPI_Variable_Rps1 0x02
#define _RPI_Procedure_Rps0 0x03
#define _RPI_Procedure_Rps1 0x04
#define _RPI_DefineMem 0x05
// Error codes
#define RPS_E_CompilerError 0x2000
#define RPS_E_InvalidPointer 0x2001
#define RPS_E_InvalidItemName 0x2002
#define RPS_I_NoMoreItem 0x2003
#define RPS_E_InvalidParameter 0x2004
#define RPS_E_NotSupported 0x2005
#define RPS_E_OutOfMemory 0x2006
#ifndef I_NoError
#define I_NoError 0
#endif
#ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */
LVRPSAPI(LVSTATUS) LvRpsCompileFileEx(HANDLE *CompiledOut, int NrPhys, U32BIT *PhysicalBase, char *FileName, char *OutFileName, char **PreCompile);
LVRPSAPI(LVSTATUS) LvRpsCompileFile(HANDLE *CompiledOut, U32BIT PhysicalBase, char *FileName, char *OutFileName, char **PreCompile);
LVRPSAPI(LVSTATUS) LvRpsGetItemCount(HANDLE Compiled, int WhichItem, U16BIT *Count);
LVRPSAPI(LVSTATUS) LvRpsEnumItem(HANDLE Compiled, int WhichItem, U16BIT Index, LPSTR Buffer, int Size);
LVRPSAPI(LVSTATUS) LvRpsSetItemValue(HANDLE Compiled, int WhichItem, LPSTR VarName, U32BIT Value);
LVRPSAPI(LVSTATUS) LvRpsGetItemValue(HANDLE Compiled, int WhichItem, LPSTR VarName, U32BIT *Value);
LVRPSAPI(LVSTATUS) LvRpsGetItemOffset(HANDLE Compiled, int WhichItem, LPSTR VarName, U32BIT *Offset);
LVRPSAPI(LVSTATUS) LvRpsEnumItemOffset(HANDLE Compiled, int WhichItem, LPSTR VarName, U16BIT EnumIndex, U32BIT *Offset);
LVRPSAPI(LVSTATUS) LvRpsGetCodeOffset(HANDLE Compiled, U32BIT *CodeOffset);
LVRPSAPI(LVSTATUS) LvRpsGetNextIp(HANDLE Compiled, U32BIT *Ip);
#ifdef __cplusplus
};
#endif /* __cplusplus */
#include <lvpackof.h>
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -