Hex Artifact Content

Not logged in

Artifact 1a3947efdf6afa74dfbe0704f3a76fb4453bdb53:


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 77 69 6e 69 6e 65            winine
0070: 74 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20  t.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 77 69 6e 69 6e 65 74 3b 0a 0a 2f 2f 20 46 49  .wininet;..// FI
0300: 58 4d 45 3a 20 63 68 65 63 6b 20 74 79 70 65 73  XME: check types
0310: 20 61 6e 64 20 67 72 6f 75 70 69 6e 67 20 6f 66   and grouping of
0320: 20 63 6f 6e 73 74 61 6e 74 73 0a 0a 69 6d 70 6f   constants..impo
0330: 72 74 20 77 69 6e 33 32 2e 77 69 6e 64 6f 77 73  rt win32.windows
0340: 3b 0a 0a 65 6e 75 6d 20 7b 0a 09 49 4e 54 45 52  ;..enum {..INTER
0350: 4e 45 54 5f 49 4e 56 41 4c 49 44 5f 50 4f 52 54  NET_INVALID_PORT
0360: 5f 4e 55 4d 42 45 52 20 3d 20 20 20 20 30 2c 0a  _NUMBER =    0,.
0370: 09 49 4e 54 45 52 4e 45 54 5f 44 45 46 41 55 4c  .INTERNET_DEFAUL
0380: 54 5f 46 54 50 5f 50 4f 52 54 20 20 20 20 3d 20  T_FTP_PORT    = 
0390: 20 20 32 31 2c 0a 09 49 4e 54 45 52 4e 45 54 5f    21,..INTERNET_
03a0: 44 45 46 41 55 4c 54 5f 47 4f 50 48 45 52 5f 50  DEFAULT_GOPHER_P
03b0: 4f 52 54 20 3d 20 20 20 37 30 2c 0a 09 49 4e 54  ORT =   70,..INT
03c0: 45 52 4e 45 54 5f 44 45 46 41 55 4c 54 5f 48 54  ERNET_DEFAULT_HT
03d0: 54 50 5f 50 4f 52 54 20 20 20 3d 20 20 20 38 30  TP_PORT   =   80
03e0: 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 44 45 46 41  ,..INTERNET_DEFA
03f0: 55 4c 54 5f 48 54 54 50 53 5f 50 4f 52 54 20 20  ULT_HTTPS_PORT  
0400: 3d 20 20 34 34 33 2c 0a 09 49 4e 54 45 52 4e 45  =  443,..INTERNE
0410: 54 5f 44 45 46 41 55 4c 54 5f 53 4f 43 4b 53 5f  T_DEFAULT_SOCKS_
0420: 50 4f 52 54 20 20 3d 20 31 30 38 30 0a 7d 0a 0a  PORT  = 1080.}..
0430: 63 6f 6e 73 74 20 73 69 7a 65 5f 74 0a 09 4d 41  const size_t..MA
0440: 58 5f 43 41 43 48 45 5f 45 4e 54 52 59 5f 49 4e  X_CACHE_ENTRY_IN
0450: 46 4f 5f 53 49 5a 45 20 20 20 20 20 20 20 3d 20  FO_SIZE       = 
0460: 20 34 30 39 36 2c 0a 09 49 4e 54 45 52 4e 45 54   4096,..INTERNET
0470: 5f 4d 41 58 5f 48 4f 53 54 5f 4e 41 4d 45 5f 4c  _MAX_HOST_NAME_L
0480: 45 4e 47 54 48 20 20 20 3d 20 20 20 32 35 36 2c  ENGTH   =   256,
0490: 0a 09 49 4e 54 45 52 4e 45 54 5f 4d 41 58 5f 55  ..INTERNET_MAX_U
04a0: 53 45 52 5f 4e 41 4d 45 5f 4c 45 4e 47 54 48 20  SER_NAME_LENGTH 
04b0: 20 20 3d 20 20 20 31 32 38 2c 0a 09 49 4e 54 45    =   128,..INTE
04c0: 52 4e 45 54 5f 4d 41 58 5f 50 41 53 53 57 4f 52  RNET_MAX_PASSWOR
04d0: 44 5f 4c 45 4e 47 54 48 20 20 20 20 3d 20 20 20  D_LENGTH    =   
04e0: 31 32 38 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4d  128,..INTERNET_M
04f0: 41 58 5f 50 4f 52 54 5f 4e 55 4d 42 45 52 5f 4c  AX_PORT_NUMBER_L
0500: 45 4e 47 54 48 20 3d 20 20 20 20 20 35 2c 0a 09  ENGTH =     5,..
0510: 49 4e 54 45 52 4e 45 54 5f 4d 41 58 5f 50 4f 52  INTERNET_MAX_POR
0520: 54 5f 4e 55 4d 42 45 52 5f 56 41 4c 55 45 20 20  T_NUMBER_VALUE  
0530: 3d 20 36 35 35 33 35 2c 0a 09 49 4e 54 45 52 4e  = 65535,..INTERN
0540: 45 54 5f 4d 41 58 5f 50 41 54 48 5f 4c 45 4e 47  ET_MAX_PATH_LENG
0550: 54 48 20 20 20 20 20 20 20 20 3d 20 20 32 30 34  TH        =  204
0560: 38 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4d 41 58  8,..INTERNET_MAX
0570: 5f 53 43 48 45 4d 45 5f 4c 45 4e 47 54 48 20 20  _SCHEME_LENGTH  
0580: 20 20 20 20 3d 20 20 20 20 33 32 2c 0a 09 49 4e      =    32,..IN
0590: 54 45 52 4e 45 54 5f 4d 41 58 5f 55 52 4c 5f 4c  TERNET_MAX_URL_L
05a0: 45 4e 47 54 48 20 20 20 20 20 20 20 20 20 3d 20  ENGTH         = 
05b0: 49 4e 54 45 52 4e 45 54 5f 4d 41 58 5f 53 43 48  INTERNET_MAX_SCH
05c0: 45 4d 45 5f 4c 45 4e 47 54 48 0a 09 20 20 20 20  EME_LENGTH..    
05d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
05e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 20                + 
05f0: 22 3a 2f 2f 22 2e 6c 65 6e 67 74 68 0a 09 20 20  "://".length..  
0600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0620: 2b 20 49 4e 54 45 52 4e 45 54 5f 4d 41 58 5f 50  + INTERNET_MAX_P
0630: 41 54 48 5f 4c 45 4e 47 54 48 3b 0a 0a 65 6e 75  ATH_LENGTH;..enu
0640: 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 49 4e 54  m : DWORD {..INT
0650: 45 52 4e 45 54 5f 4b 45 45 50 5f 41 4c 49 56 45  ERNET_KEEP_ALIVE
0660: 5f 55 4e 4b 4e 4f 57 4e 20 20 3d 20 44 57 4f 52  _UNKNOWN  = DWOR
0670: 44 2e 6d 61 78 2c 0a 09 49 4e 54 45 52 4e 45 54  D.max,..INTERNET
0680: 5f 4b 45 45 50 5f 41 4c 49 56 45 5f 44 49 53 41  _KEEP_ALIVE_DISA
0690: 42 4c 45 44 20 3d 20 30 2c 0a 09 49 4e 54 45 52  BLED = 0,..INTER
06a0: 4e 45 54 5f 4b 45 45 50 5f 41 4c 49 56 45 5f 45  NET_KEEP_ALIVE_E
06b0: 4e 41 42 4c 45 44 0a 7d 0a 0a 65 6e 75 6d 20 7b  NABLED.}..enum {
06c0: 0a 09 49 4e 54 45 52 4e 45 54 5f 52 45 51 46 4c  ..INTERNET_REQFL
06d0: 41 47 5f 46 52 4f 4d 5f 43 41 43 48 45 20 3d 20  AG_FROM_CACHE = 
06e0: 31 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 52 45 51  1,..INTERNET_REQ
06f0: 46 4c 41 47 5f 41 53 59 4e 43 20 20 20 20 20 20  FLAG_ASYNC      
0700: 3d 20 32 0a 7d 0a 0a 63 6f 6e 73 74 20 44 57 4f  = 2.}..const DWO
0710: 52 44 0a 09 49 4e 54 45 52 4e 45 54 5f 46 4c 41  RD..INTERNET_FLA
0720: 47 5f 52 45 4c 4f 41 44 20 20 20 20 20 20 20 20  G_RELOAD        
0730: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 38             = 0x8
0740: 30 30 30 30 30 30 30 2c 0a 09 49 4e 54 45 52 4e  0000000,..INTERN
0750: 45 54 5f 46 4c 41 47 5f 52 41 57 5f 44 41 54 41  ET_FLAG_RAW_DATA
0760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0770: 20 3d 20 30 78 34 30 30 30 30 30 30 30 2c 0a 09   = 0x40000000,..
0780: 49 4e 54 45 52 4e 45 54 5f 46 4c 41 47 5f 45 58  INTERNET_FLAG_EX
0790: 49 53 54 49 4e 47 5f 43 4f 4e 4e 45 43 54 20 20  ISTING_CONNECT  
07a0: 20 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 30         = 0x20000
07b0: 30 30 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 46  000,..INTERNET_F
07c0: 4c 41 47 5f 41 53 59 4e 43 20 20 20 20 20 20 20  LAG_ASYNC       
07d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
07e0: 78 31 30 30 30 30 30 30 30 2c 0a 09 49 4e 54 45  x10000000,..INTE
07f0: 52 4e 45 54 5f 46 4c 41 47 5f 50 41 53 53 49 56  RNET_FLAG_PASSIV
0800: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  E               
0810: 20 20 20 3d 20 30 78 30 38 30 30 30 30 30 30 2c     = 0x08000000,
0820: 0a 09 49 4e 54 45 52 4e 45 54 5f 46 4c 41 47 5f  ..INTERNET_FLAG_
0830: 4e 4f 5f 43 41 43 48 45 5f 57 52 49 54 45 20 20  NO_CACHE_WRITE  
0840: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 34 30           = 0x040
0850: 30 30 30 30 30 2c 0a 09 49 4e 54 45 52 4e 45 54  00000,..INTERNET
0860: 5f 46 4c 41 47 5f 44 4f 4e 54 5f 43 41 43 48 45  _FLAG_DONT_CACHE
0870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
0880: 20 49 4e 54 45 52 4e 45 54 5f 46 4c 41 47 5f 4e   INTERNET_FLAG_N
0890: 4f 5f 43 41 43 48 45 5f 57 52 49 54 45 2c 0a 09  O_CACHE_WRITE,..
08a0: 49 4e 54 45 52 4e 45 54 5f 46 4c 41 47 5f 4d 41  INTERNET_FLAG_MA
08b0: 4b 45 5f 50 45 52 53 49 53 54 45 4e 54 20 20 20  KE_PERSISTENT   
08c0: 20 20 20 20 20 20 20 3d 20 30 78 30 32 30 30 30         = 0x02000
08d0: 30 30 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 46  000,..INTERNET_F
08e0: 4c 41 47 5f 4f 46 46 4c 49 4e 45 20 20 20 20 20  LAG_OFFLINE     
08f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
0900: 78 30 31 30 30 30 30 30 30 2c 0a 09 49 4e 54 45  x01000000,..INTE
0910: 52 4e 45 54 5f 46 4c 41 47 5f 53 45 43 55 52 45  RNET_FLAG_SECURE
0920: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0930: 20 20 20 3d 20 30 78 30 30 38 30 30 30 30 30 2c     = 0x00800000,
0940: 0a 09 49 4e 54 45 52 4e 45 54 5f 46 4c 41 47 5f  ..INTERNET_FLAG_
0950: 4b 45 45 50 5f 43 4f 4e 4e 45 43 54 49 4f 4e 20  KEEP_CONNECTION 
0960: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 34           = 0x004
0970: 30 30 30 30 30 2c 0a 09 49 4e 54 45 52 4e 45 54  00000,..INTERNET
0980: 5f 46 4c 41 47 5f 4e 4f 5f 41 55 54 4f 5f 52 45  _FLAG_NO_AUTO_RE
0990: 44 49 52 45 43 54 20 20 20 20 20 20 20 20 20 3d  DIRECT         =
09a0: 20 30 78 30 30 32 30 30 30 30 30 2c 0a 09 49 4e   0x00200000,..IN
09b0: 54 45 52 4e 45 54 5f 46 4c 41 47 5f 52 45 41 44  TERNET_FLAG_READ
09c0: 5f 50 52 45 46 45 54 43 48 20 20 20 20 20 20 20  _PREFETCH       
09d0: 20 20 20 20 20 3d 20 30 78 30 30 31 30 30 30 30       = 0x0010000
09e0: 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 46 4c 41  0,..INTERNET_FLA
09f0: 47 5f 4e 4f 5f 43 4f 4f 4b 49 45 53 20 20 20 20  G_NO_COOKIES    
0a00: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
0a10: 30 30 38 30 30 30 30 2c 0a 09 49 4e 54 45 52 4e  0080000,..INTERN
0a20: 45 54 5f 46 4c 41 47 5f 4e 4f 5f 41 55 54 48 20  ET_FLAG_NO_AUTH 
0a30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0a40: 20 3d 20 30 78 30 30 30 34 30 30 30 30 2c 0a 09   = 0x00040000,..
0a50: 49 4e 54 45 52 4e 45 54 5f 46 4c 41 47 5f 49 47  INTERNET_FLAG_IG
0a60: 4e 4f 52 45 5f 52 45 44 49 52 45 43 54 5f 54 4f  NORE_REDIRECT_TO
0a70: 5f 48 54 54 50 20 20 3d 20 30 78 30 30 30 30 38  _HTTP  = 0x00008
0a80: 30 30 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 46  000,..INTERNET_F
0a90: 4c 41 47 5f 49 47 4e 4f 52 45 5f 52 45 44 49 52  LAG_IGNORE_REDIR
0aa0: 45 43 54 5f 54 4f 5f 48 54 54 50 53 20 3d 20 30  ECT_TO_HTTPS = 0
0ab0: 78 30 30 30 30 34 30 30 30 2c 0a 09 49 4e 54 45  x00004000,..INTE
0ac0: 52 4e 45 54 5f 46 4c 41 47 5f 49 47 4e 4f 52 45  RNET_FLAG_IGNORE
0ad0: 5f 43 45 52 54 5f 44 41 54 45 5f 49 4e 56 41 4c  _CERT_DATE_INVAL
0ae0: 49 44 20 3d 20 30 78 30 30 30 30 32 30 30 30 2c  ID = 0x00002000,
0af0: 0a 09 49 4e 54 45 52 4e 45 54 5f 46 4c 41 47 5f  ..INTERNET_FLAG_
0b00: 49 47 4e 4f 52 45 5f 43 45 52 54 5f 43 4e 5f 49  IGNORE_CERT_CN_I
0b10: 4e 56 41 4c 49 44 20 20 20 3d 20 30 78 30 30 30  NVALID   = 0x000
0b20: 30 31 30 30 30 2c 0a 09 49 4e 54 45 52 4e 45 54  01000,..INTERNET
0b30: 5f 46 4c 41 47 5f 52 45 53 59 4e 43 48 52 4f 4e  _FLAG_RESYNCHRON
0b40: 49 5a 45 20 20 20 20 20 20 20 20 20 20 20 20 3d  IZE            =
0b50: 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 49 4e   0x00000800,..IN
0b60: 54 45 52 4e 45 54 5f 46 4c 41 47 5f 48 59 50 45  TERNET_FLAG_HYPE
0b70: 52 4c 49 4e 4b 20 20 20 20 20 20 20 20 20 20 20  RLINK           
0b80: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 34 30       = 0x0000040
0b90: 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 46 4c 41  0,..INTERNET_FLA
0ba0: 47 5f 4e 4f 5f 55 49 20 20 20 20 20 20 20 20 20  G_NO_UI         
0bb0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
0bc0: 30 30 30 30 32 30 30 2c 0a 09 49 4e 54 45 52 4e  0000200,..INTERN
0bd0: 45 54 5f 46 4c 41 47 5f 50 52 41 47 4d 41 5f 4e  ET_FLAG_PRAGMA_N
0be0: 4f 43 41 43 48 45 20 20 20 20 20 20 20 20 20 20  OCACHE          
0bf0: 20 3d 20 30 78 30 30 30 30 30 31 30 30 2c 0a 09   = 0x00000100,..
0c00: 49 4e 54 45 52 4e 45 54 5f 46 4c 41 47 5f 4d 55  INTERNET_FLAG_MU
0c10: 53 54 5f 43 41 43 48 45 5f 52 45 51 55 45 53 54  ST_CACHE_REQUEST
0c20: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
0c30: 30 31 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 46  010,..INTERNET_F
0c40: 4c 41 47 5f 54 52 41 4e 53 46 45 52 5f 41 53 43  LAG_TRANSFER_ASC
0c50: 49 49 20 20 20 20 20 20 20 20 20 20 20 3d 20 46  II           = F
0c60: 54 50 5f 54 52 41 4e 53 46 45 52 5f 54 59 50 45  TP_TRANSFER_TYPE
0c70: 5f 41 53 43 49 49 2c 0a 09 49 4e 54 45 52 4e 45  _ASCII,..INTERNE
0c80: 54 5f 46 4c 41 47 5f 54 52 41 4e 53 46 45 52 5f  T_FLAG_TRANSFER_
0c90: 42 49 4e 41 52 59 20 20 20 20 20 20 20 20 20 20  BINARY          
0ca0: 3d 20 46 54 50 5f 54 52 41 4e 53 46 45 52 5f 54  = FTP_TRANSFER_T
0cb0: 59 50 45 5f 42 49 4e 41 52 59 2c 0a 0a 09 53 45  YPE_BINARY,...SE
0cc0: 43 55 52 49 54 59 5f 49 4e 54 45 52 4e 45 54 5f  CURITY_INTERNET_
0cd0: 4d 41 53 4b 20 20 20 20 20 20 20 20 20 20 20 20  MASK            
0ce0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 46 30 30       = 0x0000F00
0cf0: 30 2c 0a 09 53 45 43 55 52 49 54 59 5f 53 45 54  0,..SECURITY_SET
0d00: 5f 4d 41 53 4b 20 20 20 20 20 20 20 20 20 20 20  _MASK           
0d10: 20 20 20 20 20 20 20 20 20 20 20 3d 20 53 45 43             = SEC
0d20: 55 52 49 54 59 5f 49 4e 54 45 52 4e 45 54 5f 4d  URITY_INTERNET_M
0d30: 41 53 4b 2c 0a 0a 09 49 4e 54 45 52 4e 45 54 5f  ASK,...INTERNET_
0d40: 46 4c 41 47 53 5f 4d 41 53 4b 20 20 20 20 20 20  FLAGS_MASK      
0d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
0d60: 30 78 46 46 46 43 46 45 31 33 2c 0a 09 49 4e 54  0xFFFCFE13,..INT
0d70: 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 53 5f 4d 41  ERNET_OPTIONS_MA
0d80: 53 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 20  SK              
0d90: 20 20 20 20 3d 20 7e 49 4e 54 45 52 4e 45 54 5f      = ~INTERNET_
0da0: 46 4c 41 47 53 5f 4d 41 53 4b 3b 0a 0a 63 6f 6e  FLAGS_MASK;..con
0db0: 73 74 20 49 4e 54 45 52 4e 45 54 5f 4e 4f 5f 43  st INTERNET_NO_C
0dc0: 41 4c 4c 42 41 43 4b 20 3d 20 30 3b 0a 63 6f 6e  ALLBACK = 0;.con
0dd0: 73 74 20 49 4e 54 45 52 4e 45 54 5f 52 46 43 31  st INTERNET_RFC1
0de0: 31 32 33 5f 46 4f 52 4d 41 54 20 3d 20 30 3b 0a  123_FORMAT = 0;.
0df0: 63 6f 6e 73 74 20 73 69 7a 65 5f 74 20 49 4e 54  const size_t INT
0e00: 45 52 4e 45 54 5f 52 46 43 31 31 32 33 5f 42 55  ERNET_RFC1123_BU
0e10: 46 53 49 5a 45 20 3d 20 33 30 3b 0a 0a 63 6f 6e  FSIZE = 30;..con
0e20: 73 74 20 44 57 4f 52 44 0a 09 49 43 55 5f 45 53  st DWORD..ICU_ES
0e30: 43 41 50 45 20 20 20 20 20 20 20 20 20 20 20 20  CAPE            
0e40: 20 3d 20 30 78 38 30 30 30 30 30 30 30 2c 0a 09   = 0x80000000,..
0e50: 49 43 55 5f 55 53 45 52 4e 41 4d 45 20 20 20 20  ICU_USERNAME    
0e60: 20 20 20 20 20 20 20 3d 20 30 78 34 30 30 30 30         = 0x40000
0e70: 30 30 30 2c 0a 09 49 43 55 5f 4e 4f 5f 45 4e 43  000,..ICU_NO_ENC
0e80: 4f 44 45 20 20 20 20 20 20 20 20 20 20 3d 20 30  ODE          = 0
0e90: 78 32 30 30 30 30 30 30 30 2c 0a 09 49 43 55 5f  x20000000,..ICU_
0ea0: 44 45 43 4f 44 45 20 20 20 20 20 20 20 20 20 20  DECODE          
0eb0: 20 20 20 3d 20 30 78 31 30 30 30 30 30 30 30 2c     = 0x10000000,
0ec0: 0a 09 49 43 55 5f 4e 4f 5f 4d 45 54 41 20 20 20  ..ICU_NO_META   
0ed0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 38 30           = 0x080
0ee0: 30 30 30 30 30 2c 0a 09 49 43 55 5f 45 4e 43 4f  00000,..ICU_ENCO
0ef0: 44 45 5f 53 50 41 43 45 53 5f 4f 4e 4c 59 20 3d  DE_SPACES_ONLY =
0f00: 20 30 78 30 34 30 30 30 30 30 30 2c 0a 09 49 43   0x04000000,..IC
0f10: 55 5f 42 52 4f 57 53 45 52 5f 4d 4f 44 45 20 20  U_BROWSER_MODE  
0f20: 20 20 20 20 20 3d 20 30 78 30 32 30 30 30 30 30       = 0x0200000
0f30: 30 3b 0a 0a 65 6e 75 6d 20 7b 0a 09 49 4e 54 45  0;..enum {..INTE
0f40: 52 4e 45 54 5f 4f 50 45 4e 5f 54 59 50 45 5f 50  RNET_OPEN_TYPE_P
0f50: 52 45 43 4f 4e 46 49 47 20 3d 20 30 2c 0a 09 49  RECONFIG = 0,..I
0f60: 4e 54 45 52 4e 45 54 5f 4f 50 45 4e 5f 54 59 50  NTERNET_OPEN_TYP
0f70: 45 5f 44 49 52 45 43 54 20 20 20 20 3d 20 31 2c  E_DIRECT    = 1,
0f80: 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 45 4e 5f  ..INTERNET_OPEN_
0f90: 54 59 50 45 5f 50 52 4f 58 59 20 20 20 20 20 3d  TYPE_PROXY     =
0fa0: 20 33 2c 0a 09 50 52 45 5f 43 4f 4e 46 49 47 5f   3,..PRE_CONFIG_
0fb0: 49 4e 54 45 52 4e 45 54 5f 41 43 43 45 53 53 20  INTERNET_ACCESS 
0fc0: 20 20 3d 20 49 4e 54 45 52 4e 45 54 5f 4f 50 45    = INTERNET_OPE
0fd0: 4e 5f 54 59 50 45 5f 50 52 45 43 4f 4e 46 49 47  N_TYPE_PRECONFIG
0fe0: 2c 0a 09 4c 4f 43 41 4c 5f 49 4e 54 45 52 4e 45  ,..LOCAL_INTERNE
0ff0: 54 5f 41 43 43 45 53 53 20 20 20 20 20 20 20 20  T_ACCESS        
1000: 3d 20 49 4e 54 45 52 4e 45 54 5f 4f 50 45 4e 5f  = INTERNET_OPEN_
1010: 54 59 50 45 5f 44 49 52 45 43 54 2c 0a 09 47 41  TYPE_DIRECT,..GA
1020: 54 45 57 41 59 5f 49 4e 54 45 52 4e 45 54 5f 41  TEWAY_INTERNET_A
1030: 43 43 45 53 53 20 20 20 20 20 20 3d 20 32 2c 0a  CCESS      = 2,.
1040: 09 43 45 52 4e 5f 50 52 4f 58 59 5f 49 4e 54 45  .CERN_PROXY_INTE
1050: 52 4e 45 54 5f 41 43 43 45 53 53 20 20 20 3d 20  RNET_ACCESS   = 
1060: 49 4e 54 45 52 4e 45 54 5f 4f 50 45 4e 5f 54 59  INTERNET_OPEN_TY
1070: 50 45 5f 50 52 4f 58 59 2c 0a 7d 0a 0a 63 6f 6e  PE_PROXY,.}..con
1080: 73 74 20 49 53 4f 5f 47 4c 4f 42 41 4c 20 20 20  st ISO_GLOBAL   
1090: 20 20 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 49 53     = 1;.const IS
10a0: 4f 5f 52 45 47 49 53 54 52 59 20 20 20 20 3d 20  O_REGISTRY    = 
10b0: 32 3b 0a 63 6f 6e 73 74 20 49 53 4f 5f 56 41 4c  2;.const ISO_VAL
10c0: 49 44 5f 46 4c 41 47 53 20 3d 20 49 53 4f 5f 47  ID_FLAGS = ISO_G
10d0: 4c 4f 42 41 4c 20 7c 20 49 53 4f 5f 52 45 47 49  LOBAL | ISO_REGI
10e0: 53 54 52 59 3b 0a 0a 65 6e 75 6d 20 7b 0a 09 49  STRY;..enum {..I
10f0: 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 43  NTERNET_OPTION_C
1100: 41 4c 4c 42 41 43 4b 20 20 20 20 20 20 20 20 20  ALLBACK         
1110: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 31 2c             =  1,
1120: 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f  ..INTERNET_OPTIO
1130: 4e 5f 43 4f 4e 4e 45 43 54 5f 54 49 4d 45 4f 55  N_CONNECT_TIMEOU
1140: 54 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54  T,..INTERNET_OPT
1150: 49 4f 4e 5f 43 4f 4e 4e 45 43 54 5f 52 45 54 52  ION_CONNECT_RETR
1160: 49 45 53 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f  IES,..INTERNET_O
1170: 50 54 49 4f 4e 5f 43 4f 4e 4e 45 43 54 5f 42 41  PTION_CONNECT_BA
1180: 43 4b 4f 46 46 2c 0a 09 49 4e 54 45 52 4e 45 54  CKOFF,..INTERNET
1190: 5f 4f 50 54 49 4f 4e 5f 53 45 4e 44 5f 54 49 4d  _OPTION_SEND_TIM
11a0: 45 4f 55 54 2c 0a 09 49 4e 54 45 52 4e 45 54 5f  EOUT,..INTERNET_
11b0: 4f 50 54 49 4f 4e 5f 43 4f 4e 54 52 4f 4c 5f 53  OPTION_CONTROL_S
11c0: 45 4e 44 5f 54 49 4d 45 4f 55 54 20 20 20 20 20  END_TIMEOUT     
11d0: 20 20 20 3d 20 49 4e 54 45 52 4e 45 54 5f 4f 50     = INTERNET_OP
11e0: 54 49 4f 4e 5f 53 45 4e 44 5f 54 49 4d 45 4f 55  TION_SEND_TIMEOU
11f0: 54 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54  T,..INTERNET_OPT
1200: 49 4f 4e 5f 52 45 43 45 49 56 45 5f 54 49 4d 45  ION_RECEIVE_TIME
1210: 4f 55 54 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f  OUT,..INTERNET_O
1220: 50 54 49 4f 4e 5f 43 4f 4e 54 52 4f 4c 5f 52 45  PTION_CONTROL_RE
1230: 43 45 49 56 45 5f 54 49 4d 45 4f 55 54 20 20 3d  CEIVE_TIMEOUT  =
1240: 20 49 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f 4e   INTERNET_OPTION
1250: 5f 52 45 43 45 49 56 45 5f 54 49 4d 45 4f 55 54  _RECEIVE_TIMEOUT
1260: 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54 49  ,..INTERNET_OPTI
1270: 4f 4e 5f 44 41 54 41 5f 53 45 4e 44 5f 54 49 4d  ON_DATA_SEND_TIM
1280: 45 4f 55 54 2c 0a 09 49 4e 54 45 52 4e 45 54 5f  EOUT,..INTERNET_
1290: 4f 50 54 49 4f 4e 5f 44 41 54 41 5f 52 45 43 45  OPTION_DATA_RECE
12a0: 49 56 45 5f 54 49 4d 45 4f 55 54 2c 0a 09 49 4e  IVE_TIMEOUT,..IN
12b0: 54 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 48 41  TERNET_OPTION_HA
12c0: 4e 44 4c 45 5f 54 59 50 45 2c 0a 09 49 4e 54 45  NDLE_TYPE,..INTE
12d0: 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 43 4f 4e 54  RNET_OPTION_CONT
12e0: 45 58 54 5f 56 41 4c 55 45 2c 0a 09 49 4e 54 45  EXT_VALUE,..INTE
12f0: 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 4c 49 53 54  RNET_OPTION_LIST
1300: 45 4e 5f 54 49 4d 45 4f 55 54 2c 0a 09 49 4e 54  EN_TIMEOUT,..INT
1310: 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 52 45 41  ERNET_OPTION_REA
1320: 44 5f 42 55 46 46 45 52 5f 53 49 5a 45 2c 0a 09  D_BUFFER_SIZE,..
1330: 49 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f  INTERNET_OPTION_
1340: 57 52 49 54 45 5f 42 55 46 46 45 52 5f 53 49 5a  WRITE_BUFFER_SIZ
1350: 45 2c 20 20 20 20 20 20 20 2f 2f 20 3d 20 31 33  E,       // = 13
1360: 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f  ..INTERNET_OPTIO
1370: 4e 5f 41 53 59 4e 43 5f 49 44 20 20 20 20 20 20  N_ASYNC_ID      
1380: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
1390: 31 35 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50  15,..INTERNET_OP
13a0: 54 49 4f 4e 5f 41 53 59 4e 43 5f 50 52 49 4f 52  TION_ASYNC_PRIOR
13b0: 49 54 59 2c 20 20 20 20 20 20 20 20 20 20 2f 2f  ITY,          //
13c0: 20 3d 20 31 36 0a 09 49 4e 54 45 52 4e 45 54 5f   = 16..INTERNET_
13d0: 4f 50 54 49 4f 4e 5f 50 41 52 45 4e 54 5f 48 41  OPTION_PARENT_HA
13e0: 4e 44 4c 45 20 20 20 20 20 20 20 20 20 20 20 20  NDLE            
13f0: 20 20 20 3d 20 32 31 2c 0a 09 49 4e 54 45 52 4e     = 21,..INTERN
1400: 45 54 5f 4f 50 54 49 4f 4e 5f 4b 45 45 50 5f 43  ET_OPTION_KEEP_C
1410: 4f 4e 4e 45 43 54 49 4f 4e 2c 0a 09 49 4e 54 45  ONNECTION,..INTE
1420: 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 52 45 51 55  RNET_OPTION_REQU
1430: 45 53 54 5f 46 4c 41 47 53 2c 0a 09 49 4e 54 45  EST_FLAGS,..INTE
1440: 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 45 58 54 45  RNET_OPTION_EXTE
1450: 4e 44 45 44 5f 45 52 52 4f 52 2c 20 20 20 20 20  NDED_ERROR,     
1460: 20 20 20 20 20 2f 2f 20 3d 20 32 34 0a 09 49 4e       // = 24..IN
1470: 54 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 4f 46  TERNET_OPTION_OF
1480: 46 4c 49 4e 45 5f 4d 4f 44 45 20 20 20 20 20 20  FLINE_MODE      
1490: 20 20 20 20 20 20 20 20 20 20 3d 20 32 36 2c 0a            = 26,.
14a0: 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f 4e  .INTERNET_OPTION
14b0: 5f 43 41 43 48 45 5f 53 54 52 45 41 4d 5f 48 41  _CACHE_STREAM_HA
14c0: 4e 44 4c 45 2c 0a 09 49 4e 54 45 52 4e 45 54 5f  NDLE,..INTERNET_
14d0: 4f 50 54 49 4f 4e 5f 55 53 45 52 4e 41 4d 45 2c  OPTION_USERNAME,
14e0: 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f  ..INTERNET_OPTIO
14f0: 4e 5f 50 41 53 53 57 4f 52 44 2c 0a 09 49 4e 54  N_PASSWORD,..INT
1500: 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 41 53 59  ERNET_OPTION_ASY
1510: 4e 43 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50  NC,..INTERNET_OP
1520: 54 49 4f 4e 5f 53 45 43 55 52 49 54 59 5f 46 4c  TION_SECURITY_FL
1530: 41 47 53 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f  AGS,..INTERNET_O
1540: 50 54 49 4f 4e 5f 53 45 43 55 52 49 54 59 5f 43  PTION_SECURITY_C
1550: 45 52 54 49 46 49 43 41 54 45 5f 53 54 52 55 43  ERTIFICATE_STRUC
1560: 54 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54  T,..INTERNET_OPT
1570: 49 4f 4e 5f 44 41 54 41 46 49 4c 45 5f 4e 41 4d  ION_DATAFILE_NAM
1580: 45 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54  E,..INTERNET_OPT
1590: 49 4f 4e 5f 55 52 4c 2c 0a 09 49 4e 54 45 52 4e  ION_URL,..INTERN
15a0: 45 54 5f 4f 50 54 49 4f 4e 5f 53 45 43 55 52 49  ET_OPTION_SECURI
15b0: 54 59 5f 43 45 52 54 49 46 49 43 41 54 45 2c 0a  TY_CERTIFICATE,.
15c0: 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f 4e  .INTERNET_OPTION
15d0: 5f 53 45 43 55 52 49 54 59 5f 4b 45 59 5f 42 49  _SECURITY_KEY_BI
15e0: 54 4e 45 53 53 2c 0a 09 49 4e 54 45 52 4e 45 54  TNESS,..INTERNET
15f0: 5f 4f 50 54 49 4f 4e 5f 52 45 46 52 45 53 48 2c  _OPTION_REFRESH,
1600: 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f  ..INTERNET_OPTIO
1610: 4e 5f 50 52 4f 58 59 2c 0a 09 49 4e 54 45 52 4e  N_PROXY,..INTERN
1620: 45 54 5f 4f 50 54 49 4f 4e 5f 53 45 54 54 49 4e  ET_OPTION_SETTIN
1630: 47 53 5f 43 48 41 4e 47 45 44 2c 0a 09 49 4e 54  GS_CHANGED,..INT
1640: 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 56 45 52  ERNET_OPTION_VER
1650: 53 49 4f 4e 2c 0a 09 49 4e 54 45 52 4e 45 54 5f  SION,..INTERNET_
1660: 4f 50 54 49 4f 4e 5f 55 53 45 52 5f 41 47 45 4e  OPTION_USER_AGEN
1670: 54 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 4f 50 54  T,..INTERNET_OPT
1680: 49 4f 4e 5f 45 4e 44 5f 42 52 4f 57 53 45 52 5f  ION_END_BROWSER_
1690: 53 45 53 53 49 4f 4e 2c 0a 09 49 4e 54 45 52 4e  SESSION,..INTERN
16a0: 45 54 5f 4f 50 54 49 4f 4e 5f 50 52 4f 58 59 5f  ET_OPTION_PROXY_
16b0: 55 53 45 52 4e 41 4d 45 2c 0a 09 49 4e 54 45 52  USERNAME,..INTER
16c0: 4e 45 54 5f 4f 50 54 49 4f 4e 5f 50 52 4f 58 59  NET_OPTION_PROXY
16d0: 5f 50 41 53 53 57 4f 52 44 2c 20 20 20 20 20 20  _PASSWORD,      
16e0: 20 20 20 20 2f 2f 20 3d 20 34 34 0a 09 49 4e 54      // = 44..INT
16f0: 45 52 4e 45 54 5f 46 49 52 53 54 5f 4f 50 54 49  ERNET_FIRST_OPTI
1700: 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ON              
1710: 20 20 20 20 20 20 20 20 20 3d 20 49 4e 54 45 52           = INTER
1720: 4e 45 54 5f 4f 50 54 49 4f 4e 5f 43 41 4c 4c 42  NET_OPTION_CALLB
1730: 41 43 4b 2c 0a 09 2f 2f 20 77 68 79 3f 0a 09 49  ACK,..// why?..I
1740: 4e 54 45 52 4e 45 54 5f 4c 41 53 54 5f 4f 50 54  NTERNET_LAST_OPT
1750: 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20  ION             
1760: 20 20 20 20 20 20 20 20 20 20 20 3d 20 49 4e 54             = INT
1770: 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 55 53 45  ERNET_OPTION_USE
1780: 52 5f 41 47 45 4e 54 0a 7d 0a 0a 63 6f 6e 73 74  R_AGENT.}..const
1790: 20 49 4e 54 45 52 4e 45 54 5f 50 52 49 4f 52 49   INTERNET_PRIORI
17a0: 54 59 5f 46 4f 52 45 47 52 4f 55 4e 44 20 3d 20  TY_FOREGROUND = 
17b0: 31 30 30 30 3b 0a 0a 65 6e 75 6d 20 7b 0a 09 49  1000;..enum {..I
17c0: 4e 54 45 52 4e 45 54 5f 48 41 4e 44 4c 45 5f 54  NTERNET_HANDLE_T
17d0: 59 50 45 5f 49 4e 54 45 52 4e 45 54 20 3d 20 31  YPE_INTERNET = 1
17e0: 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 48 41 4e 44  ,..INTERNET_HAND
17f0: 4c 45 5f 54 59 50 45 5f 43 4f 4e 4e 45 43 54 5f  LE_TYPE_CONNECT_
1800: 46 54 50 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 48  FTP,..INTERNET_H
1810: 41 4e 44 4c 45 5f 54 59 50 45 5f 43 4f 4e 4e 45  ANDLE_TYPE_CONNE
1820: 43 54 5f 47 4f 50 48 45 52 2c 0a 09 49 4e 54 45  CT_GOPHER,..INTE
1830: 52 4e 45 54 5f 48 41 4e 44 4c 45 5f 54 59 50 45  RNET_HANDLE_TYPE
1840: 5f 43 4f 4e 4e 45 43 54 5f 48 54 54 50 2c 0a 09  _CONNECT_HTTP,..
1850: 49 4e 54 45 52 4e 45 54 5f 48 41 4e 44 4c 45 5f  INTERNET_HANDLE_
1860: 54 59 50 45 5f 46 54 50 5f 46 49 4e 44 2c 0a 09  TYPE_FTP_FIND,..
1870: 49 4e 54 45 52 4e 45 54 5f 48 41 4e 44 4c 45 5f  INTERNET_HANDLE_
1880: 54 59 50 45 5f 46 54 50 5f 46 49 4e 44 5f 48 54  TYPE_FTP_FIND_HT
1890: 4d 4c 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 48 41  ML,..INTERNET_HA
18a0: 4e 44 4c 45 5f 54 59 50 45 5f 46 54 50 5f 46 49  NDLE_TYPE_FTP_FI
18b0: 4c 45 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 48 41  LE,..INTERNET_HA
18c0: 4e 44 4c 45 5f 54 59 50 45 5f 46 54 50 5f 46 49  NDLE_TYPE_FTP_FI
18d0: 4c 45 5f 48 54 4d 4c 2c 0a 09 49 4e 54 45 52 4e  LE_HTML,..INTERN
18e0: 45 54 5f 48 41 4e 44 4c 45 5f 54 59 50 45 5f 47  ET_HANDLE_TYPE_G
18f0: 4f 50 48 45 52 5f 46 49 4e 44 2c 0a 09 49 4e 54  OPHER_FIND,..INT
1900: 45 52 4e 45 54 5f 48 41 4e 44 4c 45 5f 54 59 50  ERNET_HANDLE_TYP
1910: 45 5f 47 4f 50 48 45 52 5f 46 49 4e 44 5f 48 54  E_GOPHER_FIND_HT
1920: 4d 4c 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 48 41  ML,..INTERNET_HA
1930: 4e 44 4c 45 5f 54 59 50 45 5f 47 4f 50 48 45 52  NDLE_TYPE_GOPHER
1940: 5f 46 49 4c 45 2c 0a 09 49 4e 54 45 52 4e 45 54  _FILE,..INTERNET
1950: 5f 48 41 4e 44 4c 45 5f 54 59 50 45 5f 47 4f 50  _HANDLE_TYPE_GOP
1960: 48 45 52 5f 46 49 4c 45 5f 48 54 4d 4c 2c 0a 09  HER_FILE_HTML,..
1970: 49 4e 54 45 52 4e 45 54 5f 48 41 4e 44 4c 45 5f  INTERNET_HANDLE_
1980: 54 59 50 45 5f 48 54 54 50 5f 52 45 51 55 45 53  TYPE_HTTP_REQUES
1990: 54 0a 7d 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44  T.}..const DWORD
19a0: 0a 09 53 45 43 55 52 49 54 59 5f 46 4c 41 47 5f  ..SECURITY_FLAG_
19b0: 53 45 43 55 52 45 20 20 20 20 20 20 20 20 20 20  SECURE          
19c0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
19d0: 30 30 30 30 31 2c 0a 09 53 45 43 55 52 49 54 59  00001,..SECURITY
19e0: 5f 46 4c 41 47 5f 53 53 4c 20 20 20 20 20 20 20  _FLAG_SSL       
19f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
1a00: 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09 53 45   0x00000002,..SE
1a10: 43 55 52 49 54 59 5f 46 4c 41 47 5f 53 53 4c 33  CURITY_FLAG_SSL3
1a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a30: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30       = 0x0000000
1a40: 34 2c 0a 09 53 45 43 55 52 49 54 59 5f 46 4c 41  4,..SECURITY_FLA
1a50: 47 5f 50 43 54 20 20 20 20 20 20 20 20 20 20 20  G_PCT           
1a60: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
1a70: 30 30 30 30 30 30 38 2c 0a 09 53 45 43 55 52 49  0000008,..SECURI
1a80: 54 59 5f 46 4c 41 47 5f 50 43 54 34 20 20 20 20  TY_FLAG_PCT4    
1a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa0: 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09   = 0x00000010,..
1ab0: 53 45 43 55 52 49 54 59 5f 46 4c 41 47 5f 49 45  SECURITY_FLAG_IE
1ac0: 54 46 53 53 4c 34 20 20 20 20 20 20 20 20 20 20  TFSSL4          
1ad0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
1ae0: 30 32 30 2c 0a 09 53 45 43 55 52 49 54 59 5f 46  020,..SECURITY_F
1af0: 4c 41 47 5f 49 47 4e 4f 52 45 5f 52 45 56 4f 43  LAG_IGNORE_REVOC
1b00: 41 54 49 4f 4e 20 20 20 20 20 20 20 20 3d 20 30  ATION        = 0
1b10: 78 30 30 30 30 30 30 38 30 2c 0a 09 53 45 43 55  x00000080,..SECU
1b20: 52 49 54 59 5f 46 4c 41 47 5f 49 47 4e 4f 52 45  RITY_FLAG_IGNORE
1b30: 5f 55 4e 4b 4e 4f 57 4e 5f 43 41 20 20 20 20 20  _UNKNOWN_CA     
1b40: 20 20 20 3d 20 30 78 30 30 30 30 30 31 30 30 2c     = 0x00000100,
1b50: 0a 09 53 45 43 55 52 49 54 59 5f 46 4c 41 47 5f  ..SECURITY_FLAG_
1b60: 49 47 4e 4f 52 45 5f 57 52 4f 4e 47 5f 55 53 41  IGNORE_WRONG_USA
1b70: 47 45 20 20 20 20 20 20 20 3d 20 30 78 30 30 30  GE       = 0x000
1b80: 30 30 32 30 30 2c 0a 09 53 45 43 55 52 49 54 59  00200,..SECURITY
1b90: 5f 46 4c 41 47 5f 34 30 42 49 54 20 20 20 20 20  _FLAG_40BIT     
1ba0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
1bb0: 20 30 78 31 30 30 30 30 30 30 30 2c 0a 09 53 45   0x10000000,..SE
1bc0: 43 55 52 49 54 59 5f 46 4c 41 47 5f 31 32 38 42  CURITY_FLAG_128B
1bd0: 49 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20  IT              
1be0: 20 20 20 20 20 3d 20 30 78 32 30 30 30 30 30 30       = 0x2000000
1bf0: 30 2c 0a 09 53 45 43 55 52 49 54 59 5f 46 4c 41  0,..SECURITY_FLA
1c00: 47 5f 35 36 42 49 54 20 20 20 20 20 20 20 20 20  G_56BIT         
1c10: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 34             = 0x4
1c20: 30 30 30 30 30 30 30 2c 0a 09 53 45 43 55 52 49  0000000,..SECURI
1c30: 54 59 5f 46 4c 41 47 5f 55 4e 4b 4e 4f 57 4e 42  TY_FLAG_UNKNOWNB
1c40: 49 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20  IT              
1c50: 20 3d 20 30 78 38 30 30 30 30 30 30 30 2c 0a 09   = 0x80000000,..
1c60: 53 45 43 55 52 49 54 59 5f 46 4c 41 47 5f 4e 4f  SECURITY_FLAG_NO
1c70: 52 4d 41 4c 42 49 54 4e 45 53 53 20 20 20 20 20  RMALBITNESS     
1c80: 20 20 20 20 20 20 20 3d 20 53 45 43 55 52 49 54         = SECURIT
1c90: 59 5f 46 4c 41 47 5f 34 30 42 49 54 2c 0a 09 53  Y_FLAG_40BIT,..S
1ca0: 45 43 55 52 49 54 59 5f 46 4c 41 47 5f 49 47 4e  ECURITY_FLAG_IGN
1cb0: 4f 52 45 5f 43 45 52 54 5f 43 4e 5f 49 4e 56 41  ORE_CERT_CN_INVA
1cc0: 4c 49 44 20 20 20 3d 20 49 4e 54 45 52 4e 45 54  LID   = INTERNET
1cd0: 5f 46 4c 41 47 5f 49 47 4e 4f 52 45 5f 43 45 52  _FLAG_IGNORE_CER
1ce0: 54 5f 43 4e 5f 49 4e 56 41 4c 49 44 2c 0a 09 53  T_CN_INVALID,..S
1cf0: 45 43 55 52 49 54 59 5f 46 4c 41 47 5f 49 47 4e  ECURITY_FLAG_IGN
1d00: 4f 52 45 5f 43 45 52 54 5f 44 41 54 45 5f 49 4e  ORE_CERT_DATE_IN
1d10: 56 41 4c 49 44 20 3d 20 49 4e 54 45 52 4e 45 54  VALID = INTERNET
1d20: 5f 46 4c 41 47 5f 49 47 4e 4f 52 45 5f 43 45 52  _FLAG_IGNORE_CER
1d30: 54 5f 44 41 54 45 5f 49 4e 56 41 4c 49 44 2c 0a  T_DATE_INVALID,.
1d40: 09 53 45 43 55 52 49 54 59 5f 46 4c 41 47 5f 49  .SECURITY_FLAG_I
1d50: 47 4e 4f 52 45 5f 52 45 44 49 52 45 43 54 5f 54  GNORE_REDIRECT_T
1d60: 4f 5f 48 54 54 50 53 20 3d 20 49 4e 54 45 52 4e  O_HTTPS = INTERN
1d70: 45 54 5f 46 4c 41 47 5f 49 47 4e 4f 52 45 5f 52  ET_FLAG_IGNORE_R
1d80: 45 44 49 52 45 43 54 5f 54 4f 5f 48 54 54 50 53  EDIRECT_TO_HTTPS
1d90: 2c 0a 09 53 45 43 55 52 49 54 59 5f 46 4c 41 47  ,..SECURITY_FLAG
1da0: 5f 49 47 4e 4f 52 45 5f 52 45 44 49 52 45 43 54  _IGNORE_REDIRECT
1db0: 5f 54 4f 5f 48 54 54 50 20 20 3d 20 49 4e 54 45  _TO_HTTP  = INTE
1dc0: 52 4e 45 54 5f 46 4c 41 47 5f 49 47 4e 4f 52 45  RNET_FLAG_IGNORE
1dd0: 5f 52 45 44 49 52 45 43 54 5f 54 4f 5f 48 54 54  _REDIRECT_TO_HTT
1de0: 50 3b 0a 0a 65 6e 75 6d 20 7b 0a 09 49 4e 54 45  P;..enum {..INTE
1df0: 52 4e 45 54 5f 53 45 52 56 49 43 45 5f 46 54 50  RNET_SERVICE_FTP
1e00: 20 3d 20 31 2c 0a 09 49 4e 54 45 52 4e 45 54 5f   = 1,..INTERNET_
1e10: 53 45 52 56 49 43 45 5f 47 4f 50 48 45 52 2c 0a  SERVICE_GOPHER,.
1e20: 09 49 4e 54 45 52 4e 45 54 5f 53 45 52 56 49 43  .INTERNET_SERVIC
1e30: 45 5f 48 54 54 50 0a 7d 0a 0a 65 6e 75 6d 20 7b  E_HTTP.}..enum {
1e40: 0a 09 49 4e 54 45 52 4e 45 54 5f 53 54 41 54 55  ..INTERNET_STATU
1e50: 53 5f 52 45 53 4f 4c 56 49 4e 47 5f 4e 41 4d 45  S_RESOLVING_NAME
1e60: 20 20 20 20 20 20 20 20 3d 20 20 31 30 2c 0a 09          =  10,..
1e70: 49 4e 54 45 52 4e 45 54 5f 53 54 41 54 55 53 5f  INTERNET_STATUS_
1e80: 4e 41 4d 45 5f 52 45 53 4f 4c 56 45 44 20 20 20  NAME_RESOLVED   
1e90: 20 20 20 20 20 20 3d 20 20 31 31 2c 0a 09 49 4e        =  11,..IN
1ea0: 54 45 52 4e 45 54 5f 53 54 41 54 55 53 5f 43 4f  TERNET_STATUS_CO
1eb0: 4e 4e 45 43 54 49 4e 47 5f 54 4f 5f 53 45 52 56  NNECTING_TO_SERV
1ec0: 45 52 20 20 3d 20 20 32 30 2c 0a 09 49 4e 54 45  ER  =  20,..INTE
1ed0: 52 4e 45 54 5f 53 54 41 54 55 53 5f 43 4f 4e 4e  RNET_STATUS_CONN
1ee0: 45 43 54 45 44 5f 54 4f 5f 53 45 52 56 45 52 20  ECTED_TO_SERVER 
1ef0: 20 20 3d 20 20 32 31 2c 0a 09 49 4e 54 45 52 4e    =  21,..INTERN
1f00: 45 54 5f 53 54 41 54 55 53 5f 53 45 4e 44 49 4e  ET_STATUS_SENDIN
1f10: 47 5f 52 45 51 55 45 53 54 20 20 20 20 20 20 20  G_REQUEST       
1f20: 3d 20 20 33 30 2c 0a 09 49 4e 54 45 52 4e 45 54  =  30,..INTERNET
1f30: 5f 53 54 41 54 55 53 5f 52 45 51 55 45 53 54 5f  _STATUS_REQUEST_
1f40: 53 45 4e 54 20 20 20 20 20 20 20 20 20 20 3d 20  SENT          = 
1f50: 20 33 31 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 53   31,..INTERNET_S
1f60: 54 41 54 55 53 5f 52 45 43 45 49 56 49 4e 47 5f  TATUS_RECEIVING_
1f70: 52 45 53 50 4f 4e 53 45 20 20 20 20 3d 20 20 34  RESPONSE    =  4
1f80: 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 53 54 41  0,..INTERNET_STA
1f90: 54 55 53 5f 52 45 53 50 4f 4e 53 45 5f 52 45 43  TUS_RESPONSE_REC
1fa0: 45 49 56 45 44 20 20 20 20 20 3d 20 20 34 31 2c  EIVED     =  41,
1fb0: 0a 09 49 4e 54 45 52 4e 45 54 5f 53 54 41 54 55  ..INTERNET_STATU
1fc0: 53 5f 43 54 4c 5f 52 45 53 50 4f 4e 53 45 5f 52  S_CTL_RESPONSE_R
1fd0: 45 43 45 49 56 45 44 20 3d 20 20 34 32 2c 0a 09  ECEIVED =  42,..
1fe0: 49 4e 54 45 52 4e 45 54 5f 53 54 41 54 55 53 5f  INTERNET_STATUS_
1ff0: 50 52 45 46 45 54 43 48 20 20 20 20 20 20 20 20  PREFETCH        
2000: 20 20 20 20 20 20 3d 20 20 34 33 2c 0a 09 49 4e        =  43,..IN
2010: 54 45 52 4e 45 54 5f 53 54 41 54 55 53 5f 43 4c  TERNET_STATUS_CL
2020: 4f 53 49 4e 47 5f 43 4f 4e 4e 45 43 54 49 4f 4e  OSING_CONNECTION
2030: 20 20 20 20 3d 20 20 35 30 2c 0a 09 49 4e 54 45      =  50,..INTE
2040: 52 4e 45 54 5f 53 54 41 54 55 53 5f 43 4f 4e 4e  RNET_STATUS_CONN
2050: 45 43 54 49 4f 4e 5f 43 4c 4f 53 45 44 20 20 20  ECTION_CLOSED   
2060: 20 20 3d 20 20 35 31 2c 0a 09 49 4e 54 45 52 4e    =  51,..INTERN
2070: 45 54 5f 53 54 41 54 55 53 5f 48 41 4e 44 4c 45  ET_STATUS_HANDLE
2080: 5f 43 52 45 41 54 45 44 20 20 20 20 20 20 20 20  _CREATED        
2090: 3d 20 20 36 30 2c 0a 09 49 4e 54 45 52 4e 45 54  =  60,..INTERNET
20a0: 5f 53 54 41 54 55 53 5f 48 41 4e 44 4c 45 5f 43  _STATUS_HANDLE_C
20b0: 4c 4f 53 49 4e 47 20 20 20 20 20 20 20 20 3d 20  LOSING        = 
20c0: 20 37 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 53   70,..INTERNET_S
20d0: 54 41 54 55 53 5f 52 45 51 55 45 53 54 5f 43 4f  TATUS_REQUEST_CO
20e0: 4d 50 4c 45 54 45 20 20 20 20 20 20 3d 20 31 30  MPLETE      = 10
20f0: 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 53 54 41  0,..INTERNET_STA
2100: 54 55 53 5f 52 45 44 49 52 45 43 54 20 20 20 20  TUS_REDIRECT    
2110: 20 20 20 20 20 20 20 20 20 20 3d 20 31 31 30 0a            = 110.
2120: 7d 0a 0a 63 6f 6e 73 74 20 49 4e 54 45 52 4e 45  }..const INTERNE
2130: 54 5f 49 4e 56 41 4c 49 44 5f 53 54 41 54 55 53  T_INVALID_STATUS
2140: 5f 43 41 4c 4c 42 41 43 4b 0a 20 20 3d 20 63 61  _CALLBACK.  = ca
2150: 73 74 28 49 4e 54 45 52 4e 45 54 5f 53 54 41 54  st(INTERNET_STAT
2160: 55 53 5f 43 41 4c 4c 42 41 43 4b 29 20 2d 31 3b  US_CALLBACK) -1;
2170: 0a 0a 65 6e 75 6d 20 7b 0a 09 46 54 50 5f 54 52  ..enum {..FTP_TR
2180: 41 4e 53 46 45 52 5f 54 59 50 45 5f 55 4e 4b 4e  ANSFER_TYPE_UNKN
2190: 4f 57 4e 20 3d 20 30 2c 0a 09 46 54 50 5f 54 52  OWN = 0,..FTP_TR
21a0: 41 4e 53 46 45 52 5f 54 59 50 45 5f 41 53 43 49  ANSFER_TYPE_ASCI
21b0: 49 20 20 20 3d 20 31 2c 0a 09 46 54 50 5f 54 52  I   = 1,..FTP_TR
21c0: 41 4e 53 46 45 52 5f 54 59 50 45 5f 42 49 4e 41  ANSFER_TYPE_BINA
21d0: 52 59 20 20 3d 20 32 2c 0a 09 46 54 50 5f 54 52  RY  = 2,..FTP_TR
21e0: 41 4e 53 46 45 52 5f 54 59 50 45 5f 4d 41 53 4b  ANSFER_TYPE_MASK
21f0: 20 20 20 20 3d 20 33 0a 7d 0a 0a 63 6f 6e 73 74      = 3.}..const
2200: 20 73 69 7a 65 5f 74 0a 09 4d 41 58 5f 47 4f 50   size_t..MAX_GOP
2210: 48 45 52 5f 44 49 53 50 4c 41 59 5f 54 45 58 54  HER_DISPLAY_TEXT
2220: 20 20 20 3d 20 31 32 38 2c 0a 09 4d 41 58 5f 47     = 128,..MAX_G
2230: 4f 50 48 45 52 5f 53 45 4c 45 43 54 4f 52 5f 54  OPHER_SELECTOR_T
2240: 45 58 54 20 20 3d 20 32 35 36 2c 0a 09 4d 41 58  EXT  = 256,..MAX
2250: 5f 47 4f 50 48 45 52 5f 48 4f 53 54 5f 4e 41 4d  _GOPHER_HOST_NAM
2260: 45 20 20 20 20 20 20 3d 20 49 4e 54 45 52 4e 45  E      = INTERNE
2270: 54 5f 4d 41 58 5f 48 4f 53 54 5f 4e 41 4d 45 5f  T_MAX_HOST_NAME_
2280: 4c 45 4e 47 54 48 2c 0a 09 4d 41 58 5f 47 4f 50  LENGTH,..MAX_GOP
2290: 48 45 52 5f 4c 4f 43 41 54 4f 52 5f 4c 45 4e 47  HER_LOCATOR_LENG
22a0: 54 48 0a 09 20 20 3d 20 31 20 2b 20 4d 41 58 5f  TH..  = 1 + MAX_
22b0: 47 4f 50 48 45 52 5f 44 49 53 50 4c 41 59 5f 54  GOPHER_DISPLAY_T
22c0: 45 58 54 20 2b 20 31 20 2b 20 4d 41 58 5f 47 4f  EXT + 1 + MAX_GO
22d0: 50 48 45 52 5f 53 45 4c 45 43 54 4f 52 5f 54 45  PHER_SELECTOR_TE
22e0: 58 54 20 2b 20 31 0a 09 20 20 20 20 2b 20 4d 41  XT + 1..    + MA
22f0: 58 5f 47 4f 50 48 45 52 5f 48 4f 53 54 5f 4e 41  X_GOPHER_HOST_NA
2300: 4d 45 20 2b 20 31 20 2b 20 49 4e 54 45 52 4e 45  ME + 1 + INTERNE
2310: 54 5f 4d 41 58 5f 50 4f 52 54 5f 4e 55 4d 42 45  T_MAX_PORT_NUMBE
2320: 52 5f 4c 45 4e 47 54 48 20 2b 20 34 3b 0a 0a 63  R_LENGTH + 4;..c
2330: 6f 6e 73 74 20 44 57 4f 52 44 0a 09 47 4f 50 48  onst DWORD..GOPH
2340: 45 52 5f 54 59 50 45 5f 54 45 58 54 5f 46 49 4c  ER_TYPE_TEXT_FIL
2350: 45 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30  E      = 0x00000
2360: 30 30 31 2c 0a 09 47 4f 50 48 45 52 5f 54 59 50  001,..GOPHER_TYP
2370: 45 5f 44 49 52 45 43 54 4f 52 59 20 20 20 20 20  E_DIRECTORY     
2380: 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0a 09   = 0x00000002,..
2390: 47 4f 50 48 45 52 5f 54 59 50 45 5f 43 53 4f 20  GOPHER_TYPE_CSO 
23a0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
23b0: 30 30 30 30 30 30 34 2c 0a 09 47 4f 50 48 45 52  0000004,..GOPHER
23c0: 5f 54 59 50 45 5f 45 52 52 4f 52 20 20 20 20 20  _TYPE_ERROR     
23d0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30       = 0x0000000
23e0: 38 2c 0a 09 47 4f 50 48 45 52 5f 54 59 50 45 5f  8,..GOPHER_TYPE_
23f0: 4d 41 43 5f 42 49 4e 48 45 58 20 20 20 20 20 3d  MAC_BINHEX     =
2400: 20 30 78 30 30 30 30 30 30 31 30 2c 0a 09 47 4f   0x00000010,..GO
2410: 50 48 45 52 5f 54 59 50 45 5f 44 4f 53 5f 41 52  PHER_TYPE_DOS_AR
2420: 43 48 49 56 45 20 20 20 20 3d 20 30 78 30 30 30  CHIVE    = 0x000
2430: 30 30 30 32 30 2c 0a 09 47 4f 50 48 45 52 5f 54  00020,..GOPHER_T
2440: 59 50 45 5f 55 4e 49 58 5f 55 55 45 4e 43 4f 44  YPE_UNIX_UUENCOD
2450: 45 44 20 3d 20 30 78 30 30 30 30 30 30 34 30 2c  ED = 0x00000040,
2460: 0a 09 47 4f 50 48 45 52 5f 54 59 50 45 5f 49 4e  ..GOPHER_TYPE_IN
2470: 44 45 58 5f 53 45 52 56 45 52 20 20 20 3d 20 30  DEX_SERVER   = 0
2480: 78 30 30 30 30 30 30 38 30 2c 0a 09 47 4f 50 48  x00000080,..GOPH
2490: 45 52 5f 54 59 50 45 5f 54 45 4c 4e 45 54 20 20  ER_TYPE_TELNET  
24a0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
24b0: 31 30 30 2c 0a 09 47 4f 50 48 45 52 5f 54 59 50  100,..GOPHER_TYP
24c0: 45 5f 42 49 4e 41 52 59 20 20 20 20 20 20 20 20  E_BINARY        
24d0: 20 3d 20 30 78 30 30 30 30 30 32 30 30 2c 0a 09   = 0x00000200,..
24e0: 47 4f 50 48 45 52 5f 54 59 50 45 5f 52 45 44 55  GOPHER_TYPE_REDU
24f0: 4e 44 41 4e 54 20 20 20 20 20 20 3d 20 30 78 30  NDANT      = 0x0
2500: 30 30 30 30 34 30 30 2c 0a 09 47 4f 50 48 45 52  0000400,..GOPHER
2510: 5f 54 59 50 45 5f 54 4e 33 32 37 30 20 20 20 20  _TYPE_TN3270    
2520: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 38 30       = 0x0000080
2530: 30 2c 0a 09 47 4f 50 48 45 52 5f 54 59 50 45 5f  0,..GOPHER_TYPE_
2540: 47 49 46 20 20 20 20 20 20 20 20 20 20 20 20 3d  GIF            =
2550: 20 30 78 30 30 30 30 31 30 30 30 2c 0a 09 47 4f   0x00001000,..GO
2560: 50 48 45 52 5f 54 59 50 45 5f 49 4d 41 47 45 20  PHER_TYPE_IMAGE 
2570: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30           = 0x000
2580: 30 32 30 30 30 2c 0a 09 47 4f 50 48 45 52 5f 54  02000,..GOPHER_T
2590: 59 50 45 5f 42 49 54 4d 41 50 20 20 20 20 20 20  YPE_BITMAP      
25a0: 20 20 20 3d 20 30 78 30 30 30 30 34 30 30 30 2c     = 0x00004000,
25b0: 0a 09 47 4f 50 48 45 52 5f 54 59 50 45 5f 4d 4f  ..GOPHER_TYPE_MO
25c0: 56 49 45 20 20 20 20 20 20 20 20 20 20 3d 20 30  VIE          = 0
25d0: 78 30 30 30 30 38 30 30 30 2c 0a 09 47 4f 50 48  x00008000,..GOPH
25e0: 45 52 5f 54 59 50 45 5f 53 4f 55 4e 44 20 20 20  ER_TYPE_SOUND   
25f0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 30         = 0x00010
2600: 30 30 30 2c 0a 09 47 4f 50 48 45 52 5f 54 59 50  000,..GOPHER_TYP
2610: 45 5f 48 54 4d 4c 20 20 20 20 20 20 20 20 20 20  E_HTML          
2620: 20 3d 20 30 78 30 30 30 32 30 30 30 30 2c 0a 09   = 0x00020000,..
2630: 47 4f 50 48 45 52 5f 54 59 50 45 5f 50 44 46 20  GOPHER_TYPE_PDF 
2640: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
2650: 30 30 34 30 30 30 30 2c 0a 09 47 4f 50 48 45 52  0040000,..GOPHER
2660: 5f 54 59 50 45 5f 43 41 4c 45 4e 44 41 52 20 20  _TYPE_CALENDAR  
2670: 20 20 20 20 20 3d 20 30 78 30 30 30 38 30 30 30       = 0x0008000
2680: 30 2c 0a 09 47 4f 50 48 45 52 5f 54 59 50 45 5f  0,..GOPHER_TYPE_
2690: 49 4e 4c 49 4e 45 20 20 20 20 20 20 20 20 20 3d  INLINE         =
26a0: 20 30 78 30 30 31 30 30 30 30 30 2c 0a 09 47 4f   0x00100000,..GO
26b0: 50 48 45 52 5f 54 59 50 45 5f 55 4e 4b 4e 4f 57  PHER_TYPE_UNKNOW
26c0: 4e 20 20 20 20 20 20 20 20 3d 20 30 78 32 30 30  N        = 0x200
26d0: 30 30 30 30 30 2c 0a 09 47 4f 50 48 45 52 5f 54  00000,..GOPHER_T
26e0: 59 50 45 5f 41 53 4b 20 20 20 20 20 20 20 20 20  YPE_ASK         
26f0: 20 20 20 3d 20 30 78 34 30 30 30 30 30 30 30 2c     = 0x40000000,
2700: 0a 09 47 4f 50 48 45 52 5f 54 59 50 45 5f 47 4f  ..GOPHER_TYPE_GO
2710: 50 48 45 52 5f 50 4c 55 53 20 20 20 20 3d 20 30  PHER_PLUS    = 0
2720: 78 38 30 30 30 30 30 30 30 2c 0a 09 47 4f 50 48  x80000000,..GOPH
2730: 45 52 5f 54 59 50 45 5f 46 49 4c 45 5f 4d 41 53  ER_TYPE_FILE_MAS
2740: 4b 20 20 20 20 20 20 3d 20 30 78 30 30 31 46 46  K      = 0x001FF
2750: 32 37 31 3b 0a 0a 42 4f 4f 4c 20 49 53 5f 47 4f  271;..BOOL IS_GO
2760: 50 48 45 52 5f 46 49 4c 45 28 44 57 4f 52 44 20  PHER_FILE(DWORD 
2770: 74 29 20 7b 0a 09 72 65 74 75 72 6e 20 21 21 28  t) {..return !!(
2780: 74 20 26 20 47 4f 50 48 45 52 5f 54 59 50 45 5f  t & GOPHER_TYPE_
2790: 46 49 4c 45 5f 4d 41 53 4b 29 3b 0a 7d 0a 0a 42  FILE_MASK);.}..B
27a0: 4f 4f 4c 20 49 53 5f 47 4f 50 48 45 52 5f 44 49  OOL IS_GOPHER_DI
27b0: 52 45 43 54 4f 52 59 28 44 57 4f 52 44 20 74 29  RECTORY(DWORD t)
27c0: 20 7b 0a 09 72 65 74 75 72 6e 20 21 21 28 74 20   {..return !!(t 
27d0: 26 20 47 4f 50 48 45 52 5f 54 59 50 45 5f 44 49  & GOPHER_TYPE_DI
27e0: 52 45 43 54 4f 52 59 29 3b 0a 7d 0a 0a 42 4f 4f  RECTORY);.}..BOO
27f0: 4c 20 49 53 5f 47 4f 50 48 45 52 5f 50 48 4f 4e  L IS_GOPHER_PHON
2800: 45 5f 53 45 52 56 45 52 28 44 57 4f 52 44 20 74  E_SERVER(DWORD t
2810: 29 20 7b 0a 09 72 65 74 75 72 6e 20 21 21 28 74  ) {..return !!(t
2820: 20 26 20 47 4f 50 48 45 52 5f 54 59 50 45 5f 43   & GOPHER_TYPE_C
2830: 53 4f 29 3b 0a 7d 0a 0a 42 4f 4f 4c 20 49 53 5f  SO);.}..BOOL IS_
2840: 47 4f 50 48 45 52 5f 45 52 52 4f 52 28 44 57 4f  GOPHER_ERROR(DWO
2850: 52 44 20 74 29 20 7b 0a 09 72 65 74 75 72 6e 20  RD t) {..return 
2860: 21 21 28 74 20 26 20 47 4f 50 48 45 52 5f 54 59  !!(t & GOPHER_TY
2870: 50 45 5f 45 52 52 4f 52 29 3b 0a 7d 0a 0a 42 4f  PE_ERROR);.}..BO
2880: 4f 4c 20 49 53 5f 47 4f 50 48 45 52 5f 49 4e 44  OL IS_GOPHER_IND
2890: 45 58 5f 53 45 52 56 45 52 28 44 57 4f 52 44 20  EX_SERVER(DWORD 
28a0: 74 29 20 7b 0a 09 72 65 74 75 72 6e 20 21 21 28  t) {..return !!(
28b0: 74 20 26 20 47 4f 50 48 45 52 5f 54 59 50 45 5f  t & GOPHER_TYPE_
28c0: 49 4e 44 45 58 5f 53 45 52 56 45 52 29 3b 0a 7d  INDEX_SERVER);.}
28d0: 0a 0a 42 4f 4f 4c 20 49 53 5f 47 4f 50 48 45 52  ..BOOL IS_GOPHER
28e0: 5f 54 45 4c 4e 45 54 5f 53 45 53 53 49 4f 4e 28  _TELNET_SESSION(
28f0: 44 57 4f 52 44 20 74 29 20 7b 0a 09 72 65 74 75  DWORD t) {..retu
2900: 72 6e 20 21 21 28 74 20 26 20 47 4f 50 48 45 52  rn !!(t & GOPHER
2910: 5f 54 59 50 45 5f 54 45 4c 4e 45 54 29 3b 0a 7d  _TYPE_TELNET);.}
2920: 0a 0a 42 4f 4f 4c 20 49 53 5f 47 4f 50 48 45 52  ..BOOL IS_GOPHER
2930: 5f 42 41 43 4b 55 50 5f 53 45 52 56 45 52 28 44  _BACKUP_SERVER(D
2940: 57 4f 52 44 20 74 29 20 7b 0a 09 72 65 74 75 72  WORD t) {..retur
2950: 6e 20 21 21 28 74 20 26 20 47 4f 50 48 45 52 5f  n !!(t & GOPHER_
2960: 54 59 50 45 5f 52 45 44 55 4e 44 41 4e 54 29 3b  TYPE_REDUNDANT);
2970: 0a 7d 0a 0a 42 4f 4f 4c 20 49 53 5f 47 4f 50 48  .}..BOOL IS_GOPH
2980: 45 52 5f 54 4e 33 32 37 30 5f 53 45 53 53 49 4f  ER_TN3270_SESSIO
2990: 4e 28 44 57 4f 52 44 20 74 29 20 7b 0a 09 72 65  N(DWORD t) {..re
29a0: 74 75 72 6e 20 21 21 28 74 20 26 20 47 4f 50 48  turn !!(t & GOPH
29b0: 45 52 5f 54 59 50 45 5f 54 4e 33 32 37 30 29 3b  ER_TYPE_TN3270);
29c0: 0a 7d 0a 0a 42 4f 4f 4c 20 49 53 5f 47 4f 50 48  .}..BOOL IS_GOPH
29d0: 45 52 5f 41 53 4b 28 44 57 4f 52 44 20 74 29 20  ER_ASK(DWORD t) 
29e0: 7b 0a 09 72 65 74 75 72 6e 20 21 21 28 74 20 26  {..return !!(t &
29f0: 20 47 4f 50 48 45 52 5f 54 59 50 45 5f 41 53 4b   GOPHER_TYPE_ASK
2a00: 29 3b 0a 7d 0a 0a 42 4f 4f 4c 20 49 53 5f 47 4f  );.}..BOOL IS_GO
2a10: 50 48 45 52 5f 50 4c 55 53 28 44 57 4f 52 44 20  PHER_PLUS(DWORD 
2a20: 74 29 20 7b 0a 09 72 65 74 75 72 6e 20 21 21 28  t) {..return !!(
2a30: 74 20 26 20 47 4f 50 48 45 52 5f 54 59 50 45 5f  t & GOPHER_TYPE_
2a40: 47 4f 50 48 45 52 5f 50 4c 55 53 29 3b 0a 7d 0a  GOPHER_PLUS);.}.
2a50: 0a 42 4f 4f 4c 20 49 53 5f 47 4f 50 48 45 52 5f  .BOOL IS_GOPHER_
2a60: 54 59 50 45 5f 4b 4e 4f 57 4e 28 44 57 4f 52 44  TYPE_KNOWN(DWORD
2a70: 20 74 29 20 7b 0a 09 72 65 74 75 72 6e 20 21 28   t) {..return !(
2a80: 74 20 26 20 47 4f 50 48 45 52 5f 54 59 50 45 5f  t & GOPHER_TYPE_
2a90: 55 4e 4b 4e 4f 57 4e 29 3b 0a 7d 0a 0a 63 6f 6e  UNKNOWN);.}..con
2aa0: 73 74 20 73 69 7a 65 5f 74 0a 09 4d 41 58 5f 47  st size_t..MAX_G
2ab0: 4f 50 48 45 52 5f 43 41 54 45 47 4f 52 59 5f 4e  OPHER_CATEGORY_N
2ac0: 41 4d 45 20 20 20 20 3d 20 31 32 38 2c 0a 09 4d  AME    = 128,..M
2ad0: 41 58 5f 47 4f 50 48 45 52 5f 41 54 54 52 49 42  AX_GOPHER_ATTRIB
2ae0: 55 54 45 5f 4e 41 4d 45 20 20 20 3d 20 31 32 38  UTE_NAME   = 128
2af0: 2c 0a 09 4d 49 4e 5f 47 4f 50 48 45 52 5f 41 54  ,..MIN_GOPHER_AT
2b00: 54 52 49 42 55 54 45 5f 4c 45 4e 47 54 48 20 3d  TRIBUTE_LENGTH =
2b10: 20 32 35 36 3b 0a 0a 63 6f 6e 73 74 20 54 43 48   256;..const TCH
2b20: 41 52 5b 5d 0a 09 47 4f 50 48 45 52 5f 49 4e 46  AR[]..GOPHER_INF
2b30: 4f 5f 43 41 54 45 47 4f 52 59 20 20 20 20 20 20  O_CATEGORY      
2b40: 3d 20 22 2b 49 4e 46 4f 22 2c 0a 09 47 4f 50 48  = "+INFO",..GOPH
2b50: 45 52 5f 41 44 4d 49 4e 5f 43 41 54 45 47 4f 52  ER_ADMIN_CATEGOR
2b60: 59 20 20 20 20 20 3d 20 22 2b 41 44 4d 49 4e 22  Y     = "+ADMIN"
2b70: 2c 0a 09 47 4f 50 48 45 52 5f 56 49 45 57 53 5f  ,..GOPHER_VIEWS_
2b80: 43 41 54 45 47 4f 52 59 20 20 20 20 20 3d 20 22  CATEGORY     = "
2b90: 2b 56 49 45 57 53 22 2c 0a 09 47 4f 50 48 45 52  +VIEWS",..GOPHER
2ba0: 5f 41 42 53 54 52 41 43 54 5f 43 41 54 45 47 4f  _ABSTRACT_CATEGO
2bb0: 52 59 20 20 3d 20 22 2b 41 42 53 54 52 41 43 54  RY  = "+ABSTRACT
2bc0: 22 2c 0a 09 47 4f 50 48 45 52 5f 56 45 52 4f 4e  ",..GOPHER_VERON
2bd0: 49 43 41 5f 43 41 54 45 47 4f 52 59 20 20 3d 20  ICA_CATEGORY  = 
2be0: 22 2b 56 45 52 4f 4e 49 43 41 22 2c 0a 09 47 4f  "+VERONICA",..GO
2bf0: 50 48 45 52 5f 41 44 4d 49 4e 5f 41 54 54 52 49  PHER_ADMIN_ATTRI
2c00: 42 55 54 45 20 20 20 20 3d 20 22 41 64 6d 69 6e  BUTE    = "Admin
2c10: 22 2c 0a 09 47 4f 50 48 45 52 5f 4d 4f 44 5f 44  ",..GOPHER_MOD_D
2c20: 41 54 45 5f 41 54 54 52 49 42 55 54 45 20 3d 20  ATE_ATTRIBUTE = 
2c30: 22 4d 6f 64 2d 44 61 74 65 22 2c 0a 09 47 4f 50  "Mod-Date",..GOP
2c40: 48 45 52 5f 54 54 4c 5f 41 54 54 52 49 42 55 54  HER_TTL_ATTRIBUT
2c50: 45 20 20 20 20 20 20 3d 20 22 54 54 4c 22 2c 0a  E      = "TTL",.
2c60: 09 47 4f 50 48 45 52 5f 53 43 4f 52 45 5f 41 54  .GOPHER_SCORE_AT
2c70: 54 52 49 42 55 54 45 20 20 20 20 3d 20 22 53 63  TRIBUTE    = "Sc
2c80: 6f 72 65 22 2c 0a 09 47 4f 50 48 45 52 5f 52 41  ore",..GOPHER_RA
2c90: 4e 47 45 5f 41 54 54 52 49 42 55 54 45 20 20 20  NGE_ATTRIBUTE   
2ca0: 20 3d 20 22 53 63 6f 72 65 2d 72 61 6e 67 65 22   = "Score-range"
2cb0: 2c 0a 09 47 4f 50 48 45 52 5f 53 49 54 45 5f 41  ,..GOPHER_SITE_A
2cc0: 54 54 52 49 42 55 54 45 20 20 20 20 20 3d 20 22  TTRIBUTE     = "
2cd0: 53 69 74 65 22 2c 0a 09 47 4f 50 48 45 52 5f 4f  Site",..GOPHER_O
2ce0: 52 47 5f 41 54 54 52 49 42 55 54 45 20 20 20 20  RG_ATTRIBUTE    
2cf0: 20 20 3d 20 22 4f 72 67 22 2c 0a 09 47 4f 50 48    = "Org",..GOPH
2d00: 45 52 5f 4c 4f 43 41 54 49 4f 4e 5f 41 54 54 52  ER_LOCATION_ATTR
2d10: 49 42 55 54 45 20 3d 20 22 4c 6f 63 22 2c 0a 09  IBUTE = "Loc",..
2d20: 47 4f 50 48 45 52 5f 47 45 4f 47 5f 41 54 54 52  GOPHER_GEOG_ATTR
2d30: 49 42 55 54 45 20 20 20 20 20 3d 20 22 47 65 6f  IBUTE     = "Geo
2d40: 67 22 2c 0a 09 47 4f 50 48 45 52 5f 54 49 4d 45  g",..GOPHER_TIME
2d50: 5a 4f 4e 45 5f 41 54 54 52 49 42 55 54 45 20 3d  ZONE_ATTRIBUTE =
2d60: 20 22 54 5a 22 2c 0a 09 47 4f 50 48 45 52 5f 50   "TZ",..GOPHER_P
2d70: 52 4f 56 49 44 45 52 5f 41 54 54 52 49 42 55 54  ROVIDER_ATTRIBUT
2d80: 45 20 3d 20 22 50 72 6f 76 69 64 65 72 22 2c 0a  E = "Provider",.
2d90: 09 47 4f 50 48 45 52 5f 56 45 52 53 49 4f 4e 5f  .GOPHER_VERSION_
2da0: 41 54 54 52 49 42 55 54 45 20 20 3d 20 22 56 65  ATTRIBUTE  = "Ve
2db0: 72 73 69 6f 6e 22 2c 0a 09 47 4f 50 48 45 52 5f  rsion",..GOPHER_
2dc0: 41 42 53 54 52 41 43 54 5f 41 54 54 52 49 42 55  ABSTRACT_ATTRIBU
2dd0: 54 45 20 3d 20 22 41 62 73 74 72 61 63 74 22 2c  TE = "Abstract",
2de0: 0a 09 47 4f 50 48 45 52 5f 56 49 45 57 5f 41 54  ..GOPHER_VIEW_AT
2df0: 54 52 49 42 55 54 45 20 20 20 20 20 3d 20 22 56  TRIBUTE     = "V
2e00: 69 65 77 22 2c 0a 09 47 4f 50 48 45 52 5f 54 52  iew",..GOPHER_TR
2e10: 45 45 57 41 4c 4b 5f 41 54 54 52 49 42 55 54 45  EEWALK_ATTRIBUTE
2e20: 20 3d 20 22 74 72 65 65 77 61 6c 6b 22 3b 0a 0a   = "treewalk";..
2e30: 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09  enum : DWORD {..
2e40: 47 4f 50 48 45 52 5f 41 54 54 52 49 42 55 54 45  GOPHER_ATTRIBUTE
2e50: 5f 49 44 5f 42 41 53 45 20 3d 20 30 78 41 42 43  _ID_BASE = 0xABC
2e60: 43 43 43 30 30 2c 0a 09 47 4f 50 48 45 52 5f 43  CCC00,..GOPHER_C
2e70: 41 54 45 47 4f 52 59 5f 49 44 5f 41 4c 4c 2c 0a  ATEGORY_ID_ALL,.
2e80: 09 47 4f 50 48 45 52 5f 43 41 54 45 47 4f 52 59  .GOPHER_CATEGORY
2e90: 5f 49 44 5f 49 4e 46 4f 2c 0a 09 47 4f 50 48 45  _ID_INFO,..GOPHE
2ea0: 52 5f 43 41 54 45 47 4f 52 59 5f 49 44 5f 41 44  R_CATEGORY_ID_AD
2eb0: 4d 49 4e 2c 0a 09 47 4f 50 48 45 52 5f 43 41 54  MIN,..GOPHER_CAT
2ec0: 45 47 4f 52 59 5f 49 44 5f 56 49 45 57 53 2c 0a  EGORY_ID_VIEWS,.
2ed0: 09 47 4f 50 48 45 52 5f 43 41 54 45 47 4f 52 59  .GOPHER_CATEGORY
2ee0: 5f 49 44 5f 41 42 53 54 52 41 43 54 2c 0a 09 47  _ID_ABSTRACT,..G
2ef0: 4f 50 48 45 52 5f 43 41 54 45 47 4f 52 59 5f 49  OPHER_CATEGORY_I
2f00: 44 5f 56 45 52 4f 4e 49 43 41 2c 0a 09 47 4f 50  D_VERONICA,..GOP
2f10: 48 45 52 5f 43 41 54 45 47 4f 52 59 5f 49 44 5f  HER_CATEGORY_ID_
2f20: 41 53 4b 2c 0a 09 47 4f 50 48 45 52 5f 43 41 54  ASK,..GOPHER_CAT
2f30: 45 47 4f 52 59 5f 49 44 5f 55 4e 4b 4e 4f 57 4e  EGORY_ID_UNKNOWN
2f40: 2c 0a 09 47 4f 50 48 45 52 5f 41 54 54 52 49 42  ,..GOPHER_ATTRIB
2f50: 55 54 45 5f 49 44 5f 41 4c 4c 2c 0a 09 47 4f 50  UTE_ID_ALL,..GOP
2f60: 48 45 52 5f 41 54 54 52 49 42 55 54 45 5f 49 44  HER_ATTRIBUTE_ID
2f70: 5f 41 44 4d 49 4e 2c 0a 09 47 4f 50 48 45 52 5f  _ADMIN,..GOPHER_
2f80: 41 54 54 52 49 42 55 54 45 5f 49 44 5f 4d 4f 44  ATTRIBUTE_ID_MOD
2f90: 5f 44 41 54 45 2c 0a 09 47 4f 50 48 45 52 5f 41  _DATE,..GOPHER_A
2fa0: 54 54 52 49 42 55 54 45 5f 49 44 5f 54 54 4c 2c  TTRIBUTE_ID_TTL,
2fb0: 0a 09 47 4f 50 48 45 52 5f 41 54 54 52 49 42 55  ..GOPHER_ATTRIBU
2fc0: 54 45 5f 49 44 5f 53 43 4f 52 45 2c 0a 09 47 4f  TE_ID_SCORE,..GO
2fd0: 50 48 45 52 5f 41 54 54 52 49 42 55 54 45 5f 49  PHER_ATTRIBUTE_I
2fe0: 44 5f 52 41 4e 47 45 2c 0a 09 47 4f 50 48 45 52  D_RANGE,..GOPHER
2ff0: 5f 41 54 54 52 49 42 55 54 45 5f 49 44 5f 53 49  _ATTRIBUTE_ID_SI
3000: 54 45 2c 0a 09 47 4f 50 48 45 52 5f 41 54 54 52  TE,..GOPHER_ATTR
3010: 49 42 55 54 45 5f 49 44 5f 4f 52 47 2c 0a 09 47  IBUTE_ID_ORG,..G
3020: 4f 50 48 45 52 5f 41 54 54 52 49 42 55 54 45 5f  OPHER_ATTRIBUTE_
3030: 49 44 5f 4c 4f 43 41 54 49 4f 4e 2c 0a 09 47 4f  ID_LOCATION,..GO
3040: 50 48 45 52 5f 41 54 54 52 49 42 55 54 45 5f 49  PHER_ATTRIBUTE_I
3050: 44 5f 47 45 4f 47 2c 0a 09 47 4f 50 48 45 52 5f  D_GEOG,..GOPHER_
3060: 41 54 54 52 49 42 55 54 45 5f 49 44 5f 54 49 4d  ATTRIBUTE_ID_TIM
3070: 45 5a 4f 4e 45 2c 0a 09 47 4f 50 48 45 52 5f 41  EZONE,..GOPHER_A
3080: 54 54 52 49 42 55 54 45 5f 49 44 5f 50 52 4f 56  TTRIBUTE_ID_PROV
3090: 49 44 45 52 2c 0a 09 47 4f 50 48 45 52 5f 41 54  IDER,..GOPHER_AT
30a0: 54 52 49 42 55 54 45 5f 49 44 5f 56 45 52 53 49  TRIBUTE_ID_VERSI
30b0: 4f 4e 2c 0a 09 47 4f 50 48 45 52 5f 41 54 54 52  ON,..GOPHER_ATTR
30c0: 49 42 55 54 45 5f 49 44 5f 41 42 53 54 52 41 43  IBUTE_ID_ABSTRAC
30d0: 54 2c 0a 09 47 4f 50 48 45 52 5f 41 54 54 52 49  T,..GOPHER_ATTRI
30e0: 42 55 54 45 5f 49 44 5f 56 49 45 57 2c 0a 09 47  BUTE_ID_VIEW,..G
30f0: 4f 50 48 45 52 5f 41 54 54 52 49 42 55 54 45 5f  OPHER_ATTRIBUTE_
3100: 49 44 5f 54 52 45 45 57 41 4c 4b 2c 0a 09 47 4f  ID_TREEWALK,..GO
3110: 50 48 45 52 5f 41 54 54 52 49 42 55 54 45 5f 49  PHER_ATTRIBUTE_I
3120: 44 5f 55 4e 4b 4e 4f 57 4e 0a 7d 0a 0a 63 6f 6e  D_UNKNOWN.}..con
3130: 73 74 20 48 54 54 50 5f 4d 41 4a 4f 52 5f 56 45  st HTTP_MAJOR_VE
3140: 52 53 49 4f 4e 20 20 20 3d 20 31 3b 0a 63 6f 6e  RSION   = 1;.con
3150: 73 74 20 48 54 54 50 5f 4d 49 4e 4f 52 5f 56 45  st HTTP_MINOR_VE
3160: 52 53 49 4f 4e 20 20 20 3d 20 30 3b 0a 63 6f 6e  RSION   = 0;.con
3170: 73 74 20 54 43 48 41 52 5b 5d 20 48 54 54 50 5f  st TCHAR[] HTTP_
3180: 56 45 52 53 49 4f 4e 20 3d 20 22 48 54 54 50 2f  VERSION = "HTTP/
3190: 31 2e 30 22 3b 0a 0a 65 6e 75 6d 20 3a 20 44 57  1.0";..enum : DW
31a0: 4f 52 44 20 7b 0a 09 48 54 54 50 5f 51 55 45 52  ORD {..HTTP_QUER
31b0: 59 5f 4d 49 4d 45 5f 56 45 52 53 49 4f 4e 2c 0a  Y_MIME_VERSION,.
31c0: 09 48 54 54 50 5f 51 55 45 52 59 5f 43 4f 4e 54  .HTTP_QUERY_CONT
31d0: 45 4e 54 5f 54 59 50 45 2c 0a 09 48 54 54 50 5f  ENT_TYPE,..HTTP_
31e0: 51 55 45 52 59 5f 43 4f 4e 54 45 4e 54 5f 54 52  QUERY_CONTENT_TR
31f0: 41 4e 53 46 45 52 5f 45 4e 43 4f 44 49 4e 47 2c  ANSFER_ENCODING,
3200: 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 43 4f 4e  ..HTTP_QUERY_CON
3210: 54 45 4e 54 5f 49 44 2c 0a 09 48 54 54 50 5f 51  TENT_ID,..HTTP_Q
3220: 55 45 52 59 5f 43 4f 4e 54 45 4e 54 5f 44 45 53  UERY_CONTENT_DES
3230: 43 52 49 50 54 49 4f 4e 2c 0a 09 48 54 54 50 5f  CRIPTION,..HTTP_
3240: 51 55 45 52 59 5f 43 4f 4e 54 45 4e 54 5f 4c 45  QUERY_CONTENT_LE
3250: 4e 47 54 48 2c 0a 09 48 54 54 50 5f 51 55 45 52  NGTH,..HTTP_QUER
3260: 59 5f 43 4f 4e 54 45 4e 54 5f 4c 41 4e 47 55 41  Y_CONTENT_LANGUA
3270: 47 45 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f  GE,..HTTP_QUERY_
3280: 41 4c 4c 4f 57 2c 0a 09 48 54 54 50 5f 51 55 45  ALLOW,..HTTP_QUE
3290: 52 59 5f 50 55 42 4c 49 43 2c 0a 09 48 54 54 50  RY_PUBLIC,..HTTP
32a0: 5f 51 55 45 52 59 5f 44 41 54 45 2c 0a 09 48 54  _QUERY_DATE,..HT
32b0: 54 50 5f 51 55 45 52 59 5f 45 58 50 49 52 45 53  TP_QUERY_EXPIRES
32c0: 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 4c 41  ,..HTTP_QUERY_LA
32d0: 53 54 5f 4d 4f 44 49 46 49 45 44 2c 0a 09 48 54  ST_MODIFIED,..HT
32e0: 54 50 5f 51 55 45 52 59 5f 4d 45 53 53 41 47 45  TP_QUERY_MESSAGE
32f0: 5f 49 44 2c 0a 09 48 54 54 50 5f 51 55 45 52 59  _ID,..HTTP_QUERY
3300: 5f 55 52 49 2c 0a 09 48 54 54 50 5f 51 55 45 52  _URI,..HTTP_QUER
3310: 59 5f 44 45 52 49 56 45 44 5f 46 52 4f 4d 2c 0a  Y_DERIVED_FROM,.
3320: 09 48 54 54 50 5f 51 55 45 52 59 5f 43 4f 53 54  .HTTP_QUERY_COST
3330: 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 4c 49  ,..HTTP_QUERY_LI
3340: 4e 4b 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f  NK,..HTTP_QUERY_
3350: 50 52 41 47 4d 41 2c 0a 09 48 54 54 50 5f 51 55  PRAGMA,..HTTP_QU
3360: 45 52 59 5f 56 45 52 53 49 4f 4e 2c 0a 09 48 54  ERY_VERSION,..HT
3370: 54 50 5f 51 55 45 52 59 5f 53 54 41 54 55 53 5f  TP_QUERY_STATUS_
3380: 43 4f 44 45 2c 0a 09 48 54 54 50 5f 51 55 45 52  CODE,..HTTP_QUER
3390: 59 5f 53 54 41 54 55 53 5f 54 45 58 54 2c 0a 09  Y_STATUS_TEXT,..
33a0: 48 54 54 50 5f 51 55 45 52 59 5f 52 41 57 5f 48  HTTP_QUERY_RAW_H
33b0: 45 41 44 45 52 53 2c 0a 09 48 54 54 50 5f 51 55  EADERS,..HTTP_QU
33c0: 45 52 59 5f 52 41 57 5f 48 45 41 44 45 52 53 5f  ERY_RAW_HEADERS_
33d0: 43 52 4c 46 2c 0a 09 48 54 54 50 5f 51 55 45 52  CRLF,..HTTP_QUER
33e0: 59 5f 43 4f 4e 4e 45 43 54 49 4f 4e 2c 0a 09 48  Y_CONNECTION,..H
33f0: 54 54 50 5f 51 55 45 52 59 5f 41 43 43 45 50 54  TTP_QUERY_ACCEPT
3400: 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 41 43  ,..HTTP_QUERY_AC
3410: 43 45 50 54 5f 43 48 41 52 53 45 54 2c 0a 09 48  CEPT_CHARSET,..H
3420: 54 54 50 5f 51 55 45 52 59 5f 41 43 43 45 50 54  TTP_QUERY_ACCEPT
3430: 5f 45 4e 43 4f 44 49 4e 47 2c 0a 09 48 54 54 50  _ENCODING,..HTTP
3440: 5f 51 55 45 52 59 5f 41 43 43 45 50 54 5f 4c 41  _QUERY_ACCEPT_LA
3450: 4e 47 55 41 47 45 2c 0a 09 48 54 54 50 5f 51 55  NGUAGE,..HTTP_QU
3460: 45 52 59 5f 41 55 54 48 4f 52 49 5a 41 54 49 4f  ERY_AUTHORIZATIO
3470: 4e 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 43  N,..HTTP_QUERY_C
3480: 4f 4e 54 45 4e 54 5f 45 4e 43 4f 44 49 4e 47 2c  ONTENT_ENCODING,
3490: 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 46 4f 52  ..HTTP_QUERY_FOR
34a0: 57 41 52 44 45 44 2c 0a 09 48 54 54 50 5f 51 55  WARDED,..HTTP_QU
34b0: 45 52 59 5f 46 52 4f 4d 2c 0a 09 48 54 54 50 5f  ERY_FROM,..HTTP_
34c0: 51 55 45 52 59 5f 49 46 5f 4d 4f 44 49 46 49 45  QUERY_IF_MODIFIE
34d0: 44 5f 53 49 4e 43 45 2c 0a 09 48 54 54 50 5f 51  D_SINCE,..HTTP_Q
34e0: 55 45 52 59 5f 4c 4f 43 41 54 49 4f 4e 2c 0a 09  UERY_LOCATION,..
34f0: 48 54 54 50 5f 51 55 45 52 59 5f 4f 52 49 47 5f  HTTP_QUERY_ORIG_
3500: 55 52 49 2c 0a 09 48 54 54 50 5f 51 55 45 52 59  URI,..HTTP_QUERY
3510: 5f 52 45 46 45 52 45 52 2c 0a 09 48 54 54 50 5f  _REFERER,..HTTP_
3520: 51 55 45 52 59 5f 52 45 54 52 59 5f 41 46 54 45  QUERY_RETRY_AFTE
3530: 52 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 53  R,..HTTP_QUERY_S
3540: 45 52 56 45 52 2c 0a 09 48 54 54 50 5f 51 55 45  ERVER,..HTTP_QUE
3550: 52 59 5f 54 49 54 4c 45 2c 0a 09 48 54 54 50 5f  RY_TITLE,..HTTP_
3560: 51 55 45 52 59 5f 55 53 45 52 5f 41 47 45 4e 54  QUERY_USER_AGENT
3570: 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 57 57  ,..HTTP_QUERY_WW
3580: 57 5f 41 55 54 48 45 4e 54 49 43 41 54 45 2c 0a  W_AUTHENTICATE,.
3590: 09 48 54 54 50 5f 51 55 45 52 59 5f 50 52 4f 58  .HTTP_QUERY_PROX
35a0: 59 5f 41 55 54 48 45 4e 54 49 43 41 54 45 2c 0a  Y_AUTHENTICATE,.
35b0: 09 48 54 54 50 5f 51 55 45 52 59 5f 41 43 43 45  .HTTP_QUERY_ACCE
35c0: 50 54 5f 52 41 4e 47 45 53 2c 0a 09 48 54 54 50  PT_RANGES,..HTTP
35d0: 5f 51 55 45 52 59 5f 53 45 54 5f 43 4f 4f 4b 49  _QUERY_SET_COOKI
35e0: 45 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 43  E,..HTTP_QUERY_C
35f0: 4f 4f 4b 49 45 2c 0a 09 48 54 54 50 5f 51 55 45  OOKIE,..HTTP_QUE
3600: 52 59 5f 52 45 51 55 45 53 54 5f 4d 45 54 48 4f  RY_REQUEST_METHO
3610: 44 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 4d  D,..HTTP_QUERY_M
3620: 41 58 20 20 20 20 3d 20 34 35 2c 0a 09 48 54 54  AX    = 45,..HTT
3630: 50 5f 51 55 45 52 59 5f 43 55 53 54 4f 4d 20 3d  P_QUERY_CUSTOM =
3640: 20 36 35 35 33 35 0a 7d 0a 0a 63 6f 6e 73 74 20   65535.}..const 
3650: 44 57 4f 52 44 0a 09 48 54 54 50 5f 51 55 45 52  DWORD..HTTP_QUER
3660: 59 5f 46 4c 41 47 5f 52 45 51 55 45 53 54 5f 48  Y_FLAG_REQUEST_H
3670: 45 41 44 45 52 53 20 3d 20 30 78 38 30 30 30 30  EADERS = 0x80000
3680: 30 30 30 2c 0a 09 48 54 54 50 5f 51 55 45 52 59  000,..HTTP_QUERY
3690: 5f 46 4c 41 47 5f 53 59 53 54 45 4d 54 49 4d 45  _FLAG_SYSTEMTIME
36a0: 20 20 20 20 20 20 3d 20 30 78 34 30 30 30 30 30        = 0x400000
36b0: 30 30 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f  00,..HTTP_QUERY_
36c0: 46 4c 41 47 5f 4e 55 4d 42 45 52 20 20 20 20 20  FLAG_NUMBER     
36d0: 20 20 20 20 20 3d 20 30 78 32 30 30 30 30 30 30       = 0x2000000
36e0: 30 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 46  0,..HTTP_QUERY_F
36f0: 4c 41 47 5f 43 4f 41 4c 45 53 43 45 20 20 20 20  LAG_COALESCE    
3700: 20 20 20 20 3d 20 30 78 31 30 30 30 30 30 30 30      = 0x10000000
3710: 2c 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 4d 4f  ,..HTTP_QUERY_MO
3720: 44 49 46 49 45 52 5f 46 4c 41 47 53 5f 4d 41 53  DIFIER_FLAGS_MAS
3730: 4b 20 20 3d 20 30 78 46 30 30 30 30 30 30 30 2c  K  = 0xF0000000,
3740: 0a 09 48 54 54 50 5f 51 55 45 52 59 5f 48 45 41  ..HTTP_QUERY_HEA
3750: 44 45 52 5f 4d 41 53 4b 20 20 20 20 20 20 20 20  DER_MASK        
3760: 20 20 3d 20 7e 48 54 54 50 5f 51 55 45 52 59 5f    = ~HTTP_QUERY_
3770: 4d 4f 44 49 46 49 45 52 5f 46 4c 41 47 53 5f 4d  MODIFIER_FLAGS_M
3780: 41 53 4b 3b 0a 0a 65 6e 75 6d 20 7b 0a 09 48 54  ASK;..enum {..HT
3790: 54 50 5f 53 54 41 54 55 53 5f 4f 4b 20 20 20 20  TP_STATUS_OK    
37a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 32               = 2
37b0: 30 30 2c 0a 09 48 54 54 50 5f 53 54 41 54 55 53  00,..HTTP_STATUS
37c0: 5f 43 52 45 41 54 45 44 2c 0a 09 48 54 54 50 5f  _CREATED,..HTTP_
37d0: 53 54 41 54 55 53 5f 41 43 43 45 50 54 45 44 2c  STATUS_ACCEPTED,
37e0: 0a 09 48 54 54 50 5f 53 54 41 54 55 53 5f 50 41  ..HTTP_STATUS_PA
37f0: 52 54 49 41 4c 2c 0a 09 48 54 54 50 5f 53 54 41  RTIAL,..HTTP_STA
3800: 54 55 53 5f 4e 4f 5f 43 4f 4e 54 45 4e 54 2c 20  TUS_NO_CONTENT, 
3810: 20 20 20 20 2f 2f 20 3d 20 32 30 34 0a 09 48 54      // = 204..HT
3820: 54 50 5f 53 54 41 54 55 53 5f 41 4d 42 49 47 55  TP_STATUS_AMBIGU
3830: 4f 55 53 20 20 20 20 20 20 20 20 20 20 3d 20 33  OUS          = 3
3840: 30 30 2c 0a 09 48 54 54 50 5f 53 54 41 54 55 53  00,..HTTP_STATUS
3850: 5f 4d 4f 56 45 44 2c 0a 09 48 54 54 50 5f 53 54  _MOVED,..HTTP_ST
3860: 41 54 55 53 5f 52 45 44 49 52 45 43 54 2c 0a 09  ATUS_REDIRECT,..
3870: 48 54 54 50 5f 53 54 41 54 55 53 5f 52 45 44 49  HTTP_STATUS_REDI
3880: 52 45 43 54 5f 4d 45 54 48 4f 44 2c 0a 09 48 54  RECT_METHOD,..HT
3890: 54 50 5f 53 54 41 54 55 53 5f 4e 4f 54 5f 4d 4f  TP_STATUS_NOT_MO
38a0: 44 49 46 49 45 44 2c 20 20 20 2f 2f 20 3d 20 33  DIFIED,   // = 3
38b0: 30 34 0a 09 48 54 54 50 5f 53 54 41 54 55 53 5f  04..HTTP_STATUS_
38c0: 42 41 44 5f 52 45 51 55 45 53 54 20 20 20 20 20  BAD_REQUEST     
38d0: 20 20 20 3d 20 34 30 30 2c 0a 09 48 54 54 50 5f     = 400,..HTTP_
38e0: 53 54 41 54 55 53 5f 44 45 4e 49 45 44 2c 0a 09  STATUS_DENIED,..
38f0: 48 54 54 50 5f 53 54 41 54 55 53 5f 50 41 59 4d  HTTP_STATUS_PAYM
3900: 45 4e 54 5f 52 45 51 2c 0a 09 48 54 54 50 5f 53  ENT_REQ,..HTTP_S
3910: 54 41 54 55 53 5f 46 4f 52 42 49 44 44 45 4e 2c  TATUS_FORBIDDEN,
3920: 0a 09 48 54 54 50 5f 53 54 41 54 55 53 5f 4e 4f  ..HTTP_STATUS_NO
3930: 54 5f 46 4f 55 4e 44 2c 0a 09 48 54 54 50 5f 53  T_FOUND,..HTTP_S
3940: 54 41 54 55 53 5f 42 41 44 5f 4d 45 54 48 4f 44  TATUS_BAD_METHOD
3950: 2c 0a 09 48 54 54 50 5f 53 54 41 54 55 53 5f 4e  ,..HTTP_STATUS_N
3960: 4f 4e 45 5f 41 43 43 45 50 54 41 42 4c 45 2c 0a  ONE_ACCEPTABLE,.
3970: 09 48 54 54 50 5f 53 54 41 54 55 53 5f 50 52 4f  .HTTP_STATUS_PRO
3980: 58 59 5f 41 55 54 48 5f 52 45 51 2c 0a 09 48 54  XY_AUTH_REQ,..HT
3990: 54 50 5f 53 54 41 54 55 53 5f 52 45 51 55 45 53  TP_STATUS_REQUES
39a0: 54 5f 54 49 4d 45 4f 55 54 2c 0a 09 48 54 54 50  T_TIMEOUT,..HTTP
39b0: 5f 53 54 41 54 55 53 5f 43 4f 4e 46 4c 49 43 54  _STATUS_CONFLICT
39c0: 2c 0a 09 48 54 54 50 5f 53 54 41 54 55 53 5f 47  ,..HTTP_STATUS_G
39d0: 4f 4e 45 2c 0a 09 48 54 54 50 5f 53 54 41 54 55  ONE,..HTTP_STATU
39e0: 53 5f 41 55 54 48 5f 52 45 46 55 53 45 44 2c 20  S_AUTH_REFUSED, 
39f0: 20 20 2f 2f 20 3d 20 34 31 31 0a 09 48 54 54 50    // = 411..HTTP
3a00: 5f 53 54 41 54 55 53 5f 53 45 52 56 45 52 5f 45  _STATUS_SERVER_E
3a10: 52 52 4f 52 20 20 20 20 20 20 20 3d 20 35 30 30  RROR       = 500
3a20: 2c 0a 09 48 54 54 50 5f 53 54 41 54 55 53 5f 4e  ,..HTTP_STATUS_N
3a30: 4f 54 5f 53 55 50 50 4f 52 54 45 44 2c 0a 09 48  OT_SUPPORTED,..H
3a40: 54 54 50 5f 53 54 41 54 55 53 5f 42 41 44 5f 47  TTP_STATUS_BAD_G
3a50: 41 54 45 57 41 59 2c 0a 09 48 54 54 50 5f 53 54  ATEWAY,..HTTP_ST
3a60: 41 54 55 53 5f 53 45 52 56 49 43 45 5f 55 4e 41  ATUS_SERVICE_UNA
3a70: 56 41 49 4c 2c 0a 09 48 54 54 50 5f 53 54 41 54  VAIL,..HTTP_STAT
3a80: 55 53 5f 47 41 54 45 57 41 59 5f 54 49 4d 45 4f  US_GATEWAY_TIMEO
3a90: 55 54 20 2f 2f 20 3d 20 35 30 34 0a 7d 0a 0a 65  UT // = 504.}..e
3aa0: 6e 75 6d 20 7b 0a 09 49 4e 54 45 52 4e 45 54 5f  num {..INTERNET_
3ab0: 50 52 45 46 45 54 43 48 5f 50 52 4f 47 52 45 53  PREFETCH_PROGRES
3ac0: 53 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 50 52 45  S,..INTERNET_PRE
3ad0: 46 45 54 43 48 5f 43 4f 4d 50 4c 45 54 45 2c 0a  FETCH_COMPLETE,.
3ae0: 09 49 4e 54 45 52 4e 45 54 5f 50 52 45 46 45 54  .INTERNET_PREFET
3af0: 43 48 5f 41 42 4f 52 54 45 44 0a 7d 0a 0a 63 6f  CH_ABORTED.}..co
3b00: 6e 73 74 20 46 4c 41 47 53 5f 45 52 52 4f 52 5f  nst FLAGS_ERROR_
3b10: 55 49 5f 46 49 4c 54 45 52 5f 46 4f 52 5f 45 52  UI_FILTER_FOR_ER
3b20: 52 4f 52 53 20 20 20 20 3d 20 30 78 30 31 3b 0a  RORS    = 0x01;.
3b30: 63 6f 6e 73 74 20 46 4c 41 47 53 5f 45 52 52 4f  const FLAGS_ERRO
3b40: 52 5f 55 49 5f 46 4c 41 47 53 5f 43 48 41 4e 47  R_UI_FLAGS_CHANG
3b50: 45 5f 4f 50 54 49 4f 4e 53 20 3d 20 30 78 30 32  E_OPTIONS = 0x02
3b60: 3b 0a 63 6f 6e 73 74 20 46 4c 41 47 53 5f 45 52  ;.const FLAGS_ER
3b70: 52 4f 52 5f 55 49 5f 46 4c 41 47 53 5f 47 45 4e  ROR_UI_FLAGS_GEN
3b80: 45 52 41 54 45 5f 44 41 54 41 20 20 3d 20 30 78  ERATE_DATA  = 0x
3b90: 30 34 3b 0a 63 6f 6e 73 74 20 46 4c 41 47 53 5f  04;.const FLAGS_
3ba0: 45 52 52 4f 52 5f 55 49 5f 46 4c 41 47 53 5f 4e  ERROR_UI_FLAGS_N
3bb0: 4f 5f 55 49 20 20 20 20 20 20 20 20 20 20 3d 20  O_UI          = 
3bc0: 30 78 30 38 3b 0a 0a 63 6f 6e 73 74 20 44 57 4f  0x08;..const DWO
3bd0: 52 44 0a 09 48 54 54 50 5f 41 44 44 52 45 51 5f  RD..HTTP_ADDREQ_
3be0: 49 4e 44 45 58 5f 4d 41 53 4b 20 20 20 20 20 20  INDEX_MASK      
3bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
3c00: 78 30 30 30 30 46 46 46 46 2c 0a 09 48 54 54 50  x0000FFFF,..HTTP
3c10: 5f 41 44 44 52 45 51 5f 46 4c 41 47 53 5f 4d 41  _ADDREQ_FLAGS_MA
3c20: 53 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 20  SK              
3c30: 20 20 20 20 20 3d 20 30 78 46 46 46 46 30 30 30       = 0xFFFF000
3c40: 30 2c 0a 09 48 54 54 50 5f 41 44 44 52 45 51 5f  0,..HTTP_ADDREQ_
3c50: 46 4c 41 47 5f 43 4f 41 4c 45 53 43 45 5f 57 49  FLAG_COALESCE_WI
3c60: 54 48 5f 53 45 4d 49 43 4f 4c 4f 4e 20 3d 20 30  TH_SEMICOLON = 0
3c70: 78 30 31 30 30 30 30 30 30 2c 0a 09 48 54 54 50  x01000000,..HTTP
3c80: 5f 41 44 44 52 45 51 5f 46 4c 41 47 5f 41 44 44  _ADDREQ_FLAG_ADD
3c90: 5f 49 46 5f 4e 45 57 20 20 20 20 20 20 20 20 20  _IF_NEW         
3ca0: 20 20 20 20 20 3d 20 30 78 31 30 30 30 30 30 30       = 0x1000000
3cb0: 30 2c 0a 09 48 54 54 50 5f 41 44 44 52 45 51 5f  0,..HTTP_ADDREQ_
3cc0: 46 4c 41 47 5f 41 44 44 20 20 20 20 20 20 20 20  FLAG_ADD        
3cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
3ce0: 78 32 30 30 30 30 30 30 30 2c 0a 09 48 54 54 50  x20000000,..HTTP
3cf0: 5f 41 44 44 52 45 51 5f 46 4c 41 47 5f 43 4f 41  _ADDREQ_FLAG_COA
3d00: 4c 45 53 43 45 5f 57 49 54 48 5f 43 4f 4d 4d 41  LESCE_WITH_COMMA
3d10: 20 20 20 20 20 3d 20 30 78 34 30 30 30 30 30 30       = 0x4000000
3d20: 30 2c 0a 09 48 54 54 50 5f 41 44 44 52 45 51 5f  0,..HTTP_ADDREQ_
3d30: 46 4c 41 47 5f 43 4f 41 4c 45 53 43 45 20 20 20  FLAG_COALESCE   
3d40: 20 20 20 20 20 20 20 3d 20 48 54 54 50 5f 41 44         = HTTP_AD
3d50: 44 52 45 51 5f 46 4c 41 47 5f 43 4f 41 4c 45 53  DREQ_FLAG_COALES
3d60: 43 45 5f 57 49 54 48 5f 43 4f 4d 4d 41 2c 0a 09  CE_WITH_COMMA,..
3d70: 48 54 54 50 5f 41 44 44 52 45 51 5f 46 4c 41 47  HTTP_ADDREQ_FLAG
3d80: 5f 52 45 50 4c 41 43 45 20 20 20 20 20 20 20 20  _REPLACE        
3d90: 20 20 20 20 20 20 20 20 20 3d 20 30 78 38 30 30           = 0x800
3da0: 30 30 30 30 30 3b 0a 0a 65 6e 75 6d 20 7b 0a 09  00000;..enum {..
3db0: 49 4e 54 45 52 4e 45 54 5f 45 52 52 4f 52 5f 42  INTERNET_ERROR_B
3dc0: 41 53 45 20 20 20 20 20 20 20 20 20 20 20 20 20  ASE             
3dd0: 20 20 20 20 20 20 20 20 20 20 3d 20 31 32 30 30            = 1200
3de0: 30 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e  0,..ERROR_INTERN
3df0: 45 54 5f 4f 55 54 5f 4f 46 5f 48 41 4e 44 4c 45  ET_OUT_OF_HANDLE
3e00: 53 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e  S,..ERROR_INTERN
3e10: 45 54 5f 54 49 4d 45 4f 55 54 2c 0a 09 45 52 52  ET_TIMEOUT,..ERR
3e20: 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 45 58 54 45  OR_INTERNET_EXTE
3e30: 4e 44 45 44 5f 45 52 52 4f 52 2c 0a 09 45 52 52  NDED_ERROR,..ERR
3e40: 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 49 4e 54 45  OR_INTERNET_INTE
3e50: 52 4e 41 4c 5f 45 52 52 4f 52 2c 0a 09 45 52 52  RNAL_ERROR,..ERR
3e60: 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 49 4e 56 41  OR_INTERNET_INVA
3e70: 4c 49 44 5f 55 52 4c 2c 0a 09 45 52 52 4f 52 5f  LID_URL,..ERROR_
3e80: 49 4e 54 45 52 4e 45 54 5f 55 4e 52 45 43 4f 47  INTERNET_UNRECOG
3e90: 4e 49 5a 45 44 5f 53 43 48 45 4d 45 2c 0a 09 45  NIZED_SCHEME,..E
3ea0: 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 4e 41  RROR_INTERNET_NA
3eb0: 4d 45 5f 4e 4f 54 5f 52 45 53 4f 4c 56 45 44 2c  ME_NOT_RESOLVED,
3ec0: 0a 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54  ..ERROR_INTERNET
3ed0: 5f 50 52 4f 54 4f 43 4f 4c 5f 4e 4f 54 5f 46 4f  _PROTOCOL_NOT_FO
3ee0: 55 4e 44 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45  UND,..ERROR_INTE
3ef0: 52 4e 45 54 5f 49 4e 56 41 4c 49 44 5f 4f 50 54  RNET_INVALID_OPT
3f00: 49 4f 4e 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45  ION,..ERROR_INTE
3f10: 52 4e 45 54 5f 42 41 44 5f 4f 50 54 49 4f 4e 5f  RNET_BAD_OPTION_
3f20: 4c 45 4e 47 54 48 2c 0a 09 45 52 52 4f 52 5f 49  LENGTH,..ERROR_I
3f30: 4e 54 45 52 4e 45 54 5f 4f 50 54 49 4f 4e 5f 4e  NTERNET_OPTION_N
3f40: 4f 54 5f 53 45 54 54 41 42 4c 45 2c 0a 09 45 52  OT_SETTABLE,..ER
3f50: 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 53 48 55  ROR_INTERNET_SHU
3f60: 54 44 4f 57 4e 2c 0a 09 45 52 52 4f 52 5f 49 4e  TDOWN,..ERROR_IN
3f70: 54 45 52 4e 45 54 5f 49 4e 43 4f 52 52 45 43 54  TERNET_INCORRECT
3f80: 5f 55 53 45 52 5f 4e 41 4d 45 2c 0a 09 45 52 52  _USER_NAME,..ERR
3f90: 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 49 4e 43 4f  OR_INTERNET_INCO
3fa0: 52 52 45 43 54 5f 50 41 53 53 57 4f 52 44 2c 0a  RRECT_PASSWORD,.
3fb0: 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f  .ERROR_INTERNET_
3fc0: 4c 4f 47 49 4e 5f 46 41 49 4c 55 52 45 2c 0a 09  LOGIN_FAILURE,..
3fd0: 45 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 49  ERROR_INTERNET_I
3fe0: 4e 56 41 4c 49 44 5f 4f 50 45 52 41 54 49 4f 4e  NVALID_OPERATION
3ff0: 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e 45  ,..ERROR_INTERNE
4000: 54 5f 4f 50 45 52 41 54 49 4f 4e 5f 43 41 4e 43  T_OPERATION_CANC
4010: 45 4c 4c 45 44 2c 0a 09 45 52 52 4f 52 5f 49 4e  ELLED,..ERROR_IN
4020: 54 45 52 4e 45 54 5f 49 4e 43 4f 52 52 45 43 54  TERNET_INCORRECT
4030: 5f 48 41 4e 44 4c 45 5f 54 59 50 45 2c 0a 09 45  _HANDLE_TYPE,..E
4040: 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 49 4e  RROR_INTERNET_IN
4050: 43 4f 52 52 45 43 54 5f 48 41 4e 44 4c 45 5f 53  CORRECT_HANDLE_S
4060: 54 41 54 45 2c 0a 09 45 52 52 4f 52 5f 49 4e 54  TATE,..ERROR_INT
4070: 45 52 4e 45 54 5f 4e 4f 54 5f 50 52 4f 58 59 5f  ERNET_NOT_PROXY_
4080: 52 45 51 55 45 53 54 2c 0a 09 45 52 52 4f 52 5f  REQUEST,..ERROR_
4090: 49 4e 54 45 52 4e 45 54 5f 52 45 47 49 53 54 52  INTERNET_REGISTR
40a0: 59 5f 56 41 4c 55 45 5f 4e 4f 54 5f 46 4f 55 4e  Y_VALUE_NOT_FOUN
40b0: 44 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e  D,..ERROR_INTERN
40c0: 45 54 5f 42 41 44 5f 52 45 47 49 53 54 52 59 5f  ET_BAD_REGISTRY_
40d0: 50 41 52 41 4d 45 54 45 52 2c 0a 09 45 52 52 4f  PARAMETER,..ERRO
40e0: 52 5f 49 4e 54 45 52 4e 45 54 5f 4e 4f 5f 44 49  R_INTERNET_NO_DI
40f0: 52 45 43 54 5f 41 43 43 45 53 53 2c 0a 09 45 52  RECT_ACCESS,..ER
4100: 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 4e 4f 5f  ROR_INTERNET_NO_
4110: 43 4f 4e 54 45 58 54 2c 0a 09 45 52 52 4f 52 5f  CONTEXT,..ERROR_
4120: 49 4e 54 45 52 4e 45 54 5f 4e 4f 5f 43 41 4c 4c  INTERNET_NO_CALL
4130: 42 41 43 4b 2c 0a 09 45 52 52 4f 52 5f 49 4e 54  BACK,..ERROR_INT
4140: 45 52 4e 45 54 5f 52 45 51 55 45 53 54 5f 50 45  ERNET_REQUEST_PE
4150: 4e 44 49 4e 47 2c 0a 09 45 52 52 4f 52 5f 49 4e  NDING,..ERROR_IN
4160: 54 45 52 4e 45 54 5f 49 4e 43 4f 52 52 45 43 54  TERNET_INCORRECT
4170: 5f 46 4f 52 4d 41 54 2c 0a 09 45 52 52 4f 52 5f  _FORMAT,..ERROR_
4180: 49 4e 54 45 52 4e 45 54 5f 49 54 45 4d 5f 4e 4f  INTERNET_ITEM_NO
4190: 54 5f 46 4f 55 4e 44 2c 0a 09 45 52 52 4f 52 5f  T_FOUND,..ERROR_
41a0: 49 4e 54 45 52 4e 45 54 5f 43 41 4e 4e 4f 54 5f  INTERNET_CANNOT_
41b0: 43 4f 4e 4e 45 43 54 2c 0a 09 45 52 52 4f 52 5f  CONNECT,..ERROR_
41c0: 49 4e 54 45 52 4e 45 54 5f 43 4f 4e 4e 45 43 54  INTERNET_CONNECT
41d0: 49 4f 4e 5f 41 42 4f 52 54 45 44 2c 0a 09 45 52  ION_ABORTED,..ER
41e0: 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 43 4f 4e  ROR_INTERNET_CON
41f0: 4e 45 43 54 49 4f 4e 5f 52 45 53 45 54 2c 0a 09  NECTION_RESET,..
4200: 45 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 46  ERROR_INTERNET_F
4210: 4f 52 43 45 5f 52 45 54 52 59 2c 0a 09 45 52 52  ORCE_RETRY,..ERR
4220: 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 49 4e 56 41  OR_INTERNET_INVA
4230: 4c 49 44 5f 50 52 4f 58 59 5f 52 45 51 55 45 53  LID_PROXY_REQUES
4240: 54 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e  T,..ERROR_INTERN
4250: 45 54 5f 4e 45 45 44 5f 55 49 2c 20 20 20 20 20  ET_NEED_UI,     
4260: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20             // = 
4270: 49 4e 54 45 52 4e 45 54 5f 45 52 52 4f 52 5f 42  INTERNET_ERROR_B
4280: 41 53 45 20 2b 20 20 33 34 0a 09 45 52 52 4f 52  ASE +  34..ERROR
4290: 5f 49 4e 54 45 52 4e 45 54 5f 48 41 4e 44 4c 45  _INTERNET_HANDLE
42a0: 5f 45 58 49 53 54 53 20 20 20 20 20 20 20 20 20  _EXISTS         
42b0: 20 20 20 20 20 3d 20 49 4e 54 45 52 4e 45 54 5f       = INTERNET_
42c0: 45 52 52 4f 52 5f 42 41 53 45 20 2b 20 20 33 36  ERROR_BASE +  36
42d0: 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e 45  ,..ERROR_INTERNE
42e0: 54 5f 53 45 43 5f 43 45 52 54 5f 44 41 54 45 5f  T_SEC_CERT_DATE_
42f0: 49 4e 56 41 4c 49 44 2c 0a 09 45 52 52 4f 52 5f  INVALID,..ERROR_
4300: 49 4e 54 45 52 4e 45 54 5f 53 45 43 5f 43 45 52  INTERNET_SEC_CER
4310: 54 5f 43 4e 5f 49 4e 56 41 4c 49 44 2c 0a 09 45  T_CN_INVALID,..E
4320: 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 48 54  RROR_INTERNET_HT
4330: 54 50 5f 54 4f 5f 48 54 54 50 53 5f 4f 4e 5f 52  TP_TO_HTTPS_ON_R
4340: 45 44 49 52 2c 0a 09 45 52 52 4f 52 5f 49 4e 54  EDIR,..ERROR_INT
4350: 45 52 4e 45 54 5f 48 54 54 50 53 5f 54 4f 5f 48  ERNET_HTTPS_TO_H
4360: 54 54 50 5f 4f 4e 5f 52 45 44 49 52 2c 0a 09 45  TTP_ON_REDIR,..E
4370: 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 4d 49  RROR_INTERNET_MI
4380: 58 45 44 5f 53 45 43 55 52 49 54 59 2c 0a 09 45  XED_SECURITY,..E
4390: 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 43 48  RROR_INTERNET_CH
43a0: 47 5f 50 4f 53 54 5f 49 53 5f 4e 4f 4e 5f 53 45  G_POST_IS_NON_SE
43b0: 43 55 52 45 2c 0a 09 45 52 52 4f 52 5f 49 4e 54  CURE,..ERROR_INT
43c0: 45 52 4e 45 54 5f 50 4f 53 54 5f 49 53 5f 4e 4f  ERNET_POST_IS_NO
43d0: 4e 5f 53 45 43 55 52 45 2c 0a 09 45 52 52 4f 52  N_SECURE,..ERROR
43e0: 5f 49 4e 54 45 52 4e 45 54 5f 43 4c 49 45 4e 54  _INTERNET_CLIENT
43f0: 5f 41 55 54 48 5f 43 45 52 54 5f 4e 45 45 44 45  _AUTH_CERT_NEEDE
4400: 44 2c 0a 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e  D,..ERROR_INTERN
4410: 45 54 5f 49 4e 56 41 4c 49 44 5f 43 41 2c 0a 09  ET_INVALID_CA,..
4420: 45 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 43  ERROR_INTERNET_C
4430: 4c 49 45 4e 54 5f 41 55 54 48 5f 4e 4f 54 5f 53  LIENT_AUTH_NOT_S
4440: 45 54 55 50 2c 0a 09 45 52 52 4f 52 5f 49 4e 54  ETUP,..ERROR_INT
4450: 45 52 4e 45 54 5f 41 53 59 4e 43 5f 54 48 52 45  ERNET_ASYNC_THRE
4460: 41 44 5f 46 41 49 4c 45 44 2c 0a 09 45 52 52 4f  AD_FAILED,..ERRO
4470: 52 5f 49 4e 54 45 52 4e 45 54 5f 52 45 44 49 52  R_INTERNET_REDIR
4480: 45 43 54 5f 53 43 48 45 4d 45 5f 43 48 41 4e 47  ECT_SCHEME_CHANG
4490: 45 2c 20 2f 2f 20 3d 20 49 4e 54 45 52 4e 45 54  E, // = INTERNET
44a0: 5f 45 52 52 4f 52 5f 42 41 53 45 20 2b 20 20 34  _ERROR_BASE +  4
44b0: 38 0a 0a 09 45 52 52 4f 52 5f 46 54 50 5f 54 52  8...ERROR_FTP_TR
44c0: 41 4e 53 46 45 52 5f 49 4e 5f 50 52 4f 47 52 45  ANSFER_IN_PROGRE
44d0: 53 53 20 20 20 20 20 20 20 20 20 20 20 20 3d 20  SS            = 
44e0: 49 4e 54 45 52 4e 45 54 5f 45 52 52 4f 52 5f 42  INTERNET_ERROR_B
44f0: 41 53 45 20 2b 20 31 31 30 2c 0a 09 45 52 52 4f  ASE + 110,..ERRO
4500: 52 5f 46 54 50 5f 44 52 4f 50 50 45 44 2c 20 20  R_FTP_DROPPED,  
4510: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4520: 20 20 20 2f 2f 20 3d 20 49 4e 54 45 52 4e 45 54     // = INTERNET
4530: 5f 45 52 52 4f 52 5f 42 41 53 45 20 2b 20 31 31  _ERROR_BASE + 11
4540: 31 0a 09 45 52 52 4f 52 5f 47 4f 50 48 45 52 5f  1..ERROR_GOPHER_
4550: 50 52 4f 54 4f 43 4f 4c 5f 45 52 52 4f 52 20 20  PROTOCOL_ERROR  
4560: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 49               = I
4570: 4e 54 45 52 4e 45 54 5f 45 52 52 4f 52 5f 42 41  NTERNET_ERROR_BA
4580: 53 45 20 2b 20 31 33 30 2c 0a 09 45 52 52 4f 52  SE + 130,..ERROR
4590: 5f 47 4f 50 48 45 52 5f 4e 4f 54 5f 46 49 4c 45  _GOPHER_NOT_FILE
45a0: 2c 0a 09 45 52 52 4f 52 5f 47 4f 50 48 45 52 5f  ,..ERROR_GOPHER_
45b0: 44 41 54 41 5f 45 52 52 4f 52 2c 0a 09 45 52 52  DATA_ERROR,..ERR
45c0: 4f 52 5f 47 4f 50 48 45 52 5f 45 4e 44 5f 4f 46  OR_GOPHER_END_OF
45d0: 5f 44 41 54 41 2c 0a 09 45 52 52 4f 52 5f 47 4f  _DATA,..ERROR_GO
45e0: 50 48 45 52 5f 49 4e 56 41 4c 49 44 5f 4c 4f 43  PHER_INVALID_LOC
45f0: 41 54 4f 52 2c 0a 09 45 52 52 4f 52 5f 47 4f 50  ATOR,..ERROR_GOP
4600: 48 45 52 5f 49 4e 43 4f 52 52 45 43 54 5f 4c 4f  HER_INCORRECT_LO
4610: 43 41 54 4f 52 5f 54 59 50 45 2c 0a 09 45 52 52  CATOR_TYPE,..ERR
4620: 4f 52 5f 47 4f 50 48 45 52 5f 4e 4f 54 5f 47 4f  OR_GOPHER_NOT_GO
4630: 50 48 45 52 5f 50 4c 55 53 2c 0a 09 45 52 52 4f  PHER_PLUS,..ERRO
4640: 52 5f 47 4f 50 48 45 52 5f 41 54 54 52 49 42 55  R_GOPHER_ATTRIBU
4650: 54 45 5f 4e 4f 54 5f 46 4f 55 4e 44 2c 0a 09 45  TE_NOT_FOUND,..E
4660: 52 52 4f 52 5f 47 4f 50 48 45 52 5f 55 4e 4b 4e  RROR_GOPHER_UNKN
4670: 4f 57 4e 5f 4c 4f 43 41 54 4f 52 2c 20 20 20 20  OWN_LOCATOR,    
4680: 20 20 20 20 20 20 2f 2f 20 3d 20 49 4e 54 45 52        // = INTER
4690: 4e 45 54 5f 45 52 52 4f 52 5f 42 41 53 45 20 2b  NET_ERROR_BASE +
46a0: 20 31 33 38 2c 0a 09 45 52 52 4f 52 5f 48 54 54   138,..ERROR_HTT
46b0: 50 5f 48 45 41 44 45 52 5f 4e 4f 54 5f 46 4f 55  P_HEADER_NOT_FOU
46c0: 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ND              
46d0: 20 3d 20 49 4e 54 45 52 4e 45 54 5f 45 52 52 4f   = INTERNET_ERRO
46e0: 52 5f 42 41 53 45 20 2b 20 31 35 30 2c 0a 09 45  R_BASE + 150,..E
46f0: 52 52 4f 52 5f 48 54 54 50 5f 44 4f 57 4e 4c 45  RROR_HTTP_DOWNLE
4700: 56 45 4c 5f 53 45 52 56 45 52 2c 0a 09 45 52 52  VEL_SERVER,..ERR
4710: 4f 52 5f 48 54 54 50 5f 49 4e 56 41 4c 49 44 5f  OR_HTTP_INVALID_
4720: 53 45 52 56 45 52 5f 52 45 53 50 4f 4e 53 45 2c  SERVER_RESPONSE,
4730: 0a 09 45 52 52 4f 52 5f 48 54 54 50 5f 49 4e 56  ..ERROR_HTTP_INV
4740: 41 4c 49 44 5f 48 45 41 44 45 52 2c 0a 09 45 52  ALID_HEADER,..ER
4750: 52 4f 52 5f 48 54 54 50 5f 49 4e 56 41 4c 49 44  ROR_HTTP_INVALID
4760: 5f 51 55 45 52 59 5f 52 45 51 55 45 53 54 2c 0a  _QUERY_REQUEST,.
4770: 09 45 52 52 4f 52 5f 48 54 54 50 5f 48 45 41 44  .ERROR_HTTP_HEAD
4780: 45 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54  ER_ALREADY_EXIST
4790: 53 2c 0a 09 45 52 52 4f 52 5f 48 54 54 50 5f 52  S,..ERROR_HTTP_R
47a0: 45 44 49 52 45 43 54 5f 46 41 49 4c 45 44 2c 0a  EDIRECT_FAILED,.
47b0: 09 45 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f  .ERROR_INTERNET_
47c0: 53 45 43 55 52 49 54 59 5f 43 48 41 4e 4e 45 4c  SECURITY_CHANNEL
47d0: 5f 45 52 52 4f 52 2c 0a 09 45 52 52 4f 52 5f 49  _ERROR,..ERROR_I
47e0: 4e 54 45 52 4e 45 54 5f 55 4e 41 42 4c 45 5f 54  NTERNET_UNABLE_T
47f0: 4f 5f 43 41 43 48 45 5f 46 49 4c 45 2c 0a 09 45  O_CACHE_FILE,..E
4800: 52 52 4f 52 5f 49 4e 54 45 52 4e 45 54 5f 54 43  RROR_INTERNET_TC
4810: 50 49 50 5f 4e 4f 54 5f 49 4e 53 54 41 4c 4c 45  PIP_NOT_INSTALLE
4820: 44 2c 0a 09 45 52 52 4f 52 5f 48 54 54 50 5f 4e  D,..ERROR_HTTP_N
4830: 4f 54 5f 52 45 44 49 52 45 43 54 45 44 2c 20 20  OT_REDIRECTED,  
4840: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20             // = 
4850: 49 4e 54 45 52 4e 45 54 5f 45 52 52 4f 52 5f 42  INTERNET_ERROR_B
4860: 41 53 45 20 2b 20 31 36 30 0a 09 2f 2f 20 77 68  ASE + 160..// wh
4870: 79 3f 0a 09 49 4e 54 45 52 4e 45 54 5f 45 52 52  y?..INTERNET_ERR
4880: 4f 52 5f 4c 41 53 54 20 20 20 20 20 20 20 20 20  OR_LAST         
4890: 20 20 20 20 20 20 20 20 20 3d 20 45 52 52 4f 52           = ERROR
48a0: 5f 49 4e 54 45 52 4e 45 54 5f 54 43 50 49 50 5f  _INTERNET_TCPIP_
48b0: 4e 4f 54 5f 49 4e 53 54 41 4c 4c 45 44 0a 7d 0a  NOT_INSTALLED.}.
48c0: 0a 0a 63 6f 6e 73 74 20 4e 4f 52 4d 41 4c 5f 43  ..const NORMAL_C
48d0: 41 43 48 45 5f 45 4e 54 52 59 20 20 20 20 20 3d  ACHE_ENTRY     =
48e0: 20 30 78 30 30 30 30 30 31 3b 0a 63 6f 6e 73 74   0x000001;.const
48f0: 20 53 54 41 42 4c 45 5f 43 41 43 48 45 5f 45 4e   STABLE_CACHE_EN
4900: 54 52 59 20 20 20 20 20 3d 20 30 78 30 30 30 30  TRY     = 0x0000
4910: 30 32 3b 0a 63 6f 6e 73 74 20 53 54 49 43 4b 59  02;.const STICKY
4920: 5f 43 41 43 48 45 5f 45 4e 54 52 59 20 20 20 20  _CACHE_ENTRY    
4930: 20 3d 20 30 78 30 30 30 30 30 34 3b 0a 63 6f 6e   = 0x000004;.con
4940: 73 74 20 53 50 41 52 53 45 5f 43 41 43 48 45 5f  st SPARSE_CACHE_
4950: 45 4e 54 52 59 20 20 20 20 20 3d 20 30 78 30 31  ENTRY     = 0x01
4960: 30 30 30 30 3b 0a 63 6f 6e 73 74 20 4f 43 58 5f  0000;.const OCX_
4970: 43 41 43 48 45 5f 45 4e 54 52 59 20 20 20 20 20  CACHE_ENTRY     
4980: 20 20 20 3d 20 30 78 30 32 30 30 30 30 3b 0a 63     = 0x020000;.c
4990: 6f 6e 73 74 20 43 4f 4f 4b 49 45 5f 43 41 43 48  onst COOKIE_CACH
49a0: 45 5f 45 4e 54 52 59 20 20 20 20 20 3d 20 30 78  E_ENTRY     = 0x
49b0: 31 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20 55 52  100000;.const UR
49c0: 4c 48 49 53 54 4f 52 59 5f 43 41 43 48 45 5f 45  LHISTORY_CACHE_E
49d0: 4e 54 52 59 20 3d 20 30 78 32 30 30 30 30 30 3b  NTRY = 0x200000;
49e0: 0a 0a 63 6f 6e 73 74 20 43 41 43 48 45 5f 45 4e  ..const CACHE_EN
49f0: 54 52 59 5f 41 54 54 52 49 42 55 54 45 5f 46 43  TRY_ATTRIBUTE_FC
4a00: 20 20 3d 20 30 78 30 30 30 34 3b 0a 63 6f 6e 73    = 0x0004;.cons
4a10: 74 20 43 41 43 48 45 5f 45 4e 54 52 59 5f 48 49  t CACHE_ENTRY_HI
4a20: 54 52 41 54 45 5f 46 43 20 20 20 20 3d 20 30 78  TRATE_FC    = 0x
4a30: 30 30 31 30 3b 0a 63 6f 6e 73 74 20 43 41 43 48  0010;.const CACH
4a40: 45 5f 45 4e 54 52 59 5f 4d 4f 44 54 49 4d 45 5f  E_ENTRY_MODTIME_
4a50: 46 43 20 20 20 20 3d 20 30 78 30 30 34 30 3b 0a  FC    = 0x0040;.
4a60: 63 6f 6e 73 74 20 43 41 43 48 45 5f 45 4e 54 52  const CACHE_ENTR
4a70: 59 5f 45 58 50 54 49 4d 45 5f 46 43 20 20 20 20  Y_EXPTIME_FC    
4a80: 3d 20 30 78 30 30 38 30 3b 0a 63 6f 6e 73 74 20  = 0x0080;.const 
4a90: 43 41 43 48 45 5f 45 4e 54 52 59 5f 41 43 43 54  CACHE_ENTRY_ACCT
4aa0: 49 4d 45 5f 46 43 20 20 20 20 3d 20 30 78 30 31  IME_FC    = 0x01
4ab0: 30 30 3b 0a 63 6f 6e 73 74 20 43 41 43 48 45 5f  00;.const CACHE_
4ac0: 45 4e 54 52 59 5f 53 59 4e 43 54 49 4d 45 5f 46  ENTRY_SYNCTIME_F
4ad0: 43 20 20 20 3d 20 30 78 30 32 30 30 3b 0a 63 6f  C   = 0x0200;.co
4ae0: 6e 73 74 20 43 41 43 48 45 5f 45 4e 54 52 59 5f  nst CACHE_ENTRY_
4af0: 48 45 41 44 45 52 49 4e 46 4f 5f 46 43 20 3d 20  HEADERINFO_FC = 
4b00: 30 78 30 34 30 30 3b 0a 0a 65 6e 75 6d 20 7b 0a  0x0400;..enum {.
4b10: 09 57 49 4e 49 4e 45 54 5f 41 50 49 5f 46 4c 41  .WININET_API_FLA
4b20: 47 5f 41 53 59 4e 43 20 20 20 20 20 20 20 3d 20  G_ASYNC       = 
4b30: 31 2c 0a 09 57 49 4e 49 4e 45 54 5f 41 50 49 5f  1,..WININET_API_
4b40: 46 4c 41 47 5f 53 59 4e 43 20 20 20 20 20 20 20  FLAG_SYNC       
4b50: 20 3d 20 34 2c 0a 09 57 49 4e 49 4e 45 54 5f 41   = 4,..WININET_A
4b60: 50 49 5f 46 4c 41 47 5f 55 53 45 5f 43 4f 4e 54  PI_FLAG_USE_CONT
4b70: 45 58 54 20 3d 20 38 0a 7d 0a 0a 2f 2f 20 46 49  EXT = 8.}..// FI
4b80: 58 4d 45 3a 20 68 6f 77 20 73 68 6f 75 6c 64 20  XME: how should 
4b90: 74 68 65 73 65 20 72 65 61 6c 6c 79 20 62 65 20  these really be 
4ba0: 67 72 6f 75 70 65 64 3f 0a 65 6e 75 6d 20 7b 0a  grouped?.enum {.
4bb0: 09 49 52 46 5f 41 53 59 4e 43 20 20 20 20 20 20  .IRF_ASYNC      
4bc0: 20 3d 20 57 49 4e 49 4e 45 54 5f 41 50 49 5f 46   = WININET_API_F
4bd0: 4c 41 47 5f 41 53 59 4e 43 2c 0a 09 49 52 46 5f  LAG_ASYNC,..IRF_
4be0: 53 59 4e 43 20 20 20 20 20 20 20 20 3d 20 57 49  SYNC        = WI
4bf0: 4e 49 4e 45 54 5f 41 50 49 5f 46 4c 41 47 5f 53  NINET_API_FLAG_S
4c00: 59 4e 43 2c 0a 09 49 52 46 5f 55 53 45 5f 43 4f  YNC,..IRF_USE_CO
4c10: 4e 54 45 58 54 20 3d 20 57 49 4e 49 4e 45 54 5f  NTEXT = WININET_
4c20: 41 50 49 5f 46 4c 41 47 5f 55 53 45 5f 43 4f 4e  API_FLAG_USE_CON
4c30: 54 45 58 54 2c 0a 7d 0a 63 6f 6e 73 74 20 49 52  TEXT,.}.const IR
4c40: 46 5f 4e 4f 5f 57 41 49 54 20 3d 20 38 3b 0a 0a  F_NO_WAIT = 8;..
4c50: 65 6e 75 6d 20 7b 0a 09 48 53 52 5f 41 53 59 4e  enum {..HSR_ASYN
4c60: 43 20 3d 20 57 49 4e 49 4e 45 54 5f 41 50 49 5f  C = WININET_API_
4c70: 46 4c 41 47 5f 41 53 59 4e 43 2c 0a 09 48 53 52  FLAG_ASYNC,..HSR
4c80: 5f 53 59 4e 43 20 3d 20 57 49 4e 49 4e 45 54 5f  _SYNC = WININET_
4c90: 41 50 49 5f 46 4c 41 47 5f 53 59 4e 43 2c 0a 09  API_FLAG_SYNC,..
4ca0: 48 53 52 5f 55 53 45 5f 43 4f 4e 54 45 58 54 20  HSR_USE_CONTEXT 
4cb0: 3d 20 57 49 4e 49 4e 45 54 5f 41 50 49 5f 46 4c  = WININET_API_FL
4cc0: 41 47 5f 55 53 45 5f 43 4f 4e 54 45 58 54 2c 0a  AG_USE_CONTEXT,.
4cd0: 7d 0a 0a 63 6f 6e 73 74 20 48 53 52 5f 49 4e 49  }..const HSR_INI
4ce0: 54 49 41 54 45 20 3d 20 20 38 3b 0a 63 6f 6e 73  TIATE =  8;.cons
4cf0: 74 20 48 53 52 5f 44 4f 57 4e 4c 4f 41 44 20 3d  t HSR_DOWNLOAD =
4d00: 20 31 36 3b 0a 63 6f 6e 73 74 20 48 53 52 5f 43   16;.const HSR_C
4d10: 48 55 4e 4b 45 44 20 20 3d 20 33 32 3b 0a 0a 63  HUNKED  = 32;..c
4d20: 6f 6e 73 74 20 49 4e 54 45 52 4e 45 54 5f 44 49  onst INTERNET_DI
4d30: 41 4c 5f 55 4e 41 54 54 45 4e 44 45 44 20 20 20  AL_UNATTENDED   
4d40: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 38             = 0x8
4d50: 30 30 30 3b 0a 63 6f 6e 73 74 20 49 4e 54 45 52  000;.const INTER
4d60: 4e 45 54 5f 44 49 41 4c 53 54 41 54 45 5f 44 49  NET_DIALSTATE_DI
4d70: 53 43 4f 4e 4e 45 43 54 45 44 20 20 20 20 20 20  SCONNECTED      
4d80: 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 49 4e 54 45   = 1;.const INTE
4d90: 52 45 4e 54 5f 47 4f 4f 4e 4c 49 4e 45 5f 52 45  RENT_GOONLINE_RE
4da0: 46 52 45 53 48 20 20 20 20 20 20 20 20 20 20 20  FRESH           
4db0: 20 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 49 4e 54    = 1;.const INT
4dc0: 45 52 45 4e 54 5f 47 4f 4f 4e 4c 49 4e 45 5f 4d  ERENT_GOONLINE_M
4dd0: 41 53 4b 20 20 20 20 20 20 20 20 20 20 20 20 20  ASK             
4de0: 20 20 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 49 4e     = 1;.const IN
4df0: 54 45 52 4e 45 54 5f 41 55 54 4f 44 49 41 4c 5f  TERNET_AUTODIAL_
4e00: 46 4f 52 43 45 5f 4f 4e 4c 49 4e 45 20 20 20 20  FORCE_ONLINE    
4e10: 20 20 20 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 49      = 1;.const I
4e20: 4e 54 45 52 4e 45 54 5f 41 55 54 4f 44 49 41 4c  NTERNET_AUTODIAL
4e30: 5f 46 4f 52 43 45 5f 55 4e 41 54 54 45 4e 44 45  _FORCE_UNATTENDE
4e40: 44 20 20 20 20 3d 20 32 3b 0a 63 6f 6e 73 74 20  D    = 2;.const 
4e50: 49 4e 54 45 52 4e 45 54 5f 41 55 54 4f 44 49 41  INTERNET_AUTODIA
4e60: 4c 5f 46 41 49 4c 49 46 53 45 43 55 52 49 54 59  L_FAILIFSECURITY
4e70: 43 48 45 43 4b 20 3d 20 34 3b 0a 63 6f 6e 73 74  CHECK = 4;.const
4e80: 20 49 4e 54 45 52 4e 45 54 5f 43 4f 4e 4e 45 43   INTERNET_CONNEC
4e90: 54 49 4f 4e 5f 4d 4f 44 45 4d 20 20 20 20 20 20  TION_MODEM      
4ea0: 20 20 20 20 20 20 20 3d 20 30 78 30 31 3b 0a 63         = 0x01;.c
4eb0: 6f 6e 73 74 20 49 4e 54 45 52 4e 45 54 5f 43 4f  onst INTERNET_CO
4ec0: 4e 4e 45 43 54 49 4f 4e 5f 4c 41 4e 20 20 20 20  NNECTION_LAN    
4ed0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
4ee0: 32 3b 0a 63 6f 6e 73 74 20 49 4e 54 45 52 4e 45  2;.const INTERNE
4ef0: 54 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 50 52 4f  T_CONNECTION_PRO
4f00: 58 59 20 20 20 20 20 20 20 20 20 20 20 20 20 3d  XY             =
4f10: 20 30 78 30 34 3b 0a 63 6f 6e 73 74 20 49 4e 54   0x04;.const INT
4f20: 45 52 4e 45 54 5f 43 4f 4e 4e 45 43 54 49 4f 4e  ERNET_CONNECTION
4f30: 5f 4d 4f 44 45 4d 5f 42 55 53 59 20 20 20 20 20  _MODEM_BUSY     
4f40: 20 20 20 3d 20 30 78 30 38 3b 0a 63 6f 6e 73 74     = 0x08;.const
4f50: 20 49 4e 54 45 52 4e 45 54 5f 52 41 53 5f 49 4e   INTERNET_RAS_IN
4f60: 53 54 41 4c 4c 45 44 20 20 20 20 20 20 20 20 20  STALLED         
4f70: 20 20 20 20 20 20 20 3d 20 30 78 31 30 3b 0a 63         = 0x10;.c
4f80: 6f 6e 73 74 20 49 4e 54 45 52 4e 45 54 5f 43 4f  onst INTERNET_CO
4f90: 4e 4e 45 43 54 49 4f 4e 5f 4f 46 46 4c 49 4e 45  NNECTION_OFFLINE
4fa0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 32             = 0x2
4fb0: 30 3b 0a 63 6f 6e 73 74 20 49 4e 54 45 52 4e 45  0;.const INTERNE
4fc0: 54 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 43 4f 4e  T_CONNECTION_CON
4fd0: 46 49 47 55 52 45 44 20 20 20 20 20 20 20 20 3d  FIGURED        =
4fe0: 20 30 78 34 30 3b 0a 0a 65 6e 75 6d 20 7b 0a 09   0x40;..enum {..
4ff0: 43 41 43 48 45 47 52 4f 55 50 5f 53 45 41 52 43  CACHEGROUP_SEARC
5000: 48 5f 41 4c 4c 20 20 20 3d 20 30 2c 0a 09 43 41  H_ALL   = 0,..CA
5010: 43 48 45 47 52 4f 55 50 5f 53 45 41 52 43 48 5f  CHEGROUP_SEARCH_
5020: 42 59 55 52 4c 20 3d 20 31 0a 7d 0a 0a 65 6e 75  BYURL = 1.}..enu
5030: 6d 20 7b 0a 09 49 4e 54 45 52 4e 45 54 5f 43 41  m {..INTERNET_CA
5040: 43 48 45 5f 47 52 4f 55 50 5f 41 44 44 20 20 20  CHE_GROUP_ADD   
5050: 20 3d 20 30 2c 0a 09 49 4e 54 45 52 4e 45 54 5f   = 0,..INTERNET_
5060: 43 41 43 48 45 5f 47 52 4f 55 50 5f 52 45 4d 4f  CACHE_GROUP_REMO
5070: 56 45 20 3d 20 31 0a 7d 0a 0a 61 6c 69 61 73 20  VE = 1.}..alias 
5080: 48 41 4e 44 4c 45 20 48 49 4e 54 45 52 4e 45 54  HANDLE HINTERNET
5090: 3b 0a 61 6c 69 61 73 20 48 41 4e 44 4c 45 2a 20  ;.alias HANDLE* 
50a0: 4c 50 48 49 4e 54 45 52 4e 45 54 3b 0a 0a 61 6c  LPHINTERNET;..al
50b0: 69 61 73 20 4c 4f 4e 47 4c 4f 4e 47 20 47 52 4f  ias LONGLONG GRO
50c0: 55 50 49 44 3b 0a 61 6c 69 61 73 20 57 4f 52 44  UPID;.alias WORD
50d0: 20 49 4e 54 45 52 4e 45 54 5f 50 4f 52 54 3b 0a   INTERNET_PORT;.
50e0: 61 6c 69 61 73 20 57 4f 52 44 2a 20 4c 50 49 4e  alias WORD* LPIN
50f0: 54 45 52 4e 45 54 5f 50 4f 52 54 3b 0a 0a 65 6e  TERNET_PORT;..en
5100: 75 6d 20 49 4e 54 45 52 4e 45 54 5f 53 43 48 45  um INTERNET_SCHE
5110: 4d 45 20 7b 0a 09 49 4e 54 45 52 4e 45 54 5f 53  ME {..INTERNET_S
5120: 43 48 45 4d 45 5f 50 41 52 54 49 41 4c 20 3d 20  CHEME_PARTIAL = 
5130: 2d 32 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 53 43  -2,..INTERNET_SC
5140: 48 45 4d 45 5f 55 4e 4b 4e 4f 57 4e 2c 0a 09 49  HEME_UNKNOWN,..I
5150: 4e 54 45 52 4e 45 54 5f 53 43 48 45 4d 45 5f 44  NTERNET_SCHEME_D
5160: 45 46 41 55 4c 54 2c 0a 09 49 4e 54 45 52 4e 45  EFAULT,..INTERNE
5170: 54 5f 53 43 48 45 4d 45 5f 46 54 50 2c 0a 09 49  T_SCHEME_FTP,..I
5180: 4e 54 45 52 4e 45 54 5f 53 43 48 45 4d 45 5f 47  NTERNET_SCHEME_G
5190: 4f 50 48 45 52 2c 0a 09 49 4e 54 45 52 4e 45 54  OPHER,..INTERNET
51a0: 5f 53 43 48 45 4d 45 5f 48 54 54 50 2c 0a 09 49  _SCHEME_HTTP,..I
51b0: 4e 54 45 52 4e 45 54 5f 53 43 48 45 4d 45 5f 48  NTERNET_SCHEME_H
51c0: 54 54 50 53 2c 0a 09 49 4e 54 45 52 4e 45 54 5f  TTPS,..INTERNET_
51d0: 53 43 48 45 4d 45 5f 46 49 4c 45 2c 0a 09 49 4e  SCHEME_FILE,..IN
51e0: 54 45 52 4e 45 54 5f 53 43 48 45 4d 45 5f 4e 45  TERNET_SCHEME_NE
51f0: 57 53 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 53 43  WS,..INTERNET_SC
5200: 48 45 4d 45 5f 4d 41 49 4c 54 4f 2c 0a 09 49 4e  HEME_MAILTO,..IN
5210: 54 45 52 4e 45 54 5f 53 43 48 45 4d 45 5f 53 4f  TERNET_SCHEME_SO
5220: 43 4b 53 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 53  CKS,..INTERNET_S
5230: 43 48 45 4d 45 5f 46 49 52 53 54 20 3d 20 49 4e  CHEME_FIRST = IN
5240: 54 45 52 4e 45 54 5f 53 43 48 45 4d 45 5f 46 54  TERNET_SCHEME_FT
5250: 50 2c 0a 09 49 4e 54 45 52 4e 45 54 5f 53 43 48  P,..INTERNET_SCH
5260: 45 4d 45 5f 4c 41 53 54 20 3d 20 49 4e 54 45 52  EME_LAST = INTER
5270: 4e 45 54 5f 53 43 48 45 4d 45 5f 53 4f 43 4b 53  NET_SCHEME_SOCKS
5280: 0a 7d 0a 61 6c 69 61 73 20 49 4e 54 45 52 4e 45  .}.alias INTERNE
5290: 54 5f 53 43 48 45 4d 45 2a 20 4c 50 49 4e 54 45  T_SCHEME* LPINTE
52a0: 52 4e 45 54 5f 53 43 48 45 4d 45 3b 0a 0a 73 74  RNET_SCHEME;..st
52b0: 72 75 63 74 20 49 4e 54 45 52 4e 45 54 5f 41 53  ruct INTERNET_AS
52c0: 59 4e 43 5f 52 45 53 55 4c 54 20 7b 0a 09 44 57  YNC_RESULT {..DW
52d0: 4f 52 44 20 64 77 52 65 73 75 6c 74 3b 0a 09 44  ORD dwResult;..D
52e0: 57 4f 52 44 20 64 77 45 72 72 6f 72 3b 0a 7d 0a  WORD dwError;.}.
52f0: 61 6c 69 61 73 20 49 4e 54 45 52 4e 45 54 5f 41  alias INTERNET_A
5300: 53 59 4e 43 5f 52 45 53 55 4c 54 2a 20 4c 50 49  SYNC_RESULT* LPI
5310: 4e 54 45 52 4e 45 54 5f 41 53 59 4e 43 5f 52 45  NTERNET_ASYNC_RE
5320: 53 55 4c 54 3b 0a 0a 73 74 72 75 63 74 20 49 4e  SULT;..struct IN
5330: 54 45 52 4e 45 54 5f 50 52 45 46 45 54 43 48 5f  TERNET_PREFETCH_
5340: 53 54 41 54 55 53 20 7b 0a 09 44 57 4f 52 44 20  STATUS {..DWORD 
5350: 64 77 53 74 61 74 75 73 3b 0a 09 44 57 4f 52 44  dwStatus;..DWORD
5360: 20 64 77 53 69 7a 65 3b 0a 7d 0a 61 6c 69 61 73   dwSize;.}.alias
5370: 20 49 4e 54 45 52 4e 45 54 5f 50 52 45 46 45 54   INTERNET_PREFET
5380: 43 48 5f 53 54 41 54 55 53 2a 20 4c 50 49 4e 54  CH_STATUS* LPINT
5390: 45 52 4e 45 54 5f 50 52 45 46 45 54 43 48 5f 53  ERNET_PREFETCH_S
53a0: 54 41 54 55 53 3b 0a 0a 73 74 72 75 63 74 20 49  TATUS;..struct I
53b0: 4e 54 45 52 4e 45 54 5f 50 52 4f 58 59 5f 49 4e  NTERNET_PROXY_IN
53c0: 46 4f 20 7b 0a 09 44 57 4f 52 44 20 64 77 41 63  FO {..DWORD dwAc
53d0: 63 65 73 73 54 79 70 65 3b 0a 09 4c 50 43 54 53  cessType;..LPCTS
53e0: 54 52 20 6c 70 73 7a 50 72 6f 78 79 3b 0a 09 4c  TR lpszProxy;..L
53f0: 50 43 54 53 54 52 20 6c 70 73 7a 50 72 6f 78 79  PCTSTR lpszProxy
5400: 42 79 70 61 73 73 3b 0a 7d 0a 61 6c 69 61 73 20  Bypass;.}.alias 
5410: 49 4e 54 45 52 4e 45 54 5f 50 52 4f 58 59 5f 49  INTERNET_PROXY_I
5420: 4e 46 4f 2a 20 4c 50 49 4e 54 45 52 4e 45 54 5f  NFO* LPINTERNET_
5430: 50 52 4f 58 59 5f 49 4e 46 4f 3b 0a 0a 73 74 72  PROXY_INFO;..str
5440: 75 63 74 20 49 4e 54 45 52 4e 45 54 5f 56 45 52  uct INTERNET_VER
5450: 53 49 4f 4e 5f 49 4e 46 4f 20 7b 0a 09 44 57 4f  SION_INFO {..DWO
5460: 52 44 20 64 77 4d 61 6a 6f 72 56 65 72 73 69 6f  RD dwMajorVersio
5470: 6e 3b 0a 09 44 57 4f 52 44 20 64 77 4d 69 6e 6f  n;..DWORD dwMino
5480: 72 56 65 72 73 69 6f 6e 3b 0a 7d 0a 61 6c 69 61  rVersion;.}.alia
5490: 73 20 49 4e 54 45 52 4e 45 54 5f 56 45 52 53 49  s INTERNET_VERSI
54a0: 4f 4e 5f 49 4e 46 4f 2a 20 4c 50 49 4e 54 45 52  ON_INFO* LPINTER
54b0: 4e 45 54 5f 56 45 52 53 49 4f 4e 5f 49 4e 46 4f  NET_VERSION_INFO
54c0: 3b 0a 0a 73 74 72 75 63 74 20 55 52 4c 5f 43 4f  ;..struct URL_CO
54d0: 4d 50 4f 4e 45 4e 54 53 41 20 7b 0a 09 44 57 4f  MPONENTSA {..DWO
54e0: 52 44 20 20 20 20 20 20 20 20 20 20 20 64 77 53  RD           dwS
54f0: 74 72 75 63 74 53 69 7a 65 20 3d 20 55 52 4c 5f  tructSize = URL_
5500: 43 4f 4d 50 4f 4e 45 4e 54 53 41 2e 73 69 7a 65  COMPONENTSA.size
5510: 6f 66 3b 0a 09 4c 50 53 54 52 20 20 20 20 20 20  of;..LPSTR      
5520: 20 20 20 20 20 6c 70 73 7a 53 63 68 65 6d 65 3b       lpszScheme;
5530: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20  ..DWORD         
5540: 20 20 64 77 53 63 68 65 6d 65 4c 65 6e 67 74 68    dwSchemeLength
5550: 3b 0a 09 49 4e 54 45 52 4e 45 54 5f 53 43 48 45  ;..INTERNET_SCHE
5560: 4d 45 20 6e 53 63 68 65 6d 65 3b 0a 09 4c 50 53  ME nScheme;..LPS
5570: 54 52 20 20 20 20 20 20 20 20 20 20 20 6c 70 73  TR           lps
5580: 7a 48 6f 73 74 4e 61 6d 65 3b 0a 09 44 57 4f 52  zHostName;..DWOR
5590: 44 20 20 20 20 20 20 20 20 20 20 20 64 77 48 6f  D           dwHo
55a0: 73 74 4e 61 6d 65 4c 65 6e 67 74 68 3b 0a 09 49  stNameLength;..I
55b0: 4e 54 45 52 4e 45 54 5f 50 4f 52 54 20 20 20 6e  NTERNET_PORT   n
55c0: 50 6f 72 74 3b 0a 09 4c 50 53 54 52 20 20 20 20  Port;..LPSTR    
55d0: 20 20 20 20 20 20 20 6c 70 73 7a 55 73 65 72 4e         lpszUserN
55e0: 61 6d 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20  ame;..DWORD     
55f0: 20 20 20 20 20 20 64 77 55 73 65 72 4e 61 6d 65        dwUserName
5600: 4c 65 6e 67 74 68 3b 0a 09 4c 50 53 54 52 20 20  Length;..LPSTR  
5610: 20 20 20 20 20 20 20 20 20 6c 70 73 7a 50 61 73           lpszPas
5620: 73 77 6f 72 64 3b 0a 09 44 57 4f 52 44 20 20 20  sword;..DWORD   
5630: 20 20 20 20 20 20 20 20 64 77 50 61 73 73 77 6f          dwPasswo
5640: 72 64 4c 65 6e 67 74 68 3b 0a 09 4c 50 53 54 52  rdLength;..LPSTR
5650: 20 20 20 20 20 20 20 20 20 20 20 6c 70 73 7a 55             lpszU
5660: 72 6c 50 61 74 68 3b 0a 09 44 57 4f 52 44 20 20  rlPath;..DWORD  
5670: 20 20 20 20 20 20 20 20 20 64 77 55 72 6c 50 61           dwUrlPa
5680: 74 68 4c 65 6e 67 74 68 3b 0a 09 4c 50 53 54 52  thLength;..LPSTR
5690: 20 20 20 20 20 20 20 20 20 20 20 6c 70 73 7a 45             lpszE
56a0: 78 74 72 61 49 6e 66 6f 3b 0a 09 44 57 4f 52 44  xtraInfo;..DWORD
56b0: 20 20 20 20 20 20 20 20 20 20 20 64 77 45 78 74             dwExt
56c0: 72 61 49 6e 66 6f 4c 65 6e 67 74 68 3b 0a 7d 0a  raInfoLength;.}.
56d0: 61 6c 69 61 73 20 55 52 4c 5f 43 4f 4d 50 4f 4e  alias URL_COMPON
56e0: 45 4e 54 53 41 2a 20 4c 50 55 52 4c 5f 43 4f 4d  ENTSA* LPURL_COM
56f0: 50 4f 4e 45 4e 54 53 41 3b 0a 0a 73 74 72 75 63  PONENTSA;..struc
5700: 74 20 55 52 4c 5f 43 4f 4d 50 4f 4e 45 4e 54 53  t URL_COMPONENTS
5710: 57 20 7b 0a 09 44 57 4f 52 44 20 20 64 77 53 74  W {..DWORD  dwSt
5720: 72 75 63 74 53 69 7a 65 20 3d 20 55 52 4c 5f 43  ructSize = URL_C
5730: 4f 4d 50 4f 4e 45 4e 54 53 57 2e 73 69 7a 65 6f  OMPONENTSW.sizeo
5740: 66 3b 0a 09 4c 50 57 53 54 52 20 6c 70 73 7a 53  f;..LPWSTR lpszS
5750: 63 68 65 6d 65 3b 0a 09 44 57 4f 52 44 20 20 64  cheme;..DWORD  d
5760: 77 53 63 68 65 6d 65 4c 65 6e 67 74 68 3b 0a 09  wSchemeLength;..
5770: 49 4e 54 45 52 4e 45 54 5f 53 43 48 45 4d 45 20  INTERNET_SCHEME 
5780: 6e 53 63 68 65 6d 65 3b 0a 09 4c 50 57 53 54 52  nScheme;..LPWSTR
5790: 20 6c 70 73 7a 48 6f 73 74 4e 61 6d 65 3b 0a 09   lpszHostName;..
57a0: 44 57 4f 52 44 20 20 64 77 48 6f 73 74 4e 61 6d  DWORD  dwHostNam
57b0: 65 4c 65 6e 67 74 68 3b 0a 09 49 4e 54 45 52 4e  eLength;..INTERN
57c0: 45 54 5f 50 4f 52 54 20 6e 50 6f 72 74 3b 0a 09  ET_PORT nPort;..
57d0: 4c 50 57 53 54 52 20 6c 70 73 7a 55 73 65 72 4e  LPWSTR lpszUserN
57e0: 61 6d 65 3b 0a 09 44 57 4f 52 44 20 20 64 77 55  ame;..DWORD  dwU
57f0: 73 65 72 4e 61 6d 65 4c 65 6e 67 74 68 3b 0a 09  serNameLength;..
5800: 4c 50 57 53 54 52 20 6c 70 73 7a 50 61 73 73 77  LPWSTR lpszPassw
5810: 6f 72 64 3b 0a 09 44 57 4f 52 44 20 20 64 77 50  ord;..DWORD  dwP
5820: 61 73 73 77 6f 72 64 4c 65 6e 67 74 68 3b 0a 09  asswordLength;..
5830: 4c 50 57 53 54 52 20 6c 70 73 7a 55 72 6c 50 61  LPWSTR lpszUrlPa
5840: 74 68 3b 0a 09 44 57 4f 52 44 20 20 64 77 55 72  th;..DWORD  dwUr
5850: 6c 50 61 74 68 4c 65 6e 67 74 68 3b 0a 09 4c 50  lPathLength;..LP
5860: 57 53 54 52 20 6c 70 73 7a 45 78 74 72 61 49 6e  WSTR lpszExtraIn
5870: 66 6f 3b 0a 09 44 57 4f 52 44 20 20 64 77 45 78  fo;..DWORD  dwEx
5880: 74 72 61 49 6e 66 6f 4c 65 6e 67 74 68 3b 0a 7d  traInfoLength;.}
5890: 0a 61 6c 69 61 73 20 55 52 4c 5f 43 4f 4d 50 4f  .alias URL_COMPO
58a0: 4e 45 4e 54 53 57 2a 20 4c 50 55 52 4c 5f 43 4f  NENTSW* LPURL_CO
58b0: 4d 50 4f 4e 45 4e 54 53 57 3b 0a 0a 73 74 72 75  MPONENTSW;..stru
58c0: 63 74 20 49 4e 54 45 52 4e 45 54 5f 43 45 52 54  ct INTERNET_CERT
58d0: 49 46 49 43 41 54 45 5f 49 4e 46 4f 20 7b 0a 09  IFICATE_INFO {..
58e0: 46 49 4c 45 54 49 4d 45 20 66 74 45 78 70 69 72  FILETIME ftExpir
58f0: 79 3b 0a 09 46 49 4c 45 54 49 4d 45 20 66 74 53  y;..FILETIME ftS
5900: 74 61 72 74 3b 0a 09 4c 50 54 53 54 52 20 20 20  tart;..LPTSTR   
5910: 6c 70 73 7a 53 75 62 6a 65 63 74 49 6e 66 6f 3b  lpszSubjectInfo;
5920: 0a 09 4c 50 54 53 54 52 20 20 20 6c 70 73 7a 49  ..LPTSTR   lpszI
5930: 73 73 75 65 72 49 6e 66 6f 3b 0a 09 4c 50 54 53  ssuerInfo;..LPTS
5940: 54 52 20 20 20 6c 70 73 7a 50 72 6f 74 6f 63 6f  TR   lpszProtoco
5950: 6c 4e 61 6d 65 3b 0a 09 4c 50 54 53 54 52 20 20  lName;..LPTSTR  
5960: 20 6c 70 73 7a 53 69 67 6e 61 74 75 72 65 41 6c   lpszSignatureAl
5970: 67 4e 61 6d 65 3b 0a 09 4c 50 54 53 54 52 20 20  gName;..LPTSTR  
5980: 20 6c 70 73 7a 45 6e 63 72 79 70 74 69 6f 6e 41   lpszEncryptionA
5990: 6c 67 4e 61 6d 65 3b 0a 09 44 57 4f 52 44 20 20  lgName;..DWORD  
59a0: 20 20 64 77 4b 65 79 53 69 7a 65 3b 0a 7d 0a 61    dwKeySize;.}.a
59b0: 6c 69 61 73 20 49 4e 54 45 52 4e 45 54 5f 43 45  lias INTERNET_CE
59c0: 52 54 49 46 49 43 41 54 45 5f 49 4e 46 4f 2a 20  RTIFICATE_INFO* 
59d0: 4c 50 49 4e 54 45 52 4e 45 54 5f 43 45 52 54 49  LPINTERNET_CERTI
59e0: 46 49 43 41 54 45 5f 49 4e 46 4f 3b 0a 0a 65 78  FICATE_INFO;..ex
59f0: 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 61  tern (Windows) a
5a00: 6c 69 61 73 20 76 6f 69 64 20 66 75 6e 63 74 69  lias void functi
5a10: 6f 6e 28 48 49 4e 54 45 52 4e 45 54 2c 20 44 57  on(HINTERNET, DW
5a20: 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49  ORD, DWORD, PVOI
5a30: 44 2c 20 44 57 4f 52 44 29 0a 20 20 49 4e 54 45  D, DWORD).  INTE
5a40: 52 4e 45 54 5f 53 54 41 54 55 53 5f 43 41 4c 4c  RNET_STATUS_CALL
5a50: 42 41 43 4b 3b 0a 61 6c 69 61 73 20 49 4e 54 45  BACK;.alias INTE
5a60: 52 4e 45 54 5f 53 54 41 54 55 53 5f 43 41 4c 4c  RNET_STATUS_CALL
5a70: 42 41 43 4b 2a 20 4c 50 49 4e 54 45 52 4e 45 54  BACK* LPINTERNET
5a80: 5f 53 54 41 54 55 53 5f 43 41 4c 4c 42 41 43 4b  _STATUS_CALLBACK
5a90: 3b 0a 0a 73 74 72 75 63 74 20 47 4f 50 48 45 52  ;..struct GOPHER
5aa0: 5f 46 49 4e 44 5f 44 41 54 41 41 20 7b 0a 09 43  _FIND_DATAA {..C
5ab0: 48 41 52 5b 4d 41 58 5f 47 4f 50 48 45 52 5f 44  HAR[MAX_GOPHER_D
5ac0: 49 53 50 4c 41 59 5f 54 45 58 54 2b 31 5d 20 44  ISPLAY_TEXT+1] D
5ad0: 69 73 70 6c 61 79 53 74 72 69 6e 67 3b 0a 09 44  isplayString;..D
5ae0: 57 4f 52 44 20 20 20 20 47 6f 70 68 65 72 54 79  WORD    GopherTy
5af0: 70 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 53 69  pe;..DWORD    Si
5b00: 7a 65 4c 6f 77 3b 0a 09 44 57 4f 52 44 20 20 20  zeLow;..DWORD   
5b10: 20 53 69 7a 65 48 69 67 68 3b 0a 09 46 49 4c 45   SizeHigh;..FILE
5b20: 54 49 4d 45 20 4c 61 73 74 4d 6f 64 69 66 69 63  TIME LastModific
5b30: 61 74 69 6f 6e 54 69 6d 65 3b 0a 09 43 48 41 52  ationTime;..CHAR
5b40: 5b 4d 41 58 5f 47 4f 50 48 45 52 5f 4c 4f 43 41  [MAX_GOPHER_LOCA
5b50: 54 4f 52 5f 4c 45 4e 47 54 48 2b 31 5d 20 4c 6f  TOR_LENGTH+1] Lo
5b60: 63 61 74 6f 72 3b 0a 7d 0a 61 6c 69 61 73 20 47  cator;.}.alias G
5b70: 4f 50 48 45 52 5f 46 49 4e 44 5f 44 41 54 41 41  OPHER_FIND_DATAA
5b80: 2a 20 4c 50 47 4f 50 48 45 52 5f 46 49 4e 44 5f  * LPGOPHER_FIND_
5b90: 44 41 54 41 41 3b 0a 0a 73 74 72 75 63 74 20 47  DATAA;..struct G
5ba0: 4f 50 48 45 52 5f 46 49 4e 44 5f 44 41 54 41 57  OPHER_FIND_DATAW
5bb0: 20 7b 0a 09 57 43 48 41 52 5b 4d 41 58 5f 47 4f   {..WCHAR[MAX_GO
5bc0: 50 48 45 52 5f 44 49 53 50 4c 41 59 5f 54 45 58  PHER_DISPLAY_TEX
5bd0: 54 2b 31 5d 20 44 69 73 70 6c 61 79 53 74 72 69  T+1] DisplayStri
5be0: 6e 67 3b 0a 09 44 57 4f 52 44 20 20 20 20 47 6f  ng;..DWORD    Go
5bf0: 70 68 65 72 54 79 70 65 3b 0a 09 44 57 4f 52 44  pherType;..DWORD
5c00: 20 20 20 20 53 69 7a 65 4c 6f 77 3b 0a 09 44 57      SizeLow;..DW
5c10: 4f 52 44 20 20 20 20 53 69 7a 65 48 69 67 68 3b  ORD    SizeHigh;
5c20: 0a 09 46 49 4c 45 54 49 4d 45 20 4c 61 73 74 4d  ..FILETIME LastM
5c30: 6f 64 69 66 69 63 61 74 69 6f 6e 54 69 6d 65 3b  odificationTime;
5c40: 0a 09 57 43 48 41 52 5b 4d 41 58 5f 47 4f 50 48  ..WCHAR[MAX_GOPH
5c50: 45 52 5f 4c 4f 43 41 54 4f 52 5f 4c 45 4e 47 54  ER_LOCATOR_LENGT
5c60: 48 2b 31 5d 20 4c 6f 63 61 74 6f 72 3b 0a 7d 0a  H+1] Locator;.}.
5c70: 61 6c 69 61 73 20 47 4f 50 48 45 52 5f 46 49 4e  alias GOPHER_FIN
5c80: 44 5f 44 41 54 41 57 2a 20 4c 50 47 4f 50 48 45  D_DATAW* LPGOPHE
5c90: 52 5f 46 49 4e 44 5f 44 41 54 41 57 3b 0a 0a 73  R_FIND_DATAW;..s
5ca0: 74 72 75 63 74 20 47 4f 50 48 45 52 5f 41 44 4d  truct GOPHER_ADM
5cb0: 49 4e 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50  IN_ATTRIBUTE_TYP
5cc0: 45 20 7b 0a 09 4c 50 43 54 53 54 52 20 43 6f 6d  E {..LPCTSTR Com
5cd0: 6d 65 6e 74 3b 0a 09 4c 50 43 54 53 54 52 20 45  ment;..LPCTSTR E
5ce0: 6d 61 69 6c 41 64 64 72 65 73 73 3b 0a 7d 0a 61  mailAddress;.}.a
5cf0: 6c 69 61 73 20 47 4f 50 48 45 52 5f 41 44 4d 49  lias GOPHER_ADMI
5d00: 4e 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45  N_ATTRIBUTE_TYPE
5d10: 2a 20 4c 50 47 4f 50 48 45 52 5f 41 44 4d 49 4e  * LPGOPHER_ADMIN
5d20: 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 3b  _ATTRIBUTE_TYPE;
5d30: 0a 0a 73 74 72 75 63 74 20 47 4f 50 48 45 52 5f  ..struct GOPHER_
5d40: 4d 4f 44 5f 44 41 54 45 5f 41 54 54 52 49 42 55  MOD_DATE_ATTRIBU
5d50: 54 45 5f 54 59 50 45 20 7b 0a 09 46 49 4c 45 54  TE_TYPE {..FILET
5d60: 49 4d 45 20 44 61 74 65 41 6e 64 54 69 6d 65 3b  IME DateAndTime;
5d70: 0a 7d 0a 61 6c 69 61 73 20 47 4f 50 48 45 52 5f  .}.alias GOPHER_
5d80: 4d 4f 44 5f 44 41 54 45 5f 41 54 54 52 49 42 55  MOD_DATE_ATTRIBU
5d90: 54 45 5f 54 59 50 45 2a 20 4c 50 47 4f 50 48 45  TE_TYPE* LPGOPHE
5da0: 52 5f 4d 4f 44 5f 44 41 54 45 5f 41 54 54 52 49  R_MOD_DATE_ATTRI
5db0: 42 55 54 45 5f 54 59 50 45 3b 0a 0a 73 74 72 75  BUTE_TYPE;..stru
5dc0: 63 74 20 47 4f 50 48 45 52 5f 54 54 4c 5f 41 54  ct GOPHER_TTL_AT
5dd0: 54 52 49 42 55 54 45 5f 54 59 50 45 20 7b 0a 09  TRIBUTE_TYPE {..
5de0: 44 57 4f 52 44 20 54 74 6c 3b 0a 7d 0a 61 6c 69  DWORD Ttl;.}.ali
5df0: 61 73 20 47 4f 50 48 45 52 5f 54 54 4c 5f 41 54  as GOPHER_TTL_AT
5e00: 54 52 49 42 55 54 45 5f 54 59 50 45 2a 20 4c 50  TRIBUTE_TYPE* LP
5e10: 47 4f 50 48 45 52 5f 54 54 4c 5f 41 54 54 52 49  GOPHER_TTL_ATTRI
5e20: 42 55 54 45 5f 54 59 50 45 3b 0a 0a 73 74 72 75  BUTE_TYPE;..stru
5e30: 63 74 20 47 4f 50 48 45 52 5f 53 43 4f 52 45 5f  ct GOPHER_SCORE_
5e40: 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 20 7b  ATTRIBUTE_TYPE {
5e50: 0a 09 49 4e 54 20 53 63 6f 72 65 3b 0a 7d 0a 61  ..INT Score;.}.a
5e60: 6c 69 61 73 20 47 4f 50 48 45 52 5f 53 43 4f 52  lias GOPHER_SCOR
5e70: 45 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45  E_ATTRIBUTE_TYPE
5e80: 2a 20 4c 50 47 4f 50 48 45 52 5f 53 43 4f 52 45  * LPGOPHER_SCORE
5e90: 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 3b  _ATTRIBUTE_TYPE;
5ea0: 0a 0a 73 74 72 75 63 74 20 47 4f 50 48 45 52 5f  ..struct GOPHER_
5eb0: 53 43 4f 52 45 5f 52 41 4e 47 45 5f 41 54 54 52  SCORE_RANGE_ATTR
5ec0: 49 42 55 54 45 5f 54 59 50 45 20 7b 0a 09 49 4e  IBUTE_TYPE {..IN
5ed0: 54 20 4c 6f 77 65 72 42 6f 75 6e 64 3b 0a 09 49  T LowerBound;..I
5ee0: 4e 54 20 55 70 70 65 72 42 6f 75 6e 64 3b 0a 7d  NT UpperBound;.}
5ef0: 0a 61 6c 69 61 73 20 47 4f 50 48 45 52 5f 53 43  .alias GOPHER_SC
5f00: 4f 52 45 5f 52 41 4e 47 45 5f 41 54 54 52 49 42  ORE_RANGE_ATTRIB
5f10: 55 54 45 5f 54 59 50 45 2a 20 4c 50 47 4f 50 48  UTE_TYPE* LPGOPH
5f20: 45 52 5f 53 43 4f 52 45 5f 52 41 4e 47 45 5f 41  ER_SCORE_RANGE_A
5f30: 54 54 52 49 42 55 54 45 5f 54 59 50 45 3b 0a 0a  TTRIBUTE_TYPE;..
5f40: 73 74 72 75 63 74 20 47 4f 50 48 45 52 5f 53 49  struct GOPHER_SI
5f50: 54 45 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50  TE_ATTRIBUTE_TYP
5f60: 45 20 7b 0a 09 4c 50 43 54 53 54 52 20 53 69 74  E {..LPCTSTR Sit
5f70: 65 3b 0a 7d 0a 61 6c 69 61 73 20 47 4f 50 48 45  e;.}.alias GOPHE
5f80: 52 5f 53 49 54 45 5f 41 54 54 52 49 42 55 54 45  R_SITE_ATTRIBUTE
5f90: 5f 54 59 50 45 2a 20 4c 50 47 4f 50 48 45 52 5f  _TYPE* LPGOPHER_
5fa0: 53 49 54 45 5f 41 54 54 52 49 42 55 54 45 5f 54  SITE_ATTRIBUTE_T
5fb0: 59 50 45 3b 0a 0a 73 74 72 75 63 74 20 47 4f 50  YPE;..struct GOP
5fc0: 48 45 52 5f 4f 52 47 41 4e 49 5a 41 54 49 4f 4e  HER_ORGANIZATION
5fd0: 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 20  _ATTRIBUTE_TYPE 
5fe0: 7b 0a 09 4c 50 43 54 53 54 52 20 4f 72 67 61 6e  {..LPCTSTR Organ
5ff0: 69 7a 61 74 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73  ization;.}.alias
6000: 20 47 4f 50 48 45 52 5f 4f 52 47 41 4e 49 5a 41   GOPHER_ORGANIZA
6010: 54 49 4f 4e 5f 41 54 54 52 49 42 55 54 45 5f 54  TION_ATTRIBUTE_T
6020: 59 50 45 2a 20 4c 50 47 4f 50 48 45 52 5f 4f 52  YPE* LPGOPHER_OR
6030: 47 41 4e 49 5a 41 54 49 4f 4e 5f 41 54 54 52 49  GANIZATION_ATTRI
6040: 42 55 54 45 5f 54 59 50 45 3b 0a 0a 73 74 72 75  BUTE_TYPE;..stru
6050: 63 74 20 47 4f 50 48 45 52 5f 4c 4f 43 41 54 49  ct GOPHER_LOCATI
6060: 4f 4e 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50  ON_ATTRIBUTE_TYP
6070: 45 20 7b 0a 09 4c 50 43 54 53 54 52 20 4c 6f 63  E {..LPCTSTR Loc
6080: 61 74 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 47  ation;.}.alias G
6090: 4f 50 48 45 52 5f 4c 4f 43 41 54 49 4f 4e 5f 41  OPHER_LOCATION_A
60a0: 54 54 52 49 42 55 54 45 5f 54 59 50 45 2a 20 4c  TTRIBUTE_TYPE* L
60b0: 50 47 4f 50 48 45 52 5f 4c 4f 43 41 54 49 4f 4e  PGOPHER_LOCATION
60c0: 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 3b  _ATTRIBUTE_TYPE;
60d0: 0a 0a 73 74 72 75 63 74 20 47 4f 50 48 45 52 5f  ..struct GOPHER_
60e0: 47 45 4f 47 52 41 50 48 49 43 41 4c 5f 4c 4f 43  GEOGRAPHICAL_LOC
60f0: 41 54 49 4f 4e 5f 41 54 54 52 49 42 55 54 45 5f  ATION_ATTRIBUTE_
6100: 54 59 50 45 20 7b 0a 09 49 4e 54 20 44 65 67 72  TYPE {..INT Degr
6110: 65 65 73 4e 6f 72 74 68 3b 0a 09 49 4e 54 20 4d  eesNorth;..INT M
6120: 69 6e 75 74 65 73 4e 6f 72 74 68 3b 0a 09 49 4e  inutesNorth;..IN
6130: 54 20 53 65 63 6f 6e 64 73 4e 6f 72 74 68 3b 0a  T SecondsNorth;.
6140: 09 49 4e 54 20 44 65 67 72 65 65 73 45 61 73 74  .INT DegreesEast
6150: 3b 0a 09 49 4e 54 20 4d 69 6e 75 74 65 73 45 61  ;..INT MinutesEa
6160: 73 74 3b 0a 09 49 4e 54 20 53 65 63 6f 6e 64 73  st;..INT Seconds
6170: 45 61 73 74 3b 0a 7d 0a 61 6c 69 61 73 20 47 4f  East;.}.alias GO
6180: 50 48 45 52 5f 47 45 4f 47 52 41 50 48 49 43 41  PHER_GEOGRAPHICA
6190: 4c 5f 4c 4f 43 41 54 49 4f 4e 5f 41 54 54 52 49  L_LOCATION_ATTRI
61a0: 42 55 54 45 5f 54 59 50 45 2a 0a 20 20 4c 50 47  BUTE_TYPE*.  LPG
61b0: 4f 50 48 45 52 5f 47 45 4f 47 52 41 50 48 49 43  OPHER_GEOGRAPHIC
61c0: 41 4c 5f 4c 4f 43 41 54 49 4f 4e 5f 41 54 54 52  AL_LOCATION_ATTR
61d0: 49 42 55 54 45 5f 54 59 50 45 3b 0a 0a 73 74 72  IBUTE_TYPE;..str
61e0: 75 63 74 20 47 4f 50 48 45 52 5f 54 49 4d 45 5a  uct GOPHER_TIMEZ
61f0: 4f 4e 45 5f 41 54 54 52 49 42 55 54 45 5f 54 59  ONE_ATTRIBUTE_TY
6200: 50 45 20 7b 0a 09 49 4e 54 20 5a 6f 6e 65 3b 0a  PE {..INT Zone;.
6210: 7d 0a 61 6c 69 61 73 20 47 4f 50 48 45 52 5f 54  }.alias GOPHER_T
6220: 49 4d 45 5a 4f 4e 45 5f 41 54 54 52 49 42 55 54  IMEZONE_ATTRIBUT
6230: 45 5f 54 59 50 45 2a 20 4c 50 47 4f 50 48 45 52  E_TYPE* LPGOPHER
6240: 5f 54 49 4d 45 5a 4f 4e 45 5f 41 54 54 52 49 42  _TIMEZONE_ATTRIB
6250: 55 54 45 5f 54 59 50 45 3b 0a 0a 73 74 72 75 63  UTE_TYPE;..struc
6260: 74 20 47 4f 50 48 45 52 5f 50 52 4f 56 49 44 45  t GOPHER_PROVIDE
6270: 52 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45  R_ATTRIBUTE_TYPE
6280: 20 7b 0a 09 4c 50 43 54 53 54 52 20 50 72 6f 76   {..LPCTSTR Prov
6290: 69 64 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 47 4f  ider;.}.alias GO
62a0: 50 48 45 52 5f 50 52 4f 56 49 44 45 52 5f 41 54  PHER_PROVIDER_AT
62b0: 54 52 49 42 55 54 45 5f 54 59 50 45 2a 20 4c 50  TRIBUTE_TYPE* LP
62c0: 47 4f 50 48 45 52 5f 50 52 4f 56 49 44 45 52 5f  GOPHER_PROVIDER_
62d0: 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 3b 0a  ATTRIBUTE_TYPE;.
62e0: 0a 73 74 72 75 63 74 20 47 4f 50 48 45 52 5f 56  .struct GOPHER_V
62f0: 45 52 53 49 4f 4e 5f 41 54 54 52 49 42 55 54 45  ERSION_ATTRIBUTE
6300: 5f 54 59 50 45 20 7b 0a 09 4c 50 43 54 53 54 52  _TYPE {..LPCTSTR
6310: 20 56 65 72 73 69 6f 6e 3b 0a 7d 0a 61 6c 69 61   Version;.}.alia
6320: 73 20 47 4f 50 48 45 52 5f 56 45 52 53 49 4f 4e  s GOPHER_VERSION
6330: 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 2a  _ATTRIBUTE_TYPE*
6340: 20 4c 50 47 4f 50 48 45 52 5f 56 45 52 53 49 4f   LPGOPHER_VERSIO
6350: 4e 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45  N_ATTRIBUTE_TYPE
6360: 3b 0a 0a 73 74 72 75 63 74 20 47 4f 50 48 45 52  ;..struct GOPHER
6370: 5f 41 42 53 54 52 41 43 54 5f 41 54 54 52 49 42  _ABSTRACT_ATTRIB
6380: 55 54 45 5f 54 59 50 45 20 7b 0a 09 4c 50 43 54  UTE_TYPE {..LPCT
6390: 53 54 52 20 53 68 6f 72 74 41 62 73 74 72 61 63  STR ShortAbstrac
63a0: 74 3b 0a 09 4c 50 43 54 53 54 52 20 41 62 73 74  t;..LPCTSTR Abst
63b0: 72 61 63 74 46 69 6c 65 3b 0a 7d 0a 61 6c 69 61  ractFile;.}.alia
63c0: 73 20 47 4f 50 48 45 52 5f 41 42 53 54 52 41 43  s GOPHER_ABSTRAC
63d0: 54 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45  T_ATTRIBUTE_TYPE
63e0: 2a 20 4c 50 47 4f 50 48 45 52 5f 41 42 53 54 52  * LPGOPHER_ABSTR
63f0: 41 43 54 5f 41 54 54 52 49 42 55 54 45 5f 54 59  ACT_ATTRIBUTE_TY
6400: 50 45 3b 0a 0a 73 74 72 75 63 74 20 47 4f 50 48  PE;..struct GOPH
6410: 45 52 5f 56 49 45 57 5f 41 54 54 52 49 42 55 54  ER_VIEW_ATTRIBUT
6420: 45 5f 54 59 50 45 20 7b 0a 09 4c 50 43 54 53 54  E_TYPE {..LPCTST
6430: 52 20 43 6f 6e 74 65 6e 74 54 79 70 65 3b 0a 09  R ContentType;..
6440: 4c 50 43 54 53 54 52 20 4c 61 6e 67 75 61 67 65  LPCTSTR Language
6450: 3b 0a 09 44 57 4f 52 44 20 20 20 53 69 7a 65 3b  ;..DWORD   Size;
6460: 0a 7d 0a 61 6c 69 61 73 20 47 4f 50 48 45 52 5f  .}.alias GOPHER_
6470: 56 49 45 57 5f 41 54 54 52 49 42 55 54 45 5f 54  VIEW_ATTRIBUTE_T
6480: 59 50 45 2a 20 4c 50 47 4f 50 48 45 52 5f 56 49  YPE* LPGOPHER_VI
6490: 45 57 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50  EW_ATTRIBUTE_TYP
64a0: 45 3b 0a 0a 73 74 72 75 63 74 20 47 4f 50 48 45  E;..struct GOPHE
64b0: 52 5f 56 45 52 4f 4e 49 43 41 5f 41 54 54 52 49  R_VERONICA_ATTRI
64c0: 42 55 54 45 5f 54 59 50 45 20 7b 0a 09 42 4f 4f  BUTE_TYPE {..BOO
64d0: 4c 20 54 72 65 65 57 61 6c 6b 3b 0a 7d 0a 61 6c  L TreeWalk;.}.al
64e0: 69 61 73 20 47 4f 50 48 45 52 5f 56 45 52 4f 4e  ias GOPHER_VERON
64f0: 49 43 41 5f 41 54 54 52 49 42 55 54 45 5f 54 59  ICA_ATTRIBUTE_TY
6500: 50 45 2a 20 4c 50 47 4f 50 48 45 52 5f 56 45 52  PE* LPGOPHER_VER
6510: 4f 4e 49 43 41 5f 41 54 54 52 49 42 55 54 45 5f  ONICA_ATTRIBUTE_
6520: 54 59 50 45 3b 0a 0a 73 74 72 75 63 74 20 47 4f  TYPE;..struct GO
6530: 50 48 45 52 5f 41 53 4b 5f 41 54 54 52 49 42 55  PHER_ASK_ATTRIBU
6540: 54 45 5f 54 59 50 45 20 7b 0a 09 4c 50 43 54 53  TE_TYPE {..LPCTS
6550: 54 52 20 51 75 65 73 74 69 6f 6e 54 79 70 65 3b  TR QuestionType;
6560: 0a 09 4c 50 43 54 53 54 52 20 51 75 65 73 74 69  ..LPCTSTR Questi
6570: 6f 6e 54 65 78 74 3b 0a 7d 0a 61 6c 69 61 73 20  onText;.}.alias 
6580: 47 4f 50 48 45 52 5f 41 53 4b 5f 41 54 54 52 49  GOPHER_ASK_ATTRI
6590: 42 55 54 45 5f 54 59 50 45 2a 20 4c 50 47 4f 50  BUTE_TYPE* LPGOP
65a0: 48 45 52 5f 41 53 4b 5f 41 54 54 52 49 42 55 54  HER_ASK_ATTRIBUT
65b0: 45 5f 54 59 50 45 3b 0a 0a 73 74 72 75 63 74 20  E_TYPE;..struct 
65c0: 47 4f 50 48 45 52 5f 55 4e 4b 4e 4f 57 4e 5f 41  GOPHER_UNKNOWN_A
65d0: 54 54 52 49 42 55 54 45 5f 54 59 50 45 20 7b 0a  TTRIBUTE_TYPE {.
65e0: 09 4c 50 43 54 53 54 52 20 54 65 78 74 3b 0a 7d  .LPCTSTR Text;.}
65f0: 0a 61 6c 69 61 73 20 47 4f 50 48 45 52 5f 55 4e  .alias GOPHER_UN
6600: 4b 4e 4f 57 4e 5f 41 54 54 52 49 42 55 54 45 5f  KNOWN_ATTRIBUTE_
6610: 54 59 50 45 2a 20 4c 50 47 4f 50 48 45 52 5f 55  TYPE* LPGOPHER_U
6620: 4e 4b 4e 4f 57 4e 5f 41 54 54 52 49 42 55 54 45  NKNOWN_ATTRIBUTE
6630: 5f 54 59 50 45 3b 0a 0a 73 74 72 75 63 74 20 47  _TYPE;..struct G
6640: 4f 50 48 45 52 5f 41 54 54 52 49 42 55 54 45 5f  OPHER_ATTRIBUTE_
6650: 54 59 50 45 20 7b 0a 09 44 57 4f 52 44 20 43 61  TYPE {..DWORD Ca
6660: 74 65 67 6f 72 79 49 64 3b 0a 09 44 57 4f 52 44  tegoryId;..DWORD
6670: 20 41 74 74 72 69 62 75 74 65 49 64 3b 0a 09 75   AttributeId;..u
6680: 6e 69 6f 6e 20 7b 0a 09 09 47 4f 50 48 45 52 5f  nion {...GOPHER_
6690: 41 44 4d 49 4e 5f 41 54 54 52 49 42 55 54 45 5f  ADMIN_ATTRIBUTE_
66a0: 54 59 50 45 20 20 20 20 20 20 20 20 20 20 20 20  TYPE            
66b0: 20 20 20 20 20 41 64 6d 69 6e 3b 0a 09 09 47 4f       Admin;...GO
66c0: 50 48 45 52 5f 4d 4f 44 5f 44 41 54 45 5f 41 54  PHER_MOD_DATE_AT
66d0: 54 52 49 42 55 54 45 5f 54 59 50 45 20 20 20 20  TRIBUTE_TYPE    
66e0: 20 20 20 20 20 20 20 20 20 20 4d 6f 64 44 61 74            ModDat
66f0: 65 3b 0a 09 09 47 4f 50 48 45 52 5f 54 54 4c 5f  e;...GOPHER_TTL_
6700: 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 20 20  ATTRIBUTE_TYPE  
6710: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6720: 20 54 74 6c 3b 0a 09 09 47 4f 50 48 45 52 5f 53   Ttl;...GOPHER_S
6730: 43 4f 52 45 5f 41 54 54 52 49 42 55 54 45 5f 54  CORE_ATTRIBUTE_T
6740: 59 50 45 20 20 20 20 20 20 20 20 20 20 20 20 20  YPE             
6750: 20 20 20 20 53 63 6f 72 65 3b 0a 09 09 47 4f 50      Score;...GOP
6760: 48 45 52 5f 53 43 4f 52 45 5f 52 41 4e 47 45 5f  HER_SCORE_RANGE_
6770: 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 20 20  ATTRIBUTE_TYPE  
6780: 20 20 20 20 20 20 20 20 20 53 63 6f 72 65 52 61           ScoreRa
6790: 6e 67 65 3b 0a 09 09 47 4f 50 48 45 52 5f 53 49  nge;...GOPHER_SI
67a0: 54 45 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50  TE_ATTRIBUTE_TYP
67b0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  E               
67c0: 20 20 20 53 69 74 65 3b 0a 09 09 47 4f 50 48 45     Site;...GOPHE
67d0: 52 5f 4f 52 47 41 4e 49 5a 41 54 49 4f 4e 5f 41  R_ORGANIZATION_A
67e0: 54 54 52 49 42 55 54 45 5f 54 59 50 45 20 20 20  TTRIBUTE_TYPE   
67f0: 20 20 20 20 20 20 20 4f 72 67 61 6e 69 7a 61 74         Organizat
6800: 69 6f 6e 3b 0a 09 09 47 4f 50 48 45 52 5f 4c 4f  ion;...GOPHER_LO
6810: 43 41 54 49 4f 4e 5f 41 54 54 52 49 42 55 54 45  CATION_ATTRIBUTE
6820: 5f 54 59 50 45 20 20 20 20 20 20 20 20 20 20 20  _TYPE           
6830: 20 20 20 4c 6f 63 61 74 69 6f 6e 3b 0a 09 09 47     Location;...G
6840: 4f 50 48 45 52 5f 47 45 4f 47 52 41 50 48 49 43  OPHER_GEOGRAPHIC
6850: 41 4c 5f 4c 4f 43 41 54 49 4f 4e 5f 41 54 54 52  AL_LOCATION_ATTR
6860: 49 42 55 54 45 5f 54 59 50 45 20 47 65 6f 67 72  IBUTE_TYPE Geogr
6870: 61 70 68 69 63 61 6c 4c 6f 63 61 74 69 6f 6e 3b  aphicalLocation;
6880: 0a 09 09 47 4f 50 48 45 52 5f 54 49 4d 45 5a 4f  ...GOPHER_TIMEZO
6890: 4e 45 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50  NE_ATTRIBUTE_TYP
68a0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54  E              T
68b0: 69 6d 65 5a 6f 6e 65 3b 0a 09 09 47 4f 50 48 45  imeZone;...GOPHE
68c0: 52 5f 50 52 4f 56 49 44 45 52 5f 41 54 54 52 49  R_PROVIDER_ATTRI
68d0: 42 55 54 45 5f 54 59 50 45 20 20 20 20 20 20 20  BUTE_TYPE       
68e0: 20 20 20 20 20 20 20 50 72 6f 76 69 64 65 72 3b         Provider;
68f0: 0a 09 09 47 4f 50 48 45 52 5f 56 45 52 53 49 4f  ...GOPHER_VERSIO
6900: 4e 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45  N_ATTRIBUTE_TYPE
6910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56                 V
6920: 65 72 73 69 6f 6e 3b 0a 09 09 47 4f 50 48 45 52  ersion;...GOPHER
6930: 5f 41 42 53 54 52 41 43 54 5f 41 54 54 52 49 42  _ABSTRACT_ATTRIB
6940: 55 54 45 5f 54 59 50 45 20 20 20 20 20 20 20 20  UTE_TYPE        
6950: 20 20 20 20 20 20 41 62 73 74 72 61 63 74 3b 0a        Abstract;.
6960: 09 09 47 4f 50 48 45 52 5f 56 49 45 57 5f 41 54  ..GOPHER_VIEW_AT
6970: 54 52 49 42 55 54 45 5f 54 59 50 45 20 20 20 20  TRIBUTE_TYPE    
6980: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 69                Vi
6990: 65 77 3b 0a 09 09 47 4f 50 48 45 52 5f 56 45 52  ew;...GOPHER_VER
69a0: 4f 4e 49 43 41 5f 41 54 54 52 49 42 55 54 45 5f  ONICA_ATTRIBUTE_
69b0: 54 59 50 45 20 20 20 20 20 20 20 20 20 20 20 20  TYPE            
69c0: 20 20 56 65 72 6f 6e 69 63 61 3b 0a 09 09 47 4f    Veronica;...GO
69d0: 50 48 45 52 5f 41 53 4b 5f 41 54 54 52 49 42 55  PHER_ASK_ATTRIBU
69e0: 54 45 5f 54 59 50 45 20 20 20 20 20 20 20 20 20  TE_TYPE         
69f0: 20 20 20 20 20 20 20 20 20 20 41 73 6b 3b 0a 09            Ask;..
6a00: 09 47 4f 50 48 45 52 5f 55 4e 4b 4e 4f 57 4e 5f  .GOPHER_UNKNOWN_
6a10: 41 54 54 52 49 42 55 54 45 5f 54 59 50 45 20 20  ATTRIBUTE_TYPE  
6a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 6b               Unk
6a30: 6e 6f 77 6e 3b 0a 09 7d 20 2f 2b 41 74 74 72 69  nown;..} /+Attri
6a40: 62 75 74 65 54 79 70 65 3b 2b 2f 0a 7d 0a 61 6c  buteType;+/.}.al
6a50: 69 61 73 20 47 4f 50 48 45 52 5f 41 54 54 52 49  ias GOPHER_ATTRI
6a60: 42 55 54 45 5f 54 59 50 45 2a 20 4c 50 47 4f 50  BUTE_TYPE* LPGOP
6a70: 48 45 52 5f 41 54 54 52 49 42 55 54 45 5f 54 59  HER_ATTRIBUTE_TY
6a80: 50 45 3b 0a 0a 61 6c 69 61 73 20 42 4f 4f 4c 20  PE;..alias BOOL 
6a90: 66 75 6e 63 74 69 6f 6e 28 4c 50 47 4f 50 48 45  function(LPGOPHE
6aa0: 52 5f 41 54 54 52 49 42 55 54 45 5f 54 59 50 45  R_ATTRIBUTE_TYPE
6ab0: 2c 20 44 57 4f 52 44 29 0a 20 20 47 4f 50 48 45  , DWORD).  GOPHE
6ac0: 52 5f 41 54 54 52 49 42 55 54 45 5f 45 4e 55 4d  R_ATTRIBUTE_ENUM
6ad0: 45 52 41 54 4f 52 3b 0a 0a 73 74 72 75 63 74 20  ERATOR;..struct 
6ae0: 49 4e 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45  INTERNET_CACHE_E
6af0: 4e 54 52 59 5f 49 4e 46 4f 41 20 7b 0a 09 44 57  NTRY_INFOA {..DW
6b00: 4f 52 44 20 20 20 20 64 77 53 74 72 75 63 74 53  ORD    dwStructS
6b10: 69 7a 65 20 3d 20 49 4e 54 45 52 4e 45 54 5f 43  ize = INTERNET_C
6b20: 41 43 48 45 5f 45 4e 54 52 59 5f 49 4e 46 4f 41  ACHE_ENTRY_INFOA
6b30: 2e 73 69 7a 65 6f 66 3b 0a 09 4c 50 53 54 52 20  .sizeof;..LPSTR 
6b40: 20 20 20 6c 70 73 7a 53 6f 75 72 63 65 55 72 6c     lpszSourceUrl
6b50: 4e 61 6d 65 3b 0a 09 4c 50 53 54 52 20 20 20 20  Name;..LPSTR    
6b60: 6c 70 73 7a 4c 6f 63 61 6c 46 69 6c 65 4e 61 6d  lpszLocalFileNam
6b70: 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 43 61 63  e;..DWORD    Cac
6b80: 68 65 45 6e 74 72 79 54 79 70 65 3b 0a 09 44 57  heEntryType;..DW
6b90: 4f 52 44 20 20 20 20 64 77 55 73 65 43 6f 75 6e  ORD    dwUseCoun
6ba0: 74 3b 0a 09 44 57 4f 52 44 20 20 20 20 64 77 48  t;..DWORD    dwH
6bb0: 69 74 52 61 74 65 3b 0a 09 44 57 4f 52 44 20 20  itRate;..DWORD  
6bc0: 20 20 64 77 53 69 7a 65 4c 6f 77 3b 0a 09 44 57    dwSizeLow;..DW
6bd0: 4f 52 44 20 20 20 20 64 77 53 69 7a 65 48 69 67  ORD    dwSizeHig
6be0: 68 3b 0a 09 46 49 4c 45 54 49 4d 45 20 4c 61 73  h;..FILETIME Las
6bf0: 74 4d 6f 64 69 66 69 65 64 54 69 6d 65 3b 0a 09  tModifiedTime;..
6c00: 46 49 4c 45 54 49 4d 45 20 45 78 70 69 72 65 54  FILETIME ExpireT
6c10: 69 6d 65 3b 0a 09 46 49 4c 45 54 49 4d 45 20 4c  ime;..FILETIME L
6c20: 61 73 74 41 63 63 65 73 73 54 69 6d 65 3b 0a 09  astAccessTime;..
6c30: 46 49 4c 45 54 49 4d 45 20 4c 61 73 74 53 79 6e  FILETIME LastSyn
6c40: 63 54 69 6d 65 3b 0a 09 50 42 59 54 45 20 20 20  cTime;..PBYTE   
6c50: 20 6c 70 48 65 61 64 65 72 49 6e 66 6f 3b 0a 09   lpHeaderInfo;..
6c60: 44 57 4f 52 44 20 20 20 20 64 77 48 65 61 64 65  DWORD    dwHeade
6c70: 72 49 6e 66 6f 53 69 7a 65 3b 0a 09 4c 50 53 54  rInfoSize;..LPST
6c80: 52 20 20 20 20 6c 70 73 7a 46 69 6c 65 45 78 74  R    lpszFileExt
6c90: 65 6e 73 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 20  ension;..DWORD  
6ca0: 20 20 64 77 52 65 73 65 72 76 65 64 3b 0a 7d 0a    dwReserved;.}.
6cb0: 61 6c 69 61 73 20 49 4e 54 45 52 4e 45 54 5f 43  alias INTERNET_C
6cc0: 41 43 48 45 5f 45 4e 54 52 59 5f 49 4e 46 4f 41  ACHE_ENTRY_INFOA
6cd0: 2a 20 4c 50 49 4e 54 45 52 4e 45 54 5f 43 41 43  * LPINTERNET_CAC
6ce0: 48 45 5f 45 4e 54 52 59 5f 49 4e 46 4f 41 3b 0a  HE_ENTRY_INFOA;.
6cf0: 0a 73 74 72 75 63 74 20 49 4e 54 45 52 4e 45 54  .struct INTERNET
6d00: 5f 43 41 43 48 45 5f 45 4e 54 52 59 5f 49 4e 46  _CACHE_ENTRY_INF
6d10: 4f 57 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 64  OW {..DWORD    d
6d20: 77 53 74 72 75 63 74 53 69 7a 65 20 3d 20 49 4e  wStructSize = IN
6d30: 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54  TERNET_CACHE_ENT
6d40: 52 59 5f 49 4e 46 4f 57 2e 73 69 7a 65 6f 66 3b  RY_INFOW.sizeof;
6d50: 0a 09 4c 50 57 53 54 52 20 20 20 6c 70 73 7a 53  ..LPWSTR   lpszS
6d60: 6f 75 72 63 65 55 72 6c 4e 61 6d 65 3b 0a 09 4c  ourceUrlName;..L
6d70: 50 57 53 54 52 20 20 20 6c 70 73 7a 4c 6f 63 61  PWSTR   lpszLoca
6d80: 6c 46 69 6c 65 4e 61 6d 65 3b 0a 09 44 57 4f 52  lFileName;..DWOR
6d90: 44 20 20 20 20 43 61 63 68 65 45 6e 74 72 79 54  D    CacheEntryT
6da0: 79 70 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 64  ype;..DWORD    d
6db0: 77 55 73 65 43 6f 75 6e 74 3b 0a 09 44 57 4f 52  wUseCount;..DWOR
6dc0: 44 20 20 20 20 64 77 48 69 74 52 61 74 65 3b 0a  D    dwHitRate;.
6dd0: 09 44 57 4f 52 44 20 20 20 20 64 77 53 69 7a 65  .DWORD    dwSize
6de0: 4c 6f 77 3b 0a 09 44 57 4f 52 44 20 20 20 20 64  Low;..DWORD    d
6df0: 77 53 69 7a 65 48 69 67 68 3b 0a 09 46 49 4c 45  wSizeHigh;..FILE
6e00: 54 49 4d 45 20 4c 61 73 74 4d 6f 64 69 66 69 65  TIME LastModifie
6e10: 64 54 69 6d 65 3b 0a 09 46 49 4c 45 54 49 4d 45  dTime;..FILETIME
6e20: 20 45 78 70 69 72 65 54 69 6d 65 3b 0a 09 46 49   ExpireTime;..FI
6e30: 4c 45 54 49 4d 45 20 4c 61 73 74 41 63 63 65 73  LETIME LastAcces
6e40: 73 54 69 6d 65 3b 0a 09 46 49 4c 45 54 49 4d 45  sTime;..FILETIME
6e50: 20 4c 61 73 74 53 79 6e 63 54 69 6d 65 3b 0a 09   LastSyncTime;..
6e60: 50 42 59 54 45 20 20 20 20 6c 70 48 65 61 64 65  PBYTE    lpHeade
6e70: 72 49 6e 66 6f 3b 0a 09 44 57 4f 52 44 20 20 20  rInfo;..DWORD   
6e80: 20 64 77 48 65 61 64 65 72 49 6e 66 6f 53 69 7a   dwHeaderInfoSiz
6e90: 65 3b 0a 09 4c 50 57 53 54 52 20 20 20 6c 70 73  e;..LPWSTR   lps
6ea0: 7a 46 69 6c 65 45 78 74 65 6e 73 69 6f 6e 3b 0a  zFileExtension;.
6eb0: 09 44 57 4f 52 44 20 20 20 20 64 77 52 65 73 65  .DWORD    dwRese
6ec0: 72 76 65 64 3b 0a 7d 0a 61 6c 69 61 73 20 49 4e  rved;.}.alias IN
6ed0: 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54  TERNET_CACHE_ENT
6ee0: 52 59 5f 49 4e 46 4f 57 2a 20 4c 50 49 4e 54 45  RY_INFOW* LPINTE
6ef0: 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54 52 59  RNET_CACHE_ENTRY
6f00: 5f 49 4e 46 4f 57 3b 0a 0a 73 74 72 75 63 74 20  _INFOW;..struct 
6f10: 49 4e 54 45 52 4e 45 54 5f 42 55 46 46 45 52 53  INTERNET_BUFFERS
6f20: 41 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 20  A {..DWORD      
6f30: 20 20 20 20 20 20 20 20 64 77 53 74 72 75 63 74          dwStruct
6f40: 53 69 7a 65 20 3d 20 49 4e 54 45 52 4e 45 54 5f  Size = INTERNET_
6f50: 42 55 46 46 45 52 53 41 2e 73 69 7a 65 6f 66 3b  BUFFERSA.sizeof;
6f60: 0a 09 49 4e 54 45 52 4e 45 54 5f 42 55 46 46 45  ..INTERNET_BUFFE
6f70: 52 53 41 2a 20 4e 65 78 74 3b 0a 09 4c 50 43 53  RSA* Next;..LPCS
6f80: 54 52 20 20 20 20 20 20 20 20 20 20 20 20 20 6c  TR             l
6f90: 70 63 73 7a 48 65 61 64 65 72 3b 0a 09 44 57 4f  pcszHeader;..DWO
6fa0: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  RD              
6fb0: 64 77 48 65 61 64 65 72 73 4c 65 6e 67 74 68 3b  dwHeadersLength;
6fc0: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20  ..DWORD         
6fd0: 20 20 20 20 20 64 77 48 65 61 64 65 72 73 54 6f       dwHeadersTo
6fe0: 74 61 6c 3b 0a 09 4c 50 56 4f 49 44 20 20 20 20  tal;..LPVOID    
6ff0: 20 20 20 20 20 20 20 20 20 6c 70 76 42 75 66 66           lpvBuff
7000: 65 72 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20  er;..DWORD      
7010: 20 20 20 20 20 20 20 20 64 77 42 75 66 66 65 72          dwBuffer
7020: 4c 65 6e 67 74 68 3b 0a 09 44 57 4f 52 44 20 20  Length;..DWORD  
7030: 20 20 20 20 20 20 20 20 20 20 20 20 64 77 42 75              dwBu
7040: 66 66 65 72 54 6f 74 61 6c 3b 0a 09 44 57 4f 52  fferTotal;..DWOR
7050: 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64  D              d
7060: 77 4f 66 66 73 65 74 4c 6f 77 3b 0a 09 44 57 4f  wOffsetLow;..DWO
7070: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  RD              
7080: 64 77 4f 66 66 73 65 74 48 69 67 68 3b 0a 7d 0a  dwOffsetHigh;.}.
7090: 61 6c 69 61 73 20 49 4e 54 45 52 4e 45 54 5f 42  alias INTERNET_B
70a0: 55 46 46 45 52 53 41 2a 20 4c 50 49 4e 54 45 52  UFFERSA* LPINTER
70b0: 4e 45 54 5f 42 55 46 46 45 52 53 41 3b 0a 0a 73  NET_BUFFERSA;..s
70c0: 74 72 75 63 74 20 49 4e 54 45 52 4e 45 54 5f 42  truct INTERNET_B
70d0: 55 46 46 45 52 53 57 20 7b 0a 09 44 57 4f 52 44  UFFERSW {..DWORD
70e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 77                dw
70f0: 53 74 72 75 63 74 53 69 7a 65 20 3d 20 49 4e 54  StructSize = INT
7100: 45 52 4e 45 54 5f 42 55 46 46 45 52 53 57 2e 73  ERNET_BUFFERSW.s
7110: 69 7a 65 6f 66 3b 0a 09 49 4e 54 45 52 4e 45 54  izeof;..INTERNET
7120: 5f 42 55 46 46 45 52 53 57 2a 20 4e 65 78 74 3b  _BUFFERSW* Next;
7130: 0a 09 4c 50 43 57 53 54 52 20 20 20 20 20 20 20  ..LPCWSTR       
7140: 20 20 20 20 20 6c 70 63 73 7a 48 65 61 64 65 72       lpcszHeader
7150: 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20  ;..DWORD        
7160: 20 20 20 20 20 20 64 77 48 65 61 64 65 72 73 4c        dwHeadersL
7170: 65 6e 67 74 68 3b 0a 09 44 57 4f 52 44 20 20 20  ength;..DWORD   
7180: 20 20 20 20 20 20 20 20 20 20 20 64 77 48 65 61             dwHea
7190: 64 65 72 73 54 6f 74 61 6c 3b 0a 09 4c 50 56 4f  dersTotal;..LPVO
71a0: 49 44 20 20 20 20 20 20 20 20 20 20 20 20 20 6c  ID             l
71b0: 70 76 42 75 66 66 65 72 3b 0a 09 44 57 4f 52 44  pvBuffer;..DWORD
71c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 77                dw
71d0: 42 75 66 66 65 72 4c 65 6e 67 74 68 3b 0a 09 44  BufferLength;..D
71e0: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20  WORD            
71f0: 20 20 64 77 42 75 66 66 65 72 54 6f 74 61 6c 3b    dwBufferTotal;
7200: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20  ..DWORD         
7210: 20 20 20 20 20 64 77 4f 66 66 73 65 74 4c 6f 77       dwOffsetLow
7220: 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20  ;..DWORD        
7230: 20 20 20 20 20 20 64 77 4f 66 66 73 65 74 48 69        dwOffsetHi
7240: 67 68 3b 0a 7d 0a 61 6c 69 61 73 20 49 4e 54 45  gh;.}.alias INTE
7250: 52 4e 45 54 5f 42 55 46 46 45 52 53 57 2a 20 4c  RNET_BUFFERSW* L
7260: 50 49 4e 54 45 52 4e 45 54 5f 42 55 46 46 45 52  PINTERNET_BUFFER
7270: 53 57 3b 0a 0a 63 6f 6e 73 74 20 73 69 7a 65 5f  SW;..const size_
7280: 74 0a 09 47 52 4f 55 50 5f 4f 57 4e 45 52 5f 53  t..GROUP_OWNER_S
7290: 54 4f 52 41 47 45 5f 53 49 5a 45 20 3d 20 20 20  TORAGE_SIZE =   
72a0: 34 2c 0a 09 47 52 4f 55 50 4e 41 4d 45 5f 4d 41  4,..GROUPNAME_MA
72b0: 58 5f 4c 45 4e 47 54 48 20 20 20 20 20 3d 20 31  X_LENGTH     = 1
72c0: 32 30 3b 0a 0a 73 74 72 75 63 74 20 49 4e 54 45  20;..struct INTE
72d0: 52 4e 45 54 5f 43 41 43 48 45 5f 47 52 4f 55 50  RNET_CACHE_GROUP
72e0: 5f 49 4e 46 4f 41 20 7b 0a 09 44 57 4f 52 44 20  _INFOA {..DWORD 
72f0: 64 77 47 72 6f 75 70 53 69 7a 65 3b 0a 09 44 57  dwGroupSize;..DW
7300: 4f 52 44 20 64 77 47 72 6f 75 70 46 6c 61 67 73  ORD dwGroupFlags
7310: 3b 0a 09 44 57 4f 52 44 20 64 77 47 72 6f 75 70  ;..DWORD dwGroup
7320: 54 79 70 65 3b 0a 09 44 57 4f 52 44 20 64 77 44  Type;..DWORD dwD
7330: 69 73 6b 55 73 61 67 65 3b 0a 09 44 57 4f 52 44  iskUsage;..DWORD
7340: 20 64 77 44 69 73 6b 51 75 6f 74 61 3b 0a 09 44   dwDiskQuota;..D
7350: 57 4f 52 44 5b 47 52 4f 55 50 5f 4f 57 4e 45 52  WORD[GROUP_OWNER
7360: 5f 53 54 4f 52 41 47 45 5f 53 49 5a 45 5d 20 64  _STORAGE_SIZE] d
7370: 77 4f 77 6e 65 72 53 74 6f 72 61 67 65 3b 0a 09  wOwnerStorage;..
7380: 43 48 41 52 5b 47 52 4f 55 50 4e 41 4d 45 5f 4d  CHAR[GROUPNAME_M
7390: 41 58 5f 4c 45 4e 47 54 48 5d 20 20 20 20 20 20  AX_LENGTH]      
73a0: 73 7a 47 72 6f 75 70 4e 61 6d 65 3b 0a 7d 0a 61  szGroupName;.}.a
73b0: 6c 69 61 73 20 49 4e 54 45 52 4e 45 54 5f 43 41  lias INTERNET_CA
73c0: 43 48 45 5f 47 52 4f 55 50 5f 49 4e 46 4f 41 2a  CHE_GROUP_INFOA*
73d0: 20 4c 50 49 4e 54 45 52 4e 45 54 5f 43 41 43 48   LPINTERNET_CACH
73e0: 45 5f 47 52 4f 55 50 5f 49 4e 46 4f 41 3b 0a 0a  E_GROUP_INFOA;..
73f0: 73 74 72 75 63 74 20 49 4e 54 45 52 4e 45 54 5f  struct INTERNET_
7400: 43 41 43 48 45 5f 47 52 4f 55 50 5f 49 4e 46 4f  CACHE_GROUP_INFO
7410: 57 20 7b 0a 09 44 57 4f 52 44 20 64 77 47 72 6f  W {..DWORD dwGro
7420: 75 70 53 69 7a 65 3b 0a 09 44 57 4f 52 44 20 64  upSize;..DWORD d
7430: 77 47 72 6f 75 70 46 6c 61 67 73 3b 0a 09 44 57  wGroupFlags;..DW
7440: 4f 52 44 20 64 77 47 72 6f 75 70 54 79 70 65 3b  ORD dwGroupType;
7450: 0a 09 44 57 4f 52 44 20 64 77 44 69 73 6b 55 73  ..DWORD dwDiskUs
7460: 61 67 65 3b 0a 09 44 57 4f 52 44 20 64 77 44 69  age;..DWORD dwDi
7470: 73 6b 51 75 6f 74 61 3b 0a 09 44 57 4f 52 44 5b  skQuota;..DWORD[
7480: 47 52 4f 55 50 5f 4f 57 4e 45 52 5f 53 54 4f 52  GROUP_OWNER_STOR
7490: 41 47 45 5f 53 49 5a 45 5d 20 64 77 4f 77 6e 65  AGE_SIZE] dwOwne
74a0: 72 53 74 6f 72 61 67 65 3b 0a 09 57 43 48 41 52  rStorage;..WCHAR
74b0: 5b 47 52 4f 55 50 4e 41 4d 45 5f 4d 41 58 5f 4c  [GROUPNAME_MAX_L
74c0: 45 4e 47 54 48 5d 20 20 20 20 20 73 7a 47 72 6f  ENGTH]     szGro
74d0: 75 70 4e 61 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20  upName;.}.alias 
74e0: 49 4e 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 47  INTERNET_CACHE_G
74f0: 52 4f 55 50 5f 49 4e 46 4f 57 2a 20 4c 50 49 4e  ROUP_INFOW* LPIN
7500: 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 47 52 4f  TERNET_CACHE_GRO
7510: 55 50 5f 49 4e 46 4f 57 3b 0a 0a 65 78 74 65 72  UP_INFOW;..exter
7520: 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b 0a 09 42  n (Windows) {..B
7530: 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 54 69 6d 65  OOL InternetTime
7540: 46 72 6f 6d 53 79 73 74 65 6d 54 69 6d 65 28 53  FromSystemTime(S
7550: 59 53 54 45 4d 54 49 4d 45 2a 2c 20 44 57 4f 52  YSTEMTIME*, DWOR
7560: 44 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 29  D, LPSTR, DWORD)
7570: 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65 72 6e 65 74  ;..BOOL Internet
7580: 54 69 6d 65 54 6f 53 79 73 74 65 6d 54 69 6d 65  TimeToSystemTime
7590: 28 4c 50 43 53 54 52 2c 20 53 59 53 54 45 4d 54  (LPCSTR, SYSTEMT
75a0: 49 4d 45 2a 2c 20 44 57 4f 52 44 29 3b 0a 09 42  IME*, DWORD);..B
75b0: 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 44 65 62 75  OOL InternetDebu
75c0: 67 47 65 74 4c 6f 63 61 6c 54 69 6d 65 28 53 59  gGetLocalTime(SY
75d0: 53 54 45 4d 54 49 4d 45 2a 2c 20 50 44 57 4f 52  STEMTIME*, PDWOR
75e0: 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65 72 6e  D);..BOOL Intern
75f0: 65 74 43 72 61 63 6b 55 72 6c 41 28 4c 50 43 53  etCrackUrlA(LPCS
7600: 54 52 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  TR, DWORD, DWORD
7610: 2c 20 4c 50 55 52 4c 5f 43 4f 4d 50 4f 4e 45 4e  , LPURL_COMPONEN
7620: 54 53 41 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65  TSA);..BOOL Inte
7630: 72 6e 65 74 43 72 61 63 6b 55 72 6c 57 28 4c 50  rnetCrackUrlW(LP
7640: 43 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 44 57  CWSTR, DWORD, DW
7650: 4f 52 44 2c 20 4c 50 55 52 4c 5f 43 4f 4d 50 4f  ORD, LPURL_COMPO
7660: 4e 45 4e 54 53 57 29 3b 0a 09 42 4f 4f 4c 20 49  NENTSW);..BOOL I
7670: 6e 74 65 72 6e 65 74 43 72 65 61 74 65 55 72 6c  nternetCreateUrl
7680: 41 28 4c 50 55 52 4c 5f 43 4f 4d 50 4f 4e 45 4e  A(LPURL_COMPONEN
7690: 54 53 41 2c 20 44 57 4f 52 44 2c 20 4c 50 53 54  TSA, DWORD, LPST
76a0: 52 2c 20 50 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  R, PDWORD);..BOO
76b0: 4c 20 49 6e 74 65 72 6e 65 74 43 72 65 61 74 65  L InternetCreate
76c0: 55 72 6c 57 28 4c 50 55 52 4c 5f 43 4f 4d 50 4f  UrlW(LPURL_COMPO
76d0: 4e 45 4e 54 53 57 2c 20 44 57 4f 52 44 2c 20 4c  NENTSW, DWORD, L
76e0: 50 57 53 54 52 2c 20 50 44 57 4f 52 44 29 3b 0a  PWSTR, PDWORD);.
76f0: 09 42 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 43 61  .BOOL InternetCa
7700: 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 41 28 4c  nonicalizeUrlA(L
7710: 50 43 53 54 52 2c 20 4c 50 53 54 52 2c 20 50 44  PCSTR, LPSTR, PD
7720: 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42  WORD, DWORD);..B
7730: 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 43 61 6e 6f  OOL InternetCano
7740: 6e 69 63 61 6c 69 7a 65 55 72 6c 57 28 4c 50 43  nicalizeUrlW(LPC
7750: 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 50 44  WSTR, LPWSTR, PD
7760: 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42  WORD, DWORD);..B
7770: 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 43 68 65 63  OOL InternetChec
7780: 6b 43 6f 6e 6e 65 63 74 69 6f 6e 41 28 4c 50 43  kConnectionA(LPC
7790: 53 54 52 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  STR, DWORD, DWOR
77a0: 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65 72 6e  D);..BOOL Intern
77b0: 65 74 43 68 65 63 6b 43 6f 6e 6e 65 63 74 69 6f  etCheckConnectio
77c0: 6e 57 28 4c 50 43 57 53 54 52 2c 20 44 57 4f 52  nW(LPCWSTR, DWOR
77d0: 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  D, DWORD);..BOOL
77e0: 20 49 6e 74 65 72 6e 65 74 43 6f 6d 62 69 6e 65   InternetCombine
77f0: 55 72 6c 41 28 4c 50 43 53 54 52 2c 20 4c 50 43  UrlA(LPCSTR, LPC
7800: 53 54 52 2c 20 4c 50 53 54 52 2c 20 50 44 57 4f  STR, LPSTR, PDWO
7810: 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  RD, DWORD);..BOO
7820: 4c 20 49 6e 74 65 72 6e 65 74 43 6f 6d 62 69 6e  L InternetCombin
7830: 65 55 72 6c 57 28 4c 50 43 57 53 54 52 2c 20 4c  eUrlW(LPCWSTR, L
7840: 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20  PCWSTR, LPWSTR, 
7850: 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a  PDWORD, DWORD);.
7860: 09 48 49 4e 54 45 52 4e 45 54 20 49 6e 74 65 72  .HINTERNET Inter
7870: 6e 65 74 4f 70 65 6e 41 28 4c 50 43 53 54 52 2c  netOpenA(LPCSTR,
7880: 20 44 57 4f 52 44 2c 20 4c 50 43 53 54 52 2c 20   DWORD, LPCSTR, 
7890: 4c 50 43 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a  LPCSTR, DWORD);.
78a0: 09 48 49 4e 54 45 52 4e 45 54 20 49 6e 74 65 72  .HINTERNET Inter
78b0: 6e 65 74 4f 70 65 6e 57 28 4c 50 43 57 53 54 52  netOpenW(LPCWSTR
78c0: 2c 20 44 57 4f 52 44 2c 20 4c 50 43 57 53 54 52  , DWORD, LPCWSTR
78d0: 2c 20 4c 50 43 57 53 54 52 2c 20 44 57 4f 52 44  , LPCWSTR, DWORD
78e0: 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65 72 6e 65  );..BOOL Interne
78f0: 74 43 6c 6f 73 65 48 61 6e 64 6c 65 28 48 49 4e  tCloseHandle(HIN
7900: 54 45 52 4e 45 54 29 3b 0a 09 48 49 4e 54 45 52  TERNET);..HINTER
7910: 4e 45 54 20 49 6e 74 65 72 6e 65 74 43 6f 6e 6e  NET InternetConn
7920: 65 63 74 41 28 48 49 4e 54 45 52 4e 45 54 2c 20  ectA(HINTERNET, 
7930: 4c 50 43 53 54 52 2c 20 49 4e 54 45 52 4e 45 54  LPCSTR, INTERNET
7940: 5f 50 4f 52 54 2c 20 4c 50 43 53 54 52 2c 0a 09  _PORT, LPCSTR,..
7950: 20 20 4c 50 43 53 54 52 2c 20 44 57 4f 52 44 2c    LPCSTR, DWORD,
7960: 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a   DWORD, DWORD);.
7970: 09 48 49 4e 54 45 52 4e 45 54 20 49 6e 74 65 72  .HINTERNET Inter
7980: 6e 65 74 43 6f 6e 6e 65 63 74 57 28 48 49 4e 54  netConnectW(HINT
7990: 45 52 4e 45 54 2c 20 4c 50 43 57 53 54 52 2c 20  ERNET, LPCWSTR, 
79a0: 49 4e 54 45 52 4e 45 54 5f 50 4f 52 54 2c 20 4c  INTERNET_PORT, L
79b0: 50 43 57 53 54 52 2c 0a 09 20 20 4c 50 43 57 53  PCWSTR,..  LPCWS
79c0: 54 52 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  TR, DWORD, DWORD
79d0: 2c 20 44 57 4f 52 44 29 3b 0a 09 48 49 4e 54 45  , DWORD);..HINTE
79e0: 52 4e 45 54 20 49 6e 74 65 72 6e 65 74 4f 70 65  RNET InternetOpe
79f0: 6e 55 72 6c 41 28 48 49 4e 54 45 52 4e 45 54 2c  nUrlA(HINTERNET,
7a00: 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c   LPCSTR, LPCSTR,
7a10: 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 0a 09   DWORD, DWORD,..
7a20: 20 20 44 57 4f 52 44 29 3b 0a 09 48 49 4e 54 45    DWORD);..HINTE
7a30: 52 4e 45 54 20 49 6e 74 65 72 6e 65 74 4f 70 65  RNET InternetOpe
7a40: 6e 55 72 6c 57 28 48 49 4e 54 45 52 4e 45 54 2c  nUrlW(HINTERNET,
7a50: 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54   LPCWSTR, LPCWST
7a60: 52 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c  R, DWORD, DWORD,
7a70: 0a 09 20 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f  ..  DWORD);..BOO
7a80: 4c 20 49 6e 74 65 72 6e 65 74 52 65 61 64 46 69  L InternetReadFi
7a90: 6c 65 28 48 49 4e 54 45 52 4e 45 54 2c 20 50 56  le(HINTERNET, PV
7aa0: 4f 49 44 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f  OID, DWORD, PDWO
7ab0: 52 44 29 3b 0a 09 44 57 4f 52 44 20 49 6e 74 65  RD);..DWORD Inte
7ac0: 72 6e 65 74 53 65 74 46 69 6c 65 50 6f 69 6e 74  rnetSetFilePoint
7ad0: 65 72 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 4f  er(HINTERNET, LO
7ae0: 4e 47 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52 44  NG, PVOID, DWORD
7af0: 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  , DWORD);..BOOL 
7b00: 49 6e 74 65 72 6e 65 74 57 72 69 74 65 46 69 6c  InternetWriteFil
7b10: 65 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50 43  e(HINTERNET, LPC
7b20: 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 50 44 57  VOID, DWORD, PDW
7b30: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65  ORD);..BOOL Inte
7b40: 72 6e 65 74 51 75 65 72 79 44 61 74 61 41 76 61  rnetQueryDataAva
7b50: 69 6c 61 62 6c 65 28 48 49 4e 54 45 52 4e 45 54  ilable(HINTERNET
7b60: 2c 20 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c  , PDWORD, DWORD,
7b70: 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 49   DWORD);..BOOL I
7b80: 6e 74 65 72 6e 65 74 46 69 6e 64 4e 65 78 74 46  nternetFindNextF
7b90: 69 6c 65 41 28 48 49 4e 54 45 52 4e 45 54 2c 20  ileA(HINTERNET, 
7ba0: 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e  PVOID);..BOOL In
7bb0: 74 65 72 6e 65 74 46 69 6e 64 4e 65 78 74 46 69  ternetFindNextFi
7bc0: 6c 65 57 28 48 49 4e 54 45 52 4e 45 54 2c 20 50  leW(HINTERNET, P
7bd0: 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74  VOID);..BOOL Int
7be0: 65 72 6e 65 74 51 75 65 72 79 4f 70 74 69 6f 6e  ernetQueryOption
7bf0: 41 28 48 49 4e 54 45 52 4e 45 54 2c 20 44 57 4f  A(HINTERNET, DWO
7c00: 52 44 2c 20 50 56 4f 49 44 2c 20 50 44 57 4f 52  RD, PVOID, PDWOR
7c10: 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65 72 6e  D);..BOOL Intern
7c20: 65 74 51 75 65 72 79 4f 70 74 69 6f 6e 57 28 48  etQueryOptionW(H
7c30: 49 4e 54 45 52 4e 45 54 2c 20 44 57 4f 52 44 2c  INTERNET, DWORD,
7c40: 20 50 56 4f 49 44 2c 20 50 44 57 4f 52 44 29 3b   PVOID, PDWORD);
7c50: 0a 09 42 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 53  ..BOOL InternetS
7c60: 65 74 4f 70 74 69 6f 6e 41 28 48 49 4e 54 45 52  etOptionA(HINTER
7c70: 4e 45 54 2c 20 44 57 4f 52 44 2c 20 50 56 4f 49  NET, DWORD, PVOI
7c80: 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  D, DWORD);..BOOL
7c90: 20 49 6e 74 65 72 6e 65 74 53 65 74 4f 70 74 69   InternetSetOpti
7ca0: 6f 6e 57 28 48 49 4e 54 45 52 4e 45 54 2c 20 44  onW(HINTERNET, D
7cb0: 57 4f 52 44 2c 20 50 56 4f 49 44 2c 20 44 57 4f  WORD, PVOID, DWO
7cc0: 52 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65 72  RD);..BOOL Inter
7cd0: 6e 65 74 53 65 74 4f 70 74 69 6f 6e 45 78 41 28  netSetOptionExA(
7ce0: 48 49 4e 54 45 52 4e 45 54 2c 20 44 57 4f 52 44  HINTERNET, DWORD
7cf0: 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20  , PVOID, DWORD, 
7d00: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e  DWORD);..BOOL In
7d10: 74 65 72 6e 65 74 53 65 74 4f 70 74 69 6f 6e 45  ternetSetOptionE
7d20: 78 57 28 48 49 4e 54 45 52 4e 45 54 2c 20 44 57  xW(HINTERNET, DW
7d30: 4f 52 44 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52  ORD, PVOID, DWOR
7d40: 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  D, DWORD);..BOOL
7d50: 20 49 6e 74 65 72 6e 65 74 47 65 74 4c 61 73 74   InternetGetLast
7d60: 52 65 73 70 6f 6e 73 65 49 6e 66 6f 41 28 50 44  ResponseInfoA(PD
7d70: 57 4f 52 44 2c 20 4c 50 53 54 52 2c 20 50 44 57  WORD, LPSTR, PDW
7d80: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65  ORD);..BOOL Inte
7d90: 72 6e 65 74 47 65 74 4c 61 73 74 52 65 73 70 6f  rnetGetLastRespo
7da0: 6e 73 65 49 6e 66 6f 57 28 50 44 57 4f 52 44 2c  nseInfoW(PDWORD,
7db0: 20 4c 50 57 53 54 52 2c 20 50 44 57 4f 52 44 29   LPWSTR, PDWORD)
7dc0: 3b 0a 09 49 4e 54 45 52 4e 45 54 5f 53 54 41 54  ;..INTERNET_STAT
7dd0: 55 53 5f 43 41 4c 4c 42 41 43 4b 20 49 6e 74 65  US_CALLBACK Inte
7de0: 72 6e 65 74 53 65 74 53 74 61 74 75 73 43 61 6c  rnetSetStatusCal
7df0: 6c 62 61 63 6b 28 48 49 4e 54 45 52 4e 45 54 2c  lback(HINTERNET,
7e00: 0a 09 20 20 49 4e 54 45 52 4e 45 54 5f 53 54 41  ..  INTERNET_STA
7e10: 54 55 53 5f 43 41 4c 4c 42 41 43 4b 29 3b 0a 09  TUS_CALLBACK);..
7e20: 44 57 4f 52 44 20 46 74 70 47 65 74 46 69 6c 65  DWORD FtpGetFile
7e30: 53 69 7a 65 28 48 49 4e 54 45 52 4e 45 54 2c 20  Size(HINTERNET, 
7e40: 4c 50 44 57 4f 52 44 29 3b 0a 09 48 49 4e 54 45  LPDWORD);..HINTE
7e50: 52 4e 45 54 20 46 74 70 46 69 6e 64 46 69 72 73  RNET FtpFindFirs
7e60: 74 46 69 6c 65 41 28 48 49 4e 54 45 52 4e 45 54  tFileA(HINTERNET
7e70: 2c 20 4c 50 43 53 54 52 2c 20 4c 50 57 49 4e 33  , LPCSTR, LPWIN3
7e80: 32 5f 46 49 4e 44 5f 44 41 54 41 2c 20 44 57 4f  2_FIND_DATA, DWO
7e90: 52 44 2c 0a 09 20 20 44 57 4f 52 44 29 3b 0a 09  RD,..  DWORD);..
7ea0: 48 49 4e 54 45 52 4e 45 54 20 46 74 70 46 69 6e  HINTERNET FtpFin
7eb0: 64 46 69 72 73 74 46 69 6c 65 57 28 48 49 4e 54  dFirstFileW(HINT
7ec0: 45 52 4e 45 54 2c 20 4c 50 43 57 53 54 52 2c 20  ERNET, LPCWSTR, 
7ed0: 4c 50 57 49 4e 33 32 5f 46 49 4e 44 5f 44 41 54  LPWIN32_FIND_DAT
7ee0: 41 2c 20 44 57 4f 52 44 2c 0a 09 20 20 44 57 4f  A, DWORD,..  DWO
7ef0: 52 44 29 3b 0a 09 42 4f 4f 4c 20 46 74 70 47 65  RD);..BOOL FtpGe
7f00: 74 46 69 6c 65 41 28 48 49 4e 54 45 52 4e 45 54  tFileA(HINTERNET
7f10: 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52  , LPCSTR, LPCSTR
7f20: 2c 20 42 4f 4f 4c 2c 20 44 57 4f 52 44 2c 20 44  , BOOL, DWORD, D
7f30: 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42  WORD, DWORD);..B
7f40: 4f 4f 4c 20 46 74 70 47 65 74 46 69 6c 65 57 28  OOL FtpGetFileW(
7f50: 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50 43 57 53  HINTERNET, LPCWS
7f60: 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 42 4f 4f  TR, LPCWSTR, BOO
7f70: 4c 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c  L, DWORD, DWORD,
7f80: 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 46   DWORD);..BOOL F
7f90: 74 70 50 75 74 46 69 6c 65 41 28 48 49 4e 54 45  tpPutFileA(HINTE
7fa0: 52 4e 45 54 2c 20 4c 50 43 53 54 52 2c 20 4c 50  RNET, LPCSTR, LP
7fb0: 43 53 54 52 2c 20 44 57 4f 52 44 2c 20 44 57 4f  CSTR, DWORD, DWO
7fc0: 52 44 29 3b 0a 09 42 4f 4f 4c 20 46 74 70 50 75  RD);..BOOL FtpPu
7fd0: 74 46 69 6c 65 57 28 48 49 4e 54 45 52 4e 45 54  tFileW(HINTERNET
7fe0: 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53  , LPCWSTR, LPCWS
7ff0: 54 52 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  TR, DWORD, DWORD
8000: 29 3b 0a 09 42 4f 4f 4c 20 46 74 70 44 65 6c 65  );..BOOL FtpDele
8010: 74 65 46 69 6c 65 41 28 48 49 4e 54 45 52 4e 45  teFileA(HINTERNE
8020: 54 2c 20 4c 50 43 53 54 52 29 3b 0a 09 42 4f 4f  T, LPCSTR);..BOO
8030: 4c 20 46 74 70 44 65 6c 65 74 65 46 69 6c 65 57  L FtpDeleteFileW
8040: 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50 43 57  (HINTERNET, LPCW
8050: 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 46 74 70 52  STR);..BOOL FtpR
8060: 65 6e 61 6d 65 46 69 6c 65 41 28 48 49 4e 54 45  enameFileA(HINTE
8070: 52 4e 45 54 2c 20 4c 50 43 53 54 52 2c 20 4c 50  RNET, LPCSTR, LP
8080: 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 46 74 70  CSTR);..BOOL Ftp
8090: 52 65 6e 61 6d 65 46 69 6c 65 57 28 48 49 4e 54  RenameFileW(HINT
80a0: 45 52 4e 45 54 2c 20 4c 50 43 57 53 54 52 2c 20  ERNET, LPCWSTR, 
80b0: 4c 50 43 57 53 54 52 29 3b 0a 09 48 49 4e 54 45  LPCWSTR);..HINTE
80c0: 52 4e 45 54 20 46 74 70 4f 70 65 6e 46 69 6c 65  RNET FtpOpenFile
80d0: 41 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50 43  A(HINTERNET, LPC
80e0: 53 54 52 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  STR, DWORD, DWOR
80f0: 44 2c 20 44 57 4f 52 44 29 3b 0a 09 48 49 4e 54  D, DWORD);..HINT
8100: 45 52 4e 45 54 20 46 74 70 4f 70 65 6e 46 69 6c  ERNET FtpOpenFil
8110: 65 57 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50  eW(HINTERNET, LP
8120: 43 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 44 57  CWSTR, DWORD, DW
8130: 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f  ORD, DWORD);..BO
8140: 4f 4c 20 46 74 70 43 72 65 61 74 65 44 69 72 65  OL FtpCreateDire
8150: 63 74 6f 72 79 41 28 48 49 4e 54 45 52 4e 45 54  ctoryA(HINTERNET
8160: 2c 20 4c 50 43 53 54 52 29 3b 0a 09 42 4f 4f 4c  , LPCSTR);..BOOL
8170: 20 46 74 70 43 72 65 61 74 65 44 69 72 65 63 74   FtpCreateDirect
8180: 6f 72 79 57 28 48 49 4e 54 45 52 4e 45 54 2c 20  oryW(HINTERNET, 
8190: 4c 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20  LPCWSTR);..BOOL 
81a0: 46 74 70 52 65 6d 6f 76 65 44 69 72 65 63 74 6f  FtpRemoveDirecto
81b0: 72 79 41 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c  ryA(HINTERNET, L
81c0: 50 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 46 74  PCSTR);..BOOL Ft
81d0: 70 52 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79  pRemoveDirectory
81e0: 57 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50 43  W(HINTERNET, LPC
81f0: 57 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 46 74 70  WSTR);..BOOL Ftp
8200: 53 65 74 43 75 72 72 65 6e 74 44 69 72 65 63 74  SetCurrentDirect
8210: 6f 72 79 41 28 48 49 4e 54 45 52 4e 45 54 2c 20  oryA(HINTERNET, 
8220: 4c 50 43 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 46  LPCSTR);..BOOL F
8230: 74 70 53 65 74 43 75 72 72 65 6e 74 44 69 72 65  tpSetCurrentDire
8240: 63 74 6f 72 79 57 28 48 49 4e 54 45 52 4e 45 54  ctoryW(HINTERNET
8250: 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09 42 4f 4f  , LPCWSTR);..BOO
8260: 4c 20 46 74 70 47 65 74 43 75 72 72 65 6e 74 44  L FtpGetCurrentD
8270: 69 72 65 63 74 6f 72 79 41 28 48 49 4e 54 45 52  irectoryA(HINTER
8280: 4e 45 54 2c 20 4c 50 53 54 52 2c 20 50 44 57 4f  NET, LPSTR, PDWO
8290: 52 44 29 3b 0a 09 42 4f 4f 4c 20 46 74 70 47 65  RD);..BOOL FtpGe
82a0: 74 43 75 72 72 65 6e 74 44 69 72 65 63 74 6f 72  tCurrentDirector
82b0: 79 57 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50  yW(HINTERNET, LP
82c0: 57 53 54 52 2c 20 50 44 57 4f 52 44 29 3b 0a 09  WSTR, PDWORD);..
82d0: 42 4f 4f 4c 20 46 74 70 43 6f 6d 6d 61 6e 64 41  BOOL FtpCommandA
82e0: 28 48 49 4e 54 45 52 4e 45 54 2c 20 42 4f 4f 4c  (HINTERNET, BOOL
82f0: 2c 20 44 57 4f 52 44 2c 20 4c 50 43 53 54 52 2c  , DWORD, LPCSTR,
8300: 20 44 57 4f 52 44 5f 50 54 52 2c 20 48 49 4e 54   DWORD_PTR, HINT
8310: 45 52 4e 45 54 2a 29 3b 0a 09 42 4f 4f 4c 20 46  ERNET*);..BOOL F
8320: 74 70 43 6f 6d 6d 61 6e 64 57 28 48 49 4e 54 45  tpCommandW(HINTE
8330: 52 4e 45 54 2c 20 42 4f 4f 4c 2c 20 44 57 4f 52  RNET, BOOL, DWOR
8340: 44 2c 20 4c 50 43 57 53 54 52 2c 20 44 57 4f 52  D, LPCWSTR, DWOR
8350: 44 5f 50 54 52 2c 20 48 49 4e 54 45 52 4e 45 54  D_PTR, HINTERNET
8360: 2a 29 3b 0a 09 42 4f 4f 4c 20 47 6f 70 68 65 72  *);..BOOL Gopher
8370: 43 72 65 61 74 65 4c 6f 63 61 74 6f 72 41 28 4c  CreateLocatorA(L
8380: 50 43 53 54 52 2c 20 49 4e 54 45 52 4e 45 54 5f  PCSTR, INTERNET_
8390: 50 4f 52 54 2c 20 4c 50 43 53 54 52 2c 20 4c 50  PORT, LPCSTR, LP
83a0: 43 53 54 52 2c 20 44 57 4f 52 44 2c 0a 09 20 20  CSTR, DWORD,..  
83b0: 4c 50 53 54 52 2c 20 50 44 57 4f 52 44 29 3b 0a  LPSTR, PDWORD);.
83c0: 09 42 4f 4f 4c 20 47 6f 70 68 65 72 43 72 65 61  .BOOL GopherCrea
83d0: 74 65 4c 6f 63 61 74 6f 72 57 28 4c 50 43 57 53  teLocatorW(LPCWS
83e0: 54 52 2c 20 49 4e 54 45 52 4e 45 54 5f 50 4f 52  TR, INTERNET_POR
83f0: 54 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57  T, LPCWSTR, LPCW
8400: 53 54 52 2c 20 44 57 4f 52 44 2c 0a 09 20 20 4c  STR, DWORD,..  L
8410: 50 57 53 54 52 2c 20 50 44 57 4f 52 44 29 3b 0a  PWSTR, PDWORD);.
8420: 09 42 4f 4f 4c 20 47 6f 70 68 65 72 47 65 74 4c  .BOOL GopherGetL
8430: 6f 63 61 74 6f 72 54 79 70 65 41 28 4c 50 43 53  ocatorTypeA(LPCS
8440: 54 52 2c 20 50 44 57 4f 52 44 29 3b 0a 09 42 4f  TR, PDWORD);..BO
8450: 4f 4c 20 47 6f 70 68 65 72 47 65 74 4c 6f 63 61  OL GopherGetLoca
8460: 74 6f 72 54 79 70 65 57 28 4c 50 43 57 53 54 52  torTypeW(LPCWSTR
8470: 2c 20 50 44 57 4f 52 44 29 3b 0a 09 48 49 4e 54  , PDWORD);..HINT
8480: 45 52 4e 45 54 20 47 6f 70 68 65 72 46 69 6e 64  ERNET GopherFind
8490: 46 69 72 73 74 46 69 6c 65 41 28 48 49 4e 54 45  FirstFileA(HINTE
84a0: 52 4e 45 54 2c 20 4c 50 43 53 54 52 2c 20 4c 50  RNET, LPCSTR, LP
84b0: 43 53 54 52 2c 0a 09 20 20 4c 50 47 4f 50 48 45  CSTR,..  LPGOPHE
84c0: 52 5f 46 49 4e 44 5f 44 41 54 41 41 2c 20 44 57  R_FIND_DATAA, DW
84d0: 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 48 49  ORD, DWORD);..HI
84e0: 4e 54 45 52 4e 45 54 20 47 6f 70 68 65 72 46 69  NTERNET GopherFi
84f0: 6e 64 46 69 72 73 74 46 69 6c 65 57 28 48 49 4e  ndFirstFileW(HIN
8500: 54 45 52 4e 45 54 2c 20 4c 50 43 57 53 54 52 2c  TERNET, LPCWSTR,
8510: 20 4c 50 43 57 53 54 52 2c 0a 09 20 20 4c 50 47   LPCWSTR,..  LPG
8520: 4f 50 48 45 52 5f 46 49 4e 44 5f 44 41 54 41 57  OPHER_FIND_DATAW
8530: 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b  , DWORD, DWORD);
8540: 0a 09 48 49 4e 54 45 52 4e 45 54 20 47 6f 70 68  ..HINTERNET Goph
8550: 65 72 4f 70 65 6e 46 69 6c 65 41 28 48 49 4e 54  erOpenFileA(HINT
8560: 45 52 4e 45 54 2c 20 4c 50 43 53 54 52 2c 20 4c  ERNET, LPCSTR, L
8570: 50 43 53 54 52 2c 20 44 57 4f 52 44 2c 20 44 57  PCSTR, DWORD, DW
8580: 4f 52 44 29 3b 0a 09 48 49 4e 54 45 52 4e 45 54  ORD);..HINTERNET
8590: 20 47 6f 70 68 65 72 4f 70 65 6e 46 69 6c 65 57   GopherOpenFileW
85a0: 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50 43 57  (HINTERNET, LPCW
85b0: 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 44 57  STR, LPCWSTR, DW
85c0: 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f  ORD, DWORD);..BO
85d0: 4f 4c 20 47 6f 70 68 65 72 47 65 74 41 74 74 72  OL GopherGetAttr
85e0: 69 62 75 74 65 41 28 48 49 4e 54 45 52 4e 45 54  ibuteA(HINTERNET
85f0: 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52  , LPCSTR, LPCSTR
8600: 2c 20 4c 50 42 59 54 45 2c 20 44 57 4f 52 44 2c  , LPBYTE, DWORD,
8610: 0a 09 20 20 50 44 57 4f 52 44 2c 20 47 4f 50 48  ..  PDWORD, GOPH
8620: 45 52 5f 41 54 54 52 49 42 55 54 45 5f 45 4e 55  ER_ATTRIBUTE_ENU
8630: 4d 45 52 41 54 4f 52 2c 20 44 57 4f 52 44 29 3b  MERATOR, DWORD);
8640: 0a 09 42 4f 4f 4c 20 47 6f 70 68 65 72 47 65 74  ..BOOL GopherGet
8650: 41 74 74 72 69 62 75 74 65 57 28 48 49 4e 54 45  AttributeW(HINTE
8660: 52 4e 45 54 2c 20 4c 50 43 57 53 54 52 2c 20 4c  RNET, LPCWSTR, L
8670: 50 43 57 53 54 52 2c 20 4c 50 42 59 54 45 2c 20  PCWSTR, LPBYTE, 
8680: 44 57 4f 52 44 2c 0a 09 20 20 50 44 57 4f 52 44  DWORD,..  PDWORD
8690: 2c 20 47 4f 50 48 45 52 5f 41 54 54 52 49 42 55  , GOPHER_ATTRIBU
86a0: 54 45 5f 45 4e 55 4d 45 52 41 54 4f 52 2c 20 44  TE_ENUMERATOR, D
86b0: 57 4f 52 44 29 3b 0a 09 48 49 4e 54 45 52 4e 45  WORD);..HINTERNE
86c0: 54 20 48 74 74 70 4f 70 65 6e 52 65 71 75 65 73  T HttpOpenReques
86d0: 74 41 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50  tA(HINTERNET, LP
86e0: 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50  CSTR, LPCSTR, LP
86f0: 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 0a 09 20  CSTR, LPCSTR,.. 
8700: 20 4c 50 43 53 54 52 2a 2c 20 44 57 4f 52 44 2c   LPCSTR*, DWORD,
8710: 20 44 57 4f 52 44 29 3b 0a 09 48 49 4e 54 45 52   DWORD);..HINTER
8720: 4e 45 54 20 48 74 74 70 4f 70 65 6e 52 65 71 75  NET HttpOpenRequ
8730: 65 73 74 57 28 48 49 4e 54 45 52 4e 45 54 2c 20  estW(HINTERNET, 
8740: 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52  LPCWSTR, LPCWSTR
8750: 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53  , LPCWSTR, LPCWS
8760: 54 52 2c 0a 09 20 20 4c 50 43 57 53 54 52 2a 2c  TR,..  LPCWSTR*,
8770: 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a   DWORD, DWORD);.
8780: 09 42 4f 4f 4c 20 48 74 74 70 41 64 64 52 65 71  .BOOL HttpAddReq
8790: 75 65 73 74 48 65 61 64 65 72 73 41 28 48 49 4e  uestHeadersA(HIN
87a0: 54 45 52 4e 45 54 2c 20 4c 50 43 53 54 52 2c 20  TERNET, LPCSTR, 
87b0: 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09  DWORD, DWORD);..
87c0: 42 4f 4f 4c 20 48 74 74 70 41 64 64 52 65 71 75  BOOL HttpAddRequ
87d0: 65 73 74 48 65 61 64 65 72 73 57 28 48 49 4e 54  estHeadersW(HINT
87e0: 45 52 4e 45 54 2c 20 4c 50 43 57 53 54 52 2c 20  ERNET, LPCWSTR, 
87f0: 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09  DWORD, DWORD);..
8800: 42 4f 4f 4c 20 48 74 74 70 53 65 6e 64 52 65 71  BOOL HttpSendReq
8810: 75 65 73 74 41 28 48 49 4e 54 45 52 4e 45 54 2c  uestA(HINTERNET,
8820: 20 4c 50 43 53 54 52 2c 20 44 57 4f 52 44 2c 20   LPCSTR, DWORD, 
8830: 50 56 4f 49 44 2c 20 44 57 4f 52 44 29 3b 0a 09  PVOID, DWORD);..
8840: 42 4f 4f 4c 20 48 74 74 70 53 65 6e 64 52 65 71  BOOL HttpSendReq
8850: 75 65 73 74 57 28 48 49 4e 54 45 52 4e 45 54 2c  uestW(HINTERNET,
8860: 20 4c 50 43 57 53 54 52 2c 20 44 57 4f 52 44 2c   LPCWSTR, DWORD,
8870: 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 29 3b 0a   PVOID, DWORD);.
8880: 09 42 4f 4f 4c 20 48 74 74 70 51 75 65 72 79 49  .BOOL HttpQueryI
8890: 6e 66 6f 41 28 48 49 4e 54 45 52 4e 45 54 2c 20  nfoA(HINTERNET, 
88a0: 44 57 4f 52 44 2c 20 50 56 4f 49 44 2c 20 50 44  DWORD, PVOID, PD
88b0: 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 09  WORD, PDWORD);..
88c0: 42 4f 4f 4c 20 48 74 74 70 51 75 65 72 79 49 6e  BOOL HttpQueryIn
88d0: 66 6f 57 28 48 49 4e 54 45 52 4e 45 54 2c 20 44  foW(HINTERNET, D
88e0: 57 4f 52 44 2c 20 50 56 4f 49 44 2c 20 50 44 57  WORD, PVOID, PDW
88f0: 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 09 42  ORD, PDWORD);..B
8900: 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 53 65 74 43  OOL InternetSetC
8910: 6f 6f 6b 69 65 41 28 4c 50 43 53 54 52 2c 20 4c  ookieA(LPCSTR, L
8920: 50 43 53 54 52 2c 20 4c 50 43 53 54 52 29 3b 0a  PCSTR, LPCSTR);.
8930: 09 42 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 53 65  .BOOL InternetSe
8940: 74 43 6f 6f 6b 69 65 57 28 4c 50 43 57 53 54 52  tCookieW(LPCWSTR
8950: 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53  , LPCWSTR, LPCWS
8960: 54 52 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65 72  TR);..BOOL Inter
8970: 6e 65 74 47 65 74 43 6f 6f 6b 69 65 41 28 4c 50  netGetCookieA(LP
8980: 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50  CSTR, LPCSTR, LP
8990: 53 54 52 2c 20 50 44 57 4f 52 44 29 3b 0a 09 42  STR, PDWORD);..B
89a0: 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 47 65 74 43  OOL InternetGetC
89b0: 6f 6f 6b 69 65 57 28 4c 50 43 57 53 54 52 2c 20  ookieW(LPCWSTR, 
89c0: 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52 2c  LPCWSTR, LPWSTR,
89d0: 20 50 44 57 4f 52 44 29 3b 0a 09 44 57 4f 52 44   PDWORD);..DWORD
89e0: 20 49 6e 74 65 72 6e 65 74 41 74 74 65 6d 70 74   InternetAttempt
89f0: 43 6f 6e 6e 65 63 74 28 44 57 4f 52 44 29 3b 0a  Connect(DWORD);.
8a00: 09 44 57 4f 52 44 20 49 6e 74 65 72 6e 65 74 45  .DWORD InternetE
8a10: 72 72 6f 72 44 6c 67 28 48 57 4e 44 2c 20 48 49  rrorDlg(HWND, HI
8a20: 4e 54 45 52 4e 45 54 2c 20 44 57 4f 52 44 2c 20  NTERNET, DWORD, 
8a30: 44 57 4f 52 44 2c 20 50 56 4f 49 44 2a 29 3b 0a  DWORD, PVOID*);.
8a40: 09 44 57 4f 52 44 20 49 6e 74 65 72 6e 65 74 43  .DWORD InternetC
8a50: 6f 6e 66 69 72 6d 5a 6f 6e 65 43 72 6f 73 73 69  onfirmZoneCrossi
8a60: 6e 67 28 48 57 4e 44 2c 20 4c 50 53 54 52 2c 20  ng(HWND, LPSTR, 
8a70: 4c 50 53 54 52 2c 20 42 4f 4f 4c 29 3b 0a 09 42  LPSTR, BOOL);..B
8a80: 4f 4f 4c 20 43 72 65 61 74 65 55 72 6c 43 61 63  OOL CreateUrlCac
8a90: 68 65 45 6e 74 72 79 41 28 4c 50 43 53 54 52 2c  heEntryA(LPCSTR,
8aa0: 20 44 57 4f 52 44 2c 20 4c 50 43 53 54 52 2c 20   DWORD, LPCSTR, 
8ab0: 4c 50 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a 09  LPSTR, DWORD);..
8ac0: 42 4f 4f 4c 20 43 72 65 61 74 65 55 72 6c 43 61  BOOL CreateUrlCa
8ad0: 63 68 65 45 6e 74 72 79 57 28 4c 50 43 57 53 54  cheEntryW(LPCWST
8ae0: 52 2c 20 44 57 4f 52 44 2c 20 4c 50 43 57 53 54  R, DWORD, LPCWST
8af0: 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f 52 44  R, LPWSTR, DWORD
8b00: 29 3b 0a 09 42 4f 4f 4c 20 43 6f 6d 6d 69 74 55  );..BOOL CommitU
8b10: 72 6c 43 61 63 68 65 45 6e 74 72 79 41 28 4c 50  rlCacheEntryA(LP
8b20: 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 46 49  CSTR, LPCSTR, FI
8b30: 4c 45 54 49 4d 45 2c 20 46 49 4c 45 54 49 4d 45  LETIME, FILETIME
8b40: 2c 20 44 57 4f 52 44 2c 0a 09 20 20 4c 50 42 59  , DWORD,..  LPBY
8b50: 54 45 2c 20 44 57 4f 52 44 2c 20 4c 50 43 53 54  TE, DWORD, LPCST
8b60: 52 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  R, DWORD);..BOOL
8b70: 20 43 6f 6d 6d 69 74 55 72 6c 43 61 63 68 65 45   CommitUrlCacheE
8b80: 6e 74 72 79 57 28 4c 50 43 57 53 54 52 2c 20 4c  ntryW(LPCWSTR, L
8b90: 50 43 57 53 54 52 2c 20 46 49 4c 45 54 49 4d 45  PCWSTR, FILETIME
8ba0: 2c 20 46 49 4c 45 54 49 4d 45 2c 20 44 57 4f 52  , FILETIME, DWOR
8bb0: 44 2c 0a 09 20 20 4c 50 42 59 54 45 2c 20 44 57  D,..  LPBYTE, DW
8bc0: 4f 52 44 2c 20 4c 50 43 57 53 54 52 2c 20 44 57  ORD, LPCWSTR, DW
8bd0: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 52 65 74 72  ORD);..BOOL Retr
8be0: 69 65 76 65 55 72 6c 43 61 63 68 65 45 6e 74 72  ieveUrlCacheEntr
8bf0: 79 46 69 6c 65 41 28 4c 50 43 53 54 52 2c 20 4c  yFileA(LPCSTR, L
8c00: 50 49 4e 54 45 52 4e 45 54 5f 43 41 43 48 45 5f  PINTERNET_CACHE_
8c10: 45 4e 54 52 59 5f 49 4e 46 4f 41 2c 0a 09 20 20  ENTRY_INFOA,..  
8c20: 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a  PDWORD, DWORD);.
8c30: 09 42 4f 4f 4c 20 52 65 74 72 69 65 76 65 55 72  .BOOL RetrieveUr
8c40: 6c 43 61 63 68 65 45 6e 74 72 79 46 69 6c 65 57  lCacheEntryFileW
8c50: 28 4c 50 43 57 53 54 52 2c 20 4c 50 49 4e 54 45  (LPCWSTR, LPINTE
8c60: 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54 52 59  RNET_CACHE_ENTRY
8c70: 5f 49 4e 46 4f 57 2c 0a 09 20 20 50 44 57 4f 52  _INFOW,..  PDWOR
8c80: 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c  D, DWORD);..BOOL
8c90: 20 55 6e 6c 6f 63 6b 55 72 6c 43 61 63 68 65 45   UnlockUrlCacheE
8ca0: 6e 74 72 79 46 69 6c 65 28 4c 50 43 53 54 52 2c  ntryFile(LPCSTR,
8cb0: 20 44 57 4f 52 44 29 3b 0a 09 48 41 4e 44 4c 45   DWORD);..HANDLE
8cc0: 20 52 65 74 72 69 65 76 65 55 72 6c 43 61 63 68   RetrieveUrlCach
8cd0: 65 45 6e 74 72 79 53 74 72 65 61 6d 41 28 4c 50  eEntryStreamA(LP
8ce0: 43 53 54 52 2c 20 4c 50 49 4e 54 45 52 4e 45 54  CSTR, LPINTERNET
8cf0: 5f 43 41 43 48 45 5f 45 4e 54 52 59 5f 49 4e 46  _CACHE_ENTRY_INF
8d00: 4f 41 2c 0a 09 20 20 50 44 57 4f 52 44 2c 20 42  OA,..  PDWORD, B
8d10: 4f 4f 4c 2c 20 44 57 4f 52 44 29 3b 0a 09 48 41  OOL, DWORD);..HA
8d20: 4e 44 4c 45 20 52 65 74 72 69 65 76 65 55 72 6c  NDLE RetrieveUrl
8d30: 43 61 63 68 65 45 6e 74 72 79 53 74 72 65 61 6d  CacheEntryStream
8d40: 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 49 4e 54  W(LPCWSTR, LPINT
8d50: 45 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54 52  ERNET_CACHE_ENTR
8d60: 59 5f 49 4e 46 4f 57 2c 0a 09 20 20 50 44 57 4f  Y_INFOW,..  PDWO
8d70: 52 44 2c 20 42 4f 4f 4c 2c 20 44 57 4f 52 44 29  RD, BOOL, DWORD)
8d80: 3b 0a 09 42 4f 4f 4c 20 52 65 61 64 55 72 6c 43  ;..BOOL ReadUrlC
8d90: 61 63 68 65 45 6e 74 72 79 53 74 72 65 61 6d 28  acheEntryStream(
8da0: 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20 50  HANDLE, DWORD, P
8db0: 56 4f 49 44 2c 20 50 44 57 4f 52 44 2c 20 44 57  VOID, PDWORD, DW
8dc0: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 55 6e 6c 6f  ORD);..BOOL Unlo
8dd0: 63 6b 55 72 6c 43 61 63 68 65 45 6e 74 72 79 53  ckUrlCacheEntryS
8de0: 74 72 65 61 6d 28 48 41 4e 44 4c 45 2c 20 44 57  tream(HANDLE, DW
8df0: 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 55  ORD);..BOOL GetU
8e00: 72 6c 43 61 63 68 65 45 6e 74 72 79 49 6e 66 6f  rlCacheEntryInfo
8e10: 41 28 4c 50 43 53 54 52 2c 20 4c 50 49 4e 54 45  A(LPCSTR, LPINTE
8e20: 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54 52 59  RNET_CACHE_ENTRY
8e30: 5f 49 4e 46 4f 41 2c 20 50 44 57 4f 52 44 29 3b  _INFOA, PDWORD);
8e40: 0a 09 42 4f 4f 4c 20 47 65 74 55 72 6c 43 61 63  ..BOOL GetUrlCac
8e50: 68 65 45 6e 74 72 79 49 6e 66 6f 57 28 4c 50 43  heEntryInfoW(LPC
8e60: 57 53 54 52 2c 20 4c 50 49 4e 54 45 52 4e 45 54  WSTR, LPINTERNET
8e70: 5f 43 41 43 48 45 5f 45 4e 54 52 59 5f 49 4e 46  _CACHE_ENTRY_INF
8e80: 4f 57 2c 20 50 44 57 4f 52 44 29 3b 0a 09 42 4f  OW, PDWORD);..BO
8e90: 4f 4c 20 53 65 74 55 72 6c 43 61 63 68 65 45 6e  OL SetUrlCacheEn
8ea0: 74 72 79 49 6e 66 6f 41 28 4c 50 43 53 54 52 2c  tryInfoA(LPCSTR,
8eb0: 20 4c 50 49 4e 54 45 52 4e 45 54 5f 43 41 43 48   LPINTERNET_CACH
8ec0: 45 5f 45 4e 54 52 59 5f 49 4e 46 4f 41 2c 20 44  E_ENTRY_INFOA, D
8ed0: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74  WORD);..BOOL Set
8ee0: 55 72 6c 43 61 63 68 65 45 6e 74 72 79 49 6e 66  UrlCacheEntryInf
8ef0: 6f 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 49 4e  oW(LPCWSTR, LPIN
8f00: 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54  TERNET_CACHE_ENT
8f10: 52 59 5f 49 4e 46 4f 57 2c 20 44 57 4f 52 44 29  RY_INFOW, DWORD)
8f20: 3b 0a 09 48 41 4e 44 4c 45 20 46 69 6e 64 46 69  ;..HANDLE FindFi
8f30: 72 73 74 55 72 6c 43 61 63 68 65 45 6e 74 72 79  rstUrlCacheEntry
8f40: 41 28 4c 50 43 53 54 52 2c 20 4c 50 49 4e 54 45  A(LPCSTR, LPINTE
8f50: 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54 52 59  RNET_CACHE_ENTRY
8f60: 5f 49 4e 46 4f 41 2c 0a 09 20 20 50 44 57 4f 52  _INFOA,..  PDWOR
8f70: 44 29 3b 0a 09 48 41 4e 44 4c 45 20 46 69 6e 64  D);..HANDLE Find
8f80: 46 69 72 73 74 55 72 6c 43 61 63 68 65 45 6e 74  FirstUrlCacheEnt
8f90: 72 79 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 49  ryW(LPCWSTR, LPI
8fa0: 4e 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e  NTERNET_CACHE_EN
8fb0: 54 52 59 5f 49 4e 46 4f 57 2c 0a 09 20 20 50 44  TRY_INFOW,..  PD
8fc0: 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 46 69 6e  WORD);..BOOL Fin
8fd0: 64 4e 65 78 74 55 72 6c 43 61 63 68 65 45 6e 74  dNextUrlCacheEnt
8fe0: 72 79 41 28 48 41 4e 44 4c 45 2c 20 4c 50 49 4e  ryA(HANDLE, LPIN
8ff0: 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54  TERNET_CACHE_ENT
9000: 52 59 5f 49 4e 46 4f 41 2c 20 50 44 57 4f 52 44  RY_INFOA, PDWORD
9010: 29 3b 0a 09 42 4f 4f 4c 20 46 69 6e 64 4e 65 78  );..BOOL FindNex
9020: 74 55 72 6c 43 61 63 68 65 45 6e 74 72 79 57 28  tUrlCacheEntryW(
9030: 48 41 4e 44 4c 45 2c 20 4c 50 49 4e 54 45 52 4e  HANDLE, LPINTERN
9040: 45 54 5f 43 41 43 48 45 5f 45 4e 54 52 59 5f 49  ET_CACHE_ENTRY_I
9050: 4e 46 4f 57 2c 20 50 44 57 4f 52 44 29 3b 0a 09  NFOW, PDWORD);..
9060: 42 4f 4f 4c 20 46 69 6e 64 43 6c 6f 73 65 55 72  BOOL FindCloseUr
9070: 6c 43 61 63 68 65 28 48 41 4e 44 4c 45 29 3b 0a  lCache(HANDLE);.
9080: 09 42 4f 4f 4c 20 44 65 6c 65 74 65 55 72 6c 43  .BOOL DeleteUrlC
9090: 61 63 68 65 45 6e 74 72 79 28 4c 50 43 53 54 52  acheEntry(LPCSTR
90a0: 29 3b 0a 09 44 57 4f 52 44 20 41 75 74 68 65 6e  );..DWORD Authen
90b0: 74 69 63 61 74 65 55 73 65 72 28 50 56 4f 49 44  ticateUser(PVOID
90c0: 2a 2c 20 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c  *, LPSTR, LPSTR,
90d0: 20 44 57 4f 52 44 2c 20 4c 50 53 54 52 2c 20 44   DWORD, LPSTR, D
90e0: 57 4f 52 44 2c 20 4c 50 53 54 52 2c 0a 09 20 20  WORD, LPSTR,..  
90f0: 4c 50 53 54 52 29 3b 0a 09 42 4f 4f 4c 20 48 74  LPSTR);..BOOL Ht
9100: 74 70 53 65 6e 64 52 65 71 75 65 73 74 45 78 41  tpSendRequestExA
9110: 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50 49 4e  (HINTERNET, LPIN
9120: 54 45 52 4e 45 54 5f 42 55 46 46 45 52 53 41 2c  TERNET_BUFFERSA,
9130: 0a 09 20 20 4c 50 49 4e 54 45 52 4e 45 54 5f 42  ..  LPINTERNET_B
9140: 55 46 46 45 52 53 41 2c 20 44 57 4f 52 44 2c 20  UFFERSA, DWORD, 
9150: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 48 74  DWORD);..BOOL Ht
9160: 74 70 53 65 6e 64 52 65 71 75 65 73 74 45 78 57  tpSendRequestExW
9170: 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50 49 4e  (HINTERNET, LPIN
9180: 54 45 52 4e 45 54 5f 42 55 46 46 45 52 53 57 2c  TERNET_BUFFERSW,
9190: 0a 09 20 20 4c 50 49 4e 54 45 52 4e 45 54 5f 42  ..  LPINTERNET_B
91a0: 55 46 46 45 52 53 57 2c 20 44 57 4f 52 44 2c 20  UFFERSW, DWORD, 
91b0: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 48 74  DWORD);..BOOL Ht
91c0: 74 70 45 6e 64 52 65 71 75 65 73 74 41 28 48 49  tpEndRequestA(HI
91d0: 4e 54 45 52 4e 45 54 2c 20 4c 50 49 4e 54 45 52  NTERNET, LPINTER
91e0: 4e 45 54 5f 42 55 46 46 45 52 53 41 2c 20 44 57  NET_BUFFERSA, DW
91f0: 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f  ORD, DWORD);..BO
9200: 4f 4c 20 48 74 74 70 45 6e 64 52 65 71 75 65 73  OL HttpEndReques
9210: 74 57 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c 50  tW(HINTERNET, LP
9220: 49 4e 54 45 52 4e 45 54 5f 42 55 46 46 45 52 53  INTERNET_BUFFERS
9230: 57 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 29  W, DWORD, DWORD)
9240: 3b 0a 09 44 57 4f 52 44 20 49 6e 74 65 72 6e 65  ;..DWORD Interne
9250: 74 44 69 61 6c 28 48 57 4e 44 2c 20 4c 50 54 53  tDial(HWND, LPTS
9260: 54 52 2c 20 44 57 4f 52 44 2c 20 4c 50 44 57 4f  TR, DWORD, LPDWO
9270: 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 44 57 4f  RD, DWORD);..DWO
9280: 52 44 20 49 6e 74 65 72 6e 65 74 48 61 6e 67 55  RD InternetHangU
9290: 70 28 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b  p(DWORD, DWORD);
92a0: 0a 09 42 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 47  ..BOOL InternetG
92b0: 6f 4f 6e 6c 69 6e 65 28 4c 50 54 53 54 52 2c 20  oOnline(LPTSTR, 
92c0: 48 57 4e 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42  HWND, DWORD);..B
92d0: 4f 4f 4c 20 49 6e 74 65 72 6e 65 74 41 75 74 6f  OOL InternetAuto
92e0: 64 69 61 6c 28 44 57 4f 52 44 2c 20 44 57 4f 52  dial(DWORD, DWOR
92f0: 44 29 3b 0a 09 42 4f 4f 4c 20 49 6e 74 65 72 6e  D);..BOOL Intern
9300: 65 74 41 75 74 6f 64 69 61 6c 48 61 6e 67 75 70  etAutodialHangup
9310: 28 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 49  (DWORD);..BOOL I
9320: 6e 74 65 72 6e 65 74 47 65 74 43 6f 6e 6e 65 63  nternetGetConnec
9330: 74 65 64 53 74 61 74 65 28 4c 50 44 57 4f 52 44  tedState(LPDWORD
9340: 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20  , DWORD);..BOOL 
9350: 49 6e 74 65 72 6e 65 74 53 65 74 44 69 61 6c 53  InternetSetDialS
9360: 74 61 74 65 28 4c 50 43 54 53 54 52 2c 20 44 57  tate(LPCTSTR, DW
9370: 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f  ORD, DWORD);..BO
9380: 4f 4c 20 49 6e 74 65 72 6e 65 74 52 65 61 64 46  OL InternetReadF
9390: 69 6c 65 45 78 41 28 48 49 4e 54 45 52 4e 45 54  ileExA(HINTERNET
93a0: 2c 20 4c 50 49 4e 54 45 52 4e 45 54 5f 42 55 46  , LPINTERNET_BUF
93b0: 46 45 52 53 41 2c 20 44 57 4f 52 44 2c 20 44 57  FERSA, DWORD, DW
93c0: 4f 52 44 5f 50 54 52 29 3b 0a 09 42 4f 4f 4c 20  ORD_PTR);..BOOL 
93d0: 49 6e 74 65 72 6e 65 74 52 65 61 64 46 69 6c 65  InternetReadFile
93e0: 45 78 57 28 48 49 4e 54 45 52 4e 45 54 2c 20 4c  ExW(HINTERNET, L
93f0: 50 49 4e 54 45 52 4e 45 54 5f 42 55 46 46 45 52  PINTERNET_BUFFER
9400: 53 57 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  SW, DWORD, DWORD
9410: 5f 50 54 52 29 3b 0a 09 47 52 4f 55 50 49 44 20  _PTR);..GROUPID 
9420: 43 72 65 61 74 65 55 72 6c 43 61 63 68 65 47 72  CreateUrlCacheGr
9430: 6f 75 70 28 44 57 4f 52 44 2c 20 4c 50 56 4f 49  oup(DWORD, LPVOI
9440: 44 29 3b 0a 09 42 4f 4f 4c 20 44 65 6c 65 74 65  D);..BOOL Delete
9450: 55 72 6c 43 61 63 68 65 47 72 6f 75 70 28 47 52  UrlCacheGroup(GR
9460: 4f 55 50 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50  OUPID, DWORD, LP
9470: 56 4f 49 44 29 3b 0a 09 48 41 4e 44 4c 45 20 46  VOID);..HANDLE F
9480: 69 6e 64 46 69 72 73 74 55 72 6c 43 61 63 68 65  indFirstUrlCache
9490: 47 72 6f 75 70 28 44 57 4f 52 44 2c 20 44 57 4f  Group(DWORD, DWO
94a0: 52 44 2c 20 4c 50 56 4f 49 44 2c 20 44 57 4f 52  RD, LPVOID, DWOR
94b0: 44 2c 20 47 52 4f 55 50 49 44 2a 2c 0a 09 20 20  D, GROUPID*,..  
94c0: 4c 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20 46  LPVOID);..BOOL F
94d0: 69 6e 64 4e 65 78 74 55 72 6c 43 61 63 68 65 47  indNextUrlCacheG
94e0: 72 6f 75 70 28 48 41 4e 44 4c 45 2c 20 47 52 4f  roup(HANDLE, GRO
94f0: 55 50 49 44 2a 2c 20 4c 50 56 4f 49 44 29 3b 0a  UPID*, LPVOID);.
9500: 09 42 4f 4f 4c 20 47 65 74 55 72 6c 43 61 63 68  .BOOL GetUrlCach
9510: 65 47 72 6f 75 70 41 74 74 72 69 62 75 74 65 41  eGroupAttributeA
9520: 28 47 52 4f 55 50 49 44 2c 20 44 57 4f 52 44 2c  (GROUPID, DWORD,
9530: 20 44 57 4f 52 44 2c 0a 09 20 20 4c 50 49 4e 54   DWORD,..  LPINT
9540: 45 52 4e 45 54 5f 43 41 43 48 45 5f 47 52 4f 55  ERNET_CACHE_GROU
9550: 50 5f 49 4e 46 4f 41 2c 20 4c 50 44 57 4f 52 44  P_INFOA, LPDWORD
9560: 2c 20 4c 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c  , LPVOID);..BOOL
9570: 20 47 65 74 55 72 6c 43 61 63 68 65 47 72 6f 75   GetUrlCacheGrou
9580: 70 41 74 74 72 69 62 75 74 65 57 28 47 52 4f 55  pAttributeW(GROU
9590: 50 49 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  PID, DWORD, DWOR
95a0: 44 2c 0a 09 20 20 4c 50 49 4e 54 45 52 4e 45 54  D,..  LPINTERNET
95b0: 5f 43 41 43 48 45 5f 47 52 4f 55 50 5f 49 4e 46  _CACHE_GROUP_INF
95c0: 4f 57 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 56  OW, LPDWORD, LPV
95d0: 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 55  OID);..BOOL SetU
95e0: 72 6c 43 61 63 68 65 47 72 6f 75 70 41 74 74 72  rlCacheGroupAttr
95f0: 69 62 75 74 65 41 28 47 52 4f 55 50 49 44 2c 20  ibuteA(GROUPID, 
9600: 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 0a 09 20  DWORD, DWORD,.. 
9610: 20 4c 50 49 4e 54 45 52 4e 45 54 5f 43 41 43 48   LPINTERNET_CACH
9620: 45 5f 47 52 4f 55 50 5f 49 4e 46 4f 41 2c 20 4c  E_GROUP_INFOA, L
9630: 50 56 4f 49 44 29 3b 0a 09 42 4f 4f 4c 20 53 65  PVOID);..BOOL Se
9640: 74 55 72 6c 43 61 63 68 65 47 72 6f 75 70 41 74  tUrlCacheGroupAt
9650: 74 72 69 62 75 74 65 57 28 47 52 4f 55 50 49 44  tributeW(GROUPID
9660: 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 0a  , DWORD, DWORD,.
9670: 09 20 20 4c 50 49 4e 54 45 52 4e 45 54 5f 43 41  .  LPINTERNET_CA
9680: 43 48 45 5f 47 52 4f 55 50 5f 49 4e 46 4f 57 2c  CHE_GROUP_INFOW,
9690: 20 4c 50 56 4f 49 44 29 3b 0a 7d 0a 0a 76 65 72   LPVOID);.}..ver
96a0: 73 69 6f 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b  sion (Unicode) {
96b0: 0a 09 61 6c 69 61 73 20 55 52 4c 5f 43 4f 4d 50  ..alias URL_COMP
96c0: 4f 4e 45 4e 54 53 57 20 55 52 4c 5f 43 4f 4d 50  ONENTSW URL_COMP
96d0: 4f 4e 45 4e 54 53 3b 0a 09 61 6c 69 61 73 20 4c  ONENTS;..alias L
96e0: 50 55 52 4c 5f 43 4f 4d 50 4f 4e 45 4e 54 53 57  PURL_COMPONENTSW
96f0: 20 4c 50 55 52 4c 5f 43 4f 4d 50 4f 4e 45 4e 54   LPURL_COMPONENT
9700: 53 3b 0a 09 61 6c 69 61 73 20 47 4f 50 48 45 52  S;..alias GOPHER
9710: 5f 46 49 4e 44 5f 44 41 54 41 57 20 47 4f 50 48  _FIND_DATAW GOPH
9720: 45 52 5f 46 49 4e 44 5f 44 41 54 41 3b 0a 09 61  ER_FIND_DATA;..a
9730: 6c 69 61 73 20 4c 50 47 4f 50 48 45 52 5f 46 49  lias LPGOPHER_FI
9740: 4e 44 5f 44 41 54 41 57 20 4c 50 47 4f 50 48 45  ND_DATAW LPGOPHE
9750: 52 5f 46 49 4e 44 5f 44 41 54 41 3b 0a 09 61 6c  R_FIND_DATA;..al
9760: 69 61 73 20 49 4e 54 45 52 4e 45 54 5f 43 41 43  ias INTERNET_CAC
9770: 48 45 5f 45 4e 54 52 59 5f 49 4e 46 4f 57 20 49  HE_ENTRY_INFOW I
9780: 4e 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e  NTERNET_CACHE_EN
9790: 54 52 59 5f 49 4e 46 4f 3b 0a 09 61 6c 69 61 73  TRY_INFO;..alias
97a0: 20 4c 50 49 4e 54 45 52 4e 45 54 5f 43 41 43 48   LPINTERNET_CACH
97b0: 45 5f 45 4e 54 52 59 5f 49 4e 46 4f 57 20 4c 50  E_ENTRY_INFOW LP
97c0: 49 4e 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45  INTERNET_CACHE_E
97d0: 4e 54 52 59 5f 49 4e 46 4f 3b 0a 09 61 6c 69 61  NTRY_INFO;..alia
97e0: 73 20 49 4e 54 45 52 4e 45 54 5f 42 55 46 46 45  s INTERNET_BUFFE
97f0: 52 53 57 20 49 4e 54 45 52 4e 45 54 5f 42 55 46  RSW INTERNET_BUF
9800: 46 45 52 53 3b 0a 09 61 6c 69 61 73 20 49 4e 54  FERS;..alias INT
9810: 45 52 4e 45 54 5f 43 41 43 48 45 5f 47 52 4f 55  ERNET_CACHE_GROU
9820: 50 5f 49 4e 46 4f 57 20 49 4e 54 45 52 4e 45 54  P_INFOW INTERNET
9830: 5f 43 41 43 48 45 5f 47 52 4f 55 50 5f 49 4e 46  _CACHE_GROUP_INF
9840: 4f 3b 0a 09 61 6c 69 61 73 20 4c 50 49 4e 54 45  O;..alias LPINTE
9850: 52 4e 45 54 5f 43 41 43 48 45 5f 47 52 4f 55 50  RNET_CACHE_GROUP
9860: 5f 49 4e 46 4f 57 20 4c 50 49 4e 54 45 52 4e 45  _INFOW LPINTERNE
9870: 54 5f 43 41 43 48 45 5f 47 52 4f 55 50 5f 49 4e  T_CACHE_GROUP_IN
9880: 46 4f 3b 0a 09 61 6c 69 61 73 20 49 6e 74 65 72  FO;..alias Inter
9890: 6e 65 74 43 72 61 63 6b 55 72 6c 57 20 49 6e 74  netCrackUrlW Int
98a0: 65 72 6e 65 74 43 72 61 63 6b 55 72 6c 3b 0a 09  ernetCrackUrl;..
98b0: 61 6c 69 61 73 20 49 6e 74 65 72 6e 65 74 43 72  alias InternetCr
98c0: 65 61 74 65 55 72 6c 57 20 49 6e 74 65 72 6e 65  eateUrlW Interne
98d0: 74 43 72 65 61 74 65 55 72 6c 3b 0a 09 61 6c 69  tCreateUrl;..ali
98e0: 61 73 20 49 6e 74 65 72 6e 65 74 43 61 6e 6f 6e  as InternetCanon
98f0: 69 63 61 6c 69 7a 65 55 72 6c 57 20 49 6e 74 65  icalizeUrlW Inte
9900: 72 6e 65 74 43 61 6e 6f 6e 69 63 61 6c 69 7a 65  rnetCanonicalize
9910: 55 72 6c 3b 0a 09 61 6c 69 61 73 20 49 6e 74 65  Url;..alias Inte
9920: 72 6e 65 74 43 68 65 63 6b 43 6f 6e 6e 65 63 74  rnetCheckConnect
9930: 69 6f 6e 57 20 49 6e 74 65 72 6e 65 74 43 68 65  ionW InternetChe
9940: 63 6b 43 6f 6e 6e 65 63 74 69 6f 6e 3b 0a 09 61  ckConnection;..a
9950: 6c 69 61 73 20 49 6e 74 65 72 6e 65 74 43 6f 6d  lias InternetCom
9960: 62 69 6e 65 55 72 6c 57 20 49 6e 74 65 72 6e 65  bineUrlW Interne
9970: 74 43 6f 6d 62 69 6e 65 55 72 6c 3b 0a 09 61 6c  tCombineUrl;..al
9980: 69 61 73 20 49 6e 74 65 72 6e 65 74 4f 70 65 6e  ias InternetOpen
9990: 57 20 49 6e 74 65 72 6e 65 74 4f 70 65 6e 3b 0a  W InternetOpen;.
99a0: 09 61 6c 69 61 73 20 49 6e 74 65 72 6e 65 74 43  .alias InternetC
99b0: 6f 6e 6e 65 63 74 57 20 49 6e 74 65 72 6e 65 74  onnectW Internet
99c0: 43 6f 6e 6e 65 63 74 3b 0a 09 61 6c 69 61 73 20  Connect;..alias 
99d0: 49 6e 74 65 72 6e 65 74 4f 70 65 6e 55 72 6c 57  InternetOpenUrlW
99e0: 20 49 6e 74 65 72 6e 65 74 4f 70 65 6e 55 72 6c   InternetOpenUrl
99f0: 3b 0a 09 61 6c 69 61 73 20 49 6e 74 65 72 6e 65  ;..alias Interne
9a00: 74 46 69 6e 64 4e 65 78 74 46 69 6c 65 57 20 49  tFindNextFileW I
9a10: 6e 74 65 72 6e 65 74 46 69 6e 64 4e 65 78 74 46  nternetFindNextF
9a20: 69 6c 65 3b 0a 09 61 6c 69 61 73 20 49 6e 74 65  ile;..alias Inte
9a30: 72 6e 65 74 51 75 65 72 79 4f 70 74 69 6f 6e 57  rnetQueryOptionW
9a40: 20 49 6e 74 65 72 6e 65 74 51 75 65 72 79 4f 70   InternetQueryOp
9a50: 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20 49 6e 74  tion;..alias Int
9a60: 65 72 6e 65 74 53 65 74 4f 70 74 69 6f 6e 57 20  ernetSetOptionW 
9a70: 49 6e 74 65 72 6e 65 74 53 65 74 4f 70 74 69 6f  InternetSetOptio
9a80: 6e 3b 0a 09 61 6c 69 61 73 20 49 6e 74 65 72 6e  n;..alias Intern
9a90: 65 74 53 65 74 4f 70 74 69 6f 6e 45 78 57 20 49  etSetOptionExW I
9aa0: 6e 74 65 72 6e 65 74 53 65 74 4f 70 74 69 6f 6e  nternetSetOption
9ab0: 45 78 3b 0a 09 61 6c 69 61 73 20 49 6e 74 65 72  Ex;..alias Inter
9ac0: 6e 65 74 47 65 74 4c 61 73 74 52 65 73 70 6f 6e  netGetLastRespon
9ad0: 73 65 49 6e 66 6f 57 20 49 6e 74 65 72 6e 65 74  seInfoW Internet
9ae0: 47 65 74 4c 61 73 74 52 65 73 70 6f 6e 73 65 49  GetLastResponseI
9af0: 6e 66 6f 3b 0a 09 61 6c 69 61 73 20 49 6e 74 65  nfo;..alias Inte
9b00: 72 6e 65 74 52 65 61 64 46 69 6c 65 45 78 57 20  rnetReadFileExW 
9b10: 49 6e 74 65 72 6e 65 74 52 65 61 64 46 69 6c 65  InternetReadFile
9b20: 45 78 3b 0a 09 61 6c 69 61 73 20 46 74 70 46 69  Ex;..alias FtpFi
9b30: 6e 64 46 69 72 73 74 46 69 6c 65 57 20 46 74 70  ndFirstFileW Ftp
9b40: 46 69 6e 64 46 69 72 73 74 46 69 6c 65 3b 0a 09  FindFirstFile;..
9b50: 61 6c 69 61 73 20 46 74 70 47 65 74 46 69 6c 65  alias FtpGetFile
9b60: 57 20 46 74 70 47 65 74 46 69 6c 65 3b 0a 09 61  W FtpGetFile;..a
9b70: 6c 69 61 73 20 46 74 70 50 75 74 46 69 6c 65 57  lias FtpPutFileW
9b80: 20 46 74 70 50 75 74 46 69 6c 65 3b 0a 09 61 6c   FtpPutFile;..al
9b90: 69 61 73 20 46 74 70 44 65 6c 65 74 65 46 69 6c  ias FtpDeleteFil
9ba0: 65 57 20 46 74 70 44 65 6c 65 74 65 46 69 6c 65  eW FtpDeleteFile
9bb0: 3b 0a 09 61 6c 69 61 73 20 46 74 70 52 65 6e 61  ;..alias FtpRena
9bc0: 6d 65 46 69 6c 65 57 20 46 74 70 52 65 6e 61 6d  meFileW FtpRenam
9bd0: 65 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 46 74  eFile;..alias Ft
9be0: 70 4f 70 65 6e 46 69 6c 65 57 20 46 74 70 4f 70  pOpenFileW FtpOp
9bf0: 65 6e 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 46  enFile;..alias F
9c00: 74 70 43 72 65 61 74 65 44 69 72 65 63 74 6f 72  tpCreateDirector
9c10: 79 57 20 46 74 70 43 72 65 61 74 65 44 69 72 65  yW FtpCreateDire
9c20: 63 74 6f 72 79 3b 0a 09 61 6c 69 61 73 20 46 74  ctory;..alias Ft
9c30: 70 52 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79  pRemoveDirectory
9c40: 57 20 46 74 70 52 65 6d 6f 76 65 44 69 72 65 63  W FtpRemoveDirec
9c50: 74 6f 72 79 3b 0a 09 61 6c 69 61 73 20 46 74 70  tory;..alias Ftp
9c60: 53 65 74 43 75 72 72 65 6e 74 44 69 72 65 63 74  SetCurrentDirect
9c70: 6f 72 79 57 20 46 74 70 53 65 74 43 75 72 72 65  oryW FtpSetCurre
9c80: 6e 74 44 69 72 65 63 74 6f 72 79 3b 0a 09 61 6c  ntDirectory;..al
9c90: 69 61 73 20 46 74 70 47 65 74 43 75 72 72 65 6e  ias FtpGetCurren
9ca0: 74 44 69 72 65 63 74 6f 72 79 57 20 46 74 70 47  tDirectoryW FtpG
9cb0: 65 74 43 75 72 72 65 6e 74 44 69 72 65 63 74 6f  etCurrentDirecto
9cc0: 72 79 3b 0a 09 61 6c 69 61 73 20 46 74 70 43 6f  ry;..alias FtpCo
9cd0: 6d 6d 61 6e 64 57 20 46 74 70 43 6f 6d 6d 61 6e  mmandW FtpComman
9ce0: 64 3b 0a 09 61 6c 69 61 73 20 47 6f 70 68 65 72  d;..alias Gopher
9cf0: 47 65 74 4c 6f 63 61 74 6f 72 54 79 70 65 57 20  GetLocatorTypeW 
9d00: 47 6f 70 68 65 72 47 65 74 4c 6f 63 61 74 6f 72  GopherGetLocator
9d10: 54 79 70 65 3b 0a 09 61 6c 69 61 73 20 47 6f 70  Type;..alias Gop
9d20: 68 65 72 43 72 65 61 74 65 4c 6f 63 61 74 6f 72  herCreateLocator
9d30: 57 20 47 6f 70 68 65 72 43 72 65 61 74 65 4c 6f  W GopherCreateLo
9d40: 63 61 74 6f 72 3b 0a 09 61 6c 69 61 73 20 47 6f  cator;..alias Go
9d50: 70 68 65 72 46 69 6e 64 46 69 72 73 74 46 69 6c  pherFindFirstFil
9d60: 65 57 20 47 6f 70 68 65 72 46 69 6e 64 46 69 72  eW GopherFindFir
9d70: 73 74 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 47  stFile;..alias G
9d80: 6f 70 68 65 72 4f 70 65 6e 46 69 6c 65 57 20 47  opherOpenFileW G
9d90: 6f 70 68 65 72 4f 70 65 6e 46 69 6c 65 3b 0a 09  opherOpenFile;..
9da0: 61 6c 69 61 73 20 47 6f 70 68 65 72 47 65 74 41  alias GopherGetA
9db0: 74 74 72 69 62 75 74 65 57 20 47 6f 70 68 65 72  ttributeW Gopher
9dc0: 47 65 74 41 74 74 72 69 62 75 74 65 3b 0a 09 61  GetAttribute;..a
9dd0: 6c 69 61 73 20 48 74 74 70 53 65 6e 64 52 65 71  lias HttpSendReq
9de0: 75 65 73 74 57 20 48 74 74 70 53 65 6e 64 52 65  uestW HttpSendRe
9df0: 71 75 65 73 74 3b 0a 09 61 6c 69 61 73 20 48 74  quest;..alias Ht
9e00: 74 70 4f 70 65 6e 52 65 71 75 65 73 74 57 20 48  tpOpenRequestW H
9e10: 74 74 70 4f 70 65 6e 52 65 71 75 65 73 74 3b 0a  ttpOpenRequest;.
9e20: 09 61 6c 69 61 73 20 48 74 74 70 41 64 64 52 65  .alias HttpAddRe
9e30: 71 75 65 73 74 48 65 61 64 65 72 73 57 20 48 74  questHeadersW Ht
9e40: 74 70 41 64 64 52 65 71 75 65 73 74 48 65 61 64  tpAddRequestHead
9e50: 65 72 73 3b 0a 09 61 6c 69 61 73 20 48 74 74 70  ers;..alias Http
9e60: 51 75 65 72 79 49 6e 66 6f 57 20 48 74 74 70 51  QueryInfoW HttpQ
9e70: 75 65 72 79 49 6e 66 6f 3b 0a 09 61 6c 69 61 73  ueryInfo;..alias
9e80: 20 49 6e 74 65 72 6e 65 74 53 65 74 43 6f 6f 6b   InternetSetCook
9e90: 69 65 57 20 49 6e 74 65 72 6e 65 74 53 65 74 43  ieW InternetSetC
9ea0: 6f 6f 6b 69 65 3b 0a 09 61 6c 69 61 73 20 49 6e  ookie;..alias In
9eb0: 74 65 72 6e 65 74 47 65 74 43 6f 6f 6b 69 65 57  ternetGetCookieW
9ec0: 20 49 6e 74 65 72 6e 65 74 47 65 74 43 6f 6f 6b   InternetGetCook
9ed0: 69 65 3b 0a 09 61 6c 69 61 73 20 43 72 65 61 74  ie;..alias Creat
9ee0: 65 55 72 6c 43 61 63 68 65 45 6e 74 72 79 57 20  eUrlCacheEntryW 
9ef0: 43 72 65 61 74 65 55 72 6c 43 61 63 68 65 45 6e  CreateUrlCacheEn
9f00: 74 72 79 3b 0a 09 61 6c 69 61 73 20 52 65 74 72  try;..alias Retr
9f10: 69 65 76 65 55 72 6c 43 61 63 68 65 45 6e 74 72  ieveUrlCacheEntr
9f20: 79 53 74 72 65 61 6d 57 20 52 65 74 72 69 65 76  yStreamW Retriev
9f30: 65 55 72 6c 43 61 63 68 65 45 6e 74 72 79 53 74  eUrlCacheEntrySt
9f40: 72 65 61 6d 3b 0a 09 61 6c 69 61 73 20 46 69 6e  ream;..alias Fin
9f50: 64 4e 65 78 74 55 72 6c 43 61 63 68 65 45 6e 74  dNextUrlCacheEnt
9f60: 72 79 57 20 46 69 6e 64 4e 65 78 74 55 72 6c 43  ryW FindNextUrlC
9f70: 61 63 68 65 45 6e 74 72 79 3b 0a 09 61 6c 69 61  acheEntry;..alia
9f80: 73 20 43 6f 6d 6d 69 74 55 72 6c 43 61 63 68 65  s CommitUrlCache
9f90: 45 6e 74 72 79 57 20 43 6f 6d 6d 69 74 55 72 6c  EntryW CommitUrl
9fa0: 43 61 63 68 65 45 6e 74 72 79 3b 0a 09 61 6c 69  CacheEntry;..ali
9fb0: 61 73 20 47 65 74 55 72 6c 43 61 63 68 65 45 6e  as GetUrlCacheEn
9fc0: 74 72 79 49 6e 66 6f 57 20 47 65 74 55 72 6c 43  tryInfoW GetUrlC
9fd0: 61 63 68 65 45 6e 74 72 79 49 6e 66 6f 3b 0a 09  acheEntryInfo;..
9fe0: 61 6c 69 61 73 20 53 65 74 55 72 6c 43 61 63 68  alias SetUrlCach
9ff0: 65 45 6e 74 72 79 49 6e 66 6f 57 20 53 65 74 55  eEntryInfoW SetU
a000: 72 6c 43 61 63 68 65 45 6e 74 72 79 49 6e 66 6f  rlCacheEntryInfo
a010: 3b 0a 09 61 6c 69 61 73 20 46 69 6e 64 46 69 72  ;..alias FindFir
a020: 73 74 55 72 6c 43 61 63 68 65 45 6e 74 72 79 57  stUrlCacheEntryW
a030: 20 46 69 6e 64 46 69 72 73 74 55 72 6c 43 61 63   FindFirstUrlCac
a040: 68 65 45 6e 74 72 79 3b 0a 09 61 6c 69 61 73 20  heEntry;..alias 
a050: 52 65 74 72 69 65 76 65 55 72 6c 43 61 63 68 65  RetrieveUrlCache
a060: 45 6e 74 72 79 46 69 6c 65 57 20 52 65 74 72 69  EntryFileW Retri
a070: 65 76 65 55 72 6c 43 61 63 68 65 45 6e 74 72 79  eveUrlCacheEntry
a080: 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 48 74 74  File;..alias Htt
a090: 70 53 65 6e 64 52 65 71 75 65 73 74 45 78 57 20  pSendRequestExW 
a0a0: 48 74 74 70 53 65 6e 64 52 65 71 75 65 73 74 45  HttpSendRequestE
a0b0: 78 3b 0a 09 61 6c 69 61 73 20 48 74 74 70 45 6e  x;..alias HttpEn
a0c0: 64 52 65 71 75 65 73 74 57 20 48 74 74 70 45 6e  dRequestW HttpEn
a0d0: 64 52 65 71 75 65 73 74 3b 0a 09 61 6c 69 61 73  dRequest;..alias
a0e0: 20 47 65 74 55 72 6c 43 61 63 68 65 47 72 6f 75   GetUrlCacheGrou
a0f0: 70 41 74 74 72 69 62 75 74 65 57 20 47 65 74 55  pAttributeW GetU
a100: 72 6c 43 61 63 68 65 47 72 6f 75 70 41 74 74 72  rlCacheGroupAttr
a110: 69 62 75 74 65 3b 0a 09 61 6c 69 61 73 20 53 65  ibute;..alias Se
a120: 74 55 72 6c 43 61 63 68 65 47 72 6f 75 70 41 74  tUrlCacheGroupAt
a130: 74 72 69 62 75 74 65 57 20 53 65 74 55 72 6c 43  tributeW SetUrlC
a140: 61 63 68 65 47 72 6f 75 70 41 74 74 72 69 62 75  acheGroupAttribu
a150: 74 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 09 61 6c  te;.} else {..al
a160: 69 61 73 20 55 52 4c 5f 43 4f 4d 50 4f 4e 45 4e  ias URL_COMPONEN
a170: 54 53 41 20 55 52 4c 5f 43 4f 4d 50 4f 4e 45 4e  TSA URL_COMPONEN
a180: 54 53 3b 0a 09 61 6c 69 61 73 20 4c 50 55 52 4c  TS;..alias LPURL
a190: 5f 43 4f 4d 50 4f 4e 45 4e 54 53 41 20 4c 50 55  _COMPONENTSA LPU
a1a0: 52 4c 5f 43 4f 4d 50 4f 4e 45 4e 54 53 3b 0a 09  RL_COMPONENTS;..
a1b0: 61 6c 69 61 73 20 47 4f 50 48 45 52 5f 46 49 4e  alias GOPHER_FIN
a1c0: 44 5f 44 41 54 41 41 20 47 4f 50 48 45 52 5f 46  D_DATAA GOPHER_F
a1d0: 49 4e 44 5f 44 41 54 41 3b 0a 09 61 6c 69 61 73  IND_DATA;..alias
a1e0: 20 4c 50 47 4f 50 48 45 52 5f 46 49 4e 44 5f 44   LPGOPHER_FIND_D
a1f0: 41 54 41 41 20 4c 50 47 4f 50 48 45 52 5f 46 49  ATAA LPGOPHER_FI
a200: 4e 44 5f 44 41 54 41 3b 0a 09 61 6c 69 61 73 20  ND_DATA;..alias 
a210: 49 4e 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45  INTERNET_CACHE_E
a220: 4e 54 52 59 5f 49 4e 46 4f 41 20 49 4e 54 45 52  NTRY_INFOA INTER
a230: 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54 52 59 5f  NET_CACHE_ENTRY_
a240: 49 4e 46 4f 3b 0a 09 61 6c 69 61 73 20 4c 50 49  INFO;..alias LPI
a250: 4e 54 45 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e  NTERNET_CACHE_EN
a260: 54 52 59 5f 49 4e 46 4f 41 20 4c 50 49 4e 54 45  TRY_INFOA LPINTE
a270: 52 4e 45 54 5f 43 41 43 48 45 5f 45 4e 54 52 59  RNET_CACHE_ENTRY
a280: 5f 49 4e 46 4f 3b 0a 09 61 6c 69 61 73 20 49 4e  _INFO;..alias IN
a290: 54 45 52 4e 45 54 5f 42 55 46 46 45 52 53 41 20  TERNET_BUFFERSA 
a2a0: 49 4e 54 45 52 4e 45 54 5f 42 55 46 46 45 52 53  INTERNET_BUFFERS
a2b0: 3b 0a 09 61 6c 69 61 73 20 49 4e 54 45 52 4e 45  ;..alias INTERNE
a2c0: 54 5f 43 41 43 48 45 5f 47 52 4f 55 50 5f 49 4e  T_CACHE_GROUP_IN
a2d0: 46 4f 41 20 49 4e 54 45 52 4e 45 54 5f 43 41 43  FOA INTERNET_CAC
a2e0: 48 45 5f 47 52 4f 55 50 5f 49 4e 46 4f 3b 0a 09  HE_GROUP_INFO;..
a2f0: 61 6c 69 61 73 20 4c 50 49 4e 54 45 52 4e 45 54  alias LPINTERNET
a300: 5f 43 41 43 48 45 5f 47 52 4f 55 50 5f 49 4e 46  _CACHE_GROUP_INF
a310: 4f 41 20 4c 50 49 4e 54 45 52 4e 45 54 5f 43 41  OA LPINTERNET_CA
a320: 43 48 45 5f 47 52 4f 55 50 5f 49 4e 46 4f 3b 0a  CHE_GROUP_INFO;.
a330: 09 61 6c 69 61 73 20 47 6f 70 68 65 72 47 65 74  .alias GopherGet
a340: 41 74 74 72 69 62 75 74 65 41 20 47 6f 70 68 65  AttributeA Gophe
a350: 72 47 65 74 41 74 74 72 69 62 75 74 65 3b 0a 09  rGetAttribute;..
a360: 61 6c 69 61 73 20 49 6e 74 65 72 6e 65 74 43 72  alias InternetCr
a370: 61 63 6b 55 72 6c 41 20 49 6e 74 65 72 6e 65 74  ackUrlA Internet
a380: 43 72 61 63 6b 55 72 6c 3b 0a 09 61 6c 69 61 73  CrackUrl;..alias
a390: 20 49 6e 74 65 72 6e 65 74 43 72 65 61 74 65 55   InternetCreateU
a3a0: 72 6c 41 20 49 6e 74 65 72 6e 65 74 43 72 65 61  rlA InternetCrea
a3b0: 74 65 55 72 6c 3b 0a 09 61 6c 69 61 73 20 49 6e  teUrl;..alias In
a3c0: 74 65 72 6e 65 74 43 61 6e 6f 6e 69 63 61 6c 69  ternetCanonicali
a3d0: 7a 65 55 72 6c 41 20 49 6e 74 65 72 6e 65 74 43  zeUrlA InternetC
a3e0: 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 3b 0a  anonicalizeUrl;.
a3f0: 09 61 6c 69 61 73 20 49 6e 74 65 72 6e 65 74 43  .alias InternetC
a400: 68 65 63 6b 43 6f 6e 6e 65 63 74 69 6f 6e 41 20  heckConnectionA 
a410: 49 6e 74 65 72 6e 65 74 43 68 65 63 6b 43 6f 6e  InternetCheckCon
a420: 6e 65 63 74 69 6f 6e 3b 0a 09 61 6c 69 61 73 20  nection;..alias 
a430: 49 6e 74 65 72 6e 65 74 43 6f 6d 62 69 6e 65 55  InternetCombineU
a440: 72 6c 41 20 49 6e 74 65 72 6e 65 74 43 6f 6d 62  rlA InternetComb
a450: 69 6e 65 55 72 6c 3b 0a 09 61 6c 69 61 73 20 49  ineUrl;..alias I
a460: 6e 74 65 72 6e 65 74 4f 70 65 6e 41 20 49 6e 74  nternetOpenA Int
a470: 65 72 6e 65 74 4f 70 65 6e 3b 0a 09 61 6c 69 61  ernetOpen;..alia
a480: 73 20 49 6e 74 65 72 6e 65 74 43 6f 6e 6e 65 63  s InternetConnec
a490: 74 41 20 49 6e 74 65 72 6e 65 74 43 6f 6e 6e 65  tA InternetConne
a4a0: 63 74 3b 0a 09 61 6c 69 61 73 20 49 6e 74 65 72  ct;..alias Inter
a4b0: 6e 65 74 4f 70 65 6e 55 72 6c 41 20 49 6e 74 65  netOpenUrlA Inte
a4c0: 72 6e 65 74 4f 70 65 6e 55 72 6c 3b 0a 09 61 6c  rnetOpenUrl;..al
a4d0: 69 61 73 20 49 6e 74 65 72 6e 65 74 46 69 6e 64  ias InternetFind
a4e0: 4e 65 78 74 46 69 6c 65 41 20 49 6e 74 65 72 6e  NextFileA Intern
a4f0: 65 74 46 69 6e 64 4e 65 78 74 46 69 6c 65 3b 0a  etFindNextFile;.
a500: 09 61 6c 69 61 73 20 49 6e 74 65 72 6e 65 74 51  .alias InternetQ
a510: 75 65 72 79 4f 70 74 69 6f 6e 41 20 49 6e 74 65  ueryOptionA Inte
a520: 72 6e 65 74 51 75 65 72 79 4f 70 74 69 6f 6e 3b  rnetQueryOption;
a530: 0a 09 61 6c 69 61 73 20 49 6e 74 65 72 6e 65 74  ..alias Internet
a540: 53 65 74 4f 70 74 69 6f 6e 41 20 49 6e 74 65 72  SetOptionA Inter
a550: 6e 65 74 53 65 74 4f 70 74 69 6f 6e 3b 0a 09 61  netSetOption;..a
a560: 6c 69 61 73 20 49 6e 74 65 72 6e 65 74 53 65 74  lias InternetSet
a570: 4f 70 74 69 6f 6e 45 78 41 20 49 6e 74 65 72 6e  OptionExA Intern
a580: 65 74 53 65 74 4f 70 74 69 6f 6e 45 78 3b 0a 09  etSetOptionEx;..
a590: 61 6c 69 61 73 20 49 6e 74 65 72 6e 65 74 47 65  alias InternetGe
a5a0: 74 4c 61 73 74 52 65 73 70 6f 6e 73 65 49 6e 66  tLastResponseInf
a5b0: 6f 41 20 49 6e 74 65 72 6e 65 74 47 65 74 4c 61  oA InternetGetLa
a5c0: 73 74 52 65 73 70 6f 6e 73 65 49 6e 66 6f 3b 0a  stResponseInfo;.
a5d0: 09 61 6c 69 61 73 20 49 6e 74 65 72 6e 65 74 52  .alias InternetR
a5e0: 65 61 64 46 69 6c 65 45 78 41 20 49 6e 74 65 72  eadFileExA Inter
a5f0: 6e 65 74 52 65 61 64 46 69 6c 65 45 78 3b 0a 09  netReadFileEx;..
a600: 61 6c 69 61 73 20 46 74 70 46 69 6e 64 46 69 72  alias FtpFindFir
a610: 73 74 46 69 6c 65 41 20 46 74 70 46 69 6e 64 46  stFileA FtpFindF
a620: 69 72 73 74 46 69 6c 65 3b 0a 09 61 6c 69 61 73  irstFile;..alias
a630: 20 46 74 70 47 65 74 46 69 6c 65 41 20 46 74 70   FtpGetFileA Ftp
a640: 47 65 74 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20  GetFile;..alias 
a650: 46 74 70 50 75 74 46 69 6c 65 41 20 46 74 70 50  FtpPutFileA FtpP
a660: 75 74 46 69 6c 65 3b 0a 09 61 6c 69 61 73 20 46  utFile;..alias F
a670: 74 70 44 65 6c 65 74 65 46 69 6c 65 41 20 46 74  tpDeleteFileA Ft
a680: 70 44 65 6c 65 74 65 46 69 6c 65 3b 0a 09 61 6c  pDeleteFile;..al
a690: 69 61 73 20 46 74 70 52 65 6e 61 6d 65 46 69 6c  ias FtpRenameFil
a6a0: 65 41 20 46 74 70 52 65 6e 61 6d 65 46 69 6c 65  eA FtpRenameFile
a6b0: 3b 0a 09 61 6c 69 61 73 20 46 74 70 4f 70 65 6e  ;..alias FtpOpen
a6c0: 46 69 6c 65 41 20 46 74 70 4f 70 65 6e 46 69 6c  FileA FtpOpenFil
a6d0: 65 3b 0a 09 61 6c 69 61 73 20 46 74 70 43 72 65  e;..alias FtpCre
a6e0: 61 74 65 44 69 72 65 63 74 6f 72 79 41 20 46 74  ateDirectoryA Ft
a6f0: 70 43 72 65 61 74 65 44 69 72 65 63 74 6f 72 79  pCreateDirectory
a700: 3b 0a 09 61 6c 69 61 73 20 46 74 70 52 65 6d 6f  ;..alias FtpRemo
a710: 76 65 44 69 72 65 63 74 6f 72 79 41 20 46 74 70  veDirectoryA Ftp
a720: 52 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 3b  RemoveDirectory;
a730: 0a 09 61 6c 69 61 73 20 46 74 70 53 65 74 43 75  ..alias FtpSetCu
a740: 72 72 65 6e 74 44 69 72 65 63 74 6f 72 79 41 20  rrentDirectoryA 
a750: 46 74 70 53 65 74 43 75 72 72 65 6e 74 44 69 72  FtpSetCurrentDir
a760: 65 63 74 6f 72 79 3b 0a 09 61 6c 69 61 73 20 46  ectory;..alias F
a770: 74 70 47 65 74 43 75 72 72 65 6e 74 44 69 72 65  tpGetCurrentDire
a780: 63 74 6f 72 79 41 20 46 74 70 47 65 74 43 75 72  ctoryA FtpGetCur
a790: 72 65 6e 74 44 69 72 65 63 74 6f 72 79 3b 0a 09  rentDirectory;..
a7a0: 61 6c 69 61 73 20 46 74 70 43 6f 6d 6d 61 6e 64  alias FtpCommand
a7b0: 41 20 46 74 70 43 6f 6d 6d 61 6e 64 3b 0a 09 61  A FtpCommand;..a
a7c0: 6c 69 61 73 20 47 6f 70 68 65 72 47 65 74 4c 6f  lias GopherGetLo
a7d0: 63 61 74 6f 72 54 79 70 65 41 20 47 6f 70 68 65  catorTypeA Gophe
a7e0: 72 47 65 74 4c 6f 63 61 74 6f 72 54 79 70 65 3b  rGetLocatorType;
a7f0: 0a 09 61 6c 69 61 73 20 47 6f 70 68 65 72 43 72  ..alias GopherCr
a800: 65 61 74 65 4c 6f 63 61 74 6f 72 41 20 47 6f 70  eateLocatorA Gop
a810: 68 65 72 43 72 65 61 74 65 4c 6f 63 61 74 6f 72  herCreateLocator
a820: 3b 0a 09 61 6c 69 61 73 20 47 6f 70 68 65 72 46  ;..alias GopherF
a830: 69 6e 64 46 69 72 73 74 46 69 6c 65 41 20 47 6f  indFirstFileA Go
a840: 70 68 65 72 46 69 6e 64 46 69 72 73 74 46 69 6c  pherFindFirstFil
a850: 65 3b 0a 09 61 6c 69 61 73 20 47 6f 70 68 65 72  e;..alias Gopher
a860: 4f 70 65 6e 46 69 6c 65 41 20 47 6f 70 68 65 72  OpenFileA Gopher
a870: 4f 70 65 6e 46 69 6c 65 3b 0a 09 61 6c 69 61 73  OpenFile;..alias
a880: 20 48 74 74 70 53 65 6e 64 52 65 71 75 65 73 74   HttpSendRequest
a890: 41 20 48 74 74 70 53 65 6e 64 52 65 71 75 65 73  A HttpSendReques
a8a0: 74 3b 0a 09 61 6c 69 61 73 20 48 74 74 70 4f 70  t;..alias HttpOp
a8b0: 65 6e 52 65 71 75 65 73 74 41 20 48 74 74 70 4f  enRequestA HttpO
a8c0: 70 65 6e 52 65 71 75 65 73 74 3b 0a 09 61 6c 69  penRequest;..ali
a8d0: 61 73 20 48 74 74 70 41 64 64 52 65 71 75 65 73  as HttpAddReques
a8e0: 74 48 65 61 64 65 72 73 41 20 48 74 74 70 41 64  tHeadersA HttpAd
a8f0: 64 52 65 71 75 65 73 74 48 65 61 64 65 72 73 3b  dRequestHeaders;
a900: 0a 09 61 6c 69 61 73 20 48 74 74 70 51 75 65 72  ..alias HttpQuer
a910: 79 49 6e 66 6f 41 20 48 74 74 70 51 75 65 72 79  yInfoA HttpQuery
a920: 49 6e 66 6f 3b 0a 09 61 6c 69 61 73 20 49 6e 74  Info;..alias Int
a930: 65 72 6e 65 74 53 65 74 43 6f 6f 6b 69 65 41 20  ernetSetCookieA 
a940: 49 6e 74 65 72 6e 65 74 53 65 74 43 6f 6f 6b 69  InternetSetCooki
a950: 65 3b 0a 09 61 6c 69 61 73 20 49 6e 74 65 72 6e  e;..alias Intern
a960: 65 74 47 65 74 43 6f 6f 6b 69 65 41 20 49 6e 74  etGetCookieA Int
a970: 65 72 6e 65 74 47 65 74 43 6f 6f 6b 69 65 3b 0a  ernetGetCookie;.
a980: 09 61 6c 69 61 73 20 43 72 65 61 74 65 55 72 6c  .alias CreateUrl
a990: 43 61 63 68 65 45 6e 74 72 79 41 20 43 72 65 61  CacheEntryA Crea
a9a0: 74 65 55 72 6c 43 61 63 68 65 45 6e 74 72 79 3b  teUrlCacheEntry;
a9b0: 0a 09 61 6c 69 61 73 20 52 65 74 72 69 65 76 65  ..alias Retrieve
a9c0: 55 72 6c 43 61 63 68 65 45 6e 74 72 79 53 74 72  UrlCacheEntryStr
a9d0: 65 61 6d 41 20 52 65 74 72 69 65 76 65 55 72 6c  eamA RetrieveUrl
a9e0: 43 61 63 68 65 45 6e 74 72 79 53 74 72 65 61 6d  CacheEntryStream
a9f0: 3b 0a 09 61 6c 69 61 73 20 46 69 6e 64 4e 65 78  ;..alias FindNex
aa00: 74 55 72 6c 43 61 63 68 65 45 6e 74 72 79 41 20  tUrlCacheEntryA 
aa10: 46 69 6e 64 4e 65 78 74 55 72 6c 43 61 63 68 65  FindNextUrlCache
aa20: 45 6e 74 72 79 3b 0a 09 61 6c 69 61 73 20 43 6f  Entry;..alias Co
aa30: 6d 6d 69 74 55 72 6c 43 61 63 68 65 45 6e 74 72  mmitUrlCacheEntr
aa40: 79 41 20 43 6f 6d 6d 69 74 55 72 6c 43 61 63 68  yA CommitUrlCach
aa50: 65 45 6e 74 72 79 3b 0a 09 61 6c 69 61 73 20 47  eEntry;..alias G
aa60: 65 74 55 72 6c 43 61 63 68 65 45 6e 74 72 79 49  etUrlCacheEntryI
aa70: 6e 66 6f 41 20 47 65 74 55 72 6c 43 61 63 68 65  nfoA GetUrlCache
aa80: 45 6e 74 72 79 49 6e 66 6f 3b 0a 09 61 6c 69 61  EntryInfo;..alia
aa90: 73 20 53 65 74 55 72 6c 43 61 63 68 65 45 6e 74  s SetUrlCacheEnt
aaa0: 72 79 49 6e 66 6f 41 20 53 65 74 55 72 6c 43 61  ryInfoA SetUrlCa
aab0: 63 68 65 45 6e 74 72 79 49 6e 66 6f 3b 0a 09 61  cheEntryInfo;..a
aac0: 6c 69 61 73 20 46 69 6e 64 46 69 72 73 74 55 72  lias FindFirstUr
aad0: 6c 43 61 63 68 65 45 6e 74 72 79 41 20 46 69 6e  lCacheEntryA Fin
aae0: 64 46 69 72 73 74 55 72 6c 43 61 63 68 65 45 6e  dFirstUrlCacheEn
aaf0: 74 72 79 3b 0a 09 61 6c 69 61 73 20 52 65 74 72  try;..alias Retr
ab00: 69 65 76 65 55 72 6c 43 61 63 68 65 45 6e 74 72  ieveUrlCacheEntr
ab10: 79 46 69 6c 65 41 20 52 65 74 72 69 65 76 65 55  yFileA RetrieveU
ab20: 72 6c 43 61 63 68 65 45 6e 74 72 79 46 69 6c 65  rlCacheEntryFile
ab30: 3b 0a 09 61 6c 69 61 73 20 48 74 74 70 53 65 6e  ;..alias HttpSen
ab40: 64 52 65 71 75 65 73 74 45 78 41 20 48 74 74 70  dRequestExA Http
ab50: 53 65 6e 64 52 65 71 75 65 73 74 45 78 3b 0a 09  SendRequestEx;..
ab60: 61 6c 69 61 73 20 48 74 74 70 45 6e 64 52 65 71  alias HttpEndReq
ab70: 75 65 73 74 41 20 48 74 74 70 45 6e 64 52 65 71  uestA HttpEndReq
ab80: 75 65 73 74 3b 0a 09 61 6c 69 61 73 20 47 65 74  uest;..alias Get
ab90: 55 72 6c 43 61 63 68 65 47 72 6f 75 70 41 74 74  UrlCacheGroupAtt
aba0: 72 69 62 75 74 65 41 20 47 65 74 55 72 6c 43 61  ributeA GetUrlCa
abb0: 63 68 65 47 72 6f 75 70 41 74 74 72 69 62 75 74  cheGroupAttribut
abc0: 65 3b 0a 09 61 6c 69 61 73 20 53 65 74 55 72 6c  e;..alias SetUrl
abd0: 43 61 63 68 65 47 72 6f 75 70 41 74 74 72 69 62  CacheGroupAttrib
abe0: 75 74 65 41 20 53 65 74 55 72 6c 43 61 63 68 65  uteA SetUrlCache
abf0: 47 72 6f 75 70 41 74 74 72 69 62 75 74 65 3b 0a  GroupAttribute;.
ac00: 7d 0a 0a 61 6c 69 61 73 20 49 4e 54 45 52 4e 45  }..alias INTERNE
ac10: 54 5f 42 55 46 46 45 52 53 2a 20 4c 50 49 4e 54  T_BUFFERS* LPINT
ac20: 45 52 4e 45 54 5f 42 55 46 46 45 52 53 3b 0a     ERNET_BUFFERS;.