diff options
Diffstat (limited to '')
-rw-r--r-- | private/ntos/tdi/tcpip/ip/ipinit.h | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/private/ntos/tdi/tcpip/ip/ipinit.h b/private/ntos/tdi/tcpip/ip/ipinit.h new file mode 100644 index 000000000..d1d730915 --- /dev/null +++ b/private/ntos/tdi/tcpip/ip/ipinit.h @@ -0,0 +1,155 @@ +/********************************************************************/ +/** Microsoft LAN Manager **/ +/** Copyright(c) Microsoft Corp., 1990-1992 **/ +/********************************************************************/ +/* :ts=4 */ + +//** IPINIT.H - IP initialization definitions. +// +// This file contains all of the definitions for IP that are +// init. time specific. + +#define IP_INIT_FAILURE 0 // If we fail. +#define IP_INIT_SUCCESS 1 +#define CFG_REQUIRED 1 +#define CFG_OPTIONAL 0 + + +#define NET_TYPE_LAN 0 // The local net interface is a LAN. +#define NET_TYPE_WAN 1 // Point to point or other non-LAN network. +#define DEFAULT_TTL 128 +#define DEFAULT_TOS 0 + +#define MAX_DEFAULT_GWS 5 // Maximum number of default gateways per net. +#define MAX_NAME_SIZE 32 // Maximum length of an adapter name. + +#define DEFAULT_FW_PACKETS 50 // Default number of packets for forwarding. +#define DEFAULT_FW_BUFSIZE 74240 // Enough for 50 1480-byte Ethernet packets, + // rounded up to a multiple of 256. + +#define DEFAULT_MAX_FW_PACKETS 0xffffffff +#define DEFAULT_MAX_FW_BUFSIZE 0xffffffff + +#define DEFAULT_MAX_PENDING 5000 + +#define TR_RII_ALL 0x80 +#define TR_RII_SINGLE 0xC0 + +#define DEFAULT_ARP_CACHE_LIFE (2L*60L) // 2 minutes + +#ifndef _PNP_POWER + +//* Per net config. information. +struct NetConfigInfo { + IPAddr nci_addr; // IPAddr for this net. + IPMask nci_mask; // Net mask for this net. + uint nci_type; // Type of this net - Enet, TR, SLIP., etc. + NDIS_STRING nci_driver; // Device name for lower layer driver. + // Unused for NET_TYPE_LAN. + NDIS_STRING nci_name; // Name of adapter for this net. + +#ifdef SECFLTR + NDIS_STRING nci_configname; // Name of config section in registry. +#endif // SECFLTR + + uint nci_zerobcast; // Type of broadcast to be used on this net. + +#ifdef NT + HANDLE nci_reghandle; // Open handle to the registry key for + // this adapter. +#endif // NT + + uint nci_mtu; // Max MSS for this net. + uint nci_maxpending; // Max routing packets pending. + uint nci_numgws; // Number of default gateways for this interface. + IPAddr nci_gw[MAX_DEFAULT_GWS]; // Array of IPaddresses for gateways + uint nci_rtrdiscovery; // Router discovery enabled + IPAddr nci_rtrdiscaddr; // Multicast or BCast? +}; /* NetConfigInfo */ + +typedef struct NetConfigInfo NetConfigInfo; + + +#else // _PNP_POWER + +/*NOINC*/ + + +// Per-net config structures for Chicago. +typedef struct IFGeneralConfig { + uint igc_zerobcast; // Type of broadcast to be used on this net. + uint igc_mtu; // Max MSS for this net. + uint igc_maxpending; // Max FW pending on this IF. + uint igc_numgws; // Number of default gateways for this + // interface. + IPAddr igc_gw[MAX_DEFAULT_GWS]; // Array of IPaddresses for gateways + uint igc_rtrdiscovery; // Router discovery enabled + IPAddr igc_rtrdiscaddr; // Multicast or BCast? +} IFGeneralConfig; + +typedef struct IFAddrList { + IPAddr ial_addr; // Address for this interface. + IPMask ial_mask; // Mask to go with this. +} IFAddrList; + + +/*INC*/ + +#endif // _PNP_POWER + +//* Structure of configuration information. A pointer to this information +// is returned from a system-specific config. information routine. +struct IPConfigInfo { + uint ici_gateway; // 1 if we are a gateway, 0 otherwise + uint ici_fwbcast; // 1 if bcasts should be forwarded. Else 0. + uint ici_fwbufsize; // Total size of FW buf size. + uint ici_fwpackets; // Total number of FW packets to have. + uint ici_maxfwbufsize; // Maximum size of FW buffer. + uint ici_maxfwpackets; // Maximum number of FW packets. + uint ici_deadgwdetect; // True if we're doing dead GW detection. + uint ici_pmtudiscovery; // True if we're doing Path MTU discovery. + uint ici_igmplevel; // Level of IGMP we're doing. + uint ici_ttl; // Default TTL. + uint ici_tos; // Default TOS; + +#ifndef _PNP_POWER + int ici_numnets; // Number of nets present. + struct NetConfigInfo *ici_netinfo; // Per net config. info +#endif // _PNP_POWER + +}; /* IPConfigInfo */ + +typedef struct IPConfigInfo IPConfigInfo; + + +#ifndef _PNP_POWER + +struct NameMapping { + NDIS_STRING nm_driver; + NDIS_STRING nm_name; + void *nm_interface; + void *nm_arpinfo; +}; /* NameMapping */ + +typedef struct NameMapping NameMapping; + +struct DriverRegMapping { + NDIS_STRING drm_driver; + void *drm_regptr; +}; /* DriverRegMapping */ + +typedef struct DriverRegMapping DriverRegMapping; + +#endif // _PNP_POWER +extern uchar TrRii; + + +struct SetAddrControl { + void *sac_rtn; // Pointer to routine to call when completing request. +}; /* SetAddrControl */ + +/*NOINC*/ +typedef struct SetAddrControl SetAddrControl; +typedef void (*SetAddrRtn)(void *, IP_STATUS); +/*INC*/ + |