diff options
Diffstat (limited to 'public/sdk/inc/rasshost.h')
-rw-r--r-- | public/sdk/inc/rasshost.h | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/public/sdk/inc/rasshost.h b/public/sdk/inc/rasshost.h new file mode 100644 index 000000000..9d7de13e6 --- /dev/null +++ b/public/sdk/inc/rasshost.h @@ -0,0 +1,149 @@ +/********************************************************************/ +/** Copyright(c) 1989-1996 Microsoft Corporation. **/ +/********************************************************************/ + +//*** +// +// Filename: rasshost.h +// +// Description: This header defines the interface between third party security +// DLLs and the RAS server. +// + +#ifndef _RASSHOST_ +#define _RASSHOST_ + +#include <rassapi.h> + +typedef DWORD HPORT; + +typedef struct _SECURITY_MESSAGE +{ + DWORD dwMsgId; + + HPORT hPort; + + DWORD dwError; // Should be non-zero only if error + // occurred during the security dialog. + // Should contain errors from winerror.h + // or raserror.h + CHAR UserName[UNLEN+1]; // Should always contain username if + // dwMsgId is SUCCESS/FAILURE + + CHAR Domain[DNLEN+1]; // Should always contain domain if + // dwMsgId is SUCCESS/FAILURE + +} SECURITY_MESSAGE, *PSECURITY_MESSAGE; + + +// Values for dwMsgId in SECURITY_MESSAGE structure + +#define SECURITYMSG_SUCCESS 1 +#define SECURITYMSG_FAILURE 2 +#define SECURITYMSG_ERROR 3 + +// Used by RasSecurityGetInfo call + +typedef struct _RAS_SECURITY_INFO +{ + + DWORD LastError; // SUCCESS = receive completed + // PENDING = receive pending + // else completed with error + + DWORD BytesReceived; // only valid if LastError == SUCCESS + + CHAR DeviceName[RASSAPI_MAX_DEVICE_NAME+1]; + + +}RAS_SECURITY_INFO,*PRAS_SECURITY_INFO; + +typedef DWORD (WINAPI *RASSECURITYPROC)(); + +// +// Called by third party DLL to notify the supervisor of termination of +// the security dialog +// + +VOID WINAPI +RasSecurityDialogComplete( + IN SECURITY_MESSAGE * pSecMsg // Pointer to the above info. structure +); + +// +// Called by supervisor into the security DLL to notify it to begin the +// security dialog for a client. +// +// Should return errors from winerror.h or raserror.h +// + +DWORD WINAPI +RasSecurityDialogBegin( + IN HPORT hPort, // RAS handle to port + IN PBYTE pSendBuf, // Pointer to the buffer used in + // RasSecurityDialogSend + IN DWORD SendBufSize, // Size of above bufer in bytes + IN PBYTE pRecvBuf, // Pointer to the buffer used in + // RasSecurityDialogReceive + IN DWORD RecvBufSize, // Size of above buffer + IN VOID (WINAPI *RasSecurityDialogComplete)( SECURITY_MESSAGE* ) + // Pointer to function RasSecurityDialogComplete. + // Guaranteed to be the same on every call. +); + +// +// Called by supervisor into the security DLL to notify it to stop the +// security dialog for a client. If this call returns an error, then it is not +// neccesary for the dll to call RasSecurityDialogComplete. Otherwise the DLL +// must call RasSecurityDialogComplete. +// +// Should return errors from winerror.h or raserror.h +// + +DWORD WINAPI +RasSecurityDialogEnd( + IN HPORT hPort // RAS handle to port. +); + +// +// The following entrypoints should be loaded by calling GetProcAddress from +// RasMan.lib +// +// Called to send data to remote host +// Will return errors from winerror.h or raserror.h +// + +DWORD WINAPI +RasSecurityDialogSend( + IN HPORT hPort, // RAS handle to port. + IN PBYTE pBuffer, // Pointer to buffer containing data to send + IN WORD BufferLength // Length of above buffer. +); + +// +// Called to receive data from remote host +// Will return errors from winerror.h or raserror.h +// + +DWORD WINAPI +RasSecurityDialogReceive( + IN HPORT hPort, // RAS handle to port. + IN PBYTE pBuffer, // Pointer to buffer to receive data + IN PWORD pBufferLength, // length of data received in bytes. + IN DWORD Timeout, // in seconds + IN HANDLE hEvent // Event to set when receive completes or + // timeouts +); + +// +// Called to get Information about port. +// Will return errors from winerror.h or raserror.h +// + +DWORD WINAPI +RasSecurityDialogGetInfo( + IN HPORT hPort, // RAS handle to port. + IN RAS_SECURITY_INFO* pBuffer // Pointer to get info structure. +); + +#endif |