summaryrefslogtreecommitdiffstats
path: root/private/ntos/tdi/tcpip/ip/ipinit.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--private/ntos/tdi/tcpip/ip/ipinit.h155
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*/
+