Hex Artifact Content

Not logged in

Artifact 14e68fd03f7e7ac9ee71ef520980b9778b54ec84:


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 0d 0a 2a 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 20 69 70 72 74 72             iprtr
0070: 6d 69 62 2e 64 20 20 20 20 20 20 20 20 20 20 20  mib.d           
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 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 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 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: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61           Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57  ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20  indows headers  
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  ..*             
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79                by
01e0: 20 53 74 65 77 61 72 74 20 47 6f 72 64 6f 6e 20   Stewart Gordon 
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 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 20 20                  
0250: 20 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20       *..*       
0260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0270: 50 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c  Placed into publ
0280: 69 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20  ic domain       
0290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
02a0: 2a 0d 0a 5c 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 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f  ***********/..mo
02f0: 64 75 6c 65 20 77 69 6e 33 32 2e 69 70 72 74 72  dule win32.iprtr
0300: 6d 69 62 3b 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77  mib;....import w
0310: 69 6e 33 32 2e 69 70 69 66 63 6f 6e 73 3b 0d 0a  in32.ipifcons;..
0320: 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77  private import w
0330: 69 6e 33 32 2e 77 69 6e 64 65 66 3b 0d 0a 0d 0a  in32.windef;....
0340: 2f 2f 20 46 49 58 4d 45 3a 20 63 68 65 63 6b 20  // FIXME: check 
0350: 74 79 70 65 73 20 6f 66 20 63 6f 6e 73 74 61 6e  types of constan
0360: 74 73 0d 0a 0d 0a 63 6f 6e 73 74 20 73 69 7a 65  ts....const size
0370: 5f 74 0d 0a 09 4d 41 58 4c 45 4e 5f 50 48 59 53  _t...MAXLEN_PHYS
0380: 41 44 44 52 20 20 20 20 20 20 20 20 3d 20 20 20  ADDR        =   
0390: 38 2c 0d 0a 09 4d 41 58 4c 45 4e 5f 49 46 44 45  8,...MAXLEN_IFDE
03a0: 53 43 52 20 20 20 20 20 20 20 20 20 3d 20 32 35  SCR         = 25
03b0: 36 2c 0d 0a 09 4d 41 58 5f 49 4e 54 45 52 46 41  6,...MAX_INTERFA
03c0: 43 45 5f 4e 41 4d 45 5f 4c 45 4e 20 3d 20 32 35  CE_NAME_LEN = 25
03d0: 36 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4d  6;....enum {...M
03e0: 49 42 5f 49 50 4e 45 54 5f 54 59 50 45 5f 4f 54  IB_IPNET_TYPE_OT
03f0: 48 45 52 20 3d 20 31 2c 0d 0a 09 4d 49 42 5f 49  HER = 1,...MIB_I
0400: 50 4e 45 54 5f 54 59 50 45 5f 49 4e 56 41 4c 49  PNET_TYPE_INVALI
0410: 44 2c 0d 0a 09 4d 49 42 5f 49 50 4e 45 54 5f 54  D,...MIB_IPNET_T
0420: 59 50 45 5f 44 59 4e 41 4d 49 43 2c 0d 0a 09 4d  YPE_DYNAMIC,...M
0430: 49 42 5f 49 50 4e 45 54 5f 54 59 50 45 5f 53 54  IB_IPNET_TYPE_ST
0440: 41 54 49 43 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20  ATIC..}....enum 
0450: 7b 0d 0a 09 4d 49 42 5f 54 43 50 5f 52 54 4f 5f  {...MIB_TCP_RTO_
0460: 4f 54 48 45 52 20 3d 20 31 2c 0d 0a 09 4d 49 42  OTHER = 1,...MIB
0470: 5f 54 43 50 5f 52 54 4f 5f 43 4f 4e 53 54 41 4e  _TCP_RTO_CONSTAN
0480: 54 2c 0d 0a 09 4d 49 42 5f 54 43 50 5f 52 54 4f  T,...MIB_TCP_RTO
0490: 5f 52 53 52 45 2c 0d 0a 09 4d 49 42 5f 54 43 50  _RSRE,...MIB_TCP
04a0: 5f 52 54 4f 5f 56 41 4e 4a 0d 0a 7d 0d 0a 0d 0a  _RTO_VANJ..}....
04b0: 65 6e 75 6d 20 7b 0d 0a 09 4d 49 42 5f 54 43 50  enum {...MIB_TCP
04c0: 5f 53 54 41 54 45 5f 43 4c 4f 53 45 44 20 3d 20  _STATE_CLOSED = 
04d0: 31 2c 0d 0a 09 4d 49 42 5f 54 43 50 5f 53 54 41  1,...MIB_TCP_STA
04e0: 54 45 5f 4c 49 53 54 45 4e 2c 0d 0a 09 4d 49 42  TE_LISTEN,...MIB
04f0: 5f 54 43 50 5f 53 54 41 54 45 5f 53 59 4e 5f 53  _TCP_STATE_SYN_S
0500: 45 4e 54 2c 0d 0a 09 4d 49 42 5f 54 43 50 5f 53  ENT,...MIB_TCP_S
0510: 54 41 54 45 5f 53 59 4e 5f 52 43 56 44 2c 0d 0a  TATE_SYN_RCVD,..
0520: 09 4d 49 42 5f 54 43 50 5f 53 54 41 54 45 5f 45  .MIB_TCP_STATE_E
0530: 53 54 41 42 2c 0d 0a 09 4d 49 42 5f 54 43 50 5f  STAB,...MIB_TCP_
0540: 53 54 41 54 45 5f 46 49 4e 5f 57 41 49 54 31 2c  STATE_FIN_WAIT1,
0550: 0d 0a 09 4d 49 42 5f 54 43 50 5f 53 54 41 54 45  ...MIB_TCP_STATE
0560: 5f 46 49 4e 5f 57 41 49 54 32 2c 0d 0a 09 4d 49  _FIN_WAIT2,...MI
0570: 42 5f 54 43 50 5f 53 54 41 54 45 5f 43 4c 4f 53  B_TCP_STATE_CLOS
0580: 45 5f 57 41 49 54 2c 0d 0a 09 4d 49 42 5f 54 43  E_WAIT,...MIB_TC
0590: 50 5f 53 54 41 54 45 5f 43 4c 4f 53 49 4e 47 2c  P_STATE_CLOSING,
05a0: 0d 0a 09 4d 49 42 5f 54 43 50 5f 53 54 41 54 45  ...MIB_TCP_STATE
05b0: 5f 4c 41 53 54 5f 41 43 4b 2c 0d 0a 09 4d 49 42  _LAST_ACK,...MIB
05c0: 5f 54 43 50 5f 53 54 41 54 45 5f 54 49 4d 45 5f  _TCP_STATE_TIME_
05d0: 57 41 49 54 2c 0d 0a 09 4d 49 42 5f 54 43 50 5f  WAIT,...MIB_TCP_
05e0: 53 54 41 54 45 5f 44 45 4c 45 54 45 5f 54 43 42  STATE_DELETE_TCB
05f0: 20 2f 2f 20 3d 20 31 32 0d 0a 7d 0d 0a 0d 0a 63   // = 12..}....c
0600: 6f 6e 73 74 20 44 57 4f 52 44 0d 0a 09 4d 49 42  onst DWORD...MIB
0610: 5f 55 53 45 5f 43 55 52 52 45 4e 54 5f 54 54 4c  _USE_CURRENT_TTL
0620: 20 20 20 20 20 20 20 20 3d 20 2d 31 2c 0d 0a 09          = -1,...
0630: 4d 49 42 5f 55 53 45 5f 43 55 52 52 45 4e 54 5f  MIB_USE_CURRENT_
0640: 46 4f 52 57 41 52 44 49 4e 47 20 3d 20 2d 31 2c  FORWARDING = -1,
0650: 0d 0a 09 4d 49 42 5f 54 43 50 5f 4d 41 58 43 4f  ...MIB_TCP_MAXCO
0660: 4e 4e 5f 44 59 4e 41 4d 49 43 20 20 20 20 3d 20  NN_DYNAMIC    = 
0670: 2d 31 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4d 49  -1;....struct MI
0680: 42 5f 49 50 41 44 44 52 52 4f 57 20 7b 0d 0a 09  B_IPADDRROW {...
0690: 44 57 4f 52 44 20 20 64 77 41 64 64 72 3b 0d 0a  DWORD  dwAddr;..
06a0: 09 44 57 4f 52 44 20 20 64 77 49 6e 64 65 78 3b  .DWORD  dwIndex;
06b0: 0d 0a 09 44 57 4f 52 44 20 20 64 77 4d 61 73 6b  ...DWORD  dwMask
06c0: 3b 0d 0a 09 44 57 4f 52 44 20 20 64 77 42 43 61  ;...DWORD  dwBCa
06d0: 73 74 41 64 64 72 3b 0d 0a 09 44 57 4f 52 44 20  stAddr;...DWORD 
06e0: 20 64 77 52 65 61 73 6d 53 69 7a 65 3b 0d 0a 09   dwReasmSize;...
06f0: 75 73 68 6f 72 74 20 75 6e 75 73 65 64 31 3b 0d  ushort unused1;.
0700: 0a 09 75 73 68 6f 72 74 20 75 6e 75 73 65 64 32  ..ushort unused2
0710: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d 49 42 5f  ;..}..alias MIB_
0720: 49 50 41 44 44 52 52 4f 57 2a 20 50 4d 49 42 5f  IPADDRROW* PMIB_
0730: 49 50 41 44 44 52 52 4f 57 3b 0d 0a 0d 0a 73 74  IPADDRROW;....st
0740: 72 75 63 74 20 4d 49 42 5f 49 50 41 44 44 52 54  ruct MIB_IPADDRT
0750: 41 42 4c 45 20 7b 0d 0a 09 44 57 4f 52 44 20 20  ABLE {...DWORD  
0760: 20 20 20 20 20 20 20 20 20 20 64 77 4e 75 6d 45            dwNumE
0770: 6e 74 72 69 65 73 3b 0d 0a 09 4d 49 42 5f 49 50  ntries;...MIB_IP
0780: 41 44 44 52 52 4f 57 5b 31 5d 20 5f 74 61 62 6c  ADDRROW[1] _tabl
0790: 65 3b 0d 0a 0d 0a 09 4d 49 42 5f 49 50 41 44 44  e;.....MIB_IPADD
07a0: 52 52 4f 57 2a 20 74 61 62 6c 65 28 29 20 7b 20  RROW* table() { 
07b0: 72 65 74 75 72 6e 20 5f 74 61 62 6c 65 2e 70 74  return _table.pt
07c0: 72 3b 20 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d  r; }..}..alias M
07d0: 49 42 5f 49 50 41 44 44 52 54 41 42 4c 45 2a 20  IB_IPADDRTABLE* 
07e0: 50 4d 49 42 5f 49 50 41 44 44 52 54 41 42 4c 45  PMIB_IPADDRTABLE
07f0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4d 49 42 5f  ;....struct MIB_
0800: 49 50 46 4f 52 57 41 52 44 52 4f 57 20 7b 0d 0a  IPFORWARDROW {..
0810: 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61 72 64  .DWORD dwForward
0820: 44 65 73 74 3b 0d 0a 09 44 57 4f 52 44 20 64 77  Dest;...DWORD dw
0830: 46 6f 72 77 61 72 64 4d 61 73 6b 3b 0d 0a 09 44  ForwardMask;...D
0840: 57 4f 52 44 20 64 77 46 6f 72 77 61 72 64 50 6f  WORD dwForwardPo
0850: 6c 69 63 79 3b 0d 0a 09 44 57 4f 52 44 20 64 77  licy;...DWORD dw
0860: 46 6f 72 77 61 72 64 4e 65 78 74 48 6f 70 3b 0d  ForwardNextHop;.
0870: 0a 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61 72  ..DWORD dwForwar
0880: 64 49 66 49 6e 64 65 78 3b 0d 0a 09 44 57 4f 52  dIfIndex;...DWOR
0890: 44 20 64 77 46 6f 72 77 61 72 64 54 79 70 65 3b  D dwForwardType;
08a0: 0d 0a 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61  ...DWORD dwForwa
08b0: 72 64 50 72 6f 74 6f 3b 0d 0a 09 44 57 4f 52 44  rdProto;...DWORD
08c0: 20 64 77 46 6f 72 77 61 72 64 41 67 65 3b 0d 0a   dwForwardAge;..
08d0: 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61 72 64  .DWORD dwForward
08e0: 4e 65 78 74 48 6f 70 41 53 3b 0d 0a 09 44 57 4f  NextHopAS;...DWO
08f0: 52 44 20 64 77 46 6f 72 77 61 72 64 4d 65 74 72  RD dwForwardMetr
0900: 69 63 31 3b 0d 0a 09 44 57 4f 52 44 20 64 77 46  ic1;...DWORD dwF
0910: 6f 72 77 61 72 64 4d 65 74 72 69 63 32 3b 0d 0a  orwardMetric2;..
0920: 09 44 57 4f 52 44 20 64 77 46 6f 72 77 61 72 64  .DWORD dwForward
0930: 4d 65 74 72 69 63 33 3b 0d 0a 09 44 57 4f 52 44  Metric3;...DWORD
0940: 20 64 77 46 6f 72 77 61 72 64 4d 65 74 72 69 63   dwForwardMetric
0950: 34 3b 0d 0a 09 44 57 4f 52 44 20 64 77 46 6f 72  4;...DWORD dwFor
0960: 77 61 72 64 4d 65 74 72 69 63 35 3b 0d 0a 7d 0d  wardMetric5;..}.
0970: 0a 61 6c 69 61 73 20 4d 49 42 5f 49 50 46 4f 52  .alias MIB_IPFOR
0980: 57 41 52 44 52 4f 57 2a 20 50 4d 49 42 5f 49 50  WARDROW* PMIB_IP
0990: 46 4f 52 57 41 52 44 52 4f 57 3b 0d 0a 0d 0a 73  FORWARDROW;....s
09a0: 74 72 75 63 74 20 4d 49 42 5f 49 50 46 4f 52 57  truct MIB_IPFORW
09b0: 41 52 44 54 41 42 4c 45 20 7b 0d 0a 09 44 57 4f  ARDTABLE {...DWO
09c0: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  RD              
09d0: 20 64 77 4e 75 6d 45 6e 74 72 69 65 73 3b 0d 0a   dwNumEntries;..
09e0: 09 4d 49 42 5f 49 50 46 4f 52 57 41 52 44 52 4f  .MIB_IPFORWARDRO
09f0: 57 5b 31 5d 20 5f 74 61 62 6c 65 3b 0d 0a 0d 0a  W[1] _table;....
0a00: 09 4d 49 42 5f 49 50 46 4f 52 57 41 52 44 52 4f  .MIB_IPFORWARDRO
0a10: 57 2a 20 74 61 62 6c 65 28 29 20 7b 20 72 65 74  W* table() { ret
0a20: 75 72 6e 20 5f 74 61 62 6c 65 2e 70 74 72 3b 20  urn _table.ptr; 
0a30: 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d 49 42 5f  }..}..alias MIB_
0a40: 49 50 46 4f 52 57 41 52 44 54 41 42 4c 45 2a 20  IPFORWARDTABLE* 
0a50: 50 4d 49 42 5f 49 50 46 4f 52 57 41 52 44 54 41  PMIB_IPFORWARDTA
0a60: 42 4c 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4d  BLE;....struct M
0a70: 49 42 5f 49 50 4e 45 54 52 4f 57 20 7b 0d 0a 09  IB_IPNETROW {...
0a80: 44 57 4f 52 44 20 64 77 49 6e 64 65 78 3b 0d 0a  DWORD dwIndex;..
0a90: 09 44 57 4f 52 44 20 64 77 50 68 79 73 41 64 64  .DWORD dwPhysAdd
0aa0: 72 4c 65 6e 3b 0d 0a 09 42 59 54 45 5b 4d 41 58  rLen;...BYTE[MAX
0ab0: 4c 45 4e 5f 50 48 59 53 41 44 44 52 5d 20 62 50  LEN_PHYSADDR] bP
0ac0: 68 79 73 41 64 64 72 3b 0d 0a 09 44 57 4f 52 44  hysAddr;...DWORD
0ad0: 20 64 77 41 64 64 72 3b 0d 0a 09 44 57 4f 52 44   dwAddr;...DWORD
0ae0: 20 64 77 54 79 70 65 3b 0d 0a 7d 0d 0a 61 6c 69   dwType;..}..ali
0af0: 61 73 20 4d 49 42 5f 49 50 4e 45 54 52 4f 57 2a  as MIB_IPNETROW*
0b00: 20 50 4d 49 42 5f 49 50 4e 45 54 52 4f 57 3b 0d   PMIB_IPNETROW;.
0b10: 0a 0d 0a 73 74 72 75 63 74 20 4d 49 42 5f 49 50  ...struct MIB_IP
0b20: 4e 45 54 54 41 42 4c 45 20 7b 0d 0a 09 44 57 4f  NETTABLE {...DWO
0b30: 52 44 20 20 20 20 20 20 20 20 20 20 20 64 77 4e  RD           dwN
0b40: 75 6d 45 6e 74 72 69 65 73 3b 0d 0a 09 4d 49 42  umEntries;...MIB
0b50: 5f 49 50 4e 45 54 52 4f 57 5b 31 5d 20 5f 74 61  _IPNETROW[1] _ta
0b60: 62 6c 65 3b 0d 0a 0d 0a 09 4d 49 42 5f 49 50 4e  ble;.....MIB_IPN
0b70: 45 54 52 4f 57 2a 20 74 61 62 6c 65 28 29 20 7b  ETROW* table() {
0b80: 20 72 65 74 75 72 6e 20 5f 74 61 62 6c 65 2e 70   return _table.p
0b90: 74 72 3b 20 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20  tr; }..}..alias 
0ba0: 4d 49 42 5f 49 50 4e 45 54 54 41 42 4c 45 2a 20  MIB_IPNETTABLE* 
0bb0: 50 4d 49 42 5f 49 50 4e 45 54 54 41 42 4c 45 3b  PMIB_IPNETTABLE;
0bc0: 0d 0a 0d 0a 73 74 72 75 63 74 20 4d 49 42 49 43  ....struct MIBIC
0bd0: 4d 50 53 54 41 54 53 20 7b 0d 0a 09 44 57 4f 52  MPSTATS {...DWOR
0be0: 44 20 64 77 4d 73 67 73 3b 0d 0a 09 44 57 4f 52  D dwMsgs;...DWOR
0bf0: 44 20 64 77 45 72 72 6f 72 73 3b 0d 0a 09 44 57  D dwErrors;...DW
0c00: 4f 52 44 20 64 77 44 65 73 74 55 6e 72 65 61 63  ORD dwDestUnreac
0c10: 68 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77 54 69  hs;...DWORD dwTi
0c20: 6d 65 45 78 63 64 73 3b 0d 0a 09 44 57 4f 52 44  meExcds;...DWORD
0c30: 20 64 77 50 61 72 6d 50 72 6f 62 73 3b 0d 0a 09   dwParmProbs;...
0c40: 44 57 4f 52 44 20 64 77 53 72 63 51 75 65 6e 63  DWORD dwSrcQuenc
0c50: 68 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77 52 65  hs;...DWORD dwRe
0c60: 64 69 72 65 63 74 73 3b 0d 0a 09 44 57 4f 52 44  directs;...DWORD
0c70: 20 64 77 45 63 68 6f 73 3b 0d 0a 09 44 57 4f 52   dwEchos;...DWOR
0c80: 44 20 64 77 45 63 68 6f 52 65 70 73 3b 0d 0a 09  D dwEchoReps;...
0c90: 44 57 4f 52 44 20 64 77 54 69 6d 65 73 74 61 6d  DWORD dwTimestam
0ca0: 70 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77 54 69  ps;...DWORD dwTi
0cb0: 6d 65 73 74 61 6d 70 52 65 70 73 3b 0d 0a 09 44  mestampReps;...D
0cc0: 57 4f 52 44 20 64 77 41 64 64 72 4d 61 73 6b 73  WORD dwAddrMasks
0cd0: 3b 0d 0a 09 44 57 4f 52 44 20 64 77 41 64 64 72  ;...DWORD dwAddr
0ce0: 4d 61 73 6b 52 65 70 73 3b 0d 0a 7d 0d 0a 61 6c  MaskReps;..}..al
0cf0: 69 61 73 20 4d 49 42 49 43 4d 50 53 54 41 54 53  ias MIBICMPSTATS
0d00: 2a 20 50 4d 49 42 49 43 4d 50 53 54 41 54 53 3b  * PMIBICMPSTATS;
0d10: 0d 0a 0d 0a 73 74 72 75 63 74 20 4d 49 42 49 43  ....struct MIBIC
0d20: 4d 50 49 4e 46 4f 20 7b 0d 0a 09 4d 49 42 49 43  MPINFO {...MIBIC
0d30: 4d 50 53 54 41 54 53 20 69 63 6d 70 49 6e 53 74  MPSTATS icmpInSt
0d40: 61 74 73 3b 0d 0a 09 4d 49 42 49 43 4d 50 53 54  ats;...MIBICMPST
0d50: 41 54 53 20 69 63 6d 70 4f 75 74 53 74 61 74 73  ATS icmpOutStats
0d60: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d 49 42 49  ;..}..alias MIBI
0d70: 43 4d 50 49 4e 46 4f 2a 20 50 4d 49 42 49 43 4d  CMPINFO* PMIBICM
0d80: 50 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74  PINFO;....struct
0d90: 20 4d 49 42 5f 49 43 4d 50 20 7b 0d 0a 09 4d 49   MIB_ICMP {...MI
0da0: 42 49 43 4d 50 49 4e 46 4f 20 73 74 61 74 73 3b  BICMPINFO stats;
0db0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d 49 42 5f 49  ..}..alias MIB_I
0dc0: 43 4d 50 2a 20 50 4d 49 42 5f 49 43 4d 50 3b 0d  CMP* PMIB_ICMP;.
0dd0: 0a 0d 0a 73 74 72 75 63 74 20 4d 49 42 5f 49 46  ...struct MIB_IF
0de0: 52 4f 57 20 7b 0d 0a 09 57 43 48 41 52 5b 4d 41  ROW {...WCHAR[MA
0df0: 58 5f 49 4e 54 45 52 46 41 43 45 5f 4e 41 4d 45  X_INTERFACE_NAME
0e00: 5f 4c 45 4e 5d 20 77 73 7a 4e 61 6d 65 3b 0d 0a  _LEN] wszName;..
0e10: 09 44 57 4f 52 44 20 64 77 49 6e 64 65 78 3b 0d  .DWORD dwIndex;.
0e20: 0a 09 44 57 4f 52 44 20 64 77 54 79 70 65 3b 0d  ..DWORD dwType;.
0e30: 0a 09 44 57 4f 52 44 20 64 77 4d 74 75 3b 0d 0a  ..DWORD dwMtu;..
0e40: 09 44 57 4f 52 44 20 64 77 53 70 65 65 64 3b 0d  .DWORD dwSpeed;.
0e50: 0a 09 44 57 4f 52 44 20 64 77 50 68 79 73 41 64  ..DWORD dwPhysAd
0e60: 64 72 4c 65 6e 3b 0d 0a 09 42 59 54 45 5b 4d 41  drLen;...BYTE[MA
0e70: 58 4c 45 4e 5f 50 48 59 53 41 44 44 52 5d 20 62  XLEN_PHYSADDR] b
0e80: 50 68 79 73 41 64 64 72 3b 0d 0a 09 44 57 4f 52  PhysAddr;...DWOR
0e90: 44 20 64 77 41 64 6d 69 6e 53 74 61 74 75 73 3b  D dwAdminStatus;
0ea0: 0d 0a 09 44 57 4f 52 44 20 64 77 4f 70 65 72 53  ...DWORD dwOperS
0eb0: 74 61 74 75 73 3b 0d 0a 09 44 57 4f 52 44 20 64  tatus;...DWORD d
0ec0: 77 4c 61 73 74 43 68 61 6e 67 65 3b 0d 0a 09 44  wLastChange;...D
0ed0: 57 4f 52 44 20 64 77 49 6e 4f 63 74 65 74 73 3b  WORD dwInOctets;
0ee0: 0d 0a 09 44 57 4f 52 44 20 64 77 49 6e 55 63 61  ...DWORD dwInUca
0ef0: 73 74 50 6b 74 73 3b 0d 0a 09 44 57 4f 52 44 20  stPkts;...DWORD 
0f00: 64 77 49 6e 4e 55 63 61 73 74 50 6b 74 73 3b 0d  dwInNUcastPkts;.
0f10: 0a 09 44 57 4f 52 44 20 64 77 49 6e 44 69 73 63  ..DWORD dwInDisc
0f20: 61 72 64 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77  ards;...DWORD dw
0f30: 49 6e 45 72 72 6f 72 73 3b 0d 0a 09 44 57 4f 52  InErrors;...DWOR
0f40: 44 20 64 77 49 6e 55 6e 6b 6e 6f 77 6e 50 72 6f  D dwInUnknownPro
0f50: 74 6f 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77 4f  tos;...DWORD dwO
0f60: 75 74 4f 63 74 65 74 73 3b 0d 0a 09 44 57 4f 52  utOctets;...DWOR
0f70: 44 20 64 77 4f 75 74 55 63 61 73 74 50 6b 74 73  D dwOutUcastPkts
0f80: 3b 0d 0a 09 44 57 4f 52 44 20 64 77 4f 75 74 4e  ;...DWORD dwOutN
0f90: 55 63 61 73 74 50 6b 74 73 3b 0d 0a 09 44 57 4f  UcastPkts;...DWO
0fa0: 52 44 20 64 77 4f 75 74 44 69 73 63 61 72 64 73  RD dwOutDiscards
0fb0: 3b 0d 0a 09 44 57 4f 52 44 20 64 77 4f 75 74 45  ;...DWORD dwOutE
0fc0: 72 72 6f 72 73 3b 0d 0a 09 44 57 4f 52 44 20 64  rrors;...DWORD d
0fd0: 77 4f 75 74 51 4c 65 6e 3b 0d 0a 09 44 57 4f 52  wOutQLen;...DWOR
0fe0: 44 20 64 77 44 65 73 63 72 4c 65 6e 3b 0d 0a 09  D dwDescrLen;...
0ff0: 42 59 54 45 5b 4d 41 58 4c 45 4e 5f 49 46 44 45  BYTE[MAXLEN_IFDE
1000: 53 43 52 5d 20 62 44 65 73 63 72 3b 0d 0a 7d 0d  SCR] bDescr;..}.
1010: 0a 61 6c 69 61 73 20 4d 49 42 5f 49 46 52 4f 57  .alias MIB_IFROW
1020: 2a 20 50 4d 49 42 5f 49 46 52 4f 57 3b 0d 0a 0d  * PMIB_IFROW;...
1030: 0a 73 74 72 75 63 74 20 4d 49 42 5f 49 46 54 41  .struct MIB_IFTA
1040: 42 4c 45 20 7b 0d 0a 09 44 57 4f 52 44 20 20 20  BLE {...DWORD   
1050: 20 20 20 20 20 64 77 4e 75 6d 45 6e 74 72 69 65       dwNumEntrie
1060: 73 3b 0d 0a 09 4d 49 42 5f 49 46 52 4f 57 5b 31  s;...MIB_IFROW[1
1070: 5d 20 5f 74 61 62 6c 65 3b 0d 0a 0d 0a 09 4d 49  ] _table;.....MI
1080: 42 5f 49 46 52 4f 57 2a 20 74 61 62 6c 65 28 29  B_IFROW* table()
1090: 20 7b 20 72 65 74 75 72 6e 20 5f 74 61 62 6c 65   { return _table
10a0: 2e 70 74 72 3b 20 7d 0d 0a 7d 0d 0a 61 6c 69 61  .ptr; }..}..alia
10b0: 73 20 4d 49 42 5f 49 46 54 41 42 4c 45 2a 20 50  s MIB_IFTABLE* P
10c0: 4d 49 42 5f 49 46 54 41 42 4c 45 3b 0d 0a 0d 0a  MIB_IFTABLE;....
10d0: 73 74 72 75 63 74 20 4d 49 42 5f 49 50 53 54 41  struct MIB_IPSTA
10e0: 54 53 20 7b 0d 0a 09 44 57 4f 52 44 20 64 77 46  TS {...DWORD dwF
10f0: 6f 72 77 61 72 64 69 6e 67 3b 0d 0a 09 44 57 4f  orwarding;...DWO
1100: 52 44 20 64 77 44 65 66 61 75 6c 74 54 54 4c 3b  RD dwDefaultTTL;
1110: 0d 0a 09 44 57 4f 52 44 20 64 77 49 6e 52 65 63  ...DWORD dwInRec
1120: 65 69 76 65 73 3b 0d 0a 09 44 57 4f 52 44 20 64  eives;...DWORD d
1130: 77 49 6e 48 64 72 45 72 72 6f 72 73 3b 0d 0a 09  wInHdrErrors;...
1140: 44 57 4f 52 44 20 64 77 49 6e 41 64 64 72 45 72  DWORD dwInAddrEr
1150: 72 6f 72 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77  rors;...DWORD dw
1160: 46 6f 72 77 44 61 74 61 67 72 61 6d 73 3b 0d 0a  ForwDatagrams;..
1170: 09 44 57 4f 52 44 20 64 77 49 6e 55 6e 6b 6e 6f  .DWORD dwInUnkno
1180: 77 6e 50 72 6f 74 6f 73 3b 0d 0a 09 44 57 4f 52  wnProtos;...DWOR
1190: 44 20 64 77 49 6e 44 69 73 63 61 72 64 73 3b 0d  D dwInDiscards;.
11a0: 0a 09 44 57 4f 52 44 20 64 77 49 6e 44 65 6c 69  ..DWORD dwInDeli
11b0: 76 65 72 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77  vers;...DWORD dw
11c0: 4f 75 74 52 65 71 75 65 73 74 73 3b 0d 0a 09 44  OutRequests;...D
11d0: 57 4f 52 44 20 64 77 52 6f 75 74 69 6e 67 44 69  WORD dwRoutingDi
11e0: 73 63 61 72 64 73 3b 0d 0a 09 44 57 4f 52 44 20  scards;...DWORD 
11f0: 64 77 4f 75 74 44 69 73 63 61 72 64 73 3b 0d 0a  dwOutDiscards;..
1200: 09 44 57 4f 52 44 20 64 77 4f 75 74 4e 6f 52 6f  .DWORD dwOutNoRo
1210: 75 74 65 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77  utes;...DWORD dw
1220: 52 65 61 73 6d 54 69 6d 65 6f 75 74 3b 0d 0a 09  ReasmTimeout;...
1230: 44 57 4f 52 44 20 64 77 52 65 61 73 6d 52 65 71  DWORD dwReasmReq
1240: 64 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77 52 65  ds;...DWORD dwRe
1250: 61 73 6d 4f 6b 73 3b 0d 0a 09 44 57 4f 52 44 20  asmOks;...DWORD 
1260: 64 77 52 65 61 73 6d 46 61 69 6c 73 3b 0d 0a 09  dwReasmFails;...
1270: 44 57 4f 52 44 20 64 77 46 72 61 67 4f 6b 73 3b  DWORD dwFragOks;
1280: 0d 0a 09 44 57 4f 52 44 20 64 77 46 72 61 67 46  ...DWORD dwFragF
1290: 61 69 6c 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77  ails;...DWORD dw
12a0: 46 72 61 67 43 72 65 61 74 65 73 3b 0d 0a 09 44  FragCreates;...D
12b0: 57 4f 52 44 20 64 77 4e 75 6d 49 66 3b 0d 0a 09  WORD dwNumIf;...
12c0: 44 57 4f 52 44 20 64 77 4e 75 6d 41 64 64 72 3b  DWORD dwNumAddr;
12d0: 0d 0a 09 44 57 4f 52 44 20 64 77 4e 75 6d 52 6f  ...DWORD dwNumRo
12e0: 75 74 65 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  utes;..}..alias 
12f0: 4d 49 42 5f 49 50 53 54 41 54 53 2a 20 50 4d 49  MIB_IPSTATS* PMI
1300: 42 5f 49 50 53 54 41 54 53 3b 0d 0a 0d 0a 73 74  B_IPSTATS;....st
1310: 72 75 63 74 20 4d 49 42 5f 54 43 50 53 54 41 54  ruct MIB_TCPSTAT
1320: 53 20 7b 0d 0a 09 44 57 4f 52 44 20 64 77 52 74  S {...DWORD dwRt
1330: 6f 41 6c 67 6f 72 69 74 68 6d 3b 0d 0a 09 44 57  oAlgorithm;...DW
1340: 4f 52 44 20 64 77 52 74 6f 4d 69 6e 3b 0d 0a 09  ORD dwRtoMin;...
1350: 44 57 4f 52 44 20 64 77 52 74 6f 4d 61 78 3b 0d  DWORD dwRtoMax;.
1360: 0a 09 44 57 4f 52 44 20 64 77 4d 61 78 43 6f 6e  ..DWORD dwMaxCon
1370: 6e 3b 0d 0a 09 44 57 4f 52 44 20 64 77 41 63 74  n;...DWORD dwAct
1380: 69 76 65 4f 70 65 6e 73 3b 0d 0a 09 44 57 4f 52  iveOpens;...DWOR
1390: 44 20 64 77 50 61 73 73 69 76 65 4f 70 65 6e 73  D dwPassiveOpens
13a0: 3b 0d 0a 09 44 57 4f 52 44 20 64 77 41 74 74 65  ;...DWORD dwAtte
13b0: 6d 70 74 46 61 69 6c 73 3b 0d 0a 09 44 57 4f 52  mptFails;...DWOR
13c0: 44 20 64 77 45 73 74 61 62 52 65 73 65 74 73 3b  D dwEstabResets;
13d0: 0d 0a 09 44 57 4f 52 44 20 64 77 43 75 72 72 45  ...DWORD dwCurrE
13e0: 73 74 61 62 3b 0d 0a 09 44 57 4f 52 44 20 64 77  stab;...DWORD dw
13f0: 49 6e 53 65 67 73 3b 0d 0a 09 44 57 4f 52 44 20  InSegs;...DWORD 
1400: 64 77 4f 75 74 53 65 67 73 3b 0d 0a 09 44 57 4f  dwOutSegs;...DWO
1410: 52 44 20 64 77 52 65 74 72 61 6e 73 53 65 67 73  RD dwRetransSegs
1420: 3b 0d 0a 09 44 57 4f 52 44 20 64 77 49 6e 45 72  ;...DWORD dwInEr
1430: 72 73 3b 0d 0a 09 44 57 4f 52 44 20 64 77 4f 75  rs;...DWORD dwOu
1440: 74 52 73 74 73 3b 0d 0a 09 44 57 4f 52 44 20 64  tRsts;...DWORD d
1450: 77 4e 75 6d 43 6f 6e 6e 73 3b 0d 0a 7d 0d 0a 61  wNumConns;..}..a
1460: 6c 69 61 73 20 4d 49 42 5f 54 43 50 53 54 41 54  lias MIB_TCPSTAT
1470: 53 2a 20 50 4d 49 42 5f 54 43 50 53 54 41 54 53  S* PMIB_TCPSTATS
1480: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4d 49 42 5f  ;....struct MIB_
1490: 54 43 50 52 4f 57 20 7b 0d 0a 09 44 57 4f 52 44  TCPROW {...DWORD
14a0: 20 64 77 53 74 61 74 65 3b 0d 0a 09 44 57 4f 52   dwState;...DWOR
14b0: 44 20 64 77 4c 6f 63 61 6c 41 64 64 72 3b 0d 0a  D dwLocalAddr;..
14c0: 09 44 57 4f 52 44 20 64 77 4c 6f 63 61 6c 50 6f  .DWORD dwLocalPo
14d0: 72 74 3b 0d 0a 09 44 57 4f 52 44 20 64 77 52 65  rt;...DWORD dwRe
14e0: 6d 6f 74 65 41 64 64 72 3b 0d 0a 09 44 57 4f 52  moteAddr;...DWOR
14f0: 44 20 64 77 52 65 6d 6f 74 65 50 6f 72 74 3b 0d  D dwRemotePort;.
1500: 0a 7d 0d 0a 61 6c 69 61 73 20 4d 49 42 5f 54 43  .}..alias MIB_TC
1510: 50 52 4f 57 2a 20 50 4d 49 42 5f 54 43 50 52 4f  PROW* PMIB_TCPRO
1520: 57 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4d 49 42  W;....struct MIB
1530: 5f 54 43 50 54 41 42 4c 45 20 7b 0d 0a 09 44 57  _TCPTABLE {...DW
1540: 4f 52 44 20 20 20 20 20 20 20 20 20 64 77 4e 75  ORD         dwNu
1550: 6d 45 6e 74 72 69 65 73 3b 0d 0a 09 4d 49 42 5f  mEntries;...MIB_
1560: 54 43 50 52 4f 57 5b 31 5d 20 5f 74 61 62 6c 65  TCPROW[1] _table
1570: 3b 0d 0a 0d 0a 09 4d 49 42 5f 54 43 50 52 4f 57  ;.....MIB_TCPROW
1580: 2a 20 74 61 62 6c 65 28 29 20 7b 20 72 65 74 75  * table() { retu
1590: 72 6e 20 5f 74 61 62 6c 65 2e 70 74 72 3b 20 7d  rn _table.ptr; }
15a0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d 49 42 5f 54  ..}..alias MIB_T
15b0: 43 50 54 41 42 4c 45 2a 20 50 4d 49 42 5f 54 43  CPTABLE* PMIB_TC
15c0: 50 54 41 42 4c 45 3b 0d 0a 0d 0a 73 74 72 75 63  PTABLE;....struc
15d0: 74 20 4d 49 42 5f 55 44 50 53 54 41 54 53 20 7b  t MIB_UDPSTATS {
15e0: 0d 0a 09 44 57 4f 52 44 20 64 77 49 6e 44 61 74  ...DWORD dwInDat
15f0: 61 67 72 61 6d 73 3b 0d 0a 09 44 57 4f 52 44 20  agrams;...DWORD 
1600: 64 77 4e 6f 50 6f 72 74 73 3b 0d 0a 09 44 57 4f  dwNoPorts;...DWO
1610: 52 44 20 64 77 49 6e 45 72 72 6f 72 73 3b 0d 0a  RD dwInErrors;..
1620: 09 44 57 4f 52 44 20 64 77 4f 75 74 44 61 74 61  .DWORD dwOutData
1630: 67 72 61 6d 73 3b 0d 0a 09 44 57 4f 52 44 20 64  grams;...DWORD d
1640: 77 4e 75 6d 41 64 64 72 73 3b 0d 0a 7d 0d 0a 61  wNumAddrs;..}..a
1650: 6c 69 61 73 20 4d 49 42 5f 55 44 50 53 54 41 54  lias MIB_UDPSTAT
1660: 53 2a 20 50 4d 49 42 5f 55 44 50 53 54 41 54 53  S* PMIB_UDPSTATS
1670: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4d 49 42 5f  ;....struct MIB_
1680: 55 44 50 52 4f 57 20 7b 0d 0a 09 44 57 4f 52 44  UDPROW {...DWORD
1690: 20 64 77 4c 6f 63 61 6c 41 64 64 72 3b 0d 0a 09   dwLocalAddr;...
16a0: 44 57 4f 52 44 20 64 77 4c 6f 63 61 6c 50 6f 72  DWORD dwLocalPor
16b0: 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d 49 42  t;..}..alias MIB
16c0: 5f 55 44 50 52 4f 57 2a 20 50 4d 49 42 5f 55 44  _UDPROW* PMIB_UD
16d0: 50 52 4f 57 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  PROW;....struct 
16e0: 4d 49 42 5f 55 44 50 54 41 42 4c 45 20 7b 0d 0a  MIB_UDPTABLE {..
16f0: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 64  .DWORD         d
1700: 77 4e 75 6d 45 6e 74 72 69 65 73 3b 0d 0a 09 4d  wNumEntries;...M
1710: 49 42 5f 55 44 50 52 4f 57 5b 31 5d 20 5f 74 61  IB_UDPROW[1] _ta
1720: 62 6c 65 3b 0d 0a 0d 0a 09 4d 49 42 5f 55 44 50  ble;.....MIB_UDP
1730: 52 4f 57 2a 20 74 61 62 6c 65 28 29 20 7b 20 72  ROW* table() { r
1740: 65 74 75 72 6e 20 5f 74 61 62 6c 65 2e 70 74 72  eturn _table.ptr
1750: 3b 20 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d 49  ; }..}..alias MI
1760: 42 5f 55 44 50 54 41 42 4c 45 2a 20 50 4d 49 42  B_UDPTABLE* PMIB
1770: 5f 55 44 50 54 41 42 4c 45 3b 0d 0a              _UDPTABLE;..