Hex Artifact Content

Not logged in

Artifact ddb714521d78c35212ad972bcfda1a4054d26a3b:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20  ********\.*     
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 69 70 72 74 72 6d            iprtrm
0070: 69 62 2e 64 20 20 20 20 20 20 20 20 20 20 20 20  ib.d            
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20    *.*           
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20        *.*       
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 62 79 20 53 74 65 77 61          by Stewa
01e0: 72 74 20 47 6f 72 64 6f 6e 20 20 20 20 20 20 20  rt Gordon       
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  *               
0260: 20 20 20 20 20 20 20 20 50 6c 61 63 65 64 20 69          Placed i
0270: 6e 74 6f 20 70 75 62 6c 69 63 20 64 6f 6d 61 69  nto public domai
0280: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n               
0290: 20 20 20 20 20 20 20 20 2a 0a 5c 2a 2a 2a 2a 2a          *.\*****
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02e0: 2a 2a 2f 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32  **/.module win32
02f0: 2e 69 70 72 74 72 6d 69 62 3b 0a 0a 69 6d 70 6f  .iprtrmib;..impo
0300: 72 74 20 77 69 6e 33 32 2e 69 70 69 66 63 6f 6e  rt win32.ipifcon
0310: 73 3b 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72  s;.private impor
0320: 74 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b 0a  t win32.windef;.
0330: 0a 2f 2f 20 46 49 58 4d 45 3a 20 63 68 65 63 6b  .// FIXME: check
0340: 20 74 79 70 65 73 20 6f 66 20 63 6f 6e 73 74 61   types of consta
0350: 6e 74 73 0a 0a 63 6f 6e 73 74 20 73 69 7a 65 5f  nts..const size_
0360: 74 0a 09 4d 41 58 4c 45 4e 5f 50 48 59 53 41 44  t..MAXLEN_PHYSAD
0370: 44 52 20 20 20 20 20 20 20 20 3d 20 20 20 38 2c  DR        =   8,
0380: 0a 09 4d 41 58 4c 45 4e 5f 49 46 44 45 53 43 52  ..MAXLEN_IFDESCR
0390: 20 20 20 20 20 20 20 20 20 3d 20 32 35 36 2c 0a           = 256,.
03a0: 09 4d 41 58 5f 49 4e 54 45 52 46 41 43 45 5f 4e  .MAX_INTERFACE_N
03b0: 41 4d 45 5f 4c 45 4e 20 3d 20 32 35 36 3b 0a 0a  AME_LEN = 256;..
03c0: 65 6e 75 6d 20 7b 0a 09 4d 49 42 5f 49 50 4e 45  enum {..MIB_IPNE
03d0: 54 5f 54 59 50 45 5f 4f 54 48 45 52 20 3d 20 31  T_TYPE_OTHER = 1
03e0: 2c 0a 09 4d 49 42 5f 49 50 4e 45 54 5f 54 59 50  ,..MIB_IPNET_TYP
03f0: 45 5f 49 4e 56 41 4c 49 44 2c 0a 09 4d 49 42 5f  E_INVALID,..MIB_
0400: 49 50 4e 45 54 5f 54 59 50 45 5f 44 59 4e 41 4d  IPNET_TYPE_DYNAM
0410: 49 43 2c 0a 09 4d 49 42 5f 49 50 4e 45 54 5f 54  IC,..MIB_IPNET_T
0420: 59 50 45 5f 53 54 41 54 49 43 0a 7d 0a 0a 65 6e  YPE_STATIC.}..en
0430: 75 6d 20 7b 0a 09 4d 49 42 5f 54 43 50 5f 52 54  um {..MIB_TCP_RT
0440: 4f 5f 4f 54 48 45 52 20 3d 20 31 2c 0a 09 4d 49  O_OTHER = 1,..MI
0450: 42 5f 54 43 50 5f 52 54 4f 5f 43 4f 4e 53 54 41  B_TCP_RTO_CONSTA
0460: 4e 54 2c 0a 09 4d 49 42 5f 54 43 50 5f 52 54 4f  NT,..MIB_TCP_RTO
0470: 5f 52 53 52 45 2c 0a 09 4d 49 42 5f 54 43 50 5f  _RSRE,..MIB_TCP_
0480: 52 54 4f 5f 56 41 4e 4a 0a 7d 0a 0a 65 6e 75 6d  RTO_VANJ.}..enum
0490: 20 7b 0a 09 4d 49 42 5f 54 43 50 5f 53 54 41 54   {..MIB_TCP_STAT
04a0: 45 5f 43 4c 4f 53 45 44 20 3d 20 31 2c 0a 09 4d  E_CLOSED = 1,..M
04b0: 49 42 5f 54 43 50 5f 53 54 41 54 45 5f 4c 49 53  IB_TCP_STATE_LIS
04c0: 54 45 4e 2c 0a 09 4d 49 42 5f 54 43 50 5f 53 54  TEN,..MIB_TCP_ST
04d0: 41 54 45 5f 53 59 4e 5f 53 45 4e 54 2c 0a 09 4d  ATE_SYN_SENT,..M
04e0: 49 42 5f 54 43 50 5f 53 54 41 54 45 5f 53 59 4e  IB_TCP_STATE_SYN
04f0: 5f 52 43 56 44 2c 0a 09 4d 49 42 5f 54 43 50 5f  _RCVD,..MIB_TCP_
0500: 53 54 41 54 45 5f 45 53 54 41 42 2c 0a 09 4d 49  STATE_ESTAB,..MI
0510: 42 5f 54 43 50 5f 53 54 41 54 45 5f 46 49 4e 5f  B_TCP_STATE_FIN_
0520: 57 41 49 54 31 2c 0a 09 4d 49 42 5f 54 43 50 5f  WAIT1,..MIB_TCP_
0530: 53 54 41 54 45 5f 46 49 4e 5f 57 41 49 54 32 2c  STATE_FIN_WAIT2,
0540: 0a 09 4d 49 42 5f 54 43 50 5f 53 54 41 54 45 5f  ..MIB_TCP_STATE_
0550: 43 4c 4f 53 45 5f 57 41 49 54 2c 0a 09 4d 49 42  CLOSE_WAIT,..MIB
0560: 5f 54 43 50 5f 53 54 41 54 45 5f 43 4c 4f 53 49  _TCP_STATE_CLOSI
0570: 4e 47 2c 0a 09 4d 49 42 5f 54 43 50 5f 53 54 41  NG,..MIB_TCP_STA
0580: 54 45 5f 4c 41 53 54 5f 41 43 4b 2c 0a 09 4d 49  TE_LAST_ACK,..MI
0590: 42 5f 54 43 50 5f 53 54 41 54 45 5f 54 49 4d 45  B_TCP_STATE_TIME
05a0: 5f 57 41 49 54 2c 0a 09 4d 49 42 5f 54 43 50 5f  _WAIT,..MIB_TCP_
05b0: 53 54 41 54 45 5f 44 45 4c 45 54 45 5f 54 43 42  STATE_DELETE_TCB
05c0: 20 2f 2f 20 3d 20 31 32 0a 7d 0a 0a 63 6f 6e 73   // = 12.}..cons
05d0: 74 20 44 57 4f 52 44 0a 09 4d 49 42 5f 55 53 45  t DWORD..MIB_USE
05e0: 5f 43 55 52 52 45 4e 54 5f 54 54 4c 20 20 20 20  _CURRENT_TTL    
05f0: 20 20 20 20 3d 20 2d 31 2c 0a 09 4d 49 42 5f 55      = -1,..MIB_U
0600: 53 45 5f 43 55 52 52 45 4e 54 5f 46 4f 52 57 41  SE_CURRENT_FORWA
0610: 52 44 49 4e 47 20 3d 20 2d 31 2c 0a 09 4d 49 42  RDING = -1,..MIB
0620: 5f 54 43 50 5f 4d 41 58 43 4f 4e 4e 5f 44 59 4e  _TCP_MAXCONN_DYN
0630: 41 4d 49 43 20 20 20 20 3d 20 2d 31 3b 0a 0a 73  AMIC    = -1;..s
0640: 74 72 75 63 74 20 4d 49 42 5f 49 50 41 44 44 52  truct MIB_IPADDR
0650: 52 4f 57 20 7b 0a 09 44 57 4f 52 44 20 20 64 77  ROW {..DWORD  dw
0660: 41 64 64 72 3b 0a 09 44 57 4f 52 44 20 20 64 77  Addr;..DWORD  dw
0670: 49 6e 64 65 78 3b 0a 09 44 57 4f 52 44 20 20 64  Index;..DWORD  d
0680: 77 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 20 20 64  wMask;..DWORD  d
0690: 77 42 43 61 73 74 41 64 64 72 3b 0a 09 44 57 4f  wBCastAddr;..DWO
06a0: 52 44 20 20 64 77 52 65 61 73 6d 53 69 7a 65 3b  RD  dwReasmSize;
06b0: 0a 09 75 73 68 6f 72 74 20 75 6e 75 73 65 64 31  ..ushort unused1
06c0: 3b 0a 09 75 73 68 6f 72 74 20 75 6e 75 73 65 64  ;..ushort unused
06d0: 32 3b 0a 7d 0a 61 6c 69 61 73 20 4d 49 42 5f 49  2;.}.alias MIB_I
06e0: 50 41 44 44 52 52 4f 57 2a 20 50 4d 49 42 5f 49  PADDRROW* PMIB_I
06f0: 50 41 44 44 52 52 4f 57 3b 0a 0a 73 74 72 75 63  PADDRROW;..struc
0700: 74 20 4d 49 42 5f 49 50 41 44 44 52 54 41 42 4c  t MIB_IPADDRTABL
0710: 45 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 20  E {..DWORD      
0720: 20 20 20 20 20 20 64 77 4e 75 6d 45 6e 74 72 69        dwNumEntri
0730: 65 73 3b 0a 09 4d 49 42 5f 49 50 41 44 44 52 52  es;..MIB_IPADDRR
0740: 4f 57 5b 31 5d 20 5f 74 61 62 6c 65 3b 0a 0a 09  OW[1] _table;...
0750: 4d 49 42 5f 49 50 41 44 44 52 52 4f 57 2a 20 74  MIB_IPADDRROW* t
0760: 61 62 6c 65 28 29 20 7b 20 72 65 74 75 72 6e 20  able() { return 
0770: 5f 74 61 62 6c 65 2e 70 74 72 3b 20 7d 0a 7d 0a  _table.ptr; }.}.
0780: 61 6c 69 61 73 20 4d 49 42 5f 49 50 41 44 44 52  alias MIB_IPADDR
0790: 54 41 42 4c 45 2a 20 50 4d 49 42 5f 49 50 41 44  TABLE* PMIB_IPAD
07a0: 44 52 54 41 42 4c 45 3b 0a 0a 73 74 72 75 63 74  DRTABLE;..struct
07b0: 20 4d 49 42 5f 49 50 46 4f 52 57 41 52 44 52 4f   MIB_IPFORWARDRO
07c0: 57 20 7b 0a 09 44 57 4f 52 44 20 64 77 46 6f 72  W {..DWORD dwFor
07d0: 77 61 72 64 44 65 73 74 3b 0a 09 44 57 4f 52 44  wardDest;..DWORD
07e0: 20 64 77 46 6f 72 77 61 72 64 4d 61 73 6b 3b 0a   dwForwardMask;.
07f0: 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61 72 64  .DWORD dwForward
0800: 50 6f 6c 69 63 79 3b 0a 09 44 57 4f 52 44 20 64  Policy;..DWORD d
0810: 77 46 6f 72 77 61 72 64 4e 65 78 74 48 6f 70 3b  wForwardNextHop;
0820: 0a 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61 72  ..DWORD dwForwar
0830: 64 49 66 49 6e 64 65 78 3b 0a 09 44 57 4f 52 44  dIfIndex;..DWORD
0840: 20 64 77 46 6f 72 77 61 72 64 54 79 70 65 3b 0a   dwForwardType;.
0850: 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61 72 64  .DWORD dwForward
0860: 50 72 6f 74 6f 3b 0a 09 44 57 4f 52 44 20 64 77  Proto;..DWORD dw
0870: 46 6f 72 77 61 72 64 41 67 65 3b 0a 09 44 57 4f  ForwardAge;..DWO
0880: 52 44 20 64 77 46 6f 72 77 61 72 64 4e 65 78 74  RD dwForwardNext
0890: 48 6f 70 41 53 3b 0a 09 44 57 4f 52 44 20 64 77  HopAS;..DWORD dw
08a0: 46 6f 72 77 61 72 64 4d 65 74 72 69 63 31 3b 0a  ForwardMetric1;.
08b0: 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61 72 64  .DWORD dwForward
08c0: 4d 65 74 72 69 63 32 3b 0a 09 44 57 4f 52 44 20  Metric2;..DWORD 
08d0: 64 77 46 6f 72 77 61 72 64 4d 65 74 72 69 63 33  dwForwardMetric3
08e0: 3b 0a 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61  ;..DWORD dwForwa
08f0: 72 64 4d 65 74 72 69 63 34 3b 0a 09 44 57 4f 52  rdMetric4;..DWOR
0900: 44 20 64 77 46 6f 72 77 61 72 64 4d 65 74 72 69  D dwForwardMetri
0910: 63 35 3b 0a 7d 0a 61 6c 69 61 73 20 4d 49 42 5f  c5;.}.alias MIB_
0920: 49 50 46 4f 52 57 41 52 44 52 4f 57 2a 20 50 4d  IPFORWARDROW* PM
0930: 49 42 5f 49 50 46 4f 52 57 41 52 44 52 4f 57 3b  IB_IPFORWARDROW;
0940: 0a 0a 73 74 72 75 63 74 20 4d 49 42 5f 49 50 46  ..struct MIB_IPF
0950: 4f 52 57 41 52 44 54 41 42 4c 45 20 7b 0a 09 44  ORWARDTABLE {..D
0960: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20  WORD            
0970: 20 20 20 64 77 4e 75 6d 45 6e 74 72 69 65 73 3b     dwNumEntries;
0980: 0a 09 4d 49 42 5f 49 50 46 4f 52 57 41 52 44 52  ..MIB_IPFORWARDR
0990: 4f 57 5b 31 5d 20 5f 74 61 62 6c 65 3b 0a 0a 09  OW[1] _table;...
09a0: 4d 49 42 5f 49 50 46 4f 52 57 41 52 44 52 4f 57  MIB_IPFORWARDROW
09b0: 2a 20 74 61 62 6c 65 28 29 20 7b 20 72 65 74 75  * table() { retu
09c0: 72 6e 20 5f 74 61 62 6c 65 2e 70 74 72 3b 20 7d  rn _table.ptr; }
09d0: 0a 7d 0a 61 6c 69 61 73 20 4d 49 42 5f 49 50 46  .}.alias MIB_IPF
09e0: 4f 52 57 41 52 44 54 41 42 4c 45 2a 20 50 4d 49  ORWARDTABLE* PMI
09f0: 42 5f 49 50 46 4f 52 57 41 52 44 54 41 42 4c 45  B_IPFORWARDTABLE
0a00: 3b 0a 0a 73 74 72 75 63 74 20 4d 49 42 5f 49 50  ;..struct MIB_IP
0a10: 4e 45 54 52 4f 57 20 7b 0a 09 44 57 4f 52 44 20  NETROW {..DWORD 
0a20: 64 77 49 6e 64 65 78 3b 0a 09 44 57 4f 52 44 20  dwIndex;..DWORD 
0a30: 64 77 50 68 79 73 41 64 64 72 4c 65 6e 3b 0a 09  dwPhysAddrLen;..
0a40: 42 59 54 45 5b 4d 41 58 4c 45 4e 5f 50 48 59 53  BYTE[MAXLEN_PHYS
0a50: 41 44 44 52 5d 20 62 50 68 79 73 41 64 64 72 3b  ADDR] bPhysAddr;
0a60: 0a 09 44 57 4f 52 44 20 64 77 41 64 64 72 3b 0a  ..DWORD dwAddr;.
0a70: 09 44 57 4f 52 44 20 64 77 54 79 70 65 3b 0a 7d  .DWORD dwType;.}
0a80: 0a 61 6c 69 61 73 20 4d 49 42 5f 49 50 4e 45 54  .alias MIB_IPNET
0a90: 52 4f 57 2a 20 50 4d 49 42 5f 49 50 4e 45 54 52  ROW* PMIB_IPNETR
0aa0: 4f 57 3b 0a 0a 73 74 72 75 63 74 20 4d 49 42 5f  OW;..struct MIB_
0ab0: 49 50 4e 45 54 54 41 42 4c 45 20 7b 0a 09 44 57  IPNETTABLE {..DW
0ac0: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 64 77  ORD           dw
0ad0: 4e 75 6d 45 6e 74 72 69 65 73 3b 0a 09 4d 49 42  NumEntries;..MIB
0ae0: 5f 49 50 4e 45 54 52 4f 57 5b 31 5d 20 5f 74 61  _IPNETROW[1] _ta
0af0: 62 6c 65 3b 0a 0a 09 4d 49 42 5f 49 50 4e 45 54  ble;...MIB_IPNET
0b00: 52 4f 57 2a 20 74 61 62 6c 65 28 29 20 7b 20 72  ROW* table() { r
0b10: 65 74 75 72 6e 20 5f 74 61 62 6c 65 2e 70 74 72  eturn _table.ptr
0b20: 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 4d 49 42 5f  ; }.}.alias MIB_
0b30: 49 50 4e 45 54 54 41 42 4c 45 2a 20 50 4d 49 42  IPNETTABLE* PMIB
0b40: 5f 49 50 4e 45 54 54 41 42 4c 45 3b 0a 0a 73 74  _IPNETTABLE;..st
0b50: 72 75 63 74 20 4d 49 42 49 43 4d 50 53 54 41 54  ruct MIBICMPSTAT
0b60: 53 20 7b 0a 09 44 57 4f 52 44 20 64 77 4d 73 67  S {..DWORD dwMsg
0b70: 73 3b 0a 09 44 57 4f 52 44 20 64 77 45 72 72 6f  s;..DWORD dwErro
0b80: 72 73 3b 0a 09 44 57 4f 52 44 20 64 77 44 65 73  rs;..DWORD dwDes
0b90: 74 55 6e 72 65 61 63 68 73 3b 0a 09 44 57 4f 52  tUnreachs;..DWOR
0ba0: 44 20 64 77 54 69 6d 65 45 78 63 64 73 3b 0a 09  D dwTimeExcds;..
0bb0: 44 57 4f 52 44 20 64 77 50 61 72 6d 50 72 6f 62  DWORD dwParmProb
0bc0: 73 3b 0a 09 44 57 4f 52 44 20 64 77 53 72 63 51  s;..DWORD dwSrcQ
0bd0: 75 65 6e 63 68 73 3b 0a 09 44 57 4f 52 44 20 64  uenchs;..DWORD d
0be0: 77 52 65 64 69 72 65 63 74 73 3b 0a 09 44 57 4f  wRedirects;..DWO
0bf0: 52 44 20 64 77 45 63 68 6f 73 3b 0a 09 44 57 4f  RD dwEchos;..DWO
0c00: 52 44 20 64 77 45 63 68 6f 52 65 70 73 3b 0a 09  RD dwEchoReps;..
0c10: 44 57 4f 52 44 20 64 77 54 69 6d 65 73 74 61 6d  DWORD dwTimestam
0c20: 70 73 3b 0a 09 44 57 4f 52 44 20 64 77 54 69 6d  ps;..DWORD dwTim
0c30: 65 73 74 61 6d 70 52 65 70 73 3b 0a 09 44 57 4f  estampReps;..DWO
0c40: 52 44 20 64 77 41 64 64 72 4d 61 73 6b 73 3b 0a  RD dwAddrMasks;.
0c50: 09 44 57 4f 52 44 20 64 77 41 64 64 72 4d 61 73  .DWORD dwAddrMas
0c60: 6b 52 65 70 73 3b 0a 7d 0a 61 6c 69 61 73 20 4d  kReps;.}.alias M
0c70: 49 42 49 43 4d 50 53 54 41 54 53 2a 20 50 4d 49  IBICMPSTATS* PMI
0c80: 42 49 43 4d 50 53 54 41 54 53 3b 0a 0a 73 74 72  BICMPSTATS;..str
0c90: 75 63 74 20 4d 49 42 49 43 4d 50 49 4e 46 4f 20  uct MIBICMPINFO 
0ca0: 7b 0a 09 4d 49 42 49 43 4d 50 53 54 41 54 53 20  {..MIBICMPSTATS 
0cb0: 69 63 6d 70 49 6e 53 74 61 74 73 3b 0a 09 4d 49  icmpInStats;..MI
0cc0: 42 49 43 4d 50 53 54 41 54 53 20 69 63 6d 70 4f  BICMPSTATS icmpO
0cd0: 75 74 53 74 61 74 73 3b 0a 7d 0a 61 6c 69 61 73  utStats;.}.alias
0ce0: 20 4d 49 42 49 43 4d 50 49 4e 46 4f 2a 20 50 4d   MIBICMPINFO* PM
0cf0: 49 42 49 43 4d 50 49 4e 46 4f 3b 0a 0a 73 74 72  IBICMPINFO;..str
0d00: 75 63 74 20 4d 49 42 5f 49 43 4d 50 20 7b 0a 09  uct MIB_ICMP {..
0d10: 4d 49 42 49 43 4d 50 49 4e 46 4f 20 73 74 61 74  MIBICMPINFO stat
0d20: 73 3b 0a 7d 0a 61 6c 69 61 73 20 4d 49 42 5f 49  s;.}.alias MIB_I
0d30: 43 4d 50 2a 20 50 4d 49 42 5f 49 43 4d 50 3b 0a  CMP* PMIB_ICMP;.
0d40: 0a 73 74 72 75 63 74 20 4d 49 42 5f 49 46 52 4f  .struct MIB_IFRO
0d50: 57 20 7b 0a 09 57 43 48 41 52 5b 4d 41 58 5f 49  W {..WCHAR[MAX_I
0d60: 4e 54 45 52 46 41 43 45 5f 4e 41 4d 45 5f 4c 45  NTERFACE_NAME_LE
0d70: 4e 5d 20 77 73 7a 4e 61 6d 65 3b 0a 09 44 57 4f  N] wszName;..DWO
0d80: 52 44 20 64 77 49 6e 64 65 78 3b 0a 09 44 57 4f  RD dwIndex;..DWO
0d90: 52 44 20 64 77 54 79 70 65 3b 0a 09 44 57 4f 52  RD dwType;..DWOR
0da0: 44 20 64 77 4d 74 75 3b 0a 09 44 57 4f 52 44 20  D dwMtu;..DWORD 
0db0: 64 77 53 70 65 65 64 3b 0a 09 44 57 4f 52 44 20  dwSpeed;..DWORD 
0dc0: 64 77 50 68 79 73 41 64 64 72 4c 65 6e 3b 0a 09  dwPhysAddrLen;..
0dd0: 42 59 54 45 5b 4d 41 58 4c 45 4e 5f 50 48 59 53  BYTE[MAXLEN_PHYS
0de0: 41 44 44 52 5d 20 62 50 68 79 73 41 64 64 72 3b  ADDR] bPhysAddr;
0df0: 0a 09 44 57 4f 52 44 20 64 77 41 64 6d 69 6e 53  ..DWORD dwAdminS
0e00: 74 61 74 75 73 3b 0a 09 44 57 4f 52 44 20 64 77  tatus;..DWORD dw
0e10: 4f 70 65 72 53 74 61 74 75 73 3b 0a 09 44 57 4f  OperStatus;..DWO
0e20: 52 44 20 64 77 4c 61 73 74 43 68 61 6e 67 65 3b  RD dwLastChange;
0e30: 0a 09 44 57 4f 52 44 20 64 77 49 6e 4f 63 74 65  ..DWORD dwInOcte
0e40: 74 73 3b 0a 09 44 57 4f 52 44 20 64 77 49 6e 55  ts;..DWORD dwInU
0e50: 63 61 73 74 50 6b 74 73 3b 0a 09 44 57 4f 52 44  castPkts;..DWORD
0e60: 20 64 77 49 6e 4e 55 63 61 73 74 50 6b 74 73 3b   dwInNUcastPkts;
0e70: 0a 09 44 57 4f 52 44 20 64 77 49 6e 44 69 73 63  ..DWORD dwInDisc
0e80: 61 72 64 73 3b 0a 09 44 57 4f 52 44 20 64 77 49  ards;..DWORD dwI
0e90: 6e 45 72 72 6f 72 73 3b 0a 09 44 57 4f 52 44 20  nErrors;..DWORD 
0ea0: 64 77 49 6e 55 6e 6b 6e 6f 77 6e 50 72 6f 74 6f  dwInUnknownProto
0eb0: 73 3b 0a 09 44 57 4f 52 44 20 64 77 4f 75 74 4f  s;..DWORD dwOutO
0ec0: 63 74 65 74 73 3b 0a 09 44 57 4f 52 44 20 64 77  ctets;..DWORD dw
0ed0: 4f 75 74 55 63 61 73 74 50 6b 74 73 3b 0a 09 44  OutUcastPkts;..D
0ee0: 57 4f 52 44 20 64 77 4f 75 74 4e 55 63 61 73 74  WORD dwOutNUcast
0ef0: 50 6b 74 73 3b 0a 09 44 57 4f 52 44 20 64 77 4f  Pkts;..DWORD dwO
0f00: 75 74 44 69 73 63 61 72 64 73 3b 0a 09 44 57 4f  utDiscards;..DWO
0f10: 52 44 20 64 77 4f 75 74 45 72 72 6f 72 73 3b 0a  RD dwOutErrors;.
0f20: 09 44 57 4f 52 44 20 64 77 4f 75 74 51 4c 65 6e  .DWORD dwOutQLen
0f30: 3b 0a 09 44 57 4f 52 44 20 64 77 44 65 73 63 72  ;..DWORD dwDescr
0f40: 4c 65 6e 3b 0a 09 42 59 54 45 5b 4d 41 58 4c 45  Len;..BYTE[MAXLE
0f50: 4e 5f 49 46 44 45 53 43 52 5d 20 62 44 65 73 63  N_IFDESCR] bDesc
0f60: 72 3b 0a 7d 0a 61 6c 69 61 73 20 4d 49 42 5f 49  r;.}.alias MIB_I
0f70: 46 52 4f 57 2a 20 50 4d 49 42 5f 49 46 52 4f 57  FROW* PMIB_IFROW
0f80: 3b 0a 0a 73 74 72 75 63 74 20 4d 49 42 5f 49 46  ;..struct MIB_IF
0f90: 54 41 42 4c 45 20 7b 0a 09 44 57 4f 52 44 20 20  TABLE {..DWORD  
0fa0: 20 20 20 20 20 20 64 77 4e 75 6d 45 6e 74 72 69        dwNumEntri
0fb0: 65 73 3b 0a 09 4d 49 42 5f 49 46 52 4f 57 5b 31  es;..MIB_IFROW[1
0fc0: 5d 20 5f 74 61 62 6c 65 3b 0a 0a 09 4d 49 42 5f  ] _table;...MIB_
0fd0: 49 46 52 4f 57 2a 20 74 61 62 6c 65 28 29 20 7b  IFROW* table() {
0fe0: 20 72 65 74 75 72 6e 20 5f 74 61 62 6c 65 2e 70   return _table.p
0ff0: 74 72 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 4d 49  tr; }.}.alias MI
1000: 42 5f 49 46 54 41 42 4c 45 2a 20 50 4d 49 42 5f  B_IFTABLE* PMIB_
1010: 49 46 54 41 42 4c 45 3b 0a 0a 73 74 72 75 63 74  IFTABLE;..struct
1020: 20 4d 49 42 5f 49 50 53 54 41 54 53 20 7b 0a 09   MIB_IPSTATS {..
1030: 44 57 4f 52 44 20 64 77 46 6f 72 77 61 72 64 69  DWORD dwForwardi
1040: 6e 67 3b 0a 09 44 57 4f 52 44 20 64 77 44 65 66  ng;..DWORD dwDef
1050: 61 75 6c 74 54 54 4c 3b 0a 09 44 57 4f 52 44 20  aultTTL;..DWORD 
1060: 64 77 49 6e 52 65 63 65 69 76 65 73 3b 0a 09 44  dwInReceives;..D
1070: 57 4f 52 44 20 64 77 49 6e 48 64 72 45 72 72 6f  WORD dwInHdrErro
1080: 72 73 3b 0a 09 44 57 4f 52 44 20 64 77 49 6e 41  rs;..DWORD dwInA
1090: 64 64 72 45 72 72 6f 72 73 3b 0a 09 44 57 4f 52  ddrErrors;..DWOR
10a0: 44 20 64 77 46 6f 72 77 44 61 74 61 67 72 61 6d  D dwForwDatagram
10b0: 73 3b 0a 09 44 57 4f 52 44 20 64 77 49 6e 55 6e  s;..DWORD dwInUn
10c0: 6b 6e 6f 77 6e 50 72 6f 74 6f 73 3b 0a 09 44 57  knownProtos;..DW
10d0: 4f 52 44 20 64 77 49 6e 44 69 73 63 61 72 64 73  ORD dwInDiscards
10e0: 3b 0a 09 44 57 4f 52 44 20 64 77 49 6e 44 65 6c  ;..DWORD dwInDel
10f0: 69 76 65 72 73 3b 0a 09 44 57 4f 52 44 20 64 77  ivers;..DWORD dw
1100: 4f 75 74 52 65 71 75 65 73 74 73 3b 0a 09 44 57  OutRequests;..DW
1110: 4f 52 44 20 64 77 52 6f 75 74 69 6e 67 44 69 73  ORD dwRoutingDis
1120: 63 61 72 64 73 3b 0a 09 44 57 4f 52 44 20 64 77  cards;..DWORD dw
1130: 4f 75 74 44 69 73 63 61 72 64 73 3b 0a 09 44 57  OutDiscards;..DW
1140: 4f 52 44 20 64 77 4f 75 74 4e 6f 52 6f 75 74 65  ORD dwOutNoRoute
1150: 73 3b 0a 09 44 57 4f 52 44 20 64 77 52 65 61 73  s;..DWORD dwReas
1160: 6d 54 69 6d 65 6f 75 74 3b 0a 09 44 57 4f 52 44  mTimeout;..DWORD
1170: 20 64 77 52 65 61 73 6d 52 65 71 64 73 3b 0a 09   dwReasmReqds;..
1180: 44 57 4f 52 44 20 64 77 52 65 61 73 6d 4f 6b 73  DWORD dwReasmOks
1190: 3b 0a 09 44 57 4f 52 44 20 64 77 52 65 61 73 6d  ;..DWORD dwReasm
11a0: 46 61 69 6c 73 3b 0a 09 44 57 4f 52 44 20 64 77  Fails;..DWORD dw
11b0: 46 72 61 67 4f 6b 73 3b 0a 09 44 57 4f 52 44 20  FragOks;..DWORD 
11c0: 64 77 46 72 61 67 46 61 69 6c 73 3b 0a 09 44 57  dwFragFails;..DW
11d0: 4f 52 44 20 64 77 46 72 61 67 43 72 65 61 74 65  ORD dwFragCreate
11e0: 73 3b 0a 09 44 57 4f 52 44 20 64 77 4e 75 6d 49  s;..DWORD dwNumI
11f0: 66 3b 0a 09 44 57 4f 52 44 20 64 77 4e 75 6d 41  f;..DWORD dwNumA
1200: 64 64 72 3b 0a 09 44 57 4f 52 44 20 64 77 4e 75  ddr;..DWORD dwNu
1210: 6d 52 6f 75 74 65 73 3b 0a 7d 0a 61 6c 69 61 73  mRoutes;.}.alias
1220: 20 4d 49 42 5f 49 50 53 54 41 54 53 2a 20 50 4d   MIB_IPSTATS* PM
1230: 49 42 5f 49 50 53 54 41 54 53 3b 0a 0a 73 74 72  IB_IPSTATS;..str
1240: 75 63 74 20 4d 49 42 5f 54 43 50 53 54 41 54 53  uct MIB_TCPSTATS
1250: 20 7b 0a 09 44 57 4f 52 44 20 64 77 52 74 6f 41   {..DWORD dwRtoA
1260: 6c 67 6f 72 69 74 68 6d 3b 0a 09 44 57 4f 52 44  lgorithm;..DWORD
1270: 20 64 77 52 74 6f 4d 69 6e 3b 0a 09 44 57 4f 52   dwRtoMin;..DWOR
1280: 44 20 64 77 52 74 6f 4d 61 78 3b 0a 09 44 57 4f  D dwRtoMax;..DWO
1290: 52 44 20 64 77 4d 61 78 43 6f 6e 6e 3b 0a 09 44  RD dwMaxConn;..D
12a0: 57 4f 52 44 20 64 77 41 63 74 69 76 65 4f 70 65  WORD dwActiveOpe
12b0: 6e 73 3b 0a 09 44 57 4f 52 44 20 64 77 50 61 73  ns;..DWORD dwPas
12c0: 73 69 76 65 4f 70 65 6e 73 3b 0a 09 44 57 4f 52  siveOpens;..DWOR
12d0: 44 20 64 77 41 74 74 65 6d 70 74 46 61 69 6c 73  D dwAttemptFails
12e0: 3b 0a 09 44 57 4f 52 44 20 64 77 45 73 74 61 62  ;..DWORD dwEstab
12f0: 52 65 73 65 74 73 3b 0a 09 44 57 4f 52 44 20 64  Resets;..DWORD d
1300: 77 43 75 72 72 45 73 74 61 62 3b 0a 09 44 57 4f  wCurrEstab;..DWO
1310: 52 44 20 64 77 49 6e 53 65 67 73 3b 0a 09 44 57  RD dwInSegs;..DW
1320: 4f 52 44 20 64 77 4f 75 74 53 65 67 73 3b 0a 09  ORD dwOutSegs;..
1330: 44 57 4f 52 44 20 64 77 52 65 74 72 61 6e 73 53  DWORD dwRetransS
1340: 65 67 73 3b 0a 09 44 57 4f 52 44 20 64 77 49 6e  egs;..DWORD dwIn
1350: 45 72 72 73 3b 0a 09 44 57 4f 52 44 20 64 77 4f  Errs;..DWORD dwO
1360: 75 74 52 73 74 73 3b 0a 09 44 57 4f 52 44 20 64  utRsts;..DWORD d
1370: 77 4e 75 6d 43 6f 6e 6e 73 3b 0a 7d 0a 61 6c 69  wNumConns;.}.ali
1380: 61 73 20 4d 49 42 5f 54 43 50 53 54 41 54 53 2a  as MIB_TCPSTATS*
1390: 20 50 4d 49 42 5f 54 43 50 53 54 41 54 53 3b 0a   PMIB_TCPSTATS;.
13a0: 0a 73 74 72 75 63 74 20 4d 49 42 5f 54 43 50 52  .struct MIB_TCPR
13b0: 4f 57 20 7b 0a 09 44 57 4f 52 44 20 64 77 53 74  OW {..DWORD dwSt
13c0: 61 74 65 3b 0a 09 44 57 4f 52 44 20 64 77 4c 6f  ate;..DWORD dwLo
13d0: 63 61 6c 41 64 64 72 3b 0a 09 44 57 4f 52 44 20  calAddr;..DWORD 
13e0: 64 77 4c 6f 63 61 6c 50 6f 72 74 3b 0a 09 44 57  dwLocalPort;..DW
13f0: 4f 52 44 20 64 77 52 65 6d 6f 74 65 41 64 64 72  ORD dwRemoteAddr
1400: 3b 0a 09 44 57 4f 52 44 20 64 77 52 65 6d 6f 74  ;..DWORD dwRemot
1410: 65 50 6f 72 74 3b 0a 7d 0a 61 6c 69 61 73 20 4d  ePort;.}.alias M
1420: 49 42 5f 54 43 50 52 4f 57 2a 20 50 4d 49 42 5f  IB_TCPROW* PMIB_
1430: 54 43 50 52 4f 57 3b 0a 0a 73 74 72 75 63 74 20  TCPROW;..struct 
1440: 4d 49 42 5f 54 43 50 54 41 42 4c 45 20 7b 0a 09  MIB_TCPTABLE {..
1450: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 64 77  DWORD         dw
1460: 4e 75 6d 45 6e 74 72 69 65 73 3b 0a 09 4d 49 42  NumEntries;..MIB
1470: 5f 54 43 50 52 4f 57 5b 31 5d 20 5f 74 61 62 6c  _TCPROW[1] _tabl
1480: 65 3b 0a 0a 09 4d 49 42 5f 54 43 50 52 4f 57 2a  e;...MIB_TCPROW*
1490: 20 74 61 62 6c 65 28 29 20 7b 20 72 65 74 75 72   table() { retur
14a0: 6e 20 5f 74 61 62 6c 65 2e 70 74 72 3b 20 7d 0a  n _table.ptr; }.
14b0: 7d 0a 61 6c 69 61 73 20 4d 49 42 5f 54 43 50 54  }.alias MIB_TCPT
14c0: 41 42 4c 45 2a 20 50 4d 49 42 5f 54 43 50 54 41  ABLE* PMIB_TCPTA
14d0: 42 4c 45 3b 0a 0a 73 74 72 75 63 74 20 4d 49 42  BLE;..struct MIB
14e0: 5f 55 44 50 53 54 41 54 53 20 7b 0a 09 44 57 4f  _UDPSTATS {..DWO
14f0: 52 44 20 64 77 49 6e 44 61 74 61 67 72 61 6d 73  RD dwInDatagrams
1500: 3b 0a 09 44 57 4f 52 44 20 64 77 4e 6f 50 6f 72  ;..DWORD dwNoPor
1510: 74 73 3b 0a 09 44 57 4f 52 44 20 64 77 49 6e 45  ts;..DWORD dwInE
1520: 72 72 6f 72 73 3b 0a 09 44 57 4f 52 44 20 64 77  rrors;..DWORD dw
1530: 4f 75 74 44 61 74 61 67 72 61 6d 73 3b 0a 09 44  OutDatagrams;..D
1540: 57 4f 52 44 20 64 77 4e 75 6d 41 64 64 72 73 3b  WORD dwNumAddrs;
1550: 0a 7d 0a 61 6c 69 61 73 20 4d 49 42 5f 55 44 50  .}.alias MIB_UDP
1560: 53 54 41 54 53 2a 20 50 4d 49 42 5f 55 44 50 53  STATS* PMIB_UDPS
1570: 54 41 54 53 3b 0a 0a 73 74 72 75 63 74 20 4d 49  TATS;..struct MI
1580: 42 5f 55 44 50 52 4f 57 20 7b 0a 09 44 57 4f 52  B_UDPROW {..DWOR
1590: 44 20 64 77 4c 6f 63 61 6c 41 64 64 72 3b 0a 09  D dwLocalAddr;..
15a0: 44 57 4f 52 44 20 64 77 4c 6f 63 61 6c 50 6f 72  DWORD dwLocalPor
15b0: 74 3b 0a 7d 0a 61 6c 69 61 73 20 4d 49 42 5f 55  t;.}.alias MIB_U
15c0: 44 50 52 4f 57 2a 20 50 4d 49 42 5f 55 44 50 52  DPROW* PMIB_UDPR
15d0: 4f 57 3b 0a 0a 73 74 72 75 63 74 20 4d 49 42 5f  OW;..struct MIB_
15e0: 55 44 50 54 41 42 4c 45 20 7b 0a 09 44 57 4f 52  UDPTABLE {..DWOR
15f0: 44 20 20 20 20 20 20 20 20 20 64 77 4e 75 6d 45  D         dwNumE
1600: 6e 74 72 69 65 73 3b 0a 09 4d 49 42 5f 55 44 50  ntries;..MIB_UDP
1610: 52 4f 57 5b 31 5d 20 5f 74 61 62 6c 65 3b 0a 0a  ROW[1] _table;..
1620: 09 4d 49 42 5f 55 44 50 52 4f 57 2a 20 74 61 62  .MIB_UDPROW* tab
1630: 6c 65 28 29 20 7b 20 72 65 74 75 72 6e 20 5f 74  le() { return _t
1640: 61 62 6c 65 2e 70 74 72 3b 20 7d 0a 7d 0a 61 6c  able.ptr; }.}.al
1650: 69 61 73 20 4d 49 42 5f 55 44 50 54 41 42 4c 45  ias MIB_UDPTABLE
1660: 2a 20 50 4d 49 42 5f 55 44 50 54 41 42 4c 45 3b  * PMIB_UDPTABLE;
1670: 0a                                               .