Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
3.7 KiB

  1. // -*- mode: C++; tab-width: 4; indent-tabs-mode: nil -*- (for GNU Emacs)
  2. //
  3. // Copyright (c) 1985-2000 Microsoft Corporation
  4. //
  5. // This file is part of the Microsoft Research IPv6 Network Protocol Stack.
  6. // You should have received a copy of the Microsoft End-User License Agreement
  7. // for this software along with this release; see the file "license.txt".
  8. // If not, please see http://www.research.microsoft.com/msripv6/license.htm,
  9. // or write to Microsoft Research, One Microsoft Way, Redmond, WA 98052-6399.
  10. //
  11. // Abstract:
  12. //
  13. // This file contains public definitions exported to transport layer and
  14. // application software.
  15. //
  16. #define TCP_SOCKET_NODELAY 1
  17. #define TCP_SOCKET_KEEPALIVE 2
  18. #define TCP_SOCKET_OOBINLINE 3
  19. #define TCP_SOCKET_BSDURGENT 4
  20. #define TCP_SOCKET_ATMARK 5
  21. #define TCP_SOCKET_WINDOW 6
  22. #define TCP_SOCKET_KEEPALIVE_VALS 7
  23. #define AO_OPTION_TTL 1
  24. #define AO_OPTION_MCASTTTL 2
  25. #define AO_OPTION_MCASTIF 3
  26. #define AO_OPTION_XSUM 4
  27. #define AO_OPTION_IPOPTIONS 5
  28. #define AO_OPTION_ADD_MCAST 6
  29. #define AO_OPTION_DEL_MCAST 7
  30. #define AO_OPTION_TOS 8
  31. #define AO_OPTION_IP_DONTFRAGMENT 9
  32. #define AO_OPTION_MCASTLOOP 10
  33. #define AO_OPTION_UDP_CHKSUM_COVER 11
  34. #define AO_OPTION_IP_HDRINCL 12
  35. #define AO_OPTION_IP_PKTINFO 27
  36. #define AO_OPTION_RCV_HOPLIMIT 36
  37. typedef struct IPSNMPInfo {
  38. ulong ipsi_forwarding;
  39. ulong ipsi_defaultttl;
  40. ulong ipsi_inreceives;
  41. ulong ipsi_inhdrerrors;
  42. ulong ipsi_inaddrerrors;
  43. ulong ipsi_forwdatagrams;
  44. ulong ipsi_inunknownprotos;
  45. ulong ipsi_indiscards;
  46. ulong ipsi_indelivers;
  47. ulong ipsi_outrequests;
  48. ulong ipsi_routingdiscards;
  49. ulong ipsi_outdiscards;
  50. ulong ipsi_outnoroutes;
  51. ulong ipsi_reasmtimeout;
  52. ulong ipsi_reasmreqds;
  53. ulong ipsi_reasmoks;
  54. ulong ipsi_reasmfails;
  55. ulong ipsi_fragoks;
  56. ulong ipsi_fragfails;
  57. ulong ipsi_fragcreates;
  58. ulong ipsi_numif;
  59. ulong ipsi_numaddr;
  60. ulong ipsi_numroutes;
  61. } IPSNMPInfo;
  62. typedef struct IPAddrEntry {
  63. ulong iae_addr;
  64. ulong iae_index;
  65. ulong iae_mask;
  66. ulong iae_bcastaddr;
  67. ulong iae_reasmsize;
  68. ushort iae_context;
  69. ushort iae_pad;
  70. } IPAddrEntry;
  71. #define IP_MIB_STATS_ID 1
  72. #define IP_MIB_ADDRTABLE_ENTRY_ID 0x102
  73. #define IP_INTFC_FLAG_P2P 1
  74. typedef struct IPInterfaceInfo {
  75. ulong iii_flags;
  76. ulong iii_mtu;
  77. ulong iii_speed;
  78. ulong iii_addrlength;
  79. uchar iii_addr[1];
  80. } IPInterfaceInfo;
  81. #define IF_MIB_STATS_ID 1
  82. #define MAX_PHYSADDR_SIZE 8
  83. #define MAX_IFDESCR_LEN 256
  84. typedef struct IFEntry {
  85. ulong if_index;
  86. ulong if_type;
  87. ulong if_mtu;
  88. ulong if_speed;
  89. ulong if_physaddrlen;
  90. uchar if_physaddr[MAX_PHYSADDR_SIZE];
  91. ulong if_adminstatus;
  92. ulong if_operstatus;
  93. ulong if_lastchange;
  94. ulong if_inoctets;
  95. ulong if_inucastpkts;
  96. ulong if_innucastpkts;
  97. ulong if_indiscards;
  98. ulong if_inerrors;
  99. ulong if_inunknownprotos;
  100. ulong if_outoctets;
  101. ulong if_outucastpkts;
  102. ulong if_outnucastpkts;
  103. ulong if_outdiscards;
  104. ulong if_outerrors;
  105. ulong if_outqlen;
  106. ulong if_descrlen;
  107. uchar if_descr[1];
  108. } IFEntry;
  109. #define IP_INTFC_INFO_ID 0x103