From e611b132f9b8abe35b362e5870b74bce94a1e58e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 May 2020 20:51:50 -0700 Subject: initial commit --- private/ntos/tdi/isn/rip/driver.h | 150 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 private/ntos/tdi/isn/rip/driver.h (limited to 'private/ntos/tdi/isn/rip/driver.h') diff --git a/private/ntos/tdi/isn/rip/driver.h b/private/ntos/tdi/isn/rip/driver.h new file mode 100644 index 000000000..a75b65ba4 --- /dev/null +++ b/private/ntos/tdi/isn/rip/driver.h @@ -0,0 +1,150 @@ +/*++ + +Copyright (c) 1993 Microsoft Corporation + +Module Name: + + driver.h + +Abstract: + + +Environment: + + kernel & User mode + +Notes: + + +Revision History: + +--*/ + + +// +// Define the various device type values. Note that values used by Microsoft +// Corporation are in the range 0-32767, and 32768-65535 are reserved for use +// by customers. +// + +#define FILE_DEVICE_IPXROUTER 0x00008000 + + + +// +// Macro definition for defining IOCTL and FSCTL function control codes. Note +// that function codes 0-2047 are reserved for Microsoft Corporation, and +// 2048-4095 are reserved for customers. +// + +#define IPXROUTER_IOCTL_INDEX (ULONG)0x00000800 + + +// +// Define our own private IOCTLs +// + +#define IOCTL_IPXROUTER_SNAPROUTES CTL_CODE(FILE_DEVICE_IPXROUTER, \ + IPXROUTER_IOCTL_INDEX+1,\ + METHOD_BUFFERED, \ + FILE_ANY_ACCESS) + +#define IOCTL_IPXROUTER_GETNEXTROUTE CTL_CODE(FILE_DEVICE_IPXROUTER, \ + IPXROUTER_IOCTL_INDEX+2,\ + METHOD_BUFFERED, \ + FILE_ANY_ACCESS) + +#define IOCTL_IPXROUTER_CHECKNETNUMBER CTL_CODE(FILE_DEVICE_IPXROUTER, \ + IPXROUTER_IOCTL_INDEX+3,\ + METHOD_BUFFERED, \ + FILE_ANY_ACCESS) + +#define IOCTL_IPXROUTER_SHOWNICINFO CTL_CODE(FILE_DEVICE_IPXROUTER, \ + IPXROUTER_IOCTL_INDEX+4,\ + METHOD_BUFFERED, \ + FILE_ANY_ACCESS) + +#define IOCTL_IPXROUTER_ZERONICSTATISTICS CTL_CODE(FILE_DEVICE_IPXROUTER, \ + IPXROUTER_IOCTL_INDEX+5,\ + METHOD_BUFFERED, \ + FILE_ANY_ACCESS) + +#define IOCTL_IPXROUTER_SHOWMEMSTATISTICS CTL_CODE(FILE_DEVICE_IPXROUTER, \ + IPXROUTER_IOCTL_INDEX+6,\ + METHOD_BUFFERED, \ + FILE_ANY_ACCESS) + +#define IOCTL_IPXROUTER_GETWANINNACTIVITY CTL_CODE(FILE_DEVICE_IPXROUTER, \ + IPXROUTER_IOCTL_INDEX+7,\ + METHOD_BUFFERED, \ + FILE_ANY_ACCESS) + +#define IOCTL_IPXROUTER_SETWANGLOBALADDRESS CTL_CODE(FILE_DEVICE_IPXROUTER, \ + IPXROUTER_IOCTL_INDEX+8,\ + METHOD_BUFFERED, \ + FILE_ANY_ACCESS) + +#define IOCTL_IPXROUTER_DELETEWANGLOBALADDRESS CTL_CODE(FILE_DEVICE_IPXROUTER, \ + IPXROUTER_IOCTL_INDEX+9,\ + METHOD_BUFFERED, \ + FILE_ANY_ACCESS) + + +//*** Nic Info Ioctl Data *** + +#define SHOW_NIC_LAN 0 +#define SHOW_NIC_WAN 1 + +#define SHOW_NIC_CLOSED 0 +#define SHOW_NIC_CLOSING 1 +#define SHOW_NIC_ACTIVE 2 +#define SHOW_NIC_PENDING_OPEN 3 + +typedef struct _SHOW_NIC_INFO { + + USHORT NicId; + USHORT DeviceType; + USHORT NicState; + UCHAR Network[4]; + UCHAR Node[6]; + USHORT TickCount; + ULONG StatBadReceived; + ULONG StatRipReceived; + ULONG StatRipSent; + ULONG StatRoutedReceived; + ULONG StatRoutedSent; + ULONG StatType20Received; + ULONG StatType20Sent; + } SHOW_NIC_INFO, *PSHOW_NIC_INFO; + +//*** Memory Statistics Data *** + +typedef struct _SHOW_MEM_STAT { + + ULONG PeakPktAllocCount; + ULONG CurrentPktAllocCount; + ULONG CurrentPktPoolCount; + ULONG PacketSize; + } SHOW_MEM_STAT, *PSHOW_MEM_STAT; + +//*** Wan Innactivity Data *** +// For the first call the NicId is set to 0xffff. The router will associate +// the remote node with a valid nic id, which will be used in subsequent calls. + +typedef struct _GET_WAN_INNACTIVITY { + + USHORT NicId; + UCHAR RemoteNode[6]; + ULONG WanInnactivityCount; + } GET_WAN_INNACTIVITY, *PGET_WAN_INNACTIVITY; + +//*** Wan Global Address Data *** + +#define ERROR_IPXCP_NETWORK_NUMBER_IN_USE 1 +#define ERROR_IPXCP_MEMORY_ALLOCATION_FAILURE 2 + +typedef struct _SET_WAN_GLOBAL_ADDRESS { + + UCHAR WanGlobalNetwork[4]; + ULONG ErrorCode; + } SET_WAN_GLOBAL_ADDRESS, *PSET_WAN_GLOBAL_ADDRESS; -- cgit v1.2.3