IPTypes.h
资源名称:FindMail.zip [点击查看]
上传用户:feituo2008
上传日期:2013-02-02
资源大小:493k
文件大小:3k
源码类别:
Email客户端
开发平台:
Visual C++
- /*++
- Copyright (c) 1995-1999 Microsoft Corporation
- Module Name:
- iptypes.h
- */
- #ifndef IP_TYPES_INCLUDED
- #define IP_TYPES_INCLUDED
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #include <time.h>
- // Definitions and structures used by getnetworkparams and getadaptersinfo apis
- #define MAX_ADAPTER_DESCRIPTION_LENGTH 128 // arb.
- #define MAX_ADAPTER_NAME_LENGTH 256 // arb.
- #define MAX_ADAPTER_ADDRESS_LENGTH 8 // arb.
- #define DEFAULT_MINIMUM_ENTITIES 32 // arb.
- #define MAX_HOSTNAME_LEN 128 // arb.
- #define MAX_DOMAIN_NAME_LEN 128 // arb.
- #define MAX_SCOPE_ID_LEN 256 // arb.
- //
- // types
- //
- // Node Type
- #define BROADCAST_NODETYPE 1
- #define PEER_TO_PEER_NODETYPE 2
- #define MIXED_NODETYPE 4
- #define HYBRID_NODETYPE 8
- // Adapter Type
- #define IF_OTHER_ADAPTERTYPE 0
- #define IF_ETHERNET_ADAPTERTYPE 1
- #define IF_TOKEN_RING_ADAPTERTYPE 2
- #define IF_FDDI_ADAPTERTYPE 3
- #define IF_PPP_ADAPTERTYPE 4
- #define IF_LOOPBACK_ADAPTERTYPE 5
- #define IF_SLIP_ADAPTERTYPE 6
- //
- // IP_ADDRESS_STRING - store an IP address as a dotted decimal string
- //
- typedef struct {
- char String[4 * 4];
- } IP_ADDRESS_STRING, *PIP_ADDRESS_STRING, IP_MASK_STRING, *PIP_MASK_STRING;
- //
- // IP_ADDR_STRING - store an IP address with its corresponding subnet mask,
- // both as dotted decimal strings
- //
- typedef struct _IP_ADDR_STRING {
- struct _IP_ADDR_STRING* Next;
- IP_ADDRESS_STRING IpAddress;
- IP_MASK_STRING IpMask;
- DWORD Context;
- } IP_ADDR_STRING, *PIP_ADDR_STRING;
- //
- // ADAPTER_INFO - per-adapter information. All IP addresses are stored as
- // strings
- //
- typedef struct _IP_ADAPTER_INFO {
- struct _IP_ADAPTER_INFO* Next;
- DWORD ComboIndex;
- char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
- char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
- UINT AddressLength;
- BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
- DWORD Index;
- UINT Type;
- UINT DhcpEnabled;
- PIP_ADDR_STRING CurrentIpAddress;
- IP_ADDR_STRING IpAddressList;
- IP_ADDR_STRING GatewayList;
- IP_ADDR_STRING DhcpServer;
- BOOL HaveWins;
- IP_ADDR_STRING PrimaryWinsServer;
- IP_ADDR_STRING SecondaryWinsServer;
- time_t LeaseObtained;
- time_t LeaseExpires;
- } IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
- //
- // IP_PER_ADAPTER_INFO - per-adapter IP information such as DNS server list.
- //
- typedef struct _IP_PER_ADAPTER_INFO {
- UINT AutoconfigEnabled;
- UINT AutoconfigActive;
- PIP_ADDR_STRING CurrentDnsServer;
- IP_ADDR_STRING DnsServerList;
- } IP_PER_ADAPTER_INFO, *PIP_PER_ADAPTER_INFO;
- //
- // FIXED_INFO - the set of IP-related information which does not depend on DHCP
- //
- typedef struct {
- char HostName[MAX_HOSTNAME_LEN + 4] ;
- char DomainName[MAX_DOMAIN_NAME_LEN + 4];
- PIP_ADDR_STRING CurrentDnsServer;
- IP_ADDR_STRING DnsServerList;
- UINT NodeType;
- char ScopeId[MAX_SCOPE_ID_LEN + 4];
- UINT EnableRouting;
- UINT EnableProxy;
- UINT EnableDns;
- } FIXED_INFO, *PFIXED_INFO;
- #endif