Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
1134 lines
34 KiB
C++
1134 lines
34 KiB
C++
/*++
|
|
|
|
Copyright (c) 1995 -1997 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
mpradmin.h
|
|
|
|
Abstract:
|
|
|
|
This file contains the structures, defines and function prototypes for the
|
|
following APIs:
|
|
|
|
MprAdminIsServiceRunning
|
|
MprAdminServerConnect
|
|
MprAdminServerDisconnect
|
|
MprAdminBufferFree
|
|
MprAdminPortEnum
|
|
MprAdminConnectionEnum
|
|
MprAdminPortGetInfo
|
|
MprAdminConnectionGetInfo
|
|
MprAdminPortClearStats
|
|
MprAdminPortReset
|
|
MprAdminConnectionClearStats
|
|
MprAdminPortDisconnect
|
|
MprAdminGetErrorString
|
|
|
|
MprAdminAcceptNewConnection
|
|
MprAdminAcceptNewLink
|
|
MprAdminConnectionHangupNotification
|
|
MprAdminLinkHangupNotification
|
|
MprAdminGetIpAddressForUser
|
|
MprAdminReleaseIpAddress
|
|
|
|
MprAdminUserGetInfo
|
|
MprAdminUserSetInfo
|
|
MprAdminGetPDCServer
|
|
|
|
MprAdminIsServiceRunning
|
|
MprAdminServerConnect
|
|
MprAdminServerDisconnect
|
|
MprAdminBufferFree
|
|
MprAdminServerGetInfo
|
|
MprAdminGetErrorString
|
|
MprAdminTransportSetInfo
|
|
MprAdminTransportGetInfo
|
|
MprAdminInterfaceCreate
|
|
MprAdminInterfaceDelete
|
|
MprAdminInterfaceGetInfo
|
|
MprAdminInterfaceTransportAdd
|
|
MprAdminInterfaceTransportGetInfo
|
|
MprAdminInterfaceTransportSetInfo
|
|
MprAdminInterfaceTransportProtoDisable
|
|
MprAdminInterfaceTransportProtoEnable
|
|
MprAdminInterfaceTransportRemove
|
|
MprAdminInterfaceGetHandle
|
|
MprAdminInterfaceSetCredentials
|
|
MprAdminInterfaceGetCredentials
|
|
MprAdminInterfaceEnum
|
|
MprAdminInterfaceConnect
|
|
MprAdminInterfaceDisconnect
|
|
MprAdminInterfaceUpdateRoutes
|
|
MprAdminInterfaceQueryUpdateResult
|
|
MprAdminInterfaceUpdatePhonebookInfo
|
|
|
|
MprAdminMIBServerConnect
|
|
MprAdminMIBServerDisconnect
|
|
MprAdminMIBBufferFree
|
|
MprAdminMIBEntryCreate
|
|
MprAdminMIBEntryDelete
|
|
MprAdminMIBEntryGet
|
|
MprAdminMIBEntrySet
|
|
MprAdminMIBEntryGetFirst
|
|
MprAdminMIBEntryGetNext
|
|
MprAdminMIBSetTrapInfo
|
|
MprAdminMIBGetTrapInfo
|
|
|
|
All MIB APIs operate with the conceptual MIB row.
|
|
|
|
MprConfigServerConnect
|
|
MprConfigServerDisconnect
|
|
MprConfigBufferFree
|
|
MprConfigServerGetInfo
|
|
MprConfigServerBackup
|
|
MprConfigServerRestore
|
|
MprConfigTransportCreate
|
|
MprConfigTransportDelete
|
|
MprConfigTransportGetHandle
|
|
MprConfigTransportSetInfo
|
|
MprConfigTransportGetInfo
|
|
MprConfigTransportEnum
|
|
MprConfigInterfaceCreate
|
|
MprConfigInterfaceDelete
|
|
MprConfigInterfaceGetHandle
|
|
MprConfigInterfaceGetInfo
|
|
MprConfigInterfaceEnum
|
|
MprConfigInterfaceTransportAdd
|
|
MprConfigInterfaceTransportRemove
|
|
MprConfigInterfaceTransportGetHandle
|
|
MprConfigInterfaceTransportGetInfo
|
|
MprConfigInterfaceTransportSetInfo
|
|
MprConfigInterfaceTransportEnum
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef __ROUTING_MPRADMIN_H__
|
|
#define __ROUTING_MPRADMIN_H__
|
|
|
|
#include <lmcons.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
//
|
|
// Name of the Routing and RemoteAccess Service
|
|
//
|
|
|
|
#define RRAS_SERVICE_NAME TEXT("RemoteAccess")
|
|
|
|
//
|
|
// Protocol IDs
|
|
//
|
|
|
|
#define PID_IPX 0x0000002B
|
|
#define PID_IP 0x00000021
|
|
#define PID_NBF 0x0000003F
|
|
|
|
#define MAX_INTERFACE_NAME_LEN 256
|
|
#define MAX_TRANSPORT_NAME_LEN 40
|
|
#define MAX_MEDIA_NAME 16
|
|
#define MAX_PORT_NAME 16
|
|
#define MAX_DEVICE_NAME 128
|
|
#define MAX_PHONE_NUMBER_LEN 128
|
|
#define MAX_DEVICETYPE_NAME 16
|
|
|
|
//
|
|
// MPR Interface structures and definitions.
|
|
//
|
|
|
|
//
|
|
// MPR Interface types
|
|
//
|
|
|
|
typedef enum _ROUTER_INTERFACE_TYPE
|
|
{
|
|
ROUTER_IF_TYPE_CLIENT,
|
|
ROUTER_IF_TYPE_HOME_ROUTER,
|
|
ROUTER_IF_TYPE_FULL_ROUTER,
|
|
ROUTER_IF_TYPE_DEDICATED,
|
|
ROUTER_IF_TYPE_INTERNAL,
|
|
ROUTER_IF_TYPE_LOOPBACK
|
|
|
|
} ROUTER_INTERFACE_TYPE;
|
|
|
|
typedef enum _ROUTER_CONNECTION_STATE
|
|
{
|
|
ROUTER_IF_STATE_UNREACHABLE,
|
|
ROUTER_IF_STATE_DISCONNECTED,
|
|
ROUTER_IF_STATE_CONNECTING,
|
|
ROUTER_IF_STATE_CONNECTED
|
|
|
|
} ROUTER_CONNECTION_STATE;
|
|
|
|
#define MPR_INTERFACE_OUT_OF_RESOURCES 0x00000001
|
|
#define MPR_INTERFACE_ADMIN_DISABLED 0x00000002
|
|
#define MPR_INTERFACE_CONNECTION_FAILURE 0x00000004
|
|
#define MPR_INTERFACE_SERVICE_PAUSED 0x00000008
|
|
|
|
typedef struct _MPR_INTERFACE_0
|
|
{
|
|
IN OUT WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
|
|
OUT HANDLE hInterface;
|
|
IN OUT BOOL fEnabled;
|
|
IN OUT ROUTER_INTERFACE_TYPE dwIfType;
|
|
OUT ROUTER_CONNECTION_STATE dwConnectionState;
|
|
OUT DWORD fUnReachabilityReasons;
|
|
OUT DWORD dwLastError;
|
|
|
|
} MPR_INTERFACE_0, *PMPR_INTERFACE_0;
|
|
|
|
|
|
typedef struct _MPR_TRANSPORT_0
|
|
{
|
|
OUT DWORD dwTransportId;
|
|
OUT HANDLE hTransport;
|
|
OUT WCHAR wszTransportName[MAX_TRANSPORT_NAME_LEN+1];
|
|
|
|
} MPR_TRANSPORT_0, *PMPR_TRANSPORT_0;
|
|
|
|
|
|
typedef struct _MPR_IFTRANSPORT_0
|
|
{
|
|
OUT DWORD dwTransportId;
|
|
OUT HANDLE hIfTransport;
|
|
OUT WCHAR wszIfTransportName[MAX_TRANSPORT_NAME_LEN+1];
|
|
|
|
} MPR_IFTRANSPORT_0, *PMPR_IFTRANSPORT_0;
|
|
|
|
typedef struct _MPR_SERVER_0
|
|
{
|
|
OUT BOOL fLanOnlyMode;
|
|
OUT DWORD dwUpTime; // In seconds
|
|
OUT DWORD dwTotalPorts;
|
|
OUT DWORD dwPortsInUse;
|
|
|
|
} MPR_SERVER_0, *PMPR_SERVER_0;
|
|
|
|
//
|
|
// Port condition codes
|
|
//
|
|
|
|
typedef enum _RAS_PORT_CONDITION
|
|
{
|
|
RAS_PORT_NON_OPERATIONAL,
|
|
RAS_PORT_DISCONNECTED,
|
|
RAS_PORT_CALLING_BACK,
|
|
RAS_PORT_LISTENING,
|
|
RAS_PORT_AUTHENTICATING,
|
|
RAS_PORT_AUTHENTICATED,
|
|
RAS_PORT_INITIALIZING
|
|
|
|
} RAS_PORT_CONDITION;
|
|
|
|
//
|
|
// Hardware condition codes
|
|
//
|
|
|
|
typedef enum _RAS_HARDWARE_CONDITION
|
|
{
|
|
RAS_HARDWARE_OPERATIONAL,
|
|
RAS_HARDWARE_FAILURE
|
|
|
|
} RAS_HARDWARE_CONDITION;
|
|
|
|
typedef struct _RAS_PORT_0
|
|
{
|
|
OUT HANDLE hPort;
|
|
OUT HANDLE hConnection;
|
|
OUT RAS_PORT_CONDITION dwPortCondition;
|
|
OUT DWORD dwTotalNumberOfCalls;
|
|
OUT DWORD dwConnectDuration; // In seconds
|
|
OUT WCHAR wszPortName[ MAX_PORT_NAME + 1 ];
|
|
OUT WCHAR wszMediaName[ MAX_MEDIA_NAME + 1 ];
|
|
OUT WCHAR wszDeviceName[ MAX_DEVICE_NAME + 1 ];
|
|
OUT WCHAR wszDeviceType[ MAX_DEVICETYPE_NAME + 1 ];
|
|
|
|
} RAS_PORT_0, *PRAS_PORT_0;
|
|
|
|
typedef struct _RAS_PORT_1
|
|
{
|
|
OUT HANDLE hPort;
|
|
OUT HANDLE hConnection;
|
|
OUT RAS_HARDWARE_CONDITION dwHardwareCondition;
|
|
OUT DWORD dwLineSpeed; // in bits/second
|
|
OUT DWORD dwBytesXmited;
|
|
OUT DWORD dwBytesRcved;
|
|
OUT DWORD dwFramesXmited;
|
|
OUT DWORD dwFramesRcved;
|
|
OUT DWORD dwCrcErr;
|
|
OUT DWORD dwTimeoutErr;
|
|
OUT DWORD dwAlignmentErr;
|
|
OUT DWORD dwHardwareOverrunErr;
|
|
OUT DWORD dwFramingErr;
|
|
OUT DWORD dwBufferOverrunErr;
|
|
OUT DWORD dwCompressionRatioIn;
|
|
OUT DWORD dwCompressionRatioOut;
|
|
} RAS_PORT_1, *PRAS_PORT_1;
|
|
|
|
//
|
|
// Maximum length of address string, e.g. "255.255.255.255" for IP.
|
|
//
|
|
|
|
#define IPADDRESSLEN 15
|
|
#define IPXADDRESSLEN 22
|
|
#define ATADDRESSLEN 32
|
|
|
|
typedef struct _PPP_NBFCP_INFO
|
|
{
|
|
OUT DWORD dwError;
|
|
OUT WCHAR wszWksta[ NETBIOS_NAME_LEN + 1 ];
|
|
}
|
|
PPP_NBFCP_INFO;
|
|
|
|
typedef struct _PPP_IPCP_INFO
|
|
{
|
|
OUT DWORD dwError;
|
|
OUT WCHAR wszAddress[ IPADDRESSLEN + 1 ];
|
|
OUT WCHAR wszRemoteAddress[ IPADDRESSLEN + 1 ];
|
|
}
|
|
PPP_IPCP_INFO;
|
|
|
|
typedef struct _PPP_IPXCP_INFO
|
|
{
|
|
OUT DWORD dwError;
|
|
OUT WCHAR wszAddress[ IPXADDRESSLEN + 1 ];
|
|
}
|
|
PPP_IPXCP_INFO;
|
|
|
|
typedef struct _PPP_ATCP_INFO
|
|
{
|
|
OUT DWORD dwError;
|
|
OUT WCHAR wszAddress[ ATADDRESSLEN + 1 ];
|
|
}
|
|
PPP_ATCP_INFO;
|
|
|
|
typedef struct _PPP_INFO
|
|
{
|
|
OUT PPP_NBFCP_INFO nbf;
|
|
OUT PPP_IPCP_INFO ip;
|
|
OUT PPP_IPXCP_INFO ipx;
|
|
OUT PPP_ATCP_INFO at;
|
|
|
|
} PPP_INFO;
|
|
|
|
//
|
|
// Possible bits set in Connection Flags field
|
|
//
|
|
|
|
#define RAS_FLAGS_PPP_CONNECTION 0x00000001
|
|
#define RAS_FLAGS_MESSENGER_PRESENT 0x00000002
|
|
#define RAS_FLAGS_RAS_CONNECTION 0x00000004
|
|
#define RAS_FLAGS_ARAP_CONNECTION 0x00000008
|
|
|
|
typedef struct _RAS_CONNECTION_0
|
|
{
|
|
OUT HANDLE hConnection;
|
|
OUT HANDLE hInterface;
|
|
OUT DWORD dwConnectDuration; // In seconds
|
|
OUT ROUTER_INTERFACE_TYPE dwInterfaceType;
|
|
OUT DWORD dwConnectionFlags;
|
|
OUT WCHAR wszInterfaceName[ MAX_INTERFACE_NAME_LEN + 1 ];
|
|
OUT WCHAR wszUserName[ UNLEN + 1 ];
|
|
OUT WCHAR wszLogonDomain[ DNLEN + 1 ];
|
|
OUT WCHAR wszRemoteComputer[ NETBIOS_NAME_LEN + 1 ];
|
|
|
|
} RAS_CONNECTION_0, *PRAS_CONNECTION_0;
|
|
|
|
typedef struct _RAS_CONNECTION_1
|
|
{
|
|
OUT HANDLE hConnection;
|
|
OUT HANDLE hInterface;
|
|
OUT PPP_INFO PppInfo;
|
|
OUT DWORD dwBytesXmited;
|
|
OUT DWORD dwBytesRcved;
|
|
OUT DWORD dwFramesXmited;
|
|
OUT DWORD dwFramesRcved;
|
|
OUT DWORD dwCrcErr;
|
|
OUT DWORD dwTimeoutErr;
|
|
OUT DWORD dwAlignmentErr;
|
|
OUT DWORD dwHardwareOverrunErr;
|
|
OUT DWORD dwFramingErr;
|
|
OUT DWORD dwBufferOverrunErr;
|
|
OUT DWORD dwCompressionRatioIn;
|
|
OUT DWORD dwCompressionRatioOut;
|
|
|
|
} RAS_CONNECTION_1, *PRAS_CONNECTION_1;
|
|
|
|
//
|
|
// Structures used by the MPRADMIN USER APIs. Use level 0 to get/set this
|
|
// structure.
|
|
//
|
|
//
|
|
// Bits indicating user's Remote Access privileges and mask to isolate
|
|
// call back privilege.
|
|
//
|
|
// Note: Bit 0 MUST represent NoCallback due to a quirk of the "userparms"
|
|
// storage method. When a new LAN Manager user is created, bit 0 of the
|
|
// userparms field is set to 1 and all other bits are 0. These bits are
|
|
// arranged so this "no Dial-In info" state maps to the "default Dial-In
|
|
// privilege" state.
|
|
|
|
#define RASPRIV_NoCallback 0x01
|
|
#define RASPRIV_AdminSetCallback 0x02
|
|
#define RASPRIV_CallerSetCallback 0x04
|
|
#define RASPRIV_DialinPrivilege 0x08
|
|
|
|
#define RASPRIV_CallbackType (RASPRIV_AdminSetCallback \
|
|
| RASPRIV_CallerSetCallback \
|
|
| RASPRIV_NoCallback)
|
|
|
|
typedef struct _RAS_USER_0
|
|
{
|
|
OUT BYTE bfPrivilege;
|
|
OUT WCHAR wszPhoneNumber[ MAX_PHONE_NUMBER_LEN + 1];
|
|
|
|
} RAS_USER_0, *PRAS_USER_0;
|
|
|
|
|
|
//
|
|
// Used as RPC binding handle to server
|
|
//
|
|
|
|
typedef HANDLE RAS_SERVER_HANDLE;
|
|
typedef HANDLE MPR_SERVER_HANDLE;
|
|
typedef HANDLE MIB_SERVER_HANDLE;
|
|
|
|
//
|
|
// RAS ADMIN APIs
|
|
//
|
|
|
|
DWORD APIENTRY
|
|
MprAdminConnectionEnum(
|
|
IN RAS_SERVER_HANDLE hRasServer,
|
|
IN DWORD dwLevel,
|
|
OUT LPBYTE * lplpbBuffer,
|
|
IN DWORD dwPrefMaxLen,
|
|
OUT LPDWORD lpdwEntriesRead,
|
|
OUT LPDWORD lpdwTotalEntries,
|
|
IN LPDWORD lpdwResumeHandle OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminPortEnum(
|
|
IN RAS_SERVER_HANDLE hRasServer,
|
|
IN DWORD dwLevel,
|
|
IN HANDLE hConnection,
|
|
OUT LPBYTE * lplpbBuffer,
|
|
IN DWORD dwPrefMaxLen,
|
|
OUT LPDWORD lpdwEntriesRead,
|
|
OUT LPDWORD lpdwTotalEntries,
|
|
IN LPDWORD lpdwResumeHandle OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminConnectionGetInfo(
|
|
IN RAS_SERVER_HANDLE hRasServer,
|
|
IN DWORD dwLevel,
|
|
IN HANDLE hConnection,
|
|
OUT LPBYTE * lplpbBuffer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminPortGetInfo(
|
|
IN RAS_SERVER_HANDLE hRasServer,
|
|
IN DWORD dwLevel,
|
|
IN HANDLE hPort,
|
|
OUT LPBYTE * lplpbBuffer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminConnectionClearStats(
|
|
IN RAS_SERVER_HANDLE hRasServer,
|
|
IN HANDLE hConnection
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminPortClearStats(
|
|
IN RAS_SERVER_HANDLE hRasServer,
|
|
IN HANDLE hPort
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminPortReset(
|
|
IN RAS_SERVER_HANDLE hRasServer,
|
|
IN HANDLE hPort
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminPortDisconnect(
|
|
IN RAS_SERVER_HANDLE hRasServer,
|
|
IN HANDLE hPort
|
|
);
|
|
|
|
BOOL APIENTRY
|
|
MprAdminAcceptNewConnection (
|
|
IN RAS_CONNECTION_0 * pRasConnection0,
|
|
IN RAS_CONNECTION_1 * pRasConnection1
|
|
);
|
|
|
|
BOOL APIENTRY
|
|
MprAdminAcceptNewLink (
|
|
IN RAS_PORT_0 * pRasPort0,
|
|
IN RAS_PORT_1 * pRasPort1
|
|
);
|
|
|
|
VOID APIENTRY
|
|
MprAdminConnectionHangupNotification (
|
|
IN RAS_CONNECTION_0 * pRasConnection0,
|
|
IN RAS_CONNECTION_1 * pRasConnection1
|
|
);
|
|
|
|
VOID APIENTRY
|
|
MprAdminLinkHangupNotification (
|
|
IN RAS_PORT_0 * pRasPort0,
|
|
IN RAS_PORT_1 * pRasPort1
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminGetIpAddressForUser (
|
|
IN WCHAR * lpwszUserName,
|
|
IN WCHAR * lpwszPortName,
|
|
IN OUT DWORD * lpdwIpAddress,
|
|
OUT BOOL * bNotifyRelease
|
|
);
|
|
|
|
VOID APIENTRY
|
|
MprAdminReleaseIpAddress (
|
|
IN WCHAR * lpszUserName,
|
|
IN WCHAR * lpszPortName,
|
|
IN DWORD * lpdwIpAddress
|
|
);
|
|
|
|
//
|
|
// MprAdminUser APIs
|
|
//
|
|
|
|
DWORD APIENTRY
|
|
MprAdminUserGetInfo(
|
|
IN const WCHAR * lpszServer,
|
|
IN const WCHAR * lpszUser,
|
|
IN DWORD dwLevel,
|
|
OUT LPBYTE lpbBuffer
|
|
);
|
|
|
|
|
|
DWORD APIENTRY
|
|
MprAdminUserSetInfo(
|
|
IN const WCHAR * lpszServer,
|
|
IN const WCHAR * lpszUser,
|
|
IN DWORD dwLevel,
|
|
IN const LPBYTE lpbBuffer
|
|
);
|
|
|
|
|
|
DWORD APIENTRY
|
|
MprAdminGetPDCServer(
|
|
IN const WCHAR * lpszDomain,
|
|
IN const WCHAR * lpszServer,
|
|
OUT LPWSTR lpszPDCServer
|
|
);
|
|
|
|
//
|
|
// Router APIs
|
|
//
|
|
|
|
BOOL APIENTRY
|
|
MprAdminIsServiceRunning(
|
|
IN LPWSTR lpwsServerName
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminServerConnect(
|
|
IN LPWSTR lpwsServerName OPTIONAL,
|
|
OUT MPR_SERVER_HANDLE * phMprServer
|
|
);
|
|
|
|
VOID APIENTRY
|
|
MprAdminServerDisconnect(
|
|
IN MPR_SERVER_HANDLE hMprServer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminBufferFree(
|
|
IN LPVOID pBuffer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminGetErrorString(
|
|
IN DWORD dwError,
|
|
OUT LPWSTR * lpwsErrorString
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminServerGetInfo(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN DWORD dwLevel,
|
|
OUT LPBYTE * lplpbBuffer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminTransportSetInfo(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN DWORD dwTransportId,
|
|
IN LPBYTE pGlobalInfo OPTIONAL,
|
|
IN DWORD dwGlobalInfoSize,
|
|
IN LPBYTE pClientInterfaceInfo OPTIONAL,
|
|
IN DWORD dwClientInterfaceInfoSize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminTransportGetInfo(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN DWORD dwTransportId,
|
|
OUT LPBYTE * ppGlobalInfo OPTIONAL,
|
|
OUT LPDWORD lpdwGlobalInfoSize OPTIONAL,
|
|
OUT LPBYTE * ppClientInterfaceInfo OPTIONAL,
|
|
OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceTransportProtoDisable(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwTransportId,
|
|
IN DWORD dwProtocolId
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceTransportProtoEnable(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwTransportId,
|
|
IN DWORD dwProtocolId
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceGetHandle(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN LPWSTR lpwsInterfaceName,
|
|
OUT HANDLE * phInterface,
|
|
IN BOOL fIncludeClientInterfaces
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceCreate(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN DWORD dwLevel,
|
|
IN LPBYTE lpbBuffer,
|
|
OUT HANDLE * phInterface
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceGetInfo(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwLevel,
|
|
IN LPBYTE * lplpbBuffer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceSetInfo(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwLevel,
|
|
IN LPBYTE lpbBuffer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceDelete(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceTransportRemove(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwTransportId
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceTransportAdd(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwTransportId,
|
|
IN LPBYTE pInterfaceInfo,
|
|
IN DWORD dwInterfaceInfoSize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceTransportGetInfo(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwTransportId,
|
|
OUT LPBYTE * ppInterfaceInfo,
|
|
OUT LPDWORD lpdwpInterfaceInfoSize OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceTransportSetInfo(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwTransportId,
|
|
IN LPBYTE pInterfaceInfo,
|
|
IN DWORD dwInterfaceInfoSize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceEnum(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN DWORD dwLevel,
|
|
OUT LPBYTE * lplpbBuffer,
|
|
IN DWORD dwPrefMaxLen,
|
|
OUT LPDWORD lpdwEntriesRead,
|
|
OUT LPDWORD lpdwTotalEntries,
|
|
IN LPDWORD lpdwResumeHandle OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceSetCredentials(
|
|
IN LPWSTR lpwsServer OPTIONAL,
|
|
IN LPWSTR lpwsInterfaceName,
|
|
IN LPWSTR lpwsUserName OPTIONAL,
|
|
IN LPWSTR lpwsDomainName OPTIONAL,
|
|
IN LPWSTR lpwsPassword OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceGetCredentials(
|
|
IN LPWSTR lpwsServer OPTIONAL,
|
|
IN LPWSTR lpwsInterfaceName,
|
|
IN LPWSTR lpwsUserName OPTIONAL,
|
|
IN LPWSTR lpwsPassword OPTIONAL,
|
|
IN LPWSTR lpwsDomainName OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceConnect(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN HANDLE hEvent,
|
|
IN BOOL fSynchronous
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceDisconnect(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceUpdateRoutes(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwProtocolId,
|
|
IN HANDLE hEvent
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceQueryUpdateResult(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface,
|
|
IN DWORD dwProtocolId,
|
|
OUT LPDWORD lpdwUpdateResult
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminInterfaceUpdatePhonebookInfo(
|
|
IN MPR_SERVER_HANDLE hMprServer,
|
|
IN HANDLE hInterface
|
|
);
|
|
|
|
//
|
|
// MIB APIs
|
|
//
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBServerConnect(
|
|
IN LPWSTR lpwsServerName OPTIONAL,
|
|
OUT MIB_SERVER_HANDLE * phMibServer
|
|
);
|
|
|
|
VOID APIENTRY
|
|
MprAdminMIBServerDisconnect(
|
|
IN MIB_SERVER_HANDLE hMibServer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBEntryCreate(
|
|
IN MIB_SERVER_HANDLE hMibServer,
|
|
IN DWORD dwPid,
|
|
IN DWORD dwRoutingPid,
|
|
IN LPVOID lpEntry,
|
|
IN DWORD dwEntrySize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBEntryDelete(
|
|
IN MIB_SERVER_HANDLE hMibServer,
|
|
IN DWORD dwProtocolId,
|
|
IN DWORD dwRoutingPid,
|
|
IN LPVOID lpEntry,
|
|
IN DWORD dwEntrySize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBEntrySet(
|
|
IN MIB_SERVER_HANDLE hMibServer,
|
|
IN DWORD dwProtocolId,
|
|
IN DWORD dwRoutingPid,
|
|
IN LPVOID lpEntry,
|
|
IN DWORD dwEntrySize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBEntryGet(
|
|
IN MIB_SERVER_HANDLE hMibServer,
|
|
IN DWORD dwProtocolId,
|
|
IN DWORD dwRoutingPid,
|
|
IN LPVOID lpInEntry,
|
|
IN DWORD dwInEntrySize,
|
|
OUT LPVOID* lplpOutEntry,
|
|
OUT LPDWORD lpOutEntrySize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBEntryGetFirst(
|
|
IN MIB_SERVER_HANDLE hMibServer,
|
|
IN DWORD dwProtocolId,
|
|
IN DWORD dwRoutingPid,
|
|
IN LPVOID lpInEntry,
|
|
IN DWORD dwInEntrySize,
|
|
OUT LPVOID* lplpOutEntry,
|
|
OUT LPDWORD lpOutEntrySize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBEntryGetNext(
|
|
IN MIB_SERVER_HANDLE hMibServer,
|
|
IN DWORD dwProtocolId,
|
|
IN DWORD dwRoutingPid,
|
|
IN LPVOID lpInEntry,
|
|
IN DWORD dwInEntrySize,
|
|
OUT LPVOID* lplpOutEntry,
|
|
OUT LPDWORD lpOutEntrySize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBGetTrapInfo(
|
|
IN MIB_SERVER_HANDLE hMibServer,
|
|
IN DWORD dwProtocolId,
|
|
IN DWORD dwRoutingPid,
|
|
IN LPVOID lpInData,
|
|
IN DWORD dwInDataSize,
|
|
OUT LPVOID* lplpOutData,
|
|
IN OUT LPDWORD lpOutDataSize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBSetTrapInfo(
|
|
IN DWORD dwProtocolId,
|
|
IN DWORD dwRoutingPid,
|
|
IN HANDLE hEvent,
|
|
IN LPVOID lpInData,
|
|
IN DWORD dwInDataSize,
|
|
OUT LPVOID* lplpOutData,
|
|
IN OUT LPDWORD lpOutDataSize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprAdminMIBBufferFree(
|
|
IN LPVOID pBuffer
|
|
);
|
|
|
|
|
|
|
|
//
|
|
// Configuration APIs
|
|
//
|
|
|
|
DWORD APIENTRY
|
|
MprConfigServerConnect(
|
|
IN LPWSTR lpwsServerName,
|
|
OUT HANDLE* phMprConfig
|
|
);
|
|
|
|
VOID APIENTRY
|
|
MprConfigServerDisconnect(
|
|
IN HANDLE hMprConfig
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigBufferFree(
|
|
IN LPVOID pBuffer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigServerGetInfo(
|
|
IN HANDLE hMprConfig,
|
|
IN DWORD dwLevel,
|
|
OUT LPBYTE * lplpbBuffer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigServerBackup(
|
|
IN HANDLE hMprConfig,
|
|
IN LPWSTR lpwsPath
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigServerRestore(
|
|
IN HANDLE hMprConfig,
|
|
IN LPWSTR lpwsPath
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigTransportCreate(
|
|
IN HANDLE hMprConfig,
|
|
IN DWORD dwTransportId,
|
|
IN LPWSTR lpwsTransportName OPTIONAL,
|
|
IN LPBYTE pGlobalInfo,
|
|
IN DWORD dwGlobalInfoSize,
|
|
IN LPBYTE pClientInterfaceInfo OPTIONAL,
|
|
IN DWORD dwClientInterfaceInfoSize OPTIONAL,
|
|
IN LPWSTR lpwsDLLPath,
|
|
OUT HANDLE* phRouterTransport
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigTransportDelete(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterTransport
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigTransportGetHandle(
|
|
IN HANDLE hMprConfig,
|
|
IN DWORD dwTransportId,
|
|
OUT HANDLE* phRouterTransport
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigTransportSetInfo(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterTransport,
|
|
IN LPBYTE pGlobalInfo OPTIONAL,
|
|
IN DWORD dwGlobalInfoSize OPTIONAL,
|
|
IN LPBYTE pClientInterfaceInfo OPTIONAL,
|
|
IN DWORD dwClientInterfaceInfoSize OPTIONAL,
|
|
IN LPWSTR lpwsDLLPath OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigTransportGetInfo(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterTransport,
|
|
IN OUT LPBYTE* ppGlobalInfo OPTIONAL,
|
|
OUT LPDWORD lpdwGlobalInfoSize OPTIONAL,
|
|
IN OUT LPBYTE* ppClientInterfaceInfo OPTIONAL,
|
|
OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL,
|
|
IN OUT LPWSTR* lplpwsDLLPath OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigTransportEnum(
|
|
IN HANDLE hMprConfig,
|
|
IN DWORD dwLevel,
|
|
IN OUT LPBYTE* lplpBuffer,
|
|
IN DWORD dwPrefMaxLen,
|
|
OUT LPDWORD lpdwEntriesRead,
|
|
OUT LPDWORD lpdwTotalEntries,
|
|
IN OUT LPDWORD lpdwResumeHandle OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceCreate(
|
|
IN HANDLE hMprConfig,
|
|
IN DWORD dwLevel,
|
|
IN LPBYTE lpbBuffer,
|
|
OUT HANDLE* phRouterInterface
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceDelete(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterInterface
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceGetHandle(
|
|
IN HANDLE hMprConfig,
|
|
IN LPWSTR lpwsInterfaceName,
|
|
OUT HANDLE* phRouterInterface
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceGetInfo(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterInterface,
|
|
IN DWORD dwLevel,
|
|
IN OUT LPBYTE* lplpBuffer,
|
|
OUT LPDWORD lpdwBufferSize
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceSetInfo(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterInterface,
|
|
IN DWORD dwLevel,
|
|
IN LPBYTE lpbBuffer
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceEnum(
|
|
IN HANDLE hMprConfig,
|
|
IN DWORD dwLevel,
|
|
IN OUT LPBYTE* lplpBuffer,
|
|
IN DWORD dwPrefMaxLen,
|
|
OUT LPDWORD lpdwEntriesRead,
|
|
OUT LPDWORD lpdwTotalEntries,
|
|
IN OUT LPDWORD lpdwResumeHandle OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceTransportAdd(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterInterface,
|
|
IN DWORD dwTransportId,
|
|
IN LPWSTR lpwsTransportName OPTIONAL,
|
|
IN LPBYTE pInterfaceInfo,
|
|
IN DWORD dwInterfaceInfoSize,
|
|
OUT HANDLE* phRouterIfTransport
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceTransportRemove(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterInterface,
|
|
IN HANDLE hRouterIfTransport
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceTransportGetHandle(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterInterface,
|
|
IN DWORD dwTransportId,
|
|
OUT HANDLE* phRouterIfTransport
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceTransportGetInfo(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterInterface,
|
|
IN HANDLE hRouterIfTransport,
|
|
IN OUT LPBYTE* ppInterfaceInfo OPTIONAL,
|
|
OUT LPDWORD lpdwInterfaceInfoSize OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceTransportSetInfo(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterInterface,
|
|
IN HANDLE hRouterIfTransport,
|
|
IN LPBYTE pInterfaceInfo OPTIONAL,
|
|
IN DWORD dwInterfaceInfoSize OPTIONAL
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprConfigInterfaceTransportEnum(
|
|
IN HANDLE hMprConfig,
|
|
IN HANDLE hRouterInterface,
|
|
IN DWORD dwLevel,
|
|
IN OUT LPBYTE* lplpBuffer, // MPR_IFTRANSPORT_0
|
|
IN DWORD dwPrefMaxLen,
|
|
OUT LPDWORD lpdwEntriesRead,
|
|
OUT LPDWORD lpdwTotalEntries,
|
|
IN OUT LPDWORD lpdwResumeHandle OPTIONAL
|
|
);
|
|
|
|
|
|
//
|
|
// Information block APIs
|
|
//
|
|
|
|
DWORD APIENTRY
|
|
MprInfoCreate(
|
|
IN DWORD dwVersion,
|
|
OUT LPVOID* lplpNewHeader
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprInfoDelete(
|
|
IN LPVOID lpHeader
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprInfoRemoveAll(
|
|
IN LPVOID lpHeader,
|
|
OUT LPVOID* lplpNewHeader
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprInfoDuplicate(
|
|
IN LPVOID lpHeader,
|
|
OUT LPVOID* lplpNewHeader
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprInfoBlockAdd(
|
|
IN LPVOID lpHeader,
|
|
IN DWORD dwInfoType,
|
|
IN DWORD dwItemSize,
|
|
IN DWORD dwItemCount,
|
|
IN LPBYTE lpItemData,
|
|
OUT LPVOID* lplpNewHeader
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprInfoBlockRemove(
|
|
IN LPVOID lpHeader,
|
|
IN DWORD dwInfoType,
|
|
OUT LPVOID* lplpNewHeader
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprInfoBlockSet(
|
|
IN LPVOID lpHeader,
|
|
IN DWORD dwInfoType,
|
|
IN DWORD dwItemSize,
|
|
IN DWORD dwItemCount,
|
|
IN LPBYTE lpItemData,
|
|
OUT LPVOID* lplpNewHeader
|
|
);
|
|
|
|
DWORD APIENTRY
|
|
MprInfoBlockFind(
|
|
IN LPVOID lpHeader,
|
|
IN DWORD dwInfoType,
|
|
OUT LPDWORD lpdwItemSize, // OPTIONAL
|
|
OUT LPDWORD lpdwItemCount, // OPTIONAL
|
|
OUT LPBYTE* lplpItemData // OPTIONAL
|
|
);
|
|
|
|
//
|
|
// BOOL APIENTRY
|
|
// MprInfoBlockExists(
|
|
// IN LPVOID lpHeader,
|
|
// IN DWORD dwInfoType
|
|
// );
|
|
//
|
|
|
|
#define MprInfoBlockExists(h,t) \
|
|
(MprInfoBlockFind((h),(t),NULL,NULL,NULL) == NO_ERROR)
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // __ROUTING_MPRADMIN_H__
|