diff --git a/include/skeytsr.h b/include/skeytsr.h new file mode 100755 index 000000000..3f63348a2 --- /dev/null +++ b/include/skeytsr.h @@ -0,0 +1,121 @@ +/* -------------------------------------------------------------------- */ +/* */ +/* EUTRON */ +/* */ +/* Via Gandhi 12 - 24048 Treviolo BG - Italy */ +/* */ +/* Tel. +39-35-201003 - Fax +39-35-201277 - BBS +39-35-201144 */ +/* */ +/* -------------------------------------------------------------------- */ +/* */ +/* Language : C */ +/* Application : SkeyTsr */ +/* Module : skeytsr.h */ +/* Version : 1.0 */ +/* Date : 18.4.1995 */ +/* Note : */ +/* */ +/* -------------------------------------------------------------------- */ + +#ifndef INC_SKEYTSR_H +#define INC_SKEYTSR_H + +/* -------------------------------------------------------------------- */ +/* Smartkey mode codes */ +/* -------------------------------------------------------------------- */ + +#define SCRAMBLING_MODE 's' +#define READING_MODE 'r' +#define WRITING_MODE 'w' +#define FIXING_MODE 'f' +#define LOCATING_MODE 'l' +#define COMPARING_MODE 'c' +#define PROGRAMMING_MODE 'p' +#define MODEL_READING_MODE 'm' +#define ENCRYPTING_MODE 'e' +#define BLOCK_READING_MODE "br" +#define BLOCK_WRITING_MODE "bw" + +/* -------------------------------------------------------------------- */ +/* Smartkey models */ +/* -------------------------------------------------------------------- */ + +#define SKEY_NONE '0' /* No Smartkey */ +#define SKEY_FX '1' /* Smartkey mod. FX */ +#define SKEY_PR '2' /* Smartkey mod. PR */ +#define SKEY_EP '3' /* Smartkey mod. EP */ +#define SKEY_NET_5 '4' /* Smartkey mod. NET 5 users */ +#define SKEY_NET_10 '5' /* Smartkey mod. NET 10 users */ +#define SKEY_NET_25 '6' /* Smartkey mod. NET 25 users */ +#define SKEY_NET_50 '7' /* Smartkey mod. NET 50 users */ +#define SKEY_NET_NL '8' /* Smartkey mod. NET no limit */ +#define SKEY_SP '9' /* Smartkey mod. SP */ +#define SKEY_NET 'A' /* Smartkey mod. NET */ + +/* -------------------------------------------------------------------- */ +/* Return codes */ +/* -------------------------------------------------------------------- */ + +#define ST_OK 0 /* No errors */ +#define ST_NONE_KEY -1 /* No Smartkey present */ +#define ST_SYNT_ERR -2 /* Syntax error */ +#define ST_LABEL_FAILED -3 /* Uncorrect label */ +#define ST_PW_DATA_FAILED -4 /* Uncorrect password or data */ +#define ST_NET_ERROR -5 /* Lan error */ +#define ST_CLOSE_ERROR -6 /* Attempting to CLOSE without */ + /* OPENing */ +#define ST_ACCESS_ERROR -7 /* Attempting to ACCESS without */ + /* OPENing */ +#define ST_USER_ERROR -8 /* Max user reached */ +#define ST_NET_PWD_ERR -9 /* Net password wrong */ +#define ST_TSR_NOT_INST -10 /* SKEYSRV not found */ +#define ST_INIT_ERROR -11 /* Insufficient PC memory */ +#define ST_PATH_ERR -12 /* Path error or file not found */ +#define ST_DRIVER_NOT_INST -13 /* SKEYTSR not installed */ +#define ST_TOO_MANY_OPEN_KEY -14 /* Too many open SmartKey */ +#define ST_NET_PASS_INVALID -15 /* Invalid net password */ +#define ST_HW_FAILURE -20 /* Smartkey damaged */ + +/* -------------------------------------------------------------------- */ +/* Field length */ +/* -------------------------------------------------------------------- */ + +#define LABEL_LENGTH 16 +#define PASSWORD_LENGTH 16 +#define DATA_LENGTH 64 +#define EXTENDED_DATA_LENGTH 352 +#define SCRAMBLE_LENGTH 8 + +/* -------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ + +#define NET_KEY_OPEN 'O' +#define NET_KEY_ACCESS 'A' +#define NET_KEY_CLOSE 'C' +#define USER_NUMBER_MODE 'U' + +/* -------------------------------------------------------------------- */ +/* Communication structure definition */ +/* -------------------------------------------------------------------- */ + +typedef struct smartkey { + short net_command; + unsigned long net_password; + short lpt; + short command; + unsigned char label[LABEL_LENGTH]; + unsigned char password[PASSWORD_LENGTH]; + unsigned char data[DATA_LENGTH]; + short fail_counter; + short status; + unsigned char ext_data[EXTENDED_DATA_LENGTH]; +} KEY_NET; + +/* -------------------------------------------------------------------- */ +/* Interface function prototype */ +/* -------------------------------------------------------------------- */ + + +short __far __pascal smartlink(KEY_NET __far *pSkey); + +#endif