home *** CD-ROM | disk | FTP | other *** search
- /*++
-
- 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__
-