You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
366 lines
10 KiB
366 lines
10 KiB
/* |
|
* $History: DK2WIN32.H $ |
|
* |
|
* ***************** Version 1 ***************** |
|
* User: Alun Date: 1/07/99 Time: 11:31 |
|
* Created in $/DK2/Software/C Drivers/Windows/API/DLL/DK2Win32 |
|
* Initial version added to Source Safe version control |
|
*/ |
|
#ifdef __cplusplus |
|
extern "C" |
|
{ |
|
#endif |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// Error Codes |
|
// |
|
// All codes are returned from DK2GetLastError and can be formated |
|
// into a message string by calling DK2FormatError |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_SUCCESS |
|
// |
|
// The command was successfull |
|
|
|
#define DK2ERR_SUCCESS 0x0000 |
|
|
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_TOOMANUUSERS |
|
// |
|
// One or mode DK2 network servers were found but they were all |
|
// full. |
|
|
|
#define DK2ERR_TOOMANYUSERS 0x0001 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_ACCESS_DENIED |
|
// |
|
// A DK2 network servers were found but access was denied, either |
|
// due to user restrictions, or invalid login memory. |
|
// See FindDK2Ex |
|
|
|
#define DK2ERR_ACCESS_DENIED 0x0002 |
|
|
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_DESKEY_NOTFOUND |
|
// |
|
// A DK2 command failed because a DK2 was not found, either |
|
// locally or accross the network |
|
|
|
#define DK2ERR_DESKEY_NOTFOUND 0x0003 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_NORESPONSE |
|
// |
|
// A DK2 oommand to a server failed becase the server did not |
|
// respond. |
|
|
|
#define DK2ERR_NORESPONSE 0x0004 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_NOSERVERS |
|
// |
|
// The drivers searched for a DK2 a network server, but none were |
|
// found. |
|
|
|
#define DK2ERR_NOSERVERS 0x0005 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_DRIVERNOTINSTALLED |
|
// |
|
// The DK2 drivers are not installed |
|
|
|
#define DK2ERR_DRIVERNOTINSTALLED 0x0006 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_COMMANDNOTSUPPORTED |
|
// |
|
// The DK2 does not support the requested command |
|
|
|
#define DK2ERR_COMMANDNOTSUPPORTED 0x0007 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_ALREADYNETWORK |
|
// |
|
// A local DK2 command failed because there is a server runnning |
|
// the command must be carried out over the network. |
|
|
|
#define DK2ERR_ALREADYNETWORK 0x1001 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_COMMANDNOTNETWORK |
|
// |
|
// A DK2 command failed because the command cannot operate over |
|
// the network |
|
|
|
#define DK2ERR_COMMANDNOTNETWORK 0x1002 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_TOOMANYPROGS |
|
// |
|
// The maximum possible programs using the DK2 drivers has been |
|
// reached |
|
|
|
#define DK2ERR_TOOMANYPROGS 0x1004 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_BADOS |
|
// |
|
// The DK2 command will not function on the current operating system |
|
|
|
#define DK2ERR_BADOS 0x1005 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_NETWORKONLY |
|
// |
|
// The DK2 command failed because it can only be performed across |
|
// the network and a local connection was specified |
|
|
|
#define DK2ERR_NETWORKONLY 0x1006 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_CANCELLED |
|
// |
|
// Returned the GDI/ECP Window is cancelled |
|
|
|
#define DK2ERR_CANCELLED 0x1007 |
|
|
|
///////////////////////////////////////////////////////////////// |
|
// DK2ERR_FAILURE |
|
// |
|
// The command failed due to an error comunicating with the protocol |
|
|
|
#define DK2ERR_FAILURE 0x8000 |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2ERR_PROTOCOLFAILURE |
|
// |
|
// The DK2 command faied due to a problem in the protocol |
|
|
|
#define DK2ERR_PROTOCOLFAILURE 0x8001 |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2ERR_BADPARAMETER |
|
// |
|
// The DK2 command failed due to an invalid parameter passed to the |
|
// function |
|
|
|
#define DK2ERR_BADPARAMETER 0x8002 |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2ERR_NOMEMORY |
|
// |
|
// The DK2 command failed because the function could not allocate |
|
// enough memory |
|
|
|
#define DK2ERR_NOMEMORY 0x8003 |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2ERR_STARTPROTOCOL |
|
// |
|
// The DK2 command failed because the current protocol did not |
|
// start |
|
|
|
#define DK2ERR_STARTPROTOCOL 0x8004 |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2ERR_NOPROTOCOL |
|
// |
|
// The DK2 command failed be cause the current protocol does not |
|
// exist or is not loaded |
|
|
|
#define DK2ERR_NOPROTOCOL 0x8005 |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2ERR_NOSERVERMEMORY |
|
// |
|
// The DK2 command failed because the server could not allocate |
|
// enough memory |
|
|
|
#define DK2ERR_NOSERVERMEMORY 0x8006 |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2ERR_INVALIDCONNECTION |
|
// |
|
// The DK2 command failed because the specified connection is |
|
// invalid |
|
|
|
#define DK2ERR_INVALIDCONNECTION 0x8007 |
|
|
|
|
|
//////////////////////////////////////////////////////////////// |
|
// Structures |
|
//////////////////////////////////////////////////////////////// |
|
|
|
#pragma pack( 1 ) |
|
|
|
#define DK2MEMORYMAP |
|
typedef struct _tDK2Memory |
|
{ |
|
WORD wAddress; |
|
WORD wSeed; |
|
WORD wCount; |
|
LPSTR lpBytes; |
|
WORD wModule; |
|
} DK2MEMORY, FAR *LPDK2MEMORY; |
|
|
|
typedef struct _tDateTime |
|
{ |
|
WORD wDay; |
|
WORD wMonth; |
|
WORD wYear; |
|
WORD wHour; |
|
WORD wMinute; |
|
WORD wSecond; |
|
WORD wMilliseconds; |
|
} DATETIME, *NPDATETIME, FAR *LPDATETIME; |
|
|
|
#pragma pack() |
|
|
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2 Functions |
|
//////////////////////////////////////////////////////////////// |
|
|
|
BOOL APIENTRY DK2DriverInstalled( void ); |
|
|
|
WORD APIENTRY FindDK2( LPSTR Id, LPSTR PKey ); |
|
|
|
WORD APIENTRY FindDK2Ex( LPSTR Id, LPSTR PKey, LPDK2MEMORY lpDK2Memory ); |
|
|
|
WORD APIENTRY FindDK2ExP( LPSTR Id, LPSTR PKey, WORD Address, WORD Seed, WORD Count, LPSTR Bytes, WORD Module ); |
|
|
|
void APIENTRY DK2LogoutFromServer( WORD DataReg ); |
|
|
|
WORD APIENTRY DK2FindLPTPort( WORD Port ); |
|
|
|
WORD APIENTRY DK2GetDelayTime ( void ); |
|
|
|
void APIENTRY DK2SetDelayTime( WORD Delay ); |
|
|
|
void APIENTRY DK2ReadRandomNumbers( WORD DataReg, |
|
LPSTR Id, |
|
WORD Seed, |
|
LPSTR Buffer, |
|
WORD BytesToRead ); |
|
|
|
void APIENTRY DK2ThroughEncryption( WORD DataReg, |
|
LPSTR Id, |
|
WORD Seed, |
|
LPSTR Buffer, |
|
WORD BytesToEncrypt ); |
|
|
|
|
|
void APIENTRY DK2ReadMemory( WORD DataReg, |
|
LPSTR Id, |
|
WORD Seed, |
|
WORD Address, |
|
LPSTR Buffer, |
|
WORD BytesToRead ); |
|
|
|
void APIENTRY DK2WriteMemory( WORD DataReg, |
|
LPSTR Id, |
|
WORD Seed, |
|
WORD Address, |
|
LPSTR Buffer, |
|
WORD BytesToWrite, |
|
LPSTR Password ); |
|
|
|
void APIENTRY DK2ReadDownCounter( WORD DataReg, |
|
LPSTR Id, |
|
DWORD *DownCounter ); |
|
|
|
|
|
void APIENTRY DK2DecrementDownCounter( WORD DataReg, |
|
LPSTR Id ); |
|
|
|
BOOL APIENTRY DK2RegisterModule( WORD DataReg, WORD wModule ); |
|
|
|
BOOL APIENTRY DK2UnregisterModule( WORD DataReg, WORD wModule ); |
|
|
|
void APIENTRY DK2RestartDownCounter( WORD DataReg, |
|
LPSTR Id, |
|
DWORD NewCounter, |
|
LPSTR Password ); |
|
|
|
void APIENTRY DK2ReadDUSN( WORD DataReg, |
|
LPSTR Id, |
|
LPSTR Password, |
|
LPWORD SecCount, |
|
LPSTR DUSN ); |
|
|
|
void APIENTRY DK2SendAlgorithmString( WORD DataReg, |
|
LPSTR Id, |
|
WORD Iteration1, |
|
WORD Iteration2, |
|
LPSTR Buffer1, |
|
LPSTR Buffer2 ); |
|
|
|
void APIENTRY DK2SendAlgorithmBuffer( WORD DataReg, |
|
LPSTR Id, |
|
LPWORD Iteration, |
|
LPSTR Buffer, |
|
WORD BufferCount ); |
|
|
|
void APIENTRY DK2SendAndReceive( WORD DataReg, LPSTR Id, LPSTR lpFirst, WORD wFirst, LPSTR lpSend, WORD wSend, LPSTR lpReceive, WORD wReceive, WORD wCount ); |
|
|
|
BOOL APIENTRY DK2Success( void ); |
|
|
|
void APIENTRY DK2AllowChangeInterrupts( WORD Change ); |
|
|
|
WORD APIENTRY DK2DetectSpeed( WORD DataReg, |
|
LPSTR Id ); |
|
|
|
WORD APIENTRY DK2SubDetectSpeed( WORD DataReg, |
|
LPSTR Id, |
|
LPSTR PKey, |
|
LPSTR Bytes ); |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// time function |
|
void APIENTRY DK2GetSystemTime( WORD DateReg, LPSTR Id, LPDATETIME lpDateTime ); |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2 Flags |
|
|
|
#define DK2_BITRONICS 0x00000001 |
|
#define DK2_HASBITRONICS 0x00000002 |
|
|
|
DWORD APIENTRY DK2GetFlags ( WORD DataReg, |
|
LPSTR Id ); |
|
|
|
VOID APIENTRY DK2SetFlags ( WORD DataReg, |
|
LPSTR Id, |
|
DWORD Flags ); |
|
|
|
//////////////////////////////////////////////////////////////// |
|
|
|
WORD APIENTRY DK2Encode( LPSTR lpszData, |
|
WORD cbData, |
|
LPSTR lpszEncode, |
|
WORD cbEncode ); |
|
|
|
WORD APIENTRY DK2Decode( LPSTR lpszData, |
|
LPSTR lpszDecode ); |
|
|
|
//////////////////////////////////////////////////////////////// |
|
// DK2 Access Flags - Override Searching Network or Local |
|
|
|
#define DNET_NETWORK 0x0001 |
|
#define DNET_LOCAL 0x0002 |
|
|
|
void APIENTRY DK2SetAccessFlags( WORD wFlags ); |
|
|
|
//////////////////////////////////////////////////////////////// |
|
|
|
DWORD APIENTRY DK2GetLastError( void ); |
|
|
|
void APIENTRY DK2FormatError( DWORD Error, LPSTR ErrorString, int MaxLen ); |
|
|
|
WORD APIENTRY DK2GetServerName( WORD DataReg, LPSTR lpszServerName, LPSTR lpszComputerName ); |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif
|
|
|