Windows-Server-2003/net/published/inc/ipnathlp.w

402 lines
9.7 KiB
OpenEdge ABL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1998, Microsoft Corporation
Module Name:
ipnathlp.h
Abstract:
This module contains declarations for user-mode home-networking components.
These include the DNS proxy, the DHCP allocator, and the DirectPlay
transparent proxy.
Author:
Abolade Gbadegesin (aboladeg) 2-Mar-1998
Revision History:
Abolade Gbadegesin (aboladeg) 24-May-1999
Added declarations for the DirectPlay transparent proxy.
--*/
#ifndef _IPNATHLP_H_
#define _IPNATHLP_H_
#ifdef __cplusplus
extern "C" {
#endif
#pragma warning(push)
#pragma warning(disable:4200)
//
// COMMON DECLARATIONS
//
#define IPNATHLP_LOGGING_NONE 0
#define IPNATHLP_LOGGING_ERROR 1
#define IPNATHLP_LOGGING_WARN 2
#define IPNATHLP_LOGGING_INFO 3
#define IPNATHLP_INTERFACE_FLAG_DISABLED 0x00000001
#define IPNATHLP_CONTROL_UPDATE_SETTINGS 128
#define IPNATHLP_CONTROL_UPDATE_CONNECTION 129
#define IPNATHLP_CONTROL_UPDATE_AUTODIAL 130
#define IPNATHLP_CONTROL_UPDATE_FWLOGGER 131
#define IPNATHLP_CONTROL_UPDATE_DNS_DISABLE 132
#define IPNATHLP_CONTROL_UPDATE_DNS_ENABLE 133
#define IPNATHLP_CONTROL_UPDATE_POLICY 134
//
// NAT MIB-ACCESS DECLARATIONS (alphabetically)
//
//
// Structure: IP_NAT_MIB_QUERY
//
// This structure is passed to 'MibGet' to retrieve NAT information.
//
typedef struct _IP_NAT_MIB_QUERY {
ULONG Oid;
union {
ULONG Index[0];
UCHAR Data[0];
};
} IP_NAT_MIB_QUERY, *PIP_NAT_MIB_QUERY;
#define IP_NAT_INTERFACE_STATISTICS_OID 0
#define IP_NAT_INTERFACE_MAPPING_TABLE_OID 1
#define IP_NAT_MAPPING_TABLE_OID 2
//
// DHCP ALLOCATOR DECLARATIONS (alphabetically)
//
//
// Structure: IP_AUTO_DHCP_GLOBAL_INFO
//
// This structure holds global configuration for the DHCP allocator.
// The configuration consists of
// (a) the network and mask from which addresses are to be allocated
// (b) an optional list of addresses to be excluded from allocation.
//
typedef struct _IP_AUTO_DHCP_GLOBAL_INFO {
ULONG LoggingLevel;
ULONG Flags;
ULONG LeaseTime;
ULONG ScopeNetwork;
ULONG ScopeMask;
ULONG ExclusionCount;
ULONG ExclusionArray[0];
} IP_AUTO_DHCP_GLOBAL_INFO, *PIP_AUTO_DHCP_GLOBAL_INFO;
//
// Structure: IP_AUTO_DHCP_INTERFACE_INFO
//
// This structure holds per-interface configuration for the DHCP allocator.
// The configuration currently only allows the allocator to be disabled
// on the given interface. Since the allocator runs in promiscuous-interface
// mode, it is enabled by default on all interfaces. Thus, the only interfaces
// which require any configuration are those on which the allocator is to be
// disabled.
//
typedef struct _IP_AUTO_DHCP_INTERFACE_INFO {
ULONG Flags;
} IP_AUTO_DHCP_INTERFACE_INFO, *PIP_AUTO_DHCP_INTERFACE_INFO;
#define IP_AUTO_DHCP_INTERFACE_FLAG_DISABLED \
IPNATHLP_INTERFACE_FLAG_DISABLED
//
// Structure: IP_AUTO_DHCP_MIB_QUERY
//
// This structure is passed to 'MibGet' to retrieve DHCP allocator information.
//
typedef struct _IP_AUTO_DHCP_MIB_QUERY {
ULONG Oid;
union {
ULONG Index[0];
UCHAR Data[0];
};
} IP_AUTO_DHCP_MIB_QUERY, *PIP_AUTO_DHCP_MIB_QUERY;
//
// Structure : IP_AUTO_DHCP_STATISTICS
//
// This structure defines the statistics kept by the DHCP allocator,
// and accessible via 'MibGet'.
//
typedef struct _IP_AUTO_DHCP_STATISTICS {
ULONG MessagesIgnored;
ULONG BootpOffersSent;
ULONG DiscoversReceived;
ULONG InformsReceived;
ULONG OffersSent;
ULONG RequestsReceived;
ULONG AcksSent;
ULONG NaksSent;
ULONG DeclinesReceived;
ULONG ReleasesReceived;
} IP_AUTO_DHCP_STATISTICS, *PIP_AUTO_DHCP_STATISTICS;
#define IP_AUTO_DHCP_STATISTICS_OID 0
//
// DNS PROXY DECLARATIONS (alphabetically)
//
//
// Structure: IP_DNS_PROXY_GLOBAL_INFO
//
// This structure holds global configuration for the DNS proxy.
//
typedef struct _IP_DNS_PROXY_GLOBAL_INFO {
ULONG LoggingLevel;
ULONG Flags;
ULONG TimeoutSeconds;
} IP_DNS_PROXY_GLOBAL_INFO, *PIP_DNS_PROXY_GLOBAL_INFO;
#define IP_DNS_PROXY_FLAG_ENABLE_DNS 0x00000001
#define IP_DNS_PROXY_FLAG_ENABLE_WINS 0x00000002
//
// Structure: IP_DNS_PROXY_INTERFACE_INFO
//
// This structure holds per-interface configuration for the DNS proxy.
// The configuration currently only allows the proxy to be disabled
// on a given interface. The proxy runs in promiscuous-interface mode
// so that all interfaces are added to it and it is enabled on all of them
// by default. Hence, the configuration need only be present for those
// interfaces on which the proxy is not to be run.
//
typedef struct _IP_DNS_PROXY_INTERFACE_INFO {
ULONG Flags;
} IP_DNS_PROXY_INTERFACE_INFO, *PIP_DNS_PROXY_INTERFACE_INFO;
#define IP_DNS_PROXY_INTERFACE_FLAG_DISABLED \
IPNATHLP_INTERFACE_FLAG_DISABLED
#define IP_DNS_PROXY_INTERFACE_FLAG_DEFAULT 0x00000002
//
// Structure: IP_DNS_PROXY_MIB_QUERY
//
// This structure is passed to 'MibGet' to retrieve DNS proxy information.
//
typedef struct _IP_DNS_PROXY_MIB_QUERY {
ULONG Oid;
union {
ULONG Index[0];
UCHAR Data[0];
};
} IP_DNS_PROXY_MIB_QUERY, *PIP_DNS_PROXY_MIB_QUERY;
//
// Structure: IP_DNS_PROXY_STATISTICS
//
typedef struct _IP_DNS_PROXY_STATISTICS {
ULONG MessagesIgnored;
ULONG QueriesReceived;
ULONG ResponsesReceived;
ULONG QueriesSent;
ULONG ResponsesSent;
} IP_DNS_PROXY_STATISTICS, *PIP_DNS_PROXY_STATISTICS;
#define IP_DNS_PROXY_STATISTICS_OID 0
//
// Structure: IP_FTP_GLOBAL_INFO
//
// This structure holds global configuration for the DirectPlay transparent
// proxy.
//
typedef struct IP_FTP_GLOBAL_INFO {
ULONG LoggingLevel;
ULONG Flags;
} IP_FTP_GLOBAL_INFO, *PIP_FTP_GLOBAL_INFO;
//
// Structure: IP_FTP_INTERFACE_INFO
//
// This structure holds per-interface configuration for the transparent proxy.
// The configuration currently only allows the proxy to be disabled
// on a given interface. The proxy runs in promiscuous-interface mode
// so that all interfaces are added to it and it is enabled on all of them
// by default. Hence, the configuration need only be present for those
// interfaces on which the proxy is not to be run.
//
typedef struct _IP_FTP_INTERFACE_INFO {
ULONG Flags;
} IP_FTP_INTERFACE_INFO, *PIP_FTP_INTERFACE_INFO;
#define IP_FTP_INTERFACE_FLAG_DISABLED IPNATHLP_INTERFACE_FLAG_DISABLED
//
// Structure: IP_FTP_MIB_QUERY
//
// This structure is passed to 'MibGet' to retrieve transparent proxy
// information.
//
typedef struct _IP_FTP_MIB_QUERY {
ULONG Oid;
union {
ULONG Index[0];
UCHAR Data[0];
};
} IP_FTP_MIB_QUERY, *PIP_FTP_MIB_QUERY;
//
// Structure: IP_FTP_STATISTICS
//
typedef struct _IP_FTP_STATISTICS {
ULONG ConnectionsAccepted;
ULONG ConnectionsDropped;
ULONG ConnectionsActive;
ULONG PlayersActive;
} IP_FTP_STATISTICS, *PIP_FTP_STATISTICS;
#define IP_FTP_STATISTICS_OID 0
//
// DIRECTPLAY TRANSPARENT PROXY DECLARATIONS (alphabetically)
//
//
// Structure: IP_H323_GLOBAL_INFO
//
// This structure holds global configuration for the H.323 transparent
// proxy.
//
typedef struct IP_H323_GLOBAL_INFO {
ULONG LoggingLevel;
ULONG Flags;
} IP_H323_GLOBAL_INFO, *PIP_H323_GLOBAL_INFO;
//
// Structure: IP_H323_INTERFACE_INFO
//
// This structure holds per-interface configuration for the transparent proxy.
// The configuration currently only allows the proxy to be disabled
// on a given interface. The proxy runs in promiscuous-interface mode
// so that all interfaces are added to it and it is enabled on all of them
// by default. Hence, the configuration need only be present for those
// interfaces on which the proxy is not to be run.
//
typedef struct _IP_H323_INTERFACE_INFO {
ULONG Flags;
} IP_H323_INTERFACE_INFO, *PIP_H323_INTERFACE_INFO;
#define IP_H323_INTERFACE_FLAG_DISABLED IPNATHLP_INTERFACE_FLAG_DISABLED
//
// Structure: IP_H323_MIB_QUERY
//
// This structure is passed to 'MibGet' to retrieve transparent proxy
// information.
//
typedef struct _IP_H323_MIB_QUERY {
ULONG Oid;
union {
ULONG Index[0];
UCHAR Data[0];
};
} IP_H323_MIB_QUERY, *PIP_H323_MIB_QUERY;
//
// Application Level Gateway
//
//
// Structure: IP_ALG_GLOBAL_INFO
//
// This structure holds global configuration for the ALG transparent proxy.
//
typedef struct IP_ALG_GLOBAL_INFO {
ULONG LoggingLevel;
ULONG Flags;
} IP_ALG_GLOBAL_INFO, *PIP_ALG_GLOBAL_INFO;
//
// Structure: IP_ALG_INTERFACE_INFO
//
// This structure holds per-interface configuration for the transparent proxy.
// The configuration currently only allows the proxy to be disabled
// on a given interface. The proxy runs in promiscuous-interface mode
// so that all interfaces are added to it and it is enabled on all of them
// by default. Hence, the configuration need only be present for those
// interfaces on which the proxy is not to be run.
//
typedef struct _IP_ALG_INTERFACE_INFO {
ULONG Flags;
} IP_ALG_INTERFACE_INFO, *PIP_ALG_INTERFACE_INFO;
#define IP_ALG_INTERFACE_FLAG_DISABLED IPNATHLP_INTERFACE_FLAG_DISABLED
//
// Structure: IP_ALG_MIB_QUERY
//
// This structure is passed to 'MibGet' to retrieve transparent proxy
// information.
//
typedef struct _IP_ALG_MIB_QUERY {
ULONG Oid;
union {
ULONG Index[0];
UCHAR Data[0];
};
} IP_ALG_MIB_QUERY, *PIP_ALG_MIB_QUERY;
//
// Structure: IP_ALG_STATISTICS
//
typedef struct _IP_ALG_STATISTICS {
ULONG ConnectionsAccepted;
ULONG ConnectionsDropped;
ULONG ConnectionsActive;
ULONG PlayersActive;
} IP_ALG_STATISTICS, *PIP_ALG_STATISTICS;
#define IP_ALG_STATISTICS_OID 0
#pragma warning(pop)
#ifdef __cplusplus
} // extern "C"
#endif
#endif // _IPNATHLP_H_