windows-nt/Source/XPSP1/NT/net/rras/cm/cnetcfg/rnacall.h
2020-09-26 16:20:57 +08:00

79 lines
3.2 KiB
C++

//*********************************************************************
//* Microsoft Windows **
//* Copyright (c) 1994-1998 Microsoft Corporation
//*********************************************************************
//
// RNACALL.H - header file for RNA functions
//
// HISTORY:
//
// 1/20/95 jeremys Created (mostly cloned from RNA UI code)
// 96/01/31 markdu Renamed CONNENTDLG to OLDCONNENTDLG to avoid
// conflicts with RNAP.H.
// 96/02/23 markdu Replaced RNAValidateEntryName with
// RASValidateEntryName
// 96/02/24 markdu Re-wrote the definition of ENUM_MODEM to
// use RASEnumDevices() instead of RNAEnumDevices().
// Also removed RNAGetDeviceInfo().
// 96/02/24 markdu Re-wrote the definition of ENUM_CONNECTOID to
// use RASEnumEntries() instead of RNAEnumConnEntries().
// 96/02/26 markdu Replaced all remaining internal RNA APIs.
// Also copied two structures (tagPhoneNum and tapIPData)
// from rnap.h and tagIAddr from rnaphint.h for internal use only.
// 96/03/07 markdu Extend ENUM_MODEM class
// 96/03/08 markdu Added ENUM_MODEM::VerifyDeviceNameAndType
// 96/03/09 markdu Moved all function prototypes here from wizard.h
// 96/03/09 markdu Added LPRASENTRY parameter to CreateConnectoid()
// 96/03/09 markdu Moved all references to 'need terminal window after
// dial' into RASENTRY.dwfOptions.
// Also no longer need GetConnectoidPhoneNumber function.
// 96/03/10 markdu Moved all references to modem name into RASENTRY.
// 96/03/10 markdu Moved all references to phone number into RASENTRY.
// Moved tagPhoneNum to inetapi.h
// 96/03/11 markdu Moved code to set username and password out of
// CreateConnectoid into SetConnectoidUsername so it can be reused.
// 96/03/13 markdu Change ValidateConncectoidName to take LPCSTR.
// 96/03/16 markdu Added ReInit member function to re-enumerate modems.
// 96/03/25 markdu Removed GetIPInfo and SetIPInfo.
// 96/04/04 markdu Added phonebook name param to CreateConnectoid,
// ValidateConnectoidName, and SetConnectoidUsername.
// 96/05/16 markdu NASH BUG 21810 Added function for IP address validation.
//
#ifndef _RNACALL_H_
#define _RNACALL_H_
// function pointer typedefs for RNA apis from rnaph.dll and rasapi32.dll
typedef DWORD (WINAPI * RASENUMDEVICES) (LPRASDEVINFO, LPDWORD, LPDWORD);
typedef DWORD (WINAPI * RASENUMENTRIES) (LPSTR,LPSTR,LPRASENTRYNAME,LPDWORD,LPDWORD);
class ENUM_MODEM
{
private:
DWORD m_dwError;
DWORD m_dwNumEntries;
DWORD m_dwIndex;
LPRASDEVINFO m_lpData;
public:
ENUM_MODEM();
~ENUM_MODEM();
DWORD ReInit();
CHAR * Next();
CHAR * GetDeviceTypeFromName(LPSTR szDeviceName);
CHAR * GetDeviceNameFromType(LPSTR szDeviceType);
BOOL VerifyDeviceNameAndType(LPSTR szDeviceName, LPSTR szDeviceType);
DWORD GetNumDevices() { return m_dwNumEntries; }
DWORD GetError() { return m_dwError; }
void ResetIndex() { m_dwIndex = 0; }
};
// function prototypes
BOOL InitRNA(HWND hWnd);
VOID DeInitRNA();
DWORD EnsureRNALoaded(VOID);
#endif // _RNACALL_H_