windows-nt/Source/XPSP1/NT/net/rras/ras/ui/rasscrpt/rnap.h
2020-09-26 16:20:57 +08:00

577 lines
22 KiB
C

/*****************************************************************************\
* *
* rnap.h - Remote Network Access (RNA) private interface *
* *
* Version 1.00 *
* *
* Copyright (c) 1992-1993, Microsoft Corp. All rights reserved. *
* *
******************************************************************************/
#ifndef _RNAP_H_
#define _RNAP_H_
#define RAS_MaxPortName 128
#define RAS_MaxComment 255
#define RAS_MaxCountry 3
#define RAS_MaxAreaCode 10
#define RAS_MaxLocal 36
#define RAS_MaxExtension 5
#define RAS_MaxSMMDesc 63
#define RAS_MaxProtocolDesc 63
/******************************************************************************
Private RASCONNSTATE
******************************************************************************/
#define RASCS_PrivateStart RASCS_Disconnected+1
#define RASCS_StartClosing RASCS_PrivateStart
#define RASCS_LoggingOff RASCS_PrivateStart+1
#define RASCS_Closing RASCS_PrivateStart+2
#define RASCS_Closed RASCS_PrivateStart+3
#define RASCS_Terminating RASCS_PrivateStart+4
/******************************************************************************
Registry key paths
******************************************************************************/
#define REGSTR_KEY_RNA "RemoteAccess"
#define REGSTR_PATH_RNA REGSTR_PATH_SERVICES"\\"REGSTR_KEY_RNA
#define REGSTR_VAL_IMPLICIT "EnableImplicit"
#define REGSTR_VAL_DIALUI "DialUI"
#define REGSTR_KEY_PROF REGSTR_KEY_RNA"\\Profile"
#define REGSTR_VAL_USER "User"
#define REGSTR_VAL_DOMAIN "Domain"
#define REGSTR_VAL_NUMBER "Number"
#define REGSTR_VAL_SCRIPT "PPPScript"
#define REGSTR_VAL_MODE "Mode"
#define REGSTR_VAL_TERM "Terminal"
#define REGSTR_VAL_AUTODIALDLL "AutodialDllName"
#define REGSTR_VAL_AUTODIALFN "AutodialFcnName"
#define REGSTR_VAL_ML "MultiLink"
/******************************************************************************
Related RNA module names and internal exported
******************************************************************************/
#define RNA_SERVER_MOD_NAME "RNASERV.DLL"
#define CALLER_ACCESS_FUNC_NAME "CallerAccess"
#define RNADLL_MODULE_NAME "RASAPI32.DLL"
#define RNASCRIPT_MODULE_NAME "SMMSCRPT.DLL"
#define RUN_SCRIPT_FUNC_NAME "RunRnaScript"
#define RNAUI_MODULE_NAME "RNAUI.DLL"
#define CREATE_ENTRY_FUNC_NAME "Remote_CreateEntry"
#define EDIT_ENTRY_FUNC_NAME "Remote_EditEntry"
#define NOTIFY_FUNC_NAME "Remote_Notify"
/******************************************************************************
Asynchronous event notification from RNA engine via WM_RASDIALEVENT
******************************************************************************/
#define RNA_ASYNCEVENT 0xFFFFFFFF // wParam value
#define RNA_ADD_DEVICE 0 // A new device was added
#define RNA_DEL_DEVICE 1 // A new device was removed
#define RNA_REINIT_DEVICE 2 // The device needs to be reintied
#define RNA_SHUTDOWN 3 // The engine needs to shutdown
#define RNA_TRANSLATECHANGE 4 // Translate address caps changed
/******************************************************************************
Communication with RNA engine
******************************************************************************/
#define CLIENT_CONNECTION 1 // Client connection
#define SERVER_CONNECTION 2 // Server connection
#define WM_RNAMSG WM_USER+10
#define RL_MINMSG WM_RNAMSG
#define RL_CREATE RL_MINMSG // create a connection
#define RL_TERMINATE RL_MINMSG+1 // terminate the connection
#define RL_CONNECTED RL_MINMSG+2 // a connection is active
#define RL_DISCONNECTED RL_MINMSG+3 // a connection is not active
#define RL_SUPRV RL_MINMSG+4 // initialize supervisor
#define RL_ACTIVATE RL_MINMSG+5 // activate supervisor change
#define RL_REINIT RL_MINMSG+6 // Reinitialize the engine
#define RL_REG_DEVCHG RL_MINMSG+7 // Register device notification
#define RL_GET_COUNT RL_MINMSG+8 // Get the count
#define RL_GW_NOTIFY RL_MINMSG+9 // Gateway callback
/******************************************************************************
Communication with Dial engine
******************************************************************************/
#define DL_MINMSG WM_RNAMSG
#define DL_DIALEVENT DL_MINMSG // continue dial-up sequence
#define DL_DISCONNECTED DL_MINMSG+1 // a connection is not active
#define DL_AUTHENTICATE DL_MINMSG+2 // auth module sent a message
#define DL_CONNECTED DL_MINMSG+3 // a new connection is active
#define DL_CLOSE DL_MINMSG+4 // Terminate the connection window
#define DL_MAC_MSG DL_MINMSG+5 // MAC requests disconnection
#define DL_RECONNECT DL_MINMSG+6 // a connection needs reconnect
#define DL_NOTIFYICON DL_MINMSG+7 // tray icon notification
#define DL_SHOW_STAT DL_MINMSG+8 // display the status dialog
//****************************************************************************
// Communication with gateway manager
//****************************************************************************
#define GW_MINMSG WM_RNAMSG
#define GW_DIALEVENT DL_DIALEVENT // !!WARNING!! shared message
#define GW_CONNECTED GW_MINMSG + 1
#define GW_DISCONNECTED GW_MINMSG + 2
#define GW_LOG GW_MINMSG + 3
#define GW_CLOSE DL_CLOSE // !!WARNING!! shared message
#define GW_MAC_MSG DL_MAC_MSG // MAC requests disconnection
#define MAX_AUTODISCONNECT 60000 // server autodisconnect sec.
//
// Gateway to Supervisor Communication
//
LRESULT WINAPI DialInMessage(HWND, UINT, WPARAM, LPARAM);
/******************************************************************************
Request for services from RNADLL
******************************************************************************/
DWORD WINAPI RnaEngineRequest (UINT uCommand, DWORD dwParam);
DWORD WINAPI DialEngineRequest (UINT uCommand, DWORD dwParam1, DWORD dwParam2);
DWORD WINAPI SuprvRequest (UINT uCommand, DWORD dwParam1, DWORD dwParam2);
#define RA_MINCMD 0
#define RA_LOAD RA_MINCMD // Notify Rna process is a loader
#define RA_INIT RA_MINCMD+1 // Initialize the rna engine
#define RA_TERMINATE RA_MINCMD+2 // rna engine terminated
#define RA_REG_DEVCHG RA_MINCMD+3 // register dev change notification
#define RA_DEREG_DEVCHG RA_MINCMD+4 // deregister dev change notification
#define RA_REINIT RA_MINCMD+5 // Reinitialize the rna engine
#define RA_ADD_DEVICE RA_MINCMD+6 // Device added
#define RA_DEL_DEVICE RA_MINCMD+7 // Device removed
#define RA_GET_PROP RA_MINCMD+8 // Get property page
#define RA_MAXCMD RA_MINCMD+50
#define GA_MINCMD RA_MAXCMD+1
#define GA_INIT_SUPRV GA_MINCMD // Initialize supervisor
#define GA_ACTIVE_SUPRV GA_MINCMD+1 // Activate supervisor
#define GA_SHUTDOWN RA_MINCMD+2 // Shutdown the system
#define GA_LOG_SUPRV GA_MINCMD+3 // Register log event
#define GA_LOGON_INFO GA_MINCMD+4 // Logon session information
#define GA_DISCONNECT GA_MINCMD+5 // Terminate logon session
#define GA_START_SUPRV GA_MINCMD+6 // Start the host
#define GA_STOP_SUPRV GA_MINCMD+7 // Stop the host
#define GA_DEV_CHANGE GA_MINCMD+8 // A device changed
#define GA_GET_STATS GA_MINCMD+9 // Get the server information
#define GA_COUNT_ACTIVE GA_MINCMD+10 // Count the active connection
#define GA_MAXCMD GA_MINCMD+50
#define DA_MINCMD GA_MAXCMD+1
#define DA_CONNINFO DA_MINCMD // connection information
#define DA_DISCONNECT DA_MINCMD+1 // disconnect an active connection
#define DA_RECONNECT DA_MINCMD+2 // reconnect a dropped connection
#define DA_NEWCONN DA_MINCMD+3 // a new connection is added
#define DA_SHUTDOWN DA_MINCMD+4 // Shutdown the system
#define DA_NEWEVENT DA_MINCMD+5 // Notify a new event
#define DA_COMPASYN DA_MINCMD+6 // Notify a async operation completion
#define DA_DEV_CHANGE DA_MINCMD+7 // A device changed
#define DA_GET_UI_WND DA_MINCMD+8 // Get the UI window
#define DA_SET_WND_POS DA_MINCMD+9 // Set the status window position
#define DA_GETSTATS DL_MINMSG+10 // a connection needs stats
#define DA_GET_CONNSTAT DL_MINMSG+11 // Get current connection status
#define DA_GET_SUBENTRY DL_MINMSG+12 // Get sub-entry information
#define DA_DIAL_SUBENTRY DL_MINMSG+13 // Dial a sub-entry
#define DA_MAXCMD DA_MINCMD+50
typedef struct tagConnInfo {
char szEntryName[RAS_MaxEntryName+1];
DWORD dwRate;
char szSMMDesc[RAS_MaxSMMDesc+1];
DWORD fdwProtocols;
char szDeviceType[RAS_MaxDeviceType+1];
char szDeviceName[RAS_MaxDeviceName+1];
} CONNINFO, *PCONNINFO, FAR* LPCONNINFO;
typedef struct tagMLInfo {
BOOL fEnabled;
DWORD cSubEntries;
} MLINFO, *PMLINFO, FAR* LPMLINFO;
typedef struct tagSubConnInfo {
DWORD iSubEntry;
MLINFO mli;
} SUBCONNINFO, *PSUBCONNINFO, FAR* LPSUBCONNINFO;
#define PARENT_ENTRY_ID 0xFFFFFFFF
// Flags for protocols in fdwProtocols
//
#define PROTOCOL_AMB 0x00000001
#define PROTOCOL_PPPNBF 0x00000002
#define PROTOCOL_PPPIPX 0x00000004
#define PROTOCOL_PPPIP 0x00000008
//****************************************************************************
// RNAAPP Command line interface
//****************************************************************************
#define RNAAPP_EXE_NAME "rnaapp"
#define LOAD_REQ "-l" // RnaDll loads Rnaapp
//****************************************************************************
// RNAUI Private Interface
//****************************************************************************
#define DT_NULLMODEM "null"
#define DT_MODEM "modem"
#define DT_ISDN "isdn"
#define DT_UNKNOWN "unknown"
#define DIRECTCC "Direct Cable Connection Host Logon"
typedef HICON FAR* LPHICON;
// SMM Usage type flags
//
#define CLIENT_SMM 0x00000001
#define SERVER_SMM 0x00000002
typedef struct tagSMMCFG {
DWORD dwSize;
DWORD fdwOptions;
DWORD fdwProtocols;
} SMMCFG, *PSMMCFG, FAR* LPSMMCFG;
typedef struct tagSMMINFO {
char szSMMType[RNA_MaxSMMType+1];
SMMCFG SMMConfig;
} SMMINFO, *PSMMINFO, FAR* LPSMMINFO;
typedef struct tagIPData {
DWORD dwSize;
DWORD fdwTCPIP;
DWORD dwIPAddr;
DWORD dwDNSAddr;
DWORD dwDNSAddrAlt;
DWORD dwWINSAddr;
DWORD dwWINSAddrAlt;
} IPDATA, *PIPDATA, FAR *LPIPDATA;
typedef struct tagSMMData {
struct tagSMMData *pNext;
SMMINFO smmi;
DWORD fdwOptAllow;
DWORD fdwProtAllow;
IPDATA ipData;
} SMMDATA, *PSMMDATA, FAR *LPSMMDATA;
// Flags for the fdwTCPIP field
//
#define IPF_IP_SPECIFIED 0x00000001
#define IPF_NAME_SPECIFIED 0x00000002
#define IPF_NO_COMPRESS 0x00000004
#define IPF_NO_WAN_PRI 0x00000008
typedef struct tagDEVICEINFO {
DWORD dwVersion;
UINT uSize;
char szDeviceName[RAS_MaxDeviceName+1];
char szDeviceType[RAS_MaxDeviceType+1];
} DEVICEINFO, *PDEVICEINFO, FAR* LPDEVICEINFO;
typedef struct tagDevConfig {
HICON hIcon;
SMMINFO smmi;
DEVICEINFO di;
} DEVCONFIG, *PDEVCONFIG, FAR* LPDEVCONFIG;
typedef struct tagPhoneNum {
DWORD dwCountryID;
DWORD dwCountryCode;
char szAreaCode[RAS_MaxAreaCode+1];
char szLocal[RAS_MaxLocal+1];
char szExtension[RAS_MaxExtension+1];
} PHONENUM, *PPHONENUM, FAR *LPPHONENUM;
typedef struct tagCountryInfo {
DWORD dwCountryID;
DWORD dwNextCountryID;
DWORD dwCountryCode;
DWORD dwCountryNameOffset;
} COUNTRYINFO, *PCOUNTRYINFO, FAR* LPCOUNTRYINFO;
typedef struct tagConnEntry {
PSTR pszEntry;
PHONENUM pn;
PDEVCONFIG pDevConfig;
DWORD dwFlags;
DWORD cSubEntry;
} CONNENTRY, *PCONNENTRY, FAR* LPCONNENTRY;
#define CESZENTRY(pCE) ((PSTR)(((PBYTE)pCE)+sizeof(CONNENTRY)))
#define DEVCONFIGSIZE(diSize) (diSize+(sizeof(DEVCONFIG)-sizeof(DEVICEINFO)))
typedef struct tagSubConnEntry {
DWORD dwSize;
DWORD dwFlags;
char szDeviceType[RAS_MaxDeviceType+1];
char szDeviceName[RAS_MaxDeviceName+1];
char szLocal[RAS_MaxPhoneNumber+1];
} SUBCONNENTRY, *PSUBCONNENTRY, FAR* LPSUBCONNENTRY;
typedef struct tagConnEntDlg {
PCONNENTRY pConnEntry;
PDEVCONFIG pDevConfig;
PSMMDATA pSMMList;
PSMMDATA pSMMType;
PMLINFO pmli;
DWORD cmlChannel;
} CONNENTDLG, *PCONNENTDLG, FAR *LPCONNENTDLG;
typedef struct tagRNAPropPage {
UINT idPage;
HMODULE hModule;
UINT idRes;
DLGPROC pfn;
} RNAPROPPAGE, *PRNAPROPPAGE, FAR *LPRNAPROPPAGE;
#define SRV_TYPE_PAGE 0 // Server Type page id
DWORD WINAPI RnaEnumConnEntries(LPSTR lpBuf, UINT cb, LPDWORD lpcEntries);
PCONNENTRY WINAPI RnaGetConnEntry(LPSTR szEntry, BOOL bNeedIcon, BOOL fDevice);
BOOL WINAPI RnaFreeConnEntry(PCONNENTRY);
DWORD WINAPI RnaSaveConnEntry(PCONNENTRY lpConnEntry);
BOOL WINAPI RnaDeleteConnEntry(LPSTR szEntry);
DWORD WINAPI RnaRenameConnEntry(LPSTR szOldEntry, LPSTR szNewEntry);
DWORD WINAPI RnaValidateEntryName (LPSTR szEntry, BOOL fNew);
DWORD WINAPI RnaEnumCountryInfo (LPCOUNTRYINFO, LPDWORD);
DWORD WINAPI RnaGetAreaCodeList (LPSTR, LPDWORD);
DWORD WINAPI RnaGetCurrentCountry (LPDWORD);
DWORD WINAPI RnaEnumDevices (LPBYTE lpBuff, LPDWORD lpcbSize,
LPDWORD lpcEntries);
PDEVCONFIG WINAPI RnaGetDefaultDevConfig (LPSTR szDeviceName);
DWORD WINAPI RnaGetDeviceInfo(LPSTR szDeviceName, LPDEVICEINFO lpdi);
DWORD WINAPI RnaGetDeviceChannel (LPSTR szDeviceName);
PDEVCONFIG WINAPI RnaBuildDevConfig (PDEVCONFIG pDevConfig, HICON hIcon, BOOL bNeedIcon);
DWORD WINAPI RnaDevConfigDlg(HWND hWnd, PDEVCONFIG pDevConfig);
BOOL WINAPI RnaFreeDevConfig(PDEVCONFIG pDevConfig);
DWORD WINAPI RnaSMMInfoDialog(HWND hWnd, LPSTR szEntryName,
LPSTR szDeviceName,
LPSMMINFO lpsmmi, DWORD dwUsage);
DWORD WINAPI RnaEnumerateMacNames (LPSTR szDeviceName, LPBYTE lpBuff,
LPDWORD lpcb);
DWORD WINAPI RnaEnumerateSMMNames (LPSTR szDeviceName, LPBYTE lpBuff,
LPDWORD lpcb, DWORD dwType);
DWORD WINAPI RnaGetDefaultSMMInfo(LPSTR szDeviceName, LPSMMINFO lpsmmi,
BOOL fClient);
DWORD WINAPI RnaGetIPInfo(LPSTR szEntryName, PIPDATA pIpData,
BOOL fDefault);
DWORD WINAPI RnaSetIPInfo(LPSTR szEntryName, PIPDATA pIpData);
DWORD WINAPI RnaLogon(HWND);
DWORD WINAPI RnaActivateEngine();
DWORD WINAPI RnaDeactivateEngine();
DWORD WINAPI RnaUIDial(HWND, LPSTR);
DWORD WINAPI RnaImplicitDial(HWND, LPSTR);
DWORD WINAPI RnaFindDriver(HWND hwnd, LPSTR lpszDriverList);
DWORD WINAPI RnaInstallDriver (HWND hwnd, LPSTR lpszDriverList);
DWORD WINAPI RnaExportEntry (LPSTR szEntryName, LPSTR szFileName);
DWORD WINAPI RnaImportEntry (LPSTR szFileName, LPBYTE lpBuff, DWORD cb);
DWORD WINAPI RnaValidateImportEntry (LPSTR szFileName);
DWORD WINAPI RnaGetMultiLinkInfo (LPSTR, LPMLINFO);
DWORD WINAPI RnaSetMultiLinkInfo (LPSTR, LPMLINFO);
DWORD WINAPI RnaGetSubEntry (LPSTR, DWORD, PSUBCONNENTRY, LPDWORD);
DWORD WINAPI RnaSetSubEntry (LPSTR, DWORD, PSUBCONNENTRY, DWORD);
#define LOG_INACTIVE 0
#define LOG_DISCONNECTION 1
#define LOG_ACTIVE 2
#define LOG_LISTEN 3
#define LOG_AUTH_TIMEOUT 4
#define LOG_CALLBACK 5
#define LOG_ANSWERED 6
#define LOG_ERROR 7
typedef struct tagLOGINFO {
LPSTR szPortName;
HWND hwnd;
UINT uLogEvent;
} LOGINFO, *PLOGINFO, FAR* LPLOGINFO;
typedef struct tagGWLOGONINFO {
LPSTR szPortName;
char szUserName[UNLEN+1];
SYSTEMTIME sysTime;
} GWLOGONINFO, *PGWLOGONINFO, FAR* LPGWLOGONINFO;
typedef enum tagRNASECURITY { RNAPASSWORD, RNAPASSTHROUGH } RNASECURITY;
#define RNAADMIN_DIALIN 1
#define USERTYPE_USER 0x00000001
#define USERTYPE_GROUP 0x00000002
#define USERTYPE_WORLD 0x00000004
typedef struct tagUSER_ACCESS {
RNAACCESSTYPE accesstype;
BOOL fUseCallbacks;
DWORD dwUsertype;
} USERACCESS, *PUSERACCESS, FAR *LPUSERACCESS;
typedef struct tagPORTSTATS
{
char szPortName[RAS_MaxPortName+1];
char szDeviceType[RAS_MaxDeviceType+1];
BOOL fAccessEnabled;
UINT TimeOut;
SMMINFO smmi;
char szComment[RAS_MaxComment+1];
BOOL AdminAccess;
RNASECURITY security;
union {
struct tagPassthru {
DWORD cUsers;
DWORD dwOffsetUsers; }
Passthru;
struct tagPassword {
USERACCESS shareaccess;
char szPassword[PWLEN+1]; }
Password;
};
} RNAPORTSTATS, *PRNAPORTSTATS, FAR *LPRNAPORTSTATS;
DWORD WINAPI SuprvEnumAccessInfo (LPBYTE, LPINT, LPINT);
DWORD WINAPI SuprvGetAccessInfo (LPSTR, LPRNAPORTSTATS, LPDWORD);
DWORD WINAPI SuprvSetAccessInfo (LPRNAPORTSTATS);
DWORD WINAPI SuprvInitialize (LPDWORD);
DWORD WINAPI SuprvDeInitialize();
DWORD WINAPI SuprvGetAdminConfig();
DWORD WINAPI RnaSetCallbackList (DWORD, LPSTR, LPSTR, int);
DWORD WINAPI RnaAllocateLana(HANDLE hConn, LPDWORD lpLana);
DWORD WINAPI RnaDeallocateLana(HANDLE hConn);
DWORD WINAPI RnaRunScript(HANDLE hConn, PSESS_CONFIGURATION_INFO lpSCI,
BOOL fForce);
typedef DWORD (WINAPI * LPFNCREATE)(HWND);
typedef DWORD (WINAPI * LPFNEDIT)(HWND, LPSTR);
typedef void (WINAPI * LPFNUINOTIFY)(LPSTR);
DWORD WINAPI Remote_CreateEntry (HWND);
DWORD WINAPI Remote_EditEntry (HWND, LPSTR);
void WINAPI Remote_Notify (LPSTR);
//***************************************************************************
// Dial global setting for redial and implicit connection
//***************************************************************************
#define MAX_REDIAL_COUNT 100
#define MIN_REDIAL_COUNT 1
#define MAX_REDIAL_MINUTE 119
#define MIN_REDIAL_MINUTE 0
#define MAX_REDIAL_SECOND 59
#define MIN_REDIAL_SECOND 0
typedef struct tagRnaSetting {
BOOL fRedial;
DWORD cRetry;
DWORD dwMin;
DWORD dwSec;
BOOL fImplicit;
DWORD dwDialUI;
} RNASETTING, *PRNASETTING, FAR *LPRNASETTING;
#define DIALUI_NO_PROMPT 0x00000001 // Do not display connect prompt
#define DIALUI_NO_CONFIRM 0x00000002 // Do not display connect confirm
#define DIALUI_NO_TRAY 0x00000004 // No tray icon
DWORD WINAPI RnaGetDialSettings(LPRNASETTING);
DWORD WINAPI RnaSetDialSettings(LPRNASETTING);
//***************************************************************************
// The following are SMM Interface we cut from version 1.0
//***************************************************************************
#ifndef WINNT_RAS
//
// CALLBACKINFO conflicts with a structure defined in "pbuser.h",
// and RAS_STATISTICS conflicts with a structure in "rasman.h".
// The Win9x scripting code uses neither, so they have been commented out.
//
// Callback request information
//
typedef struct tagCALLBACKINFO
{
DWORD dwSize;
BOOL fUseCallbackDelay;
DWORD dwCallbackDelay;
char szPhoneNumber[RAS_MaxPhoneNumber+1];
} CALLBACKINFO, *PCALLBACKINFO, FAR* LPCALLBACKINFO;
DWORD WINAPI RnaSetCallbackInfo( HANDLE hConn, LPCALLBACKINFO lpcbinfo );
DWORD WINAPI RnaReportLinkSpeed( HANDLE hConn, DWORD dwLinkSpeed );
DWORD WINAPI RnaUIStatus( HANDLE hConn, LPSTR lpszStatusMsg );
DWORD WINAPI RnaLog( HANDLE hConn, LPSTR lpszLogMsg );
//***************************************************************************
// The following are connection statistics
//***************************************************************************
#define NUM_RAS_SERIAL_STATS 14
#define BYTES_XMITED 0 //Generic Stats
#define BYTES_RCVED 1
#define FRAMES_XMITED 2
#define FRAMES_RCVED 3
#define CRC_ERR 4 //Serial Stats
#define TIMEOUT_ERR 5
#define ALIGNMENT_ERR 6
#define SERIAL_OVERRUN_ERR 7
#define FRAMING_ERR 8
#define BUFFER_OVERRUN_ERR 9
#define BYTES_XMITED_UNCOMP 10 //Compression Stats
#define BYTES_RCVED_UNCOMP 11
#define BYTES_XMITED_COMP 12
#define BYTES_RCVED_COMP 13
typedef struct tagRAS_STATISTICS
{
DWORD S_NumOfStatistics ;
DWORD S_Statistics[NUM_RAS_SERIAL_STATS] ;
} RAS_STATISTICS, FAR* LPRAS_STATISTICS;
#endif // WINNT_RAS
//**************************************************************************
// Script support
//**************************************************************************
// Script processing mode
//
#define NORMAL_MODE 0
#define TEST_MODE 1
typedef DWORD (WINAPI * PFN_RUN_SCRIPT)(HANDLE, LPSESS_CONFIGURATION_INFO);
#endif // _RNAP_H_