Difference between revisions of "Unit IPHlpAPI"
(Created page with "Return to Unit Reference === Description === ---- ''To be documented'' === Constants === ---- ''To be documented'' === Type definitions === ---- ''To...") |
|||
(20 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
---- | ---- | ||
− | '' | + | '''Ultibo IP Helper Interface unit''' |
+ | |||
+ | This unit provides a subset of the Windows IP Helper API functions for querying and managing configuration of the TCP/IP transport and associated protocols. | ||
+ | |||
+ | Note: Not all functions are currently implemented, more will be added as they are required. | ||
=== Constants === | === Constants === | ||
---- | ---- | ||
− | '' | + | |
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IP helper specific constants''' <code> MAX_ADAPTER_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MAX_INTERFACE_NAME_LEN = 256;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IPRTRMGR_PID = 10000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ANY_SIZE = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>MAX_ADAPTER_NAME = 128;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>MAX_ADAPTER_DESCRIPTION_LENGTH = 128;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MAX_ADAPTER_NAME_LENGTH = 256;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MAX_ADAPTER_ADDRESS_LENGTH = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DEFAULT_MINIMUM_ENTITIES = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MAX_HOSTNAME_LEN = 128;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MAX_DOMAIN_NAME_LEN = 128;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MAX_SCOPE_ID_LEN = 256;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>MAXLEN_IFDESCR = 256;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MAXLEN_PHYSADDR = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB operation status''' <code> MIB_IF_OPER_STATUS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_IF_OPER_STATUS_NON_OPERATIONAL = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_IF_OPER_STATUS_UNREACHABLE = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_OPER_STATUS_DISCONNECTED = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_OPER_STATUS_CONNECTING = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_OPER_STATUS_CONNECTED = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_OPER_STATUS_OPERATIONAL = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB type''' <code> MIB_IF_TYPE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_IF_TYPE_OTHER = 1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_IF_TYPE_ETHERNET = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_TYPE_TOKENRING = 9;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_TYPE_FDDI = 15;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_TYPE_PPP = 23;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_TYPE_LOOPBACK = 24;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_TYPE_SLIP = 28;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_TYPE_IEEE80211 = 71;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IF_TYPE_OTHER = MIB_IF_TYPE_OTHER;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_ETHERNET_CSMACD = MIB_IF_TYPE_ETHERNET;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_ISO88025_TOKENRING = MIB_IF_TYPE_TOKENRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_FDDI = MIB_IF_TYPE_FDDI;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_PPP = MIB_IF_TYPE_PPP;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_SOFTWARE_LOOPBACK = MIB_IF_TYPE_LOOPBACK;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_SLIP = MIB_IF_TYPE_SLIP;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_ATM = 37;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_IEEE80211 = MIB_IF_TYPE_IEEE80211;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_TUNNEL = 131;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_IEEE1394 = 144;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_IEEE80216_WMAN = 237;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_WWANPP = 243;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IF_TYPE_WWANPP2 = 244;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB admin status''' <code> MIB_IF_ADMIN_STATUS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_IF_ADMIN_STATUS_UP = 1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_IF_ADMIN_STATUS_DOWN = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IF_ADMIN_STATUS_TESTING = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB TCP''' <code> MIB_TCP_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_TCP_RTO_OTHER = 1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_TCP_RTO_CONSTANT = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_RTO_RSRE = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_RTO_VANJ = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_MAXCONN_DYNAMIC = DWORD(-1);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB TCP state''' <code> MIB_TCP_STATE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_CLOSED = 1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_LISTEN = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_SYN_SENT = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_SYN_RCVD = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_ESTAB = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_FIN_WAIT1 = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_FIN_WAIT2 = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_CLOSE_WAIT = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_CLOSING = 9;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_LAST_ACK = 10;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_TIME_WAIT = 11;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_TCP_STATE_DELETE_TCB = 12;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB current''' <code> MIB_USE_CURRENT_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_USE_CURRENT_TTL = DWORD(-1);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_USE_CURRENT_FORWARDING = DWORD(-1);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB IP''' <code> MIB_IP_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_IP_FORWARDING = 1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_IP_NOT_FORWARDING = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB IP route type''' <code> MIB_IPROUTE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_IPROUTE_TYPE_OTHER = 1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_IPROUTE_TYPE_INVALID = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPROUTE_TYPE_DIRECT = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPROUTE_TYPE_INDIRECT = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPROUTE_METRIC_UNUSED = DWORD(-1);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB IP protocol''' <code> MIB_IPPROTO_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_OTHER = 1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_LOCAL = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_NETMGMT = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_ICMP = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_EGP = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_GGP = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_HELLO = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_RIP = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_IS_IS = 9;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_ES_IS = 10;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_CISCO = 11;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_BBN = 12;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_OSPF = 13;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_BGP = 14;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_NT_AUTOSTATIC = 10002;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_NT_STATIC = 10006;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPPROTO_NT_STATIC_NON_DOD = 10007;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''MIB IP network type''' <code> MIB_IPNET_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>MIB_IPNET_TYPE_OTHER = 1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MIB_IPNET_TYPE_INVALID = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPNET_TYPE_DYNAMIC = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIB_IPNET_TYPE_STATIC = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Type definitions === | === Type definitions === | ||
---- | ---- | ||
− | '' | + | |
+ | '''IP address''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>IPAddr = Cardinal;</code> | ||
+ | | style="width: 40%;"|An IP address | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''IP mask''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>IPMask = Cardinal;</code> | ||
+ | | style="width: 40%;"|An IP netmask | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''IP status''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>IP_STATUS = Cardinal;</code> | ||
+ | | style="width: 40%;"|Status code returned from IP APIs | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''MIB if number''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIfnumber = MIB_IFNUMBER;</code> | ||
+ | |||
+ | <code>PMibIfnumber = PMIB_IFNUMBER;</code> | ||
+ | |||
+ | <code>PMIB_IFNUMBER = ^MIB_IFNUMBER;</code> | ||
+ | |||
+ | <code>MIB_IFNUMBER = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwValue: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB if row''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIfRow = MIB_IFROW;</code> | ||
+ | |||
+ | <code>PMibIfRow = PMIB_IFROW;</code> | ||
+ | |||
+ | <code>PMIB_IFROW = ^MIB_IFROW;</code> | ||
+ | |||
+ | <code>MIB_IFROW = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>wszName: array [0..MAX_INTERFACE_NAME_LEN - 1] of WideChar;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwIndex: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwType: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwMtu: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwSpeed: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwPhysAddrLen: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>bPhysAddr: array [0..MAXLEN_PHYSADDR - 1] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwAdminStatus: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOperStatus: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwLastChange: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInOctets: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInUcastPkts: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInNUcastPkts: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInDiscards: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInErrors: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInUnknownProtos: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutOctets: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutUcastPkts: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutNUcastPkts: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutDiscards: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutErrors: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutQLen: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwDescrLen: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>bDescr: array[0..MAXLEN_IFDESCR - 1] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB if table''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIftable = MIB_IFTABLE;</code> | ||
+ | |||
+ | <code>PMibIftable = PMIB_IFTABLE;</code> | ||
+ | |||
+ | <code>PMIB_IFTABLE = ^MIB_IFTABLE;</code> | ||
+ | |||
+ | <code>MIB_IFTABLE = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwNumEntries: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>table: array [0..ANY_SIZE - 1] of MIB_IFROW;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB ICMP statistics''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIcmpStats = MIBICMPSTATS;</code> | ||
+ | |||
+ | <code>PMibIcmpStats = ^TMibIcmpStats; </code> | ||
+ | |||
+ | <code>MIBICMPSTATS = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwMsgs: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwErrors: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwDestUnreachs: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwTimeExcds: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwParmProbs: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwSrcQuenchs: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwRedirects: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwEchos: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwEchoReps: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwTimestamps: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwTimestampReps: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwAddrMasks: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwAddrMaskReps: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB ICMP information''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIcmpInfo = MIBICMPINFO;</code> | ||
+ | |||
+ | <code>PMibIcmpInfo = ^TMibIcmpInfo;</code> | ||
+ | |||
+ | <code>MIBICMPINFO = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>icmpInStats: MIBICMPSTATS;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>icmpOutStats: MIBICMPSTATS;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB ICMP''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIcmp = MIB_ICMP;</code> | ||
+ | |||
+ | <code>PMibIcmp = PMIB_ICMP;</code> | ||
+ | |||
+ | <code>PMIB_ICMP = ^MIB_ICMP;</code> | ||
+ | |||
+ | <code>MIB_ICMP = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>stats: MIBICMPINFO;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB UDP statistics''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibUdpStats = MIB_UDPSTATS;</code> | ||
+ | |||
+ | <code>PMibUdpStats = PMIB_UDPSTATS;</code> | ||
+ | |||
+ | <code>PMIB_UDPSTATS = ^MIB_UDPSTATS;</code> | ||
+ | |||
+ | <code>MIB_UDPSTATS = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwInDatagrams: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwNoPorts: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInErrors: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutDatagrams: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwNumAddrs: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB UDP row''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibUdpRow = MIB_UDPROW;</code> | ||
+ | |||
+ | <code>PMibUdpRow = PMIB_UDPROW;</code> | ||
+ | |||
+ | <code>PMIB_UDPROW = ^MIB_UDPROW;</code> | ||
+ | |||
+ | <code>MIB_UDPROW = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwLocalAddr: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwLocalPort: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB UDP table''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibUdpTable = MIB_UDPTABLE;</code> | ||
+ | |||
+ | <code>PMibUdpTable = PMIB_UDPTABLE;</code> | ||
+ | |||
+ | <code>PMIB_UDPTABLE = ^MIB_UDPTABLE;</code> | ||
+ | |||
+ | <code>MIB_UDPTABLE = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwNumEntries: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>table: array [0..ANY_SIZE - 1] of MIB_UDPROW;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB TCP statistics''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibTcpStats = MIB_TCPSTATS;</code> | ||
+ | |||
+ | <code>PMibTcpStats = PMIB_TCPSTATS;</code> | ||
+ | |||
+ | <code>PMIB_TCPSTATS = ^MIB_TCPSTATS;</code> | ||
+ | |||
+ | <code>MIB_TCPSTATS = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwRtoAlgorithm: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwRtoMin: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwRtoMax: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwMaxConn: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwActiveOpens: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwPassiveOpens: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwAttemptFails: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwEstabResets: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwCurrEstab: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInSegs: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutSegs: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwRetransSegs: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInErrs: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutRsts: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwNumConns: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB TCP row''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibTcpRow = MIB_TCPROW;</code> | ||
+ | |||
+ | <code>PMibTcpRow = PMIB_TCPROW;</code> | ||
+ | |||
+ | <code>PMIB_TCPROW = ^MIB_TCPROW;</code> | ||
+ | |||
+ | <code>MIB_TCPROW = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwState: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwLocalAddr: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwLocalPort: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwRemoteAddr: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwRemotePort: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB TCP table''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibTcpTable = MIB_TCPTABLE;</code> | ||
+ | |||
+ | <code>PMibTcpTable = PMIB_TCPTABLE;</code> | ||
+ | |||
+ | <code>PMIB_TCPTABLE = ^MIB_TCPTABLE;</code> | ||
+ | |||
+ | <code>MIB_TCPTABLE = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwNumEntries: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>table: array [0..ANY_SIZE - 1] of MIB_TCPROW;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB IP statistics''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIpStats = MIB_IPSTATS;</code> | ||
+ | |||
+ | <code>PMibIpStats = PMIB_IPSTATS;</code> | ||
+ | |||
+ | <code>PMIB_IPSTATS = ^MIB_IPSTATS;</code> | ||
+ | |||
+ | <code>MIB_IPSTATS = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwForwarding: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwDefaultTTL: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInReceives: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInHdrErrors: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInAddrErrors: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwDatagrams: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInUnknownProtos: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInDiscards: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwInDelivers: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutRequests: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwRoutingDiscards: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutDiscards: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwOutNoRoutes: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwReasmTimeout: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwReasmReqds: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwReasmOks: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwReasmFails: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwFragOks: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwFragFails: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwFragCreates: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwNumIf: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwNumAddr: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwNumRoutes: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB IP address row''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIpAddrRow = MIB_IPADDRROW;</code> | ||
+ | |||
+ | <code>PMibIpAddrRow = PMIB_IPADDRROW;</code> | ||
+ | |||
+ | <code>PMIB_IPADDRROW = ^MIB_IPADDRROW;</code> | ||
+ | |||
+ | <code>MIB_IPADDRROW = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwAddr: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwIndex: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwMask: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwBCastAddr: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwReasmSize: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>unused1: Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>unused2: Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB IP address table''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIpAddrTable = MIB_IPADDRTABLE;</code> | ||
+ | |||
+ | <code>PMibIpAddrTable = PMIB_IPADDRTABLE;</code> | ||
+ | |||
+ | <code>PMIB_IPADDRTABLE = ^MIB_IPADDRTABLE;</code> | ||
+ | |||
+ | <code>MIB_IPADDRTABLE = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwNumEntries: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>table: array [0..ANY_SIZE - 1] of MIB_IPADDRROW;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB IP forward number''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIpForwardNumber = MIB_IPFORWARDNUMBER;</code> | ||
+ | |||
+ | <code>PMibIpForwardNumber = PMIB_IPFORWARDNUMBER;</code> | ||
+ | |||
+ | <code>PMIB_IPFORWARDNUMBER = ^MIB_IPFORWARDNUMBER;</code> | ||
+ | |||
+ | <code>MIB_IPFORWARDNUMBER = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwValue: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB IP forward row''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIpForwardRow = MIB_IPFORWARDROW;</code> | ||
+ | |||
+ | <code>PMibIpForwardRow = PMIB_IPFORWARDROW;</code> | ||
+ | |||
+ | <code>PMIB_IPFORWARDROW = ^MIB_IPFORWARDROW;</code> | ||
+ | |||
+ | <code>MIB_IPFORWARDROW = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwForwardDest: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwForwardMask: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardPolicy: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardNextHop: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardIfIndex: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardType: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardProto: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardAge: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardNextHopAS: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardMetric1: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardMetric2: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardMetric3: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardMetric4: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwForwardMetric5: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB IP forward table''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIpForwardTable = MIB_IPFORWARDTABLE;</code> | ||
+ | |||
+ | <code>PMibIpForwardTable = PMIB_IPFORWARDTABLE;</code> | ||
+ | |||
+ | <code>PMIB_IPFORWARDTABLE = ^MIB_IPFORWARDTABLE;</code> | ||
+ | |||
+ | <code>MIB_IPFORWARDTABLE = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwNumEntries: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>table: array [0..ANY_SIZE - 1] of MIB_IPFORWARDROW;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB IP net row''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIpNetRow = MIB_IPNETROW;</code> | ||
+ | |||
+ | <code>PMibIpNetRow = PMIB_IPNETROW;</code> | ||
+ | |||
+ | <code>PMIB_IPNETROW = ^MIB_IPNETROW;</code> | ||
+ | |||
+ | <code>MIB_IPNETROW = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwIndex: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>dwPhysAddrLen: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>bPhysAddr: array [0..MAXLEN_PHYSADDR - 1] of BYTE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwAddr: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>dwType: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''MIB IP net table''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TMibIpNetTable = MIB_IPNETTABLE;</code> | ||
+ | |||
+ | <code>PMibIpNetTable = PMIB_IPNETTABLE; </code> | ||
+ | |||
+ | <code>PMIB_IPNETTABLE = ^MIB_IPNETTABLE;</code> | ||
+ | |||
+ | <code>MIB_IPNETTABLE = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>dwNumEntries: DWORD;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>table: array [0..ANY_SIZE - 1] of MIB_IPNETROW;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IP adapter index map''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TIpAdapterIndexMap = IP_ADAPTER_INDEX_MAP;</code> | ||
+ | |||
+ | <code>PIpAdapterIndexMap = PIP_ADAPTER_INDEX_MAP;</code> | ||
+ | |||
+ | <code>PIP_ADAPTER_INDEX_MAP = ^IP_ADAPTER_INDEX_MAP;</code> | ||
+ | |||
+ | <code>IP_ADAPTER_INDEX_MAP = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Index: ULONG;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Name: array [0..MAX_ADAPTER_NAME - 1] of WideChar;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IP interface info''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TIpInterfaceInfo = IP_INTERFACE_INFO;</code> | ||
+ | |||
+ | <code>PIpInterfaceInfo = PIP_INTERFACE_INFO;</code> | ||
+ | |||
+ | <code>PIP_INTERFACE_INFO = ^IP_INTERFACE_INFO;</code> | ||
+ | |||
+ | <code>IP_INTERFACE_INFO = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>NumAdapters: Longint;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Adapter: array [0..0] of IP_ADAPTER_INDEX_MAP;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IP unidirectional adapter address''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TIpUnidirectionalAdapterAddress = IP_UNIDIRECTIONAL_ADAPTER_ADDRESS;</code> | ||
+ | |||
+ | <code>PIpUnidirectionalAdapterAddress = PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS;</code> | ||
+ | |||
+ | <code>PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS = ^IP_UNIDIRECTIONAL_ADAPTER_ADDRESS;</code> | ||
+ | |||
+ | <code>IP_UNIDIRECTIONAL_ADAPTER_ADDRESS = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>NumAdapters: ULONG;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Address: array [0..0] of IPAddr;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IP address string''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TIpAddressString = IP_ADDRESS_STRING;</code> | ||
+ | |||
+ | <code>PIpAddressString = PIP_MASK_STRING;</code> | ||
+ | |||
+ | <code>PIP_ADDRESS_STRING = ^IP_ADDRESS_STRING;</code> | ||
+ | |||
+ | <code>IP_MASK_STRING = IP_ADDRESS_STRING;</code> | ||
+ | |||
+ | <code>PIP_MASK_STRING = ^IP_MASK_STRING;</code> | ||
+ | |||
+ | <code>IP_ADDRESS_STRING = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>S: array [0..15] of Char;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IP addr string''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TIpAddrString = IP_ADDR_STRING;</code> | ||
+ | |||
+ | <code>PIpAddrString = PIP_ADDR_STRING;</code> | ||
+ | |||
+ | <code>PIP_ADDR_STRING = ^IP_ADDR_STRING;</code> | ||
+ | |||
+ | <code>IP_ADDR_STRING = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Next: PIP_ADDR_STRING;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IpAddress: IP_ADDRESS_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IpMask: IP_MASK_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Context: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IP adapter information''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TIpAdapterInfo = IP_ADAPTER_INFO;</code> | ||
+ | |||
+ | <code>PIpAdapterInfo = PIP_ADAPTER_INFO;</code> | ||
+ | |||
+ | <code>PIP_ADAPTER_INFO = ^IP_ADAPTER_INFO;</code> | ||
+ | |||
+ | <code>IP_ADAPTER_INFO = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Next: PIP_ADAPTER_INFO;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>ComboIndex: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>AdapterName: array [0..MAX_ADAPTER_NAME_LENGTH + 3] of Char;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Description: array [0..MAX_ADAPTER_DESCRIPTION_LENGTH + 3] of Char;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>AddressLength: UINT;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Address: array [0..MAX_ADAPTER_ADDRESS_LENGTH - 1] of BYTE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Index: DWORD;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Type_: UINT;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DhcpEnabled: UINT;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CurrentIpAddress: PIP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IpAddressList: IP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>GatewayList: IP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DhcpServer: IP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>HaveWins: BOOL;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PrimaryWinsServer: IP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SecondaryWinsServer: IP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>LeaseObtained: time_t;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>LeaseExpires: time_t;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IP per adapter information''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TIpPerAdapterInfo = IP_PER_ADAPTER_INFO;</code> | ||
+ | |||
+ | <code>PIpPerAdapterInfo = PIP_PER_ADAPTER_INFO;</code> | ||
+ | |||
+ | <code>PIP_PER_ADAPTER_INFO = ^IP_PER_ADAPTER_INFO;</code> | ||
+ | |||
+ | <code>IP_PER_ADAPTER_INFO = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>AutoconfigEnabled: UINT;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>AutoconfigActive: UINT;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CurrentDnsServer: PIP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DnsServerList: IP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | |||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''Fixed information''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TFixedInfo = FIXED_INFO;</code> | ||
+ | |||
+ | <code>PFixedInfo = PFIXED_INFO; </code> | ||
+ | |||
+ | <code>PFIXED_INFO = ^FIXED_INFO;</code> | ||
+ | |||
+ | <code>FIXED_INFO = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>HostName: array [0..MAX_HOSTNAME_LEN + 3] of Char;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>DomainName: array[0..MAX_DOMAIN_NAME_LEN + 3] of Char;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CurrentDnsServer: PIP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DnsServerList: IP_ADDR_STRING;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>NodeType: UINT;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ScopeId: array [0..MAX_SCOPE_ID_LEN + 3] of Char;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>EnableRouting: UINT;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>EnableProxy: UINT;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>EnableDns: UINT;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Public variables === | === Public variables === | ||
---- | ---- | ||
− | '' | + | ''None defined'' |
=== Function declarations === | === Function declarations === | ||
---- | ---- | ||
− | |||
+ | '''Initialization functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IPHelperStart:Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Initialize and start the Winsock2 provider</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | Only called internally by IP Helper functions | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IPHelperStop:Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Terminate and stop the Winsock2 provider</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | Only called internally by IP Helper functions | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''Helper functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IPHelperConvertError(Status:Integer):DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Convert a Winsock2 error to an error code</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''IP helper functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetNumberOfInterfaces(var pdwNumIf: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetIfEntry(pIfRow: PMIB_IFROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetIfTable(pIfTable: PMIB_IFTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetIpAddrTable(pIpAddrTable: PMIB_IPADDRTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetIpNetTable(pIpNetTable: PMIB_IPNETTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetIpForwardTable(pIpForwardTable: PMIB_IPFORWARDTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetTcpTable(pTcpTable: PMIB_TCPTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetUdpTable(pUdpTable: PMIB_UDPTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetIpStatistics(var pStats: MIB_IPSTATS): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetIcmpStatistics(var pStats: MIB_ICMP): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetTcpStatistics(var pStats: MIB_TCPSTATS): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetUdpStatistics(var pStats: MIB_UDPSTATS): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function SetIfEntry(const pIfRow: MIB_IFROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function CreateIpForwardEntry(const pRoute: MIB_IPFORWARDROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function SetIpForwardEntry(const pRoute: MIB_IPFORWARDROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function DeleteIpForwardEntry(const pRoute: MIB_IPFORWARDROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function SetIpStatistics(const pIpStats: MIB_IPSTATS): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function SetIpTTL(nTTL: UINT): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function CreateIpNetEntry(const pArpEntry: MIB_IPNETROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function SetIpNetEntry(const pArpEntry: MIB_IPNETROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function DeleteIpNetEntry(const pArpEntry: MIB_IPNETROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function FlushIpNetTable(dwIfIndex: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function CreateProxyArpEntry(dwAddress, dwMask, dwIfIndex: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function DeleteProxyArpEntry(dwAddress, dwMask, dwIfIndex: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function SetTcpEntry(const pTcpRow: MIB_TCPROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetInterfaceInfo(pIfTable: PIP_INTERFACE_INFO; var dwOutBufLen: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetUniDirectionalAdapterInfo(pIPIfInfo: PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS; var dwOutBufLen: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetBestInterface(dwDestAddr: IPAddr; var pdwBestIfIndex: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetBestRoute(dwDestAddr, dwSourceAddr: DWORD; pBestRoute: PMIB_IPFORWARDROW): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function NotifyAddrChange(var Handle: THandle; overlapped: POVERLAPPED): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function NotifyRouteChange(var Handle: THandle; overlapped: POVERLAPPED): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetAdapterIndex(AdapterName: LPWSTR; var IfIndex: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function AddIPAddress(Address: IPAddr; IpMask: IPMask; IfIndex: DWORD; var NTEContext, NTEInstance: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function DeleteIPAddress(NTEContext: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetNetworkParams(pFixedInfo: PFIXED_INFO; var pOutBufLen: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetAdaptersInfo(pAdapterInfo: PIP_ADAPTER_INFO; var pOutBufLen: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetPerAdapterInfo(IfIndex: DWORD; pPerAdapterInfo: PIP_PER_ADAPTER_INFO; var pOutBufLen: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IpReleaseAddress(const AdapterInfo: IP_ADAPTER_INDEX_MAP): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IpRenewAddress(const AdapterInfo: IP_ADAPTER_INDEX_MAP): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function SendARP(const DestIP, SrcIP: IPAddr; pMacAddr: PDWORD; var PhyAddrLen: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetRTTAndHopCount(DestIpAddress: IPAddr; var HopCount: DWORD; MaxHops: DWORD; var RTT: DWORD): BOOL;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function GetFriendlyIfIndex(IfIndex: DWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function EnableRouter(var pHandle: THandle; pOverlapped: POVERLAPPED): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function UnenableRouter(pOverlapped: POVERLAPPED; lpdwEnableCount: LPDWORD): DWORD;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''IP helper helper functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MIBIFOperStatusToString(AValue:DWORD):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MIBIFTypeToString(AValue:DWORD):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MIBIFAdminStatusToString(AValue:DWORD):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MIBTCPRTOToString(AValue:DWORD):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MIBTCPStateToString(AValue:DWORD):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MIBIPForwardingToString(AValue:DWORD):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MIBIPRouteTypeToString(AValue:DWORD):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MIBIPProtoToString(AValue:DWORD):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MIBIPNetTypeToString(AValue:DWORD):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
Return to [[Unit_Reference|Unit Reference]] | Return to [[Unit_Reference|Unit Reference]] |
Latest revision as of 23:53, 10 January 2024
Return to Unit Reference
Description
Ultibo IP Helper Interface unit
This unit provides a subset of the Windows IP Helper API functions for querying and managing configuration of the TCP/IP transport and associated protocols.
Note: Not all functions are currently implemented, more will be added as they are required.
Constants
MAX_ADAPTER_*
MAX_INTERFACE_NAME_LEN = 256;
|
|
IPRTRMGR_PID = 10000;
|
|
ANY_SIZE = 1;
|
|
MAX_ADAPTER_NAME = 128;
|
|
MAX_ADAPTER_DESCRIPTION_LENGTH = 128;
|
|
MAX_ADAPTER_NAME_LENGTH = 256;
|
|
MAX_ADAPTER_ADDRESS_LENGTH = 8;
|
|
DEFAULT_MINIMUM_ENTITIES = 32;
|
|
MAX_HOSTNAME_LEN = 128;
|
|
MAX_DOMAIN_NAME_LEN = 128;
|
|
MAX_SCOPE_ID_LEN = 256;
|
|
MAXLEN_IFDESCR = 256;
|
|
MAXLEN_PHYSADDR = 8;
|
MIB_IF_OPER_STATUS_*
MIB_IF_OPER_STATUS_NON_OPERATIONAL = 0;
|
|
MIB_IF_OPER_STATUS_UNREACHABLE = 1;
|
|
MIB_IF_OPER_STATUS_DISCONNECTED = 2;
|
|
MIB_IF_OPER_STATUS_CONNECTING = 3;
|
|
MIB_IF_OPER_STATUS_CONNECTED = 4;
|
|
MIB_IF_OPER_STATUS_OPERATIONAL = 5;
|
MIB_IF_TYPE_*
MIB_IF_TYPE_OTHER = 1;
|
|
MIB_IF_TYPE_ETHERNET = 6;
|
|
MIB_IF_TYPE_TOKENRING = 9;
|
|
MIB_IF_TYPE_FDDI = 15;
|
|
MIB_IF_TYPE_PPP = 23;
|
|
MIB_IF_TYPE_LOOPBACK = 24;
|
|
MIB_IF_TYPE_SLIP = 28;
|
|
MIB_IF_TYPE_IEEE80211 = 71;
|
|
IF_TYPE_OTHER = MIB_IF_TYPE_OTHER;
|
|
IF_TYPE_ETHERNET_CSMACD = MIB_IF_TYPE_ETHERNET;
|
|
IF_TYPE_ISO88025_TOKENRING = MIB_IF_TYPE_TOKENRING;
|
|
IF_TYPE_FDDI = MIB_IF_TYPE_FDDI;
|
|
IF_TYPE_PPP = MIB_IF_TYPE_PPP;
|
|
IF_TYPE_SOFTWARE_LOOPBACK = MIB_IF_TYPE_LOOPBACK;
|
|
IF_TYPE_SLIP = MIB_IF_TYPE_SLIP;
|
|
IF_TYPE_ATM = 37;
|
|
IF_TYPE_IEEE80211 = MIB_IF_TYPE_IEEE80211;
|
|
IF_TYPE_TUNNEL = 131;
|
|
IF_TYPE_IEEE1394 = 144;
|
|
IF_TYPE_IEEE80216_WMAN = 237;
|
|
IF_TYPE_WWANPP = 243;
|
|
IF_TYPE_WWANPP2 = 244;
|
MIB_IF_ADMIN_STATUS_*
MIB_IF_ADMIN_STATUS_UP = 1;
|
|
MIB_IF_ADMIN_STATUS_DOWN = 2;
|
|
MIB_IF_ADMIN_STATUS_TESTING = 3;
|
MIB_TCP_*
MIB_TCP_RTO_OTHER = 1;
|
|
MIB_TCP_RTO_CONSTANT = 2;
|
|
MIB_TCP_RTO_RSRE = 3;
|
|
MIB_TCP_RTO_VANJ = 4;
|
|
MIB_TCP_MAXCONN_DYNAMIC = DWORD(-1);
|
MIB_TCP_STATE_*
MIB_TCP_STATE_CLOSED = 1;
|
|
MIB_TCP_STATE_LISTEN = 2;
|
|
MIB_TCP_STATE_SYN_SENT = 3;
|
|
MIB_TCP_STATE_SYN_RCVD = 4;
|
|
MIB_TCP_STATE_ESTAB = 5;
|
|
MIB_TCP_STATE_FIN_WAIT1 = 6;
|
|
MIB_TCP_STATE_FIN_WAIT2 = 7;
|
|
MIB_TCP_STATE_CLOSE_WAIT = 8;
|
|
MIB_TCP_STATE_CLOSING = 9;
|
|
MIB_TCP_STATE_LAST_ACK = 10;
|
|
MIB_TCP_STATE_TIME_WAIT = 11;
|
|
MIB_TCP_STATE_DELETE_TCB = 12;
|
MIB_USE_CURRENT_*
MIB_USE_CURRENT_TTL = DWORD(-1);
|
|
MIB_USE_CURRENT_FORWARDING = DWORD(-1);
|
MIB_IP_*
MIB_IP_FORWARDING = 1;
|
|
MIB_IP_NOT_FORWARDING = 2;
|
MIB_IPROUTE_*
MIB_IPROUTE_TYPE_OTHER = 1;
|
|
MIB_IPROUTE_TYPE_INVALID = 2;
|
|
MIB_IPROUTE_TYPE_DIRECT = 3;
|
|
MIB_IPROUTE_TYPE_INDIRECT = 4;
|
|
MIB_IPROUTE_METRIC_UNUSED = DWORD(-1);
|
MIB_IPPROTO_*
MIB_IPPROTO_OTHER = 1;
|
|
MIB_IPPROTO_LOCAL = 2;
|
|
MIB_IPPROTO_NETMGMT = 3;
|
|
MIB_IPPROTO_ICMP = 4;
|
|
MIB_IPPROTO_EGP = 5;
|
|
MIB_IPPROTO_GGP = 6;
|
|
MIB_IPPROTO_HELLO = 7;
|
|
MIB_IPPROTO_RIP = 8;
|
|
MIB_IPPROTO_IS_IS = 9;
|
|
MIB_IPPROTO_ES_IS = 10;
|
|
MIB_IPPROTO_CISCO = 11;
|
|
MIB_IPPROTO_BBN = 12;
|
|
MIB_IPPROTO_OSPF = 13;
|
|
MIB_IPPROTO_BGP = 14;
|
|
MIB_IPPROTO_NT_AUTOSTATIC = 10002;
|
|
MIB_IPPROTO_NT_STATIC = 10006;
|
|
MIB_IPPROTO_NT_STATIC_NON_DOD = 10007;
|
MIB_IPNET_*
MIB_IPNET_TYPE_OTHER = 1;
|
|
MIB_IPNET_TYPE_INVALID = 2;
|
|
MIB_IPNET_TYPE_DYNAMIC = 3;
|
|
MIB_IPNET_TYPE_STATIC = 4;
|
Type definitions
IP address
IPAddr = Cardinal;
|
An IP address |
IP mask
IPMask = Cardinal;
|
An IP netmask |
IP status
IP_STATUS = Cardinal;
|
Status code returned from IP APIs |
MIB if number
TMibIfnumber = MIB_IFNUMBER;
PMibIfnumber = PMIB_IFNUMBER;
PMIB_IFNUMBER = ^MIB_IFNUMBER;
MIB_IFNUMBER = record
dwValue: DWORD;
|
MIB if row
TMibIfRow = MIB_IFROW;
PMibIfRow = PMIB_IFROW;
PMIB_IFROW = ^MIB_IFROW;
MIB_IFROW = record
wszName: array [0..MAX_INTERFACE_NAME_LEN - 1] of WideChar;
|
|
dwIndex: DWORD;
|
|
dwType: DWORD;
|
|
dwMtu: DWORD;
|
|
dwSpeed: DWORD;
|
|
dwPhysAddrLen: DWORD;
|
|
bPhysAddr: array [0..MAXLEN_PHYSADDR - 1] of Byte;
|
|
dwAdminStatus: DWORD;
|
|
dwOperStatus: DWORD;
|
|
dwLastChange: DWORD;
|
|
dwInOctets: DWORD;
|
|
dwInUcastPkts: DWORD;
|
|
dwInNUcastPkts: DWORD;
|
|
dwInDiscards: DWORD;
|
|
dwInErrors: DWORD;
|
|
dwInUnknownProtos: DWORD;
|
|
dwOutOctets: DWORD;
|
|
dwOutUcastPkts: DWORD;
|
|
dwOutNUcastPkts: DWORD;
|
|
dwOutDiscards: DWORD;
|
|
dwOutErrors: DWORD;
|
|
dwOutQLen: DWORD;
|
|
dwDescrLen: DWORD;
|
|
bDescr: array[0..MAXLEN_IFDESCR - 1] of Byte;
|
MIB if table
TMibIftable = MIB_IFTABLE;
PMibIftable = PMIB_IFTABLE;
PMIB_IFTABLE = ^MIB_IFTABLE;
MIB_IFTABLE = record
dwNumEntries: DWORD;
|
|
table: array [0..ANY_SIZE - 1] of MIB_IFROW;
|
MIB ICMP statistics
TMibIcmpStats = MIBICMPSTATS;
PMibIcmpStats = ^TMibIcmpStats;
MIBICMPSTATS = record
dwMsgs: DWORD;
|
|
dwErrors: DWORD;
|
|
dwDestUnreachs: DWORD;
|
|
dwTimeExcds: DWORD;
|
|
dwParmProbs: DWORD;
|
|
dwSrcQuenchs: DWORD;
|
|
dwRedirects: DWORD;
|
|
dwEchos: DWORD;
|
|
dwEchoReps: DWORD;
|
|
dwTimestamps: DWORD;
|
|
dwTimestampReps: DWORD;
|
|
dwAddrMasks: DWORD;
|
|
dwAddrMaskReps: DWORD;
|
MIB ICMP information
TMibIcmpInfo = MIBICMPINFO;
PMibIcmpInfo = ^TMibIcmpInfo;
MIBICMPINFO = record
icmpInStats: MIBICMPSTATS;
|
|
icmpOutStats: MIBICMPSTATS;
|
MIB ICMP
TMibIcmp = MIB_ICMP;
PMibIcmp = PMIB_ICMP;
PMIB_ICMP = ^MIB_ICMP;
MIB_ICMP = record
stats: MIBICMPINFO;
|
MIB UDP statistics
TMibUdpStats = MIB_UDPSTATS;
PMibUdpStats = PMIB_UDPSTATS;
PMIB_UDPSTATS = ^MIB_UDPSTATS;
MIB_UDPSTATS = record
dwInDatagrams: DWORD;
|
|
dwNoPorts: DWORD;
|
|
dwInErrors: DWORD;
|
|
dwOutDatagrams: DWORD;
|
|
dwNumAddrs: DWORD;
|
MIB UDP row
TMibUdpRow = MIB_UDPROW;
PMibUdpRow = PMIB_UDPROW;
PMIB_UDPROW = ^MIB_UDPROW;
MIB_UDPROW = record
dwLocalAddr: DWORD;
|
|
dwLocalPort: DWORD;
|
MIB UDP table
TMibUdpTable = MIB_UDPTABLE;
PMibUdpTable = PMIB_UDPTABLE;
PMIB_UDPTABLE = ^MIB_UDPTABLE;
MIB_UDPTABLE = record
dwNumEntries: DWORD;
|
|
table: array [0..ANY_SIZE - 1] of MIB_UDPROW;
|
MIB TCP statistics
TMibTcpStats = MIB_TCPSTATS;
PMibTcpStats = PMIB_TCPSTATS;
PMIB_TCPSTATS = ^MIB_TCPSTATS;
MIB_TCPSTATS = record
dwRtoAlgorithm: DWORD;
|
|
dwRtoMin: DWORD;
|
|
dwRtoMax: DWORD;
|
|
dwMaxConn: DWORD;
|
|
dwActiveOpens: DWORD;
|
|
dwPassiveOpens: DWORD;
|
|
dwAttemptFails: DWORD;
|
|
dwEstabResets: DWORD;
|
|
dwCurrEstab: DWORD;
|
|
dwInSegs: DWORD;
|
|
dwOutSegs: DWORD;
|
|
dwRetransSegs: DWORD;
|
|
dwInErrs: DWORD;
|
|
dwOutRsts: DWORD;
|
|
dwNumConns: DWORD;
|
MIB TCP row
TMibTcpRow = MIB_TCPROW;
PMibTcpRow = PMIB_TCPROW;
PMIB_TCPROW = ^MIB_TCPROW;
MIB_TCPROW = record
dwState: DWORD;
|
|
dwLocalAddr: DWORD;
|
|
dwLocalPort: DWORD;
|
|
dwRemoteAddr: DWORD;
|
|
dwRemotePort: DWORD;
|
MIB TCP table
TMibTcpTable = MIB_TCPTABLE;
PMibTcpTable = PMIB_TCPTABLE;
PMIB_TCPTABLE = ^MIB_TCPTABLE;
MIB_TCPTABLE = record
dwNumEntries: DWORD;
|
|
table: array [0..ANY_SIZE - 1] of MIB_TCPROW;
|
MIB IP statistics
TMibIpStats = MIB_IPSTATS;
PMibIpStats = PMIB_IPSTATS;
PMIB_IPSTATS = ^MIB_IPSTATS;
MIB_IPSTATS = record
dwForwarding: DWORD;
|
|
dwDefaultTTL: DWORD;
|
|
dwInReceives: DWORD;
|
|
dwInHdrErrors: DWORD;
|
|
dwInAddrErrors: DWORD;
|
|
dwForwDatagrams: DWORD;
|
|
dwInUnknownProtos: DWORD;
|
|
dwInDiscards: DWORD;
|
|
dwInDelivers: DWORD;
|
|
dwOutRequests: DWORD;
|
|
dwRoutingDiscards: DWORD;
|
|
dwOutDiscards: DWORD;
|
|
dwOutNoRoutes: DWORD;
|
|
dwReasmTimeout: DWORD;
|
|
dwReasmReqds: DWORD;
|
|
dwReasmOks: DWORD;
|
|
dwReasmFails: DWORD;
|
|
dwFragOks: DWORD;
|
|
dwFragFails: DWORD;
|
|
dwFragCreates: DWORD;
|
|
dwNumIf: DWORD;
|
|
dwNumAddr: DWORD;
|
|
dwNumRoutes: DWORD;
|
MIB IP address row
TMibIpAddrRow = MIB_IPADDRROW;
PMibIpAddrRow = PMIB_IPADDRROW;
PMIB_IPADDRROW = ^MIB_IPADDRROW;
MIB_IPADDRROW = record
dwAddr: DWORD;
|
|
dwIndex: DWORD;
|
|
dwMask: DWORD;
|
|
dwBCastAddr: DWORD;
|
|
dwReasmSize: DWORD;
|
|
unused1: Word;
|
|
unused2: Word;
|
MIB IP address table
TMibIpAddrTable = MIB_IPADDRTABLE;
PMibIpAddrTable = PMIB_IPADDRTABLE;
PMIB_IPADDRTABLE = ^MIB_IPADDRTABLE;
MIB_IPADDRTABLE = record
dwNumEntries: DWORD;
|
|
table: array [0..ANY_SIZE - 1] of MIB_IPADDRROW;
|
MIB IP forward number
TMibIpForwardNumber = MIB_IPFORWARDNUMBER;
PMibIpForwardNumber = PMIB_IPFORWARDNUMBER;
PMIB_IPFORWARDNUMBER = ^MIB_IPFORWARDNUMBER;
MIB_IPFORWARDNUMBER = record
dwValue: DWORD;
|
MIB IP forward row
TMibIpForwardRow = MIB_IPFORWARDROW;
PMibIpForwardRow = PMIB_IPFORWARDROW;
PMIB_IPFORWARDROW = ^MIB_IPFORWARDROW;
MIB_IPFORWARDROW = record
dwForwardDest: DWORD;
|
|
dwForwardMask: DWORD;
|
|
dwForwardPolicy: DWORD;
|
|
dwForwardNextHop: DWORD;
|
|
dwForwardIfIndex: DWORD;
|
|
dwForwardType: DWORD;
|
|
dwForwardProto: DWORD;
|
|
dwForwardAge: DWORD;
|
|
dwForwardNextHopAS: DWORD;
|
|
dwForwardMetric1: DWORD;
|
|
dwForwardMetric2: DWORD;
|
|
dwForwardMetric3: DWORD;
|
|
dwForwardMetric4: DWORD;
|
|
dwForwardMetric5: DWORD;
|
MIB IP forward table
TMibIpForwardTable = MIB_IPFORWARDTABLE;
PMibIpForwardTable = PMIB_IPFORWARDTABLE;
PMIB_IPFORWARDTABLE = ^MIB_IPFORWARDTABLE;
MIB_IPFORWARDTABLE = record
dwNumEntries: DWORD;
|
|
table: array [0..ANY_SIZE - 1] of MIB_IPFORWARDROW;
|
MIB IP net row
TMibIpNetRow = MIB_IPNETROW;
PMibIpNetRow = PMIB_IPNETROW;
PMIB_IPNETROW = ^MIB_IPNETROW;
MIB_IPNETROW = record
dwIndex: DWORD;
|
|
dwPhysAddrLen: DWORD;
|
|
bPhysAddr: array [0..MAXLEN_PHYSADDR - 1] of BYTE;
|
|
dwAddr: DWORD;
|
|
dwType: DWORD;
|
MIB IP net table
TMibIpNetTable = MIB_IPNETTABLE;
PMibIpNetTable = PMIB_IPNETTABLE;
PMIB_IPNETTABLE = ^MIB_IPNETTABLE;
MIB_IPNETTABLE = record
dwNumEntries: DWORD;
|
|
table: array [0..ANY_SIZE - 1] of MIB_IPNETROW;
|
IP adapter index map
TIpAdapterIndexMap = IP_ADAPTER_INDEX_MAP;
PIpAdapterIndexMap = PIP_ADAPTER_INDEX_MAP;
PIP_ADAPTER_INDEX_MAP = ^IP_ADAPTER_INDEX_MAP;
IP_ADAPTER_INDEX_MAP = record
Index: ULONG;
|
|
Name: array [0..MAX_ADAPTER_NAME - 1] of WideChar;
|
IP interface info
TIpInterfaceInfo = IP_INTERFACE_INFO;
PIpInterfaceInfo = PIP_INTERFACE_INFO;
PIP_INTERFACE_INFO = ^IP_INTERFACE_INFO;
IP_INTERFACE_INFO = record
NumAdapters: Longint;
|
|
Adapter: array [0..0] of IP_ADAPTER_INDEX_MAP;
|
IP unidirectional adapter address
TIpUnidirectionalAdapterAddress = IP_UNIDIRECTIONAL_ADAPTER_ADDRESS;
PIpUnidirectionalAdapterAddress = PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS;
PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS = ^IP_UNIDIRECTIONAL_ADAPTER_ADDRESS;
IP_UNIDIRECTIONAL_ADAPTER_ADDRESS = record
NumAdapters: ULONG;
|
|
Address: array [0..0] of IPAddr;
|
IP address string
TIpAddressString = IP_ADDRESS_STRING;
PIpAddressString = PIP_MASK_STRING;
PIP_ADDRESS_STRING = ^IP_ADDRESS_STRING;
IP_MASK_STRING = IP_ADDRESS_STRING;
PIP_MASK_STRING = ^IP_MASK_STRING;
IP_ADDRESS_STRING = record
S: array [0..15] of Char;
|
IP addr string
TIpAddrString = IP_ADDR_STRING;
PIpAddrString = PIP_ADDR_STRING;
PIP_ADDR_STRING = ^IP_ADDR_STRING;
IP_ADDR_STRING = record
Next: PIP_ADDR_STRING;
|
|
IpAddress: IP_ADDRESS_STRING;
|
|
IpMask: IP_MASK_STRING;
|
|
Context: DWORD;
|
IP adapter information
TIpAdapterInfo = IP_ADAPTER_INFO;
PIpAdapterInfo = PIP_ADAPTER_INFO;
PIP_ADAPTER_INFO = ^IP_ADAPTER_INFO;
IP_ADAPTER_INFO = record
Next: PIP_ADAPTER_INFO;
|
|
ComboIndex: DWORD;
|
|
AdapterName: array [0..MAX_ADAPTER_NAME_LENGTH + 3] of Char;
|
|
Description: array [0..MAX_ADAPTER_DESCRIPTION_LENGTH + 3] of Char;
|
|
AddressLength: UINT;
|
|
Address: array [0..MAX_ADAPTER_ADDRESS_LENGTH - 1] of BYTE;
|
|
Index: DWORD;
|
|
Type_: UINT;
|
|
DhcpEnabled: UINT;
|
|
CurrentIpAddress: PIP_ADDR_STRING;
|
|
IpAddressList: IP_ADDR_STRING;
|
|
GatewayList: IP_ADDR_STRING;
|
|
DhcpServer: IP_ADDR_STRING;
|
|
HaveWins: BOOL;
|
|
PrimaryWinsServer: IP_ADDR_STRING;
|
|
SecondaryWinsServer: IP_ADDR_STRING;
|
|
LeaseObtained: time_t;
|
|
LeaseExpires: time_t;
|
IP per adapter information
TIpPerAdapterInfo = IP_PER_ADAPTER_INFO;
PIpPerAdapterInfo = PIP_PER_ADAPTER_INFO;
PIP_PER_ADAPTER_INFO = ^IP_PER_ADAPTER_INFO;
IP_PER_ADAPTER_INFO = record
AutoconfigEnabled: UINT;
|
|
AutoconfigActive: UINT;
|
|
CurrentDnsServer: PIP_ADDR_STRING;
|
|
DnsServerList: IP_ADDR_STRING;
|
Fixed information
TFixedInfo = FIXED_INFO;
PFixedInfo = PFIXED_INFO;
PFIXED_INFO = ^FIXED_INFO;
FIXED_INFO = record
HostName: array [0..MAX_HOSTNAME_LEN + 3] of Char;
|
|
DomainName: array[0..MAX_DOMAIN_NAME_LEN + 3] of Char;
|
|
CurrentDnsServer: PIP_ADDR_STRING;
|
|
DnsServerList: IP_ADDR_STRING;
|
|
NodeType: UINT;
|
|
ScopeId: array [0..MAX_SCOPE_ID_LEN + 3] of Char;
|
|
EnableRouting: UINT;
|
|
EnableProxy: UINT;
|
|
EnableDns: UINT;
|
Public variables
None defined
Function declarations
Initialization functions
function IPHelperStart:Boolean;
Note | Only called internally by IP Helper functions |
---|
function IPHelperStop:Boolean;
Note | Only called internally by IP Helper functions |
---|
Helper functions
function IPHelperConvertError(Status:Integer):DWORD;
Note | None documented |
---|
IP helper functions
function GetNumberOfInterfaces(var pdwNumIf: DWORD): DWORD;
Note | None documented |
---|
function GetIfEntry(pIfRow: PMIB_IFROW): DWORD;
Note | None documented |
---|
function GetIfTable(pIfTable: PMIB_IFTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;
Note | None documented |
---|
function GetIpAddrTable(pIpAddrTable: PMIB_IPADDRTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;
Note | None documented |
---|
function GetIpNetTable(pIpNetTable: PMIB_IPNETTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;
Note | None documented |
---|
function GetIpForwardTable(pIpForwardTable: PMIB_IPFORWARDTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;
Note | None documented |
---|
function GetTcpTable(pTcpTable: PMIB_TCPTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;
Note | None documented |
---|
function GetUdpTable(pUdpTable: PMIB_UDPTABLE; var pdwSize: DWORD; bOrder: BOOL): DWORD;
Note | None documented |
---|
function GetIpStatistics(var pStats: MIB_IPSTATS): DWORD;
Note | None documented |
---|
function GetIcmpStatistics(var pStats: MIB_ICMP): DWORD;
Note | None documented |
---|
function GetTcpStatistics(var pStats: MIB_TCPSTATS): DWORD;
Note | None documented |
---|
function GetUdpStatistics(var pStats: MIB_UDPSTATS): DWORD;
Note | None documented |
---|
function SetIfEntry(const pIfRow: MIB_IFROW): DWORD;
Note | None documented |
---|
function CreateIpForwardEntry(const pRoute: MIB_IPFORWARDROW): DWORD;
Note | None documented |
---|
function SetIpForwardEntry(const pRoute: MIB_IPFORWARDROW): DWORD;
Note | None documented |
---|
function DeleteIpForwardEntry(const pRoute: MIB_IPFORWARDROW): DWORD;
Note | None documented |
---|
function SetIpStatistics(const pIpStats: MIB_IPSTATS): DWORD;
Note | None documented |
---|
function SetIpTTL(nTTL: UINT): DWORD;
Note | None documented |
---|
function CreateIpNetEntry(const pArpEntry: MIB_IPNETROW): DWORD;
Note | None documented |
---|
function SetIpNetEntry(const pArpEntry: MIB_IPNETROW): DWORD;
Note | None documented |
---|
function DeleteIpNetEntry(const pArpEntry: MIB_IPNETROW): DWORD;
Note | None documented |
---|
function FlushIpNetTable(dwIfIndex: DWORD): DWORD;
Note | None documented |
---|
function CreateProxyArpEntry(dwAddress, dwMask, dwIfIndex: DWORD): DWORD;
Note | None documented |
---|
function DeleteProxyArpEntry(dwAddress, dwMask, dwIfIndex: DWORD): DWORD;
Note | None documented |
---|
function SetTcpEntry(const pTcpRow: MIB_TCPROW): DWORD;
Note | None documented |
---|
function GetInterfaceInfo(pIfTable: PIP_INTERFACE_INFO; var dwOutBufLen: DWORD): DWORD;
Note | None documented |
---|
function GetUniDirectionalAdapterInfo(pIPIfInfo: PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS; var dwOutBufLen: DWORD): DWORD;
Note | None documented |
---|
function GetBestInterface(dwDestAddr: IPAddr; var pdwBestIfIndex: DWORD): DWORD;
Note | None documented |
---|
function GetBestRoute(dwDestAddr, dwSourceAddr: DWORD; pBestRoute: PMIB_IPFORWARDROW): DWORD;
Note | None documented |
---|
function NotifyAddrChange(var Handle: THandle; overlapped: POVERLAPPED): DWORD;
Note | None documented |
---|
function NotifyRouteChange(var Handle: THandle; overlapped: POVERLAPPED): DWORD;
Note | None documented |
---|
function GetAdapterIndex(AdapterName: LPWSTR; var IfIndex: DWORD): DWORD;
Note | None documented |
---|
function AddIPAddress(Address: IPAddr; IpMask: IPMask; IfIndex: DWORD; var NTEContext, NTEInstance: DWORD): DWORD;
Note | None documented |
---|
function DeleteIPAddress(NTEContext: DWORD): DWORD;
Note | None documented |
---|
function GetNetworkParams(pFixedInfo: PFIXED_INFO; var pOutBufLen: DWORD): DWORD;
Note | None documented |
---|
function GetAdaptersInfo(pAdapterInfo: PIP_ADAPTER_INFO; var pOutBufLen: DWORD): DWORD;
Note | None documented |
---|
function GetPerAdapterInfo(IfIndex: DWORD; pPerAdapterInfo: PIP_PER_ADAPTER_INFO; var pOutBufLen: DWORD): DWORD;
Note | None documented |
---|
function IpReleaseAddress(const AdapterInfo: IP_ADAPTER_INDEX_MAP): DWORD;
Note | None documented |
---|
function IpRenewAddress(const AdapterInfo: IP_ADAPTER_INDEX_MAP): DWORD;
Note | None documented |
---|
function SendARP(const DestIP, SrcIP: IPAddr; pMacAddr: PDWORD; var PhyAddrLen: DWORD): DWORD;
Note | None documented |
---|
function GetRTTAndHopCount(DestIpAddress: IPAddr; var HopCount: DWORD; MaxHops: DWORD; var RTT: DWORD): BOOL;
Note | None documented |
---|
function GetFriendlyIfIndex(IfIndex: DWORD): DWORD;
Note | None documented |
---|
function EnableRouter(var pHandle: THandle; pOverlapped: POVERLAPPED): DWORD;
Note | None documented |
---|
function UnenableRouter(pOverlapped: POVERLAPPED; lpdwEnableCount: LPDWORD): DWORD;
Note | None documented |
---|
IP helper helper functions
function MIBIFOperStatusToString(AValue:DWORD):String;
Note | None documented |
---|
function MIBIFTypeToString(AValue:DWORD):String;
Note | None documented |
---|
function MIBIFAdminStatusToString(AValue:DWORD):String;
Note | None documented |
---|
function MIBTCPRTOToString(AValue:DWORD):String;
Note | None documented |
---|
function MIBTCPStateToString(AValue:DWORD):String;
Note | None documented |
---|
function MIBIPForwardingToString(AValue:DWORD):String;
Note | None documented |
---|
function MIBIPRouteTypeToString(AValue:DWORD):String;
Note | None documented |
---|
function MIBIPProtoToString(AValue:DWORD):String;
Note | None documented |
---|
function MIBIPNetTypeToString(AValue:DWORD):String;
Note | None documented |
---|
Return to Unit Reference