258 lines
4.6 KiB
C
258 lines
4.6 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (C) 1994-98 Microsft Corporation. All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
rasapip.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This file has definitions for private apis for ras connections.
|
||
|
These apis are exported from rasapi32.dll
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Rao Salapaka (raos) 30-Jan-1998
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _RASAPIP_
|
||
|
#define _RASAPIP_
|
||
|
|
||
|
#include <windef.h> //for MAX_PATH
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#define RASAPIP_MAX_DEVICE_NAME 128
|
||
|
#define RASAPIP_MAX_ENTRY_NAME 256
|
||
|
|
||
|
#define RAS_DEVICE_TYPE(_x) ((_x) & 0x0000FFFF)
|
||
|
|
||
|
#define RAS_DEVICE_CLASS(_x) ((_x) & 0xFFFF0000)
|
||
|
|
||
|
enum _RASDEVICETYPE
|
||
|
{
|
||
|
RDT_Modem = 0,
|
||
|
|
||
|
RDT_X25,
|
||
|
|
||
|
RDT_Isdn,
|
||
|
|
||
|
RDT_Serial,
|
||
|
|
||
|
RDT_FrameRelay,
|
||
|
|
||
|
RDT_Atm,
|
||
|
|
||
|
RDT_Sonet,
|
||
|
|
||
|
RDT_Sw56,
|
||
|
|
||
|
RDT_Tunnel_Pptp,
|
||
|
|
||
|
RDT_Tunnel_L2tp,
|
||
|
|
||
|
RDT_Irda,
|
||
|
|
||
|
RDT_Parallel,
|
||
|
|
||
|
RDT_Other,
|
||
|
|
||
|
//
|
||
|
// The following flags when set
|
||
|
// specify the class of the device
|
||
|
//
|
||
|
RDT_Tunnel = 0x00010000,
|
||
|
|
||
|
RDT_Direct = 0x00020000,
|
||
|
|
||
|
RDT_Null_Modem = 0x000040000
|
||
|
};
|
||
|
|
||
|
|
||
|
typedef enum _RASDEVICETYPE RASDEVICETYPE;
|
||
|
|
||
|
typedef struct _RASENUMENTRYDETAILS
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwFlags; // same as RASENTRYNAME.dwFlags
|
||
|
DWORD dwType; // same as RASENTRY.dwType
|
||
|
GUID guidId; // same as RASENTRY.guidId
|
||
|
BOOL fShowMonitorIconInTaskBar; // same as RASENTRY.fShowMonitorIconInTaskBar
|
||
|
RASDEVICETYPE rdt;
|
||
|
WCHAR szDeviceName[RASAPIP_MAX_DEVICE_NAME];
|
||
|
WCHAR szEntryName[RASAPIP_MAX_ENTRY_NAME + 1];
|
||
|
WCHAR szPhonebookPath[MAX_PATH + 1];
|
||
|
|
||
|
} RASENUMENTRYDETAILS, *LPRASENUMENTRYDETAILS;
|
||
|
|
||
|
DWORD
|
||
|
APIENTRY
|
||
|
DwEnumEntryDetails (
|
||
|
IN LPCWSTR lpszPhonebookPath,
|
||
|
OUT LPRASENUMENTRYDETAILS lprasentryname,
|
||
|
IN OUT LPDWORD lpcb,
|
||
|
OUT LPDWORD lpcEntries
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
DwCloneEntry(
|
||
|
IN LPCWSTR lpwszPhonebookPath,
|
||
|
IN LPCWSTR lpwszSrcEntryName,
|
||
|
IN LPCWSTR lpwszDstEntryName
|
||
|
);
|
||
|
|
||
|
|
||
|
// Implemented in rasman.dll
|
||
|
//
|
||
|
DWORD
|
||
|
APIENTRY
|
||
|
RasReferenceRasman (
|
||
|
IN BOOL fAttach
|
||
|
);
|
||
|
|
||
|
|
||
|
// Implemented in netcfgx.dll
|
||
|
//
|
||
|
HRESULT
|
||
|
WINAPI
|
||
|
RasAddBindings (
|
||
|
IN OUT UINT* pcIpOut,
|
||
|
IN OUT UINT* pcNbfIn,
|
||
|
IN OUT UINT* pcNbfOut);
|
||
|
|
||
|
HRESULT
|
||
|
WINAPI
|
||
|
RasCountBindings (
|
||
|
OUT UINT* pcIpOut,
|
||
|
OUT UINT* pcNbfIn,
|
||
|
OUT UINT* pcNbfOut);
|
||
|
|
||
|
HRESULT
|
||
|
WINAPI
|
||
|
RasRemoveBindings (
|
||
|
IN OUT UINT* pcIpOutBindings,
|
||
|
IN const GUID* pguidIpOutBindings,
|
||
|
IN OUT UINT* pcNbfIn,
|
||
|
IN OUT UINT* pcNbfOut);
|
||
|
|
||
|
typedef struct _RASCONFIGENDPOINTS
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwFlags;
|
||
|
INT cTotalEndpoints;
|
||
|
INT cLimitSimultaneousIncomingCalls;
|
||
|
INT cLimitSimultaneousOutgoingCalls;
|
||
|
} RASCONFIGENDPOINTS;
|
||
|
|
||
|
HRESULT
|
||
|
APIENTRY
|
||
|
RasConfigureEndpoints (
|
||
|
IN OUT RASCONFIGENDPOINTS* pInfo
|
||
|
);
|
||
|
|
||
|
|
||
|
//+---------------------------------------------------------------------------
|
||
|
// RAS Event notifications into netman.
|
||
|
//
|
||
|
typedef enum _RASEVENTTYPE
|
||
|
{
|
||
|
ENTRY_ADDED,
|
||
|
ENTRY_DELETED,
|
||
|
ENTRY_MODIFIED,
|
||
|
ENTRY_RENAMED,
|
||
|
ENTRY_CONNECTED,
|
||
|
ENTRY_CONNECTING,
|
||
|
ENTRY_DISCONNECTING,
|
||
|
ENTRY_DISCONNECTED,
|
||
|
INCOMING_CONNECTED,
|
||
|
INCOMING_DISCONNECTED,
|
||
|
SERVICE_EVENT,
|
||
|
} RASEVENTTYPE;
|
||
|
|
||
|
typedef enum _SERVICEEVENTTYPE
|
||
|
{
|
||
|
RAS_SERVICE_STARTED,
|
||
|
RAS_SERVICE_STOPPED,
|
||
|
} SERVICEEVENTTYPE;
|
||
|
|
||
|
typedef enum _RASSERVICE
|
||
|
{
|
||
|
RASMAN,
|
||
|
RASAUTO,
|
||
|
REMOTEACCESS,
|
||
|
} RASSERVICE;
|
||
|
|
||
|
typedef struct _RASEVENT
|
||
|
{
|
||
|
RASEVENTTYPE Type;
|
||
|
|
||
|
union
|
||
|
{
|
||
|
// ENTRY_ADDED,
|
||
|
// ENTRY_MODIFIED,
|
||
|
struct
|
||
|
{
|
||
|
RASENUMENTRYDETAILS Details;
|
||
|
};
|
||
|
|
||
|
// ENTRY_DELETED,
|
||
|
// ENTRY_CONNECTED,
|
||
|
// ENTRY_CONNECTING,
|
||
|
// ENTRY_DISCONNECTING,
|
||
|
// ENTRY_DISCONNECTED,
|
||
|
// INCOMING_CONNECTED,
|
||
|
// INCOMING_DISCONNECTED,
|
||
|
// guidId is valid
|
||
|
|
||
|
// ENTRY_RENAMED,
|
||
|
struct
|
||
|
{
|
||
|
GUID guidId;
|
||
|
WCHAR pszwNewName [RASAPIP_MAX_ENTRY_NAME + 1];
|
||
|
};
|
||
|
|
||
|
// SERVICE_EVENT,
|
||
|
struct
|
||
|
{
|
||
|
SERVICEEVENTTYPE Event;
|
||
|
RASSERVICE Service;
|
||
|
};
|
||
|
};
|
||
|
} RASEVENT;
|
||
|
|
||
|
typedef struct _RASENTRYHEADER
|
||
|
{
|
||
|
DWORD dwEntryType;
|
||
|
WCHAR szEntryName[RASAPIP_MAX_ENTRY_NAME + 1];
|
||
|
} RASENTRYHEADER, *PRASENTRYHEADER;
|
||
|
|
||
|
// Implemented in netman.dll
|
||
|
//
|
||
|
typedef VOID (APIENTRY *RASEVENTNOTIFYPROC)(const RASEVENT* pEvent);
|
||
|
|
||
|
VOID
|
||
|
APIENTRY
|
||
|
RasEventNotify (
|
||
|
const RASEVENT* pEvent);
|
||
|
|
||
|
DWORD
|
||
|
DwEnumEntriesForAllUsers(
|
||
|
DWORD *lpcb,
|
||
|
DWORD *lpcEntries,
|
||
|
RASENTRYHEADER * pRasEntryHeader);
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#endif // _RASAPIP_
|