/disk1/p.uno. git-svn-id: svn://10.65.10.50/trunk@1811 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			173 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			173 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef __HLAPI_H
 | |
| #define __HLAPI_H
 | |
| 
 | |
| /****************************************************************************/
 | |
| /**                                                                        **/
 | |
| /**                           Hardlock E-Y-E                               **/
 | |
| /**                    API-Structures and definitions                      **/
 | |
| /**                                                                        **/
 | |
| /**   This file contains some helpful defines to access a Hardlock using   **/
 | |
| /**   the application programing interface (API) for Hardlock E-Y-E.       **/
 | |
| /**                                                                        **/
 | |
| /**                     (c) 1992 by ///FAST Electronic                     **/
 | |
| /**                                                                        **/
 | |
| /**                                                                        **/
 | |
| /**              Authors : Thomas Schr”ter                                 **/
 | |
| /**                        Henri Volk                                      **/
 | |
| /**              Version : 3.0                                             **/
 | |
| /**              Date    : 01-Sep-1992                                     **/
 | |
| /**                                                                        **/
 | |
| /****************************************************************************/
 | |
| 
 | |
| #define EYECAST (char   huge *)
 | |
| 
 | |
| /* -------------------------------- */
 | |
| /* Definitions and API structures : */
 | |
| /* -------------------------------- */
 | |
| typedef unsigned char  Byte;
 | |
| typedef   signed short Word;
 | |
| typedef unsigned long  Long;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|   Word Use_Key;
 | |
|   Byte Key[8];
 | |
| }
 | |
| DES_MODE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|   Word ModAd;                      /* Moduleaddress EYE      */
 | |
|   Word Register;                   /* Memory register adress */
 | |
|   Word Value;                      /* Memory value           */
 | |
|   Byte Reserved[4];
 | |
| }
 | |
| EYE_MODE;
 | |
| 
 | |
| typedef union
 | |
| {
 | |
|   DES_MODE Des;
 | |
|   EYE_MODE Eye;
 | |
| }
 | |
| HARDWARE;
 | |
| 
 | |
| typedef struct hl_api
 | |
| {
 | |
|   Byte      API_Version_ID[2];     /* Version                    */
 | |
|   Word      API_Options[2];        /* API Optionflags            */
 | |
|   Word      ModID;                 /* Modul-ID (EYE = 0...)      */
 | |
|   HARDWARE  Module;                /* Hardware type              */
 | |
|   void far *Data;                  /* Pointer to cipher data     */
 | |
|   Word      Bcnt;                  /* Number of blocks           */
 | |
|   Word      Function;              /* Function number            */
 | |
|   Word      Status;                /* Actual status              */
 | |
|   Word      Remote;                /* Remote or local??          */
 | |
|   Word      Port;                  /* Port address if local      */
 | |
|   Word      Speed;                 /* Speed of port if local     */
 | |
|   Word      NetUsers;              /* Current Logins (HLSERVER)  */
 | |
|   Byte      ID_Ref[8];             /* Referencestring            */
 | |
|   Byte      ID_Verify[8];          /* Encrypted ID_Ref           */
 | |
|   Long      Task_ID;               /* Multitasking program ID    */
 | |
|   Byte      Reserved[200];         /* Reserved area              */
 | |
| }
 | |
| HL_API;
 | |
| 
 | |
| /* ------------- */
 | |
| /* Module-ID's : */
 | |
| /* ------------- */
 | |
| #define EYE_DONGLE       0         /* Hardlock E-Y-E             */
 | |
| #define DES_DONGLE       1         /* FAST DES                   */
 | |
| 
 | |
| /* --------------------- */
 | |
| /* API function calls  : */
 | |
| /* --------------------- */
 | |
| #define API_INIT            0         /* Init API structure      */
 | |
| #define API_DOWN            1         /* Free API structure      */
 | |
| #define API_FORCE_DOWN      31        /* Force deinintialization */
 | |
| #define API_MULTI_SHELL_ON  2         /* MTS is enabled          */
 | |
| #define API_MULTI_SHELL_OFF 3         /* MTS is disabled         */
 | |
| #define API_MULTI_ON        4         /* Enable MTS              */
 | |
| #define API_MULTI_OFF       5         /* Disable  MTS            */
 | |
| #define API_AVAIL           6         /* Dongle available?       */
 | |
| #define API_LOGIN           7         /* Login dongle server     */
 | |
| #define API_LOGOUT          8         /* Logout dongle server    */
 | |
| #define API_INFO            9         /* Get API informations    */
 | |
| 
 | |
| /* --------------------------- */
 | |
| /* Data and memory functions : */
 | |
| /* --------------------------- */
 | |
| #define API_KEYE             11        /* Use KEYE for encryption         */
 | |
| #define API_READ             20        /* Read one word of dongle EEPROM  */
 | |
| #define API_WRITE            21        /* Write one word of dongle EEPROM */
 | |
| #define API_READ_BLOCK       23        /* Read EEPROM in one block        */
 | |
| #define API_WRITE_BLOCK      24        /* Write EEPROM in one block       */
 | |
| #define API_GET_ID_KEY       30        /* Encrypt ID_Ref to ID_Verify     */
 | |
| #define API_ABORT            53        /* Critical Error Abort            */
 | |
| 
 | |
| /* -------------------- */
 | |
| /* Dongle access mode : */
 | |
| /* -------------------- */
 | |
| #define LOCAL_DEVICE     1         /* Query local HL only        */
 | |
| #define NET_DEVICE       2         /* Query remote HL only       */
 | |
| #define DONT_CARE        3         /* Query local or remote HL   */
 | |
| 
 | |
| /* ------------------ */
 | |
| /* API Status Codes : */
 | |
| /* ------------------ */
 | |
| #define STATUS_OK         0         /* API call was succesfull    */
 | |
| #define NOT_INIT          1         /* DONGLE not initialized     */
 | |
| #define ALREADY_INIT      2         /* Already initialized        */
 | |
| #define UNKNOWN_DONGLE    3         /* Device not supported       */
 | |
| #define UNKNOWN_FUNCTION  4         /* Function not supported     */
 | |
| #define NO_DONGLE         7         /* No device available        */
 | |
| #define NETWORK_ERROR     8         /* A network error occured    */
 | |
| #define NO_ACCESS         9         /* No device available        */
 | |
| #define INVALID_PARAM    10         /* A wrong parameter occured  */
 | |
| #define VERSION_MISMATCH 11         /* HL-Server not API version  */
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
|   /* --------------------- */
 | |
|   /* Function prototypes : */
 | |
|   /* --------------------- */
 | |
|   static int CALL_API      (HL_API far *as);
 | |
|   Word far   HL_LOGIN      (Word ModAd, Word Access, char * RefKey, char * VerKey);
 | |
|   Word far   HL_LOGOUT     (void);
 | |
|   Word far   HL_AVAIL      (void);
 | |
|   Word far   HL_PORTINF    (void);
 | |
|   Word far   HL_ACCINF     (void);
 | |
|   Word far   HL_USERINF    (void);
 | |
|   Word far   HL_MAXUSER    (void);
 | |
|   Word far   HL_MEMINF     (void);
 | |
|   Word far   HL_CODE       (void far *Data, Word Count);
 | |
|   Word far   HL_WRITE      (Word Register,  Word Value);
 | |
|   Word far   HL_READ       (Word Register, int far *Value);
 | |
|   char far * HL_GET_ID     (char * id_ref);
 | |
|   Word far   HL_READBL     (char * Eeprom);
 | |
|   Word far   HL_WRITEBL    (char * Eeprom);
 | |
|   Word far   HL_ABORT      (void);
 | |
|   Word far   HL_VERSION    (void);
 | |
| 
 | |
|   /****************************************************************************/
 | |
|   /****************************************************************************/
 | |
|   /* The following functions map the old Hardlock Calls on the new API. These */
 | |
|   /* functions are defined only for compatibility reasons.                    */
 | |
|   /* !!! Don't mix old and new functions. Don't use if it is not necessary.!!!*/
 | |
|   /****************************************************************************/
 | |
|   /****************************************************************************/
 | |
|   void far   HL_ON         (int Port, Word ModAd);
 | |
|   void far   HL_OFF        (int Port);
 | |
|   int  far   K_EYE         (int Port, char huge *Inp, int BlkCnt);
 | |
|   void far   HL_WR         (int Port, int Register, Word Val);
 | |
|   Word far   HL_RD         (int Port, int Register);
 | |
|   void far   INT_ON        (void);
 | |
|   void far   INT_OFF       (void);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif
 |