Artifact 93c2ee9c88a504a9a9c795bbff2f9995ef542b82:
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 74 79 70 65 iptype
0070: 73 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 s.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 74 79 70 65 73 3b 0a 0a 69 6d 70 6f 72 .iptypes;..impor
0300: 74 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b 0a t win32.windef;.
0310: 76 65 72 73 69 6f 6e 28 54 61 6e 67 6f 29 7b 0a version(Tango){.
0320: 20 20 20 20 70 72 69 76 61 74 65 20 69 6d 70 6f private impo
0330: 72 74 20 74 61 6e 67 6f 2e 73 74 64 63 2e 74 69 rt tango.stdc.ti
0340: 6d 65 3b 0a 7d 65 6c 73 65 7b 0a 20 20 20 20 70 me;.}else{. p
0350: 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 73 74 rivate import st
0360: 64 2e 63 2e 74 69 6d 65 3b 0a 7d 0a 2f 2f 23 69 d.c.time;.}.//#i
0370: 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 79 70 65 nclude <sys/type
0380: 73 2e 68 3e 0a 0a 63 6f 6e 73 74 20 73 69 7a 65 s.h>..const size
0390: 5f 74 0a 09 44 45 46 41 55 4c 54 5f 4d 49 4e 49 _t..DEFAULT_MINI
03a0: 4d 55 4d 5f 45 4e 54 49 54 49 45 53 20 20 20 20 MUM_ENTITIES
03b0: 20 20 20 3d 20 20 33 32 2c 0a 09 4d 41 58 5f 41 = 32,..MAX_A
03c0: 44 41 50 54 45 52 5f 41 44 44 52 45 53 53 5f 4c DAPTER_ADDRESS_L
03d0: 45 4e 47 54 48 20 20 20 20 20 3d 20 20 20 38 2c ENGTH = 8,
03e0: 0a 09 4d 41 58 5f 41 44 41 50 54 45 52 5f 44 45 ..MAX_ADAPTER_DE
03f0: 53 43 52 49 50 54 49 4f 4e 5f 4c 45 4e 47 54 48 SCRIPTION_LENGTH
0400: 20 3d 20 31 32 38 2c 0a 09 4d 41 58 5f 41 44 41 = 128,..MAX_ADA
0410: 50 54 45 52 5f 4e 41 4d 45 5f 4c 45 4e 47 54 48 PTER_NAME_LENGTH
0420: 20 20 20 20 20 20 20 20 3d 20 32 35 36 2c 0a 09 = 256,..
0430: 4d 41 58 5f 44 4f 4d 41 49 4e 5f 4e 41 4d 45 5f MAX_DOMAIN_NAME_
0440: 4c 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 3d LEN =
0450: 20 31 32 38 2c 0a 09 4d 41 58 5f 48 4f 53 54 4e 128,..MAX_HOSTN
0460: 41 4d 45 5f 4c 45 4e 20 20 20 20 20 20 20 20 20 AME_LEN
0470: 20 20 20 20 20 20 3d 20 31 32 38 2c 0a 09 4d 41 = 128,..MA
0480: 58 5f 53 43 4f 50 45 5f 49 44 5f 4c 45 4e 20 20 X_SCOPE_ID_LEN
0490: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 32 = 2
04a0: 35 36 3b 0a 0a 63 6f 6e 73 74 20 55 49 4e 54 0a 56;..const UINT.
04b0: 09 42 52 4f 41 44 43 41 53 54 5f 4e 4f 44 45 54 .BROADCAST_NODET
04c0: 59 50 45 20 20 20 20 3d 20 31 2c 0a 09 50 45 45 YPE = 1,..PEE
04d0: 52 5f 54 4f 5f 50 45 45 52 5f 4e 4f 44 45 54 59 R_TO_PEER_NODETY
04e0: 50 45 20 3d 20 32 2c 0a 09 4d 49 58 45 44 5f 4e PE = 2,..MIXED_N
04f0: 4f 44 45 54 59 50 45 20 20 20 20 20 20 20 20 3d ODETYPE =
0500: 20 34 2c 0a 09 48 59 42 52 49 44 5f 4e 4f 44 45 4,..HYBRID_NODE
0510: 54 59 50 45 20 20 20 20 20 20 20 3d 20 38 3b 0a TYPE = 8;.
0520: 0a 65 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0a 09 .enum : UINT {..
0530: 49 46 5f 4f 54 48 45 52 5f 41 44 41 50 54 45 52 IF_OTHER_ADAPTER
0540: 54 59 50 45 2c 0a 09 49 46 5f 45 54 48 45 52 4e TYPE,..IF_ETHERN
0550: 45 54 5f 41 44 41 50 54 45 52 54 59 50 45 2c 0a ET_ADAPTERTYPE,.
0560: 09 49 46 5f 54 4f 4b 45 4e 5f 52 49 4e 47 5f 41 .IF_TOKEN_RING_A
0570: 44 41 50 54 45 52 54 59 50 45 2c 0a 09 49 46 5f DAPTERTYPE,..IF_
0580: 46 44 44 49 5f 41 44 41 50 54 45 52 54 59 50 45 FDDI_ADAPTERTYPE
0590: 2c 0a 09 49 46 5f 50 50 50 5f 41 44 41 50 54 45 ,..IF_PPP_ADAPTE
05a0: 52 54 59 50 45 2c 0a 09 49 46 5f 4c 4f 4f 50 42 RTYPE,..IF_LOOPB
05b0: 41 43 4b 5f 41 44 41 50 54 45 52 54 59 50 45 20 ACK_ADAPTERTYPE
05c0: 2f 2f 20 3d 20 35 0a 7d 0a 0a 73 74 72 75 63 74 // = 5.}..struct
05d0: 20 49 50 5f 41 44 44 52 45 53 53 5f 53 54 52 49 IP_ADDRESS_STRI
05e0: 4e 47 20 7b 0a 09 63 68 61 72 5b 31 36 5d 20 53 NG {..char[16] S
05f0: 74 72 69 6e 67 3b 0a 7d 0a 61 6c 69 61 73 20 49 tring;.}.alias I
0600: 50 5f 41 44 44 52 45 53 53 5f 53 54 52 49 4e 47 P_ADDRESS_STRING
0610: 20 49 50 5f 4d 41 53 4b 5f 53 54 52 49 4e 47 3b IP_MASK_STRING;
0620: 0a 61 6c 69 61 73 20 49 50 5f 41 44 44 52 45 53 .alias IP_ADDRES
0630: 53 5f 53 54 52 49 4e 47 2a 20 50 49 50 5f 41 44 S_STRING* PIP_AD
0640: 44 52 45 53 53 5f 53 54 52 49 4e 47 2c 20 50 49 DRESS_STRING, PI
0650: 50 5f 4d 41 53 4b 5f 53 54 52 49 4e 47 3b 0a 0a P_MASK_STRING;..
0660: 73 74 72 75 63 74 20 49 50 5f 41 44 44 52 5f 53 struct IP_ADDR_S
0670: 54 52 49 4e 47 20 7b 0a 09 49 50 5f 41 44 44 52 TRING {..IP_ADDR
0680: 5f 53 54 52 49 4e 47 2a 20 20 20 4e 65 78 74 3b _STRING* Next;
0690: 0a 09 49 50 5f 41 44 44 52 45 53 53 5f 53 54 52 ..IP_ADDRESS_STR
06a0: 49 4e 47 20 49 70 41 64 64 72 65 73 73 3b 0a 09 ING IpAddress;..
06b0: 49 50 5f 4d 41 53 4b 5f 53 54 52 49 4e 47 20 20 IP_MASK_STRING
06c0: 20 20 49 70 4d 61 73 6b 3b 0a 09 44 57 4f 52 44 IpMask;..DWORD
06d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e Con
06e0: 74 65 78 74 3b 0a 7d 0a 61 6c 69 61 73 20 49 50 text;.}.alias IP
06f0: 5f 41 44 44 52 5f 53 54 52 49 4e 47 2a 20 50 49 _ADDR_STRING* PI
0700: 50 5f 41 44 44 52 5f 53 54 52 49 4e 47 3b 0a 0a P_ADDR_STRING;..
0710: 73 74 72 75 63 74 20 49 50 5f 41 44 41 50 54 45 struct IP_ADAPTE
0720: 52 5f 49 4e 46 4f 20 7b 0a 09 49 50 5f 41 44 41 R_INFO {..IP_ADA
0730: 50 54 45 52 5f 49 4e 46 4f 2a 20 4e 65 78 74 3b PTER_INFO* Next;
0740: 0a 09 44 57 4f 52 44 20 43 6f 6d 62 6f 49 6e 64 ..DWORD ComboInd
0750: 65 78 3b 0a 09 63 68 61 72 5b 4d 41 58 5f 41 44 ex;..char[MAX_AD
0760: 41 50 54 45 52 5f 4e 41 4d 45 5f 4c 45 4e 47 54 APTER_NAME_LENGT
0770: 48 2b 34 5d 20 20 20 20 20 20 20 20 41 64 61 70 H+4] Adap
0780: 74 65 72 4e 61 6d 65 3b 0a 09 63 68 61 72 5b 4d terName;..char[M
0790: 41 58 5f 41 44 41 50 54 45 52 5f 44 45 53 43 52 AX_ADAPTER_DESCR
07a0: 49 50 54 49 4f 4e 5f 4c 45 4e 47 54 48 2b 34 5d IPTION_LENGTH+4]
07b0: 20 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a 09 55 Description;..U
07c0: 49 4e 54 20 20 20 20 20 20 20 20 20 20 20 20 20 INT
07d0: 41 64 64 72 65 73 73 4c 65 6e 67 74 68 3b 0a 09 AddressLength;..
07e0: 42 59 54 45 5b 4d 41 58 5f 41 44 41 50 54 45 52 BYTE[MAX_ADAPTER
07f0: 5f 41 44 44 52 45 53 53 5f 4c 45 4e 47 54 48 5d _ADDRESS_LENGTH]
0800: 20 20 20 20 20 20 20 41 64 64 72 65 73 73 3b 0a Address;.
0810: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 .DWORD
0820: 20 20 49 6e 64 65 78 3b 0a 09 55 49 4e 54 20 20 Index;..UINT
0830: 20 20 20 20 20 20 20 20 20 20 20 54 79 70 65 3b Type;
0840: 0a 09 55 49 4e 54 20 20 20 20 20 20 20 20 20 20 ..UINT
0850: 20 20 20 44 68 63 70 45 6e 61 62 6c 65 64 3b 0a DhcpEnabled;.
0860: 09 50 49 50 5f 41 44 44 52 5f 53 54 52 49 4e 47 .PIP_ADDR_STRING
0870: 20 20 43 75 72 72 65 6e 74 49 70 41 64 64 72 65 CurrentIpAddre
0880: 73 73 3b 0a 09 49 50 5f 41 44 44 52 5f 53 54 52 ss;..IP_ADDR_STR
0890: 49 4e 47 20 20 20 49 70 41 64 64 72 65 73 73 4c ING IpAddressL
08a0: 69 73 74 3b 0a 09 49 50 5f 41 44 44 52 5f 53 54 ist;..IP_ADDR_ST
08b0: 52 49 4e 47 20 20 20 47 61 74 65 77 61 79 4c 69 RING GatewayLi
08c0: 73 74 3b 0a 09 49 50 5f 41 44 44 52 5f 53 54 52 st;..IP_ADDR_STR
08d0: 49 4e 47 20 20 20 44 68 63 70 53 65 72 76 65 72 ING DhcpServer
08e0: 3b 0a 09 42 4f 4f 4c 20 20 20 20 20 20 20 20 20 ;..BOOL
08f0: 20 20 20 20 48 61 76 65 57 69 6e 73 3b 0a 09 49 HaveWins;..I
0900: 50 5f 41 44 44 52 5f 53 54 52 49 4e 47 20 20 20 P_ADDR_STRING
0910: 50 72 69 6d 61 72 79 57 69 6e 73 53 65 72 76 65 PrimaryWinsServe
0920: 72 3b 0a 09 49 50 5f 41 44 44 52 5f 53 54 52 49 r;..IP_ADDR_STRI
0930: 4e 47 20 20 20 53 65 63 6f 6e 64 61 72 79 57 69 NG SecondaryWi
0940: 6e 73 53 65 72 76 65 72 3b 0a 09 74 69 6d 65 5f nsServer;..time_
0950: 74 20 20 20 20 20 20 20 20 20 20 20 4c 65 61 73 t Leas
0960: 65 4f 62 74 61 69 6e 65 64 3b 0a 09 74 69 6d 65 eObtained;..time
0970: 5f 74 20 20 20 20 20 20 20 20 20 20 20 4c 65 61 _t Lea
0980: 73 65 45 78 70 69 72 65 73 3b 0a 7d 0a 61 6c 69 seExpires;.}.ali
0990: 61 73 20 49 50 5f 41 44 41 50 54 45 52 5f 49 4e as IP_ADAPTER_IN
09a0: 46 4f 2a 20 50 49 50 5f 41 44 41 50 54 45 52 5f FO* PIP_ADAPTER_
09b0: 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 49 50 INFO;..struct IP
09c0: 5f 50 45 52 5f 41 44 41 50 54 45 52 5f 49 4e 46 _PER_ADAPTER_INF
09d0: 4f 20 7b 0a 09 55 49 4e 54 20 41 75 74 6f 63 6f O {..UINT Autoco
09e0: 6e 66 69 67 45 6e 61 62 6c 65 64 3b 0a 09 55 49 nfigEnabled;..UI
09f0: 4e 54 20 41 75 74 6f 63 6f 6e 66 69 67 41 63 74 NT AutoconfigAct
0a00: 69 76 65 3b 0a 09 50 49 50 5f 41 44 44 52 5f 53 ive;..PIP_ADDR_S
0a10: 54 52 49 4e 47 20 43 75 72 72 65 6e 74 44 6e 73 TRING CurrentDns
0a20: 53 65 72 76 65 72 3b 0a 09 49 50 5f 41 44 44 52 Server;..IP_ADDR
0a30: 5f 53 54 52 49 4e 47 20 44 6e 73 53 65 72 76 65 _STRING DnsServe
0a40: 72 4c 69 73 74 3b 0a 7d 0a 61 6c 69 61 73 20 49 rList;.}.alias I
0a50: 50 5f 50 45 52 5f 41 44 41 50 54 45 52 5f 49 4e P_PER_ADAPTER_IN
0a60: 46 4f 2a 20 50 49 50 5f 50 45 52 5f 41 44 41 50 FO* PIP_PER_ADAP
0a70: 54 45 52 5f 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 TER_INFO;..struc
0a80: 74 20 46 49 58 45 44 5f 49 4e 46 4f 20 7b 0a 09 t FIXED_INFO {..
0a90: 63 68 61 72 5b 4d 41 58 5f 48 4f 53 54 4e 41 4d char[MAX_HOSTNAM
0aa0: 45 5f 4c 45 4e 2b 34 5d 20 20 20 20 48 6f 73 74 E_LEN+4] Host
0ab0: 4e 61 6d 65 3b 0a 09 63 68 61 72 5b 4d 41 58 5f Name;..char[MAX_
0ac0: 44 4f 4d 41 49 4e 5f 4e 41 4d 45 5f 4c 45 4e 2b DOMAIN_NAME_LEN+
0ad0: 34 5d 20 44 6f 6d 61 69 6e 4e 61 6d 65 3b 0a 09 4] DomainName;..
0ae0: 50 49 50 5f 41 44 44 52 5f 53 54 52 49 4e 47 20 PIP_ADDR_STRING
0af0: 20 20 20 20 20 20 20 20 20 20 20 20 43 75 72 72 Curr
0b00: 65 6e 74 44 6e 73 53 65 72 76 65 72 3b 0a 09 49 entDnsServer;..I
0b10: 50 5f 41 44 44 52 5f 53 54 52 49 4e 47 20 20 20 P_ADDR_STRING
0b20: 20 20 20 20 20 20 20 20 20 20 20 44 6e 73 53 65 DnsSe
0b30: 72 76 65 72 4c 69 73 74 3b 0a 09 55 49 4e 54 20 rverList;..UINT
0b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0b50: 20 20 20 20 20 20 20 4e 6f 64 65 54 79 70 65 3b NodeType;
0b60: 0a 09 63 68 61 72 5b 4d 41 58 5f 53 43 4f 50 45 ..char[MAX_SCOPE
0b70: 5f 49 44 5f 4c 45 4e 2b 34 5d 20 20 20 20 53 63 _ID_LEN+4] Sc
0b80: 6f 70 65 49 64 3b 0a 09 55 49 4e 54 20 20 20 20 opeId;..UINT
0b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0ba0: 20 20 20 20 45 6e 61 62 6c 65 52 6f 75 74 69 6e EnableRoutin
0bb0: 67 3b 0a 09 55 49 4e 54 20 20 20 20 20 20 20 20 g;..UINT
0bc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0bd0: 45 6e 61 62 6c 65 50 72 6f 78 79 3b 0a 09 55 49 EnableProxy;..UI
0be0: 4e 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 NT
0bf0: 20 20 20 20 20 20 20 20 20 20 45 6e 61 62 6c 65 Enable
0c00: 44 6e 73 3b 0a 7d 0a 61 6c 69 61 73 20 46 49 58 Dns;.}.alias FIX
0c10: 45 44 5f 49 4e 46 4f 2a 20 50 46 49 58 45 44 5f ED_INFO* PFIXED_
0c20: 49 4e 46 4f 3b 0a INFO;.