// 高级命令字
#define  RY_FIND                        1		//Find Rockey4.
#define  RY_FIND_NEXT					2		//Find next Rockey4.
#define  RY_OPEN                        3		//Open 
#define  RY_CLOSE                       4		//Close
#define  RY_READ                        5		//Read UDZ
#define  RY_WRITE                       6		//Write UDZ
#define  RY_RANDOM                      7		//Random
#define  RY_SEED                        8		//Seed code
#define  RY_WRITE_USERID				9		//Write UID
#define  RY_READ_USERID					10		//Read UID
#define  RY_SET_MOUDLE					11		//Write module
#define  RY_CHECK_MOUDLE				12		//Check module status
#define  RY_WRITE_ARITHMETIC            13		//Write UAZ
#define  RY_CALCULATE1					14		//Calculate 1
#define  RY_CALCULATE2					15		//Calculate 2
#define  RY_CALCULATE3					16		//Calculate 3
#define  RY_DECREASE					17		//Decrease

//锁类型定义


#define TYPE_ROCKEY4					1			//Normal Ry4.
#define TYPE_ROCKEY4Plus				2			//Ry4Plus.
#define TYPE_ROCKEYUSB					3			//Ry4 USB.
#define TYPE_ROCKEYUSBPlus				4			//Ry4 USB Plus
#define TYPE_ROCKEYNET					5			//NetRy4
#define TYPE_ROCKEYUSBNET				6			//NetRy4 USB.


// 错误码
#define  ERR_SUCCESS					0				//No error.
#define  ERR_NO_PARALLEL_PORT			0x80300001		//(0x80300001)No parallel port on the computer 
#define  ERR_NO_DRIVER					0x80300002		//(0x80300002)No driver installed 
#define  ERR_NO_ROCKEY					0x80300003		//(0x80300003)No ROCKEY4 dongle 
#define  ERR_INVALID_PASSWORD			0x80300004		//(0x80300004)ROCKEY4 dongle found, but base password is incorrect
#define  ERR_INVALID_PASSWORD_OR_ID 	0x80300005		//(0x80300005)Wrong password or ROCKEY4 HID
#define  ERR_SETID						0x80300006      //(0x80300006)Set ROCKEY4 HID wrong
#define  ERR_INVALID_ADDR_OR_SIZE		0x80300007		//(0x80300007)Read/Write address is wrong
#define  ERR_UNKNOWN_COMMAND        	0x80300008		//(0x80300008)No such command
#define  ERR_NOTBELEVEL3				0x80300009		//(0x80300009)Inside error
#define  ERR_READ						0x8030000A		//(0x8030000A)Read error
#define  ERR_WRITE                  	0x8030000B		//(0x8030000B)Write error
#define  ERR_RANDOM                 	0x8030000C		//(0x8030000C)Random error
#define  ERR_SEED                   	0x8030000D		//(0x8030000D)Seed Code error
#define  ERR_CALCULATE              	0x8030000E		//(0x8030000E)Calculate error
#define  ERR_NO_OPEN					0x8030000F		//(0x8030000F)Ry_Open must precede this operation
#define  ERR_OPEN_OVERFLOW          	0x80300010		//(0x80300010)Too many open dongles (>16)
#define  ERR_NOMORE						0x80300011		//(0x80300011)No more dongle
#define  ERR_NEED_FIND					0x80300012		//(0x80300012)No Find before FindNext
#define  ERR_DECREASE					0x80300013		//(0x80300013)Decrease error
#define  ERR_AR_BADCOMMAND				0x80300014		//(0x80300014)Arithmetic instruction error
#define  ERR_AR_UNKNOWN_OPCODE			0x80300015		//(0x80300015)Arithmetic operator error
#define  ERR_AR_WRONGBEGIN				0x80300016		//(0x80300016)A constant. cannot be in the first instruction
#define  ERR_AR_WRONG_END				0x80300017		//(0x80300017)A constant. cannot be in the last instruction 
#define  ERR_AR_VALUEOVERFLOW			0x80300018		//(0x80300018)Const number > 63

#define  ERR_UNKNOWN					0x8030ffff		//(0x8030FFFF)Unknown error 

#define  ERR_RECEIVE_NULL				0x80300100		//(0x80300100)Parallel port can not recieve data.
#define  ERR_PRNPORT_BUSY				0x80300101		//(0x80300101)Parallel port is busy.




