mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 22:27:05 +00:00
367 lines
10 KiB
C
367 lines
10 KiB
C
/*
|
|
* $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
|