193 lines
3.9 KiB
C
193 lines
3.9 KiB
C
/********************************************************************/
|
||
/** Copyright(c) 1996 Microsoft Corporation. **/
|
||
/********************************************************************/
|
||
|
||
//***
|
||
//
|
||
// Filename: arapif.h
|
||
//
|
||
// Description: Contains structures and definitions for components that
|
||
// interface directly or indirectly with the Arap module
|
||
// These componenets are Arap and DDM
|
||
//
|
||
// History: Sep 9, 1996 Shirish Koti Created original version.
|
||
//
|
||
//***
|
||
|
||
#ifndef _ARAPIF_
|
||
#define _ARAPIF_
|
||
|
||
//#include <ras.h>
|
||
//#include <mprapi.h>
|
||
|
||
|
||
typedef struct _ARAPCONFIGINFO
|
||
{
|
||
DWORD dwNumPorts; // total number of ports configured
|
||
PVOID FnMsgDispatch; // function that Arap should use to send msgs to DDM
|
||
DWORD NASIpAddress; // ipaddress of the system
|
||
PVOID FnAuthProvider; // function that Arap should use to call AuthProvider
|
||
PVOID FnAuthFreeAttrib;
|
||
PVOID FnAcctStartAccounting;
|
||
PVOID FnAcctInterimAccounting;
|
||
PVOID FnAcctStopAccounting;
|
||
PVOID FnAcctFreeAttrib;
|
||
DWORD dwAuthRetries; // retries for Authentication
|
||
|
||
} ARAPCONFIGINFO;
|
||
|
||
//
|
||
// Authentication info sent to DDM by Arap
|
||
//
|
||
typedef struct _ARAPDDM_AUTH_RESULT
|
||
{
|
||
WCHAR wchUserName[ UNLEN + 1 ];
|
||
WCHAR wchLogonDomain[ DNLEN + 1 ];
|
||
} ARAPDDM_AUTH_RESULT;
|
||
|
||
//
|
||
// Callback info sent to DDM by Arap
|
||
//
|
||
typedef struct _ARAPDDM_CALLBACK_REQUEST
|
||
{
|
||
BOOL fUseCallbackDelay;
|
||
DWORD dwCallbackDelay;
|
||
CHAR szCallbackNumber[ RAS_MaxCallbackNumber + 1 ];
|
||
} ARAPDDM_CALLBACK_REQUEST;
|
||
|
||
|
||
//
|
||
// ARAP error notification
|
||
//
|
||
typedef struct _ARAPDDM_DISCONNECT
|
||
{
|
||
DWORD dwError;
|
||
WCHAR wchUserName[ UNLEN + 1 ];
|
||
WCHAR wchLogonDomain[ DNLEN + 1 ];
|
||
} ARAPDDM_DISCONNECT;
|
||
|
||
|
||
typedef struct _ARAPDDM_DONE
|
||
{
|
||
DWORD NetAddress;
|
||
DWORD SessTimeOut;
|
||
} ARAPDDM_DONE;
|
||
|
||
//
|
||
// Message used for Arap/DDM notification
|
||
//
|
||
typedef struct _ARAP_MESSAGE
|
||
{
|
||
struct _ARAP_MESSAGE * pNext;
|
||
DWORD dwError;
|
||
DWORD dwMsgId;
|
||
HPORT hPort;
|
||
|
||
union
|
||
{
|
||
ARAPDDM_AUTH_RESULT AuthResult; // dwMsgId = ARAPDDMMSG_Authenticated
|
||
|
||
ARAPDDM_CALLBACK_REQUEST CallbackRequest; // dwMsgId = ARAPDDMMSG_CallbackRequest
|
||
|
||
ARAPDDM_DONE Done; // dwMsgId = ARAPDDMMSG_Done
|
||
|
||
ARAPDDM_DISCONNECT FailureInfo; // dwMsgId = ARAPDDMMSG_Failure
|
||
|
||
} ExtraInfo;
|
||
|
||
} ARAP_MESSAGE;
|
||
|
||
|
||
//
|
||
// ARAP_MESSAGE dwMsgId codes.
|
||
//
|
||
typedef enum _ARAP_MSG_ID
|
||
{
|
||
ARAPDDMMSG_Started, // ARAP engine has started (response to ArapStartup)
|
||
ARAPDDMMSG_Authenticated, // Client has been authenticated.
|
||
ARAPDDMMSG_CallbackRequest, // Callback client now.
|
||
ARAPDDMMSG_Done, // ARAP negotiated successfully and connection is up
|
||
ARAPDDMMSG_Failure, // Client has been authenticated.
|
||
ARAPDDMMSG_Disconnected, // Client has been authenticated.
|
||
ARAPDDMMSG_Inactive, // Client is inactive
|
||
ARAPDDMMSG_Stopped, // ARAP engine has stopped (response to ArapShutdown)
|
||
|
||
} ARAP_MSG_ID;
|
||
|
||
typedef DWORD (* ARAPPROC1)(ARAP_MESSAGE *pArapMsg);
|
||
|
||
//
|
||
// prototypes for Arap functions
|
||
//
|
||
|
||
DWORD
|
||
ArapDDMLoadModule(
|
||
IN VOID
|
||
);
|
||
|
||
VOID
|
||
ArapEventHandler(
|
||
IN VOID
|
||
);
|
||
|
||
VOID
|
||
ArapSetModemParms(
|
||
IN PVOID pDevObjPtr,
|
||
IN BOOLEAN TurnItOff
|
||
);
|
||
|
||
|
||
//
|
||
// exports from rasarap.lib
|
||
//
|
||
|
||
DWORD
|
||
ArapStartup(
|
||
IN ARAPCONFIGINFO *pArapConfig
|
||
);
|
||
|
||
|
||
DWORD
|
||
ArapAcceptConnection(
|
||
IN HPORT hPort,
|
||
IN HANDLE hConnection,
|
||
IN PCHAR Frame,
|
||
IN DWORD FrameLen
|
||
);
|
||
|
||
|
||
DWORD
|
||
ArapDisconnect(
|
||
IN HPORT hPort
|
||
);
|
||
|
||
|
||
DWORD
|
||
ArapCallBackDone(
|
||
IN HPORT hPort
|
||
);
|
||
|
||
|
||
DWORD
|
||
ArapSendUserMsg(
|
||
IN HPORT hPort,
|
||
IN PCHAR MsgBuf,
|
||
IN DWORD MsgBufLen
|
||
);
|
||
|
||
|
||
DWORD
|
||
ArapForcePwdChange(
|
||
IN HPORT hPort,
|
||
IN DWORD Reason
|
||
);
|
||
|
||
|
||
DWORD
|
||
ArapShutdown(
|
||
IN VOID
|
||
);
|
||
|
||
|
||
#endif
|
||
|