Hex Artifact Content

Not logged in

Artifact 7cfbf84102013a8b79ea7c7d843dd7b57c50d600:


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 68 74 74 70 65 78            httpex
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 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
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 50 6c                Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63  aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20   domain         
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65  ********/.module
02a0: 20 77 69 6e 33 32 2e 68 74 74 70 65 78 74 3b 0a   win32.httpext;.
02b0: 0a 2f 2a 20 43 6f 6d 6d 65 6e 74 20 66 72 6f 6d  ./* Comment from
02c0: 20 4d 69 6e 47 57 0a 20 20 20 20 20 20 20 68 74   MinGW.       ht
02d0: 74 70 65 78 74 2e 68 20 2d 20 48 65 61 64 65 72  tpext.h - Header
02e0: 20 66 6f 72 20 49 53 41 50 49 20 65 78 74 65 6e   for ISAPI exten
02f0: 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 20 20 54  sions...       T
0300: 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74  his file is part
0310: 20 6f 66 20 61 20 66 72 65 65 20 6c 69 62 72 61   of a free libra
0320: 72 79 20 66 6f 72 20 74 68 65 20 57 69 6e 33 32  ry for the Win32
0330: 20 41 50 49 2e 0a 0a 20 20 20 20 20 20 20 54 68   API...       Th
0340: 69 73 20 6c 69 62 72 61 72 79 20 69 73 20 64 69  is library is di
0350: 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65  stributed in the
0360: 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69   hope that it wi
0370: 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20  ll be useful,.  
0380: 20 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54       but WITHOUT
0390: 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77   ANY WARRANTY; w
03a0: 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20  ithout even the 
03b0: 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79  implied warranty
03c0: 20 6f 66 0a 20 20 20 20 20 20 20 4d 45 52 43 48   of.       MERCH
03d0: 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49  ANTABILITY or FI
03e0: 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54  TNESS FOR A PART
03f0: 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 0a  ICULAR PURPOSE..
0400: 2a 2f 0a 0a 70 72 69 76 61 74 65 20 69 6d 70 6f  */..private impo
0410: 72 74 20 77 69 6e 33 32 2e 77 69 6e 64 6f 77 73  rt win32.windows
0420: 3b 0a 0a 65 6e 75 6d 20 7b 0a 20 20 20 20 48 53  ;..enum {.    HS
0430: 45 5f 56 45 52 53 49 4f 4e 5f 4d 41 4a 4f 52 20  E_VERSION_MAJOR 
0440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
0450: 32 2c 0a 20 20 20 20 48 53 45 5f 56 45 52 53 49  2,.    HSE_VERSI
0460: 4f 4e 5f 4d 49 4e 4f 52 20 20 20 20 20 20 20 20  ON_MINOR        
0470: 20 20 20 20 20 20 20 3d 20 30 2c 0a 20 20 20 20         = 0,.    
0480: 48 53 45 5f 4c 4f 47 5f 42 55 46 46 45 52 5f 4c  HSE_LOG_BUFFER_L
0490: 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  EN              
04a0: 3d 20 38 30 2c 0a 20 20 20 20 48 53 45 5f 4d 41  = 80,.    HSE_MA
04b0: 58 5f 45 58 54 5f 44 4c 4c 5f 4e 41 4d 45 5f 4c  X_EXT_DLL_NAME_L
04c0: 45 4e 20 20 20 20 20 20 20 20 3d 20 32 35 36 2c  EN        = 256,
04d0: 0a 20 20 20 20 48 53 45 5f 53 54 41 54 55 53 5f  .    HSE_STATUS_
04e0: 53 55 43 43 45 53 53 20 20 20 20 20 20 20 20 20  SUCCESS         
04f0: 20 20 20 20 20 3d 20 31 2c 0a 20 20 20 20 48 53       = 1,.    HS
0500: 45 5f 53 54 41 54 55 53 5f 53 55 43 43 45 53 53  E_STATUS_SUCCESS
0510: 5f 41 4e 44 5f 4b 45 45 50 5f 43 4f 4e 4e 2c 0a  _AND_KEEP_CONN,.
0520: 20 20 20 20 48 53 45 5f 53 54 41 54 55 53 5f 50      HSE_STATUS_P
0530: 45 4e 44 49 4e 47 2c 0a 20 20 20 20 48 53 45 5f  ENDING,.    HSE_
0540: 53 54 41 54 55 53 5f 45 52 52 4f 52 2c 0a 20 20  STATUS_ERROR,.  
0550: 20 20 48 53 45 5f 52 45 51 5f 42 41 53 45 20 20    HSE_REQ_BASE  
0560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0570: 20 20 3d 20 30 2c 0a 20 20 20 20 48 53 45 5f 52    = 0,.    HSE_R
0580: 45 51 5f 53 45 4e 44 5f 55 52 4c 5f 52 45 44 49  EQ_SEND_URL_REDI
0590: 52 45 43 54 5f 52 45 53 50 2c 0a 20 20 20 20 48  RECT_RESP,.    H
05a0: 53 45 5f 52 45 51 5f 53 45 4e 44 5f 55 52 4c 2c  SE_REQ_SEND_URL,
05b0: 0a 20 20 20 20 48 53 45 5f 52 45 51 5f 53 45 4e  .    HSE_REQ_SEN
05c0: 44 5f 52 45 53 50 4f 4e 53 45 5f 48 45 41 44 45  D_RESPONSE_HEADE
05d0: 52 2c 0a 20 20 20 20 48 53 45 5f 52 45 51 5f 44  R,.    HSE_REQ_D
05e0: 4f 4e 45 5f 57 49 54 48 5f 53 45 53 53 49 4f 4e  ONE_WITH_SESSION
05f0: 2c 0a 20 20 20 20 48 53 45 5f 52 45 51 5f 53 45  ,.    HSE_REQ_SE
0600: 4e 44 5f 52 45 53 50 4f 4e 53 45 5f 48 45 41 44  ND_RESPONSE_HEAD
0610: 45 52 5f 45 58 20 3d 20 31 30 31 36 2c 0a 20 20  ER_EX = 1016,.  
0620: 20 20 48 53 45 5f 52 45 51 5f 45 4e 44 5f 52 45    HSE_REQ_END_RE
0630: 53 45 52 56 45 44 20 20 20 20 20 20 20 20 20 20  SERVED          
0640: 20 20 3d 20 31 30 30 30 2c 0a 20 20 20 20 48 53    = 1000,.    HS
0650: 45 5f 54 45 52 4d 5f 41 44 56 49 53 4f 52 59 5f  E_TERM_ADVISORY_
0660: 55 4e 4c 4f 41 44 20 20 20 20 20 20 20 20 3d 20  UNLOAD        = 
0670: 30 78 30 30 30 30 30 30 30 31 2c 0a 20 20 20 20  0x00000001,.    
0680: 48 53 45 5f 54 45 52 4d 5f 4d 55 53 54 5f 55 4e  HSE_TERM_MUST_UN
0690: 4c 4f 41 44 2c 0a 20 20 20 20 48 53 45 5f 49 4f  LOAD,.    HSE_IO
06a0: 5f 53 59 4e 43 20 20 20 20 20 20 20 20 20 20 20  _SYNC           
06b0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
06c0: 30 30 30 30 30 31 2c 0a 20 20 20 20 48 53 45 5f  000001,.    HSE_
06d0: 49 4f 5f 41 53 59 4e 43 2c 0a 20 20 20 20 48 53  IO_ASYNC,.    HS
06e0: 45 5f 49 4f 5f 44 49 53 43 4f 4e 4e 45 43 54 5f  E_IO_DISCONNECT_
06f0: 41 46 54 45 52 5f 53 45 4e 44 20 20 20 20 3d 20  AFTER_SEND    = 
0700: 30 78 30 30 30 30 30 30 30 34 2c 0a 20 20 20 20  0x00000004,.    
0710: 48 53 45 5f 49 4f 5f 53 45 4e 44 5f 48 45 41 44  HSE_IO_SEND_HEAD
0720: 45 52 53 20 20 20 20 20 20 20 20 20 20 20 20 20  ERS             
0730: 3d 20 30 78 30 30 30 30 30 30 30 38 0a 7d 0a 0a  = 0x00000008.}..
0740: 61 6c 69 61 73 20 48 41 4e 44 4c 45 20 48 43 4f  alias HANDLE HCO
0750: 4e 4e 3b 0a 0a 73 74 72 75 63 74 20 48 53 45 5f  NN;..struct HSE_
0760: 56 45 52 53 49 4f 4e 5f 49 4e 46 4f 20 7b 0a 09  VERSION_INFO {..
0770: 44 57 4f 52 44 20 64 77 45 78 74 65 6e 73 69 6f  DWORD dwExtensio
0780: 6e 56 65 72 73 69 6f 6e 3b 0a 09 43 48 41 52 5b  nVersion;..CHAR[
0790: 48 53 45 5f 4d 41 58 5f 45 58 54 5f 44 4c 4c 5f  HSE_MAX_EXT_DLL_
07a0: 4e 41 4d 45 5f 4c 45 4e 5d 20 6c 70 73 7a 45 78  NAME_LEN] lpszEx
07b0: 74 65 6e 73 69 6f 6e 44 65 73 63 3b 0a 7d 0a 61  tensionDesc;.}.a
07c0: 6c 69 61 73 20 48 53 45 5f 56 45 52 53 49 4f 4e  lias HSE_VERSION
07d0: 5f 49 4e 46 4f 2a 20 4c 50 48 53 45 5f 56 45 52  _INFO* LPHSE_VER
07e0: 53 49 4f 4e 5f 49 4e 46 4f 3b 0a 0a 73 74 72 75  SION_INFO;..stru
07f0: 63 74 20 45 58 54 45 4e 53 49 4f 4e 5f 43 4f 4e  ct EXTENSION_CON
0800: 54 52 4f 4c 5f 42 4c 4f 43 4b 20 7b 0a 09 44 57  TROL_BLOCK {..DW
0810: 4f 52 44 20 20 63 62 53 69 7a 65 20 3d 20 45 58  ORD  cbSize = EX
0820: 54 45 4e 53 49 4f 4e 5f 43 4f 4e 54 52 4f 4c 5f  TENSION_CONTROL_
0830: 42 4c 4f 43 4b 2e 73 69 7a 65 6f 66 3b 0a 09 44  BLOCK.sizeof;..D
0840: 57 4f 52 44 20 20 64 77 56 65 72 73 69 6f 6e 3b  WORD  dwVersion;
0850: 0a 09 48 43 4f 4e 4e 20 20 43 6f 6e 6e 49 44 3b  ..HCONN  ConnID;
0860: 0a 09 44 57 4f 52 44 20 20 64 77 48 74 74 70 53  ..DWORD  dwHttpS
0870: 74 61 74 75 73 43 6f 64 65 3b 0a 09 43 48 41 52  tatusCode;..CHAR
0880: 5b 48 53 45 5f 4c 4f 47 5f 42 55 46 46 45 52 5f  [HSE_LOG_BUFFER_
0890: 4c 45 4e 5d 20 6c 70 73 7a 4c 6f 67 44 61 74 61  LEN] lpszLogData
08a0: 3b 0a 09 4c 50 53 54 52 20 20 6c 70 73 7a 4d 65  ;..LPSTR  lpszMe
08b0: 74 68 6f 64 3b 0a 09 4c 50 53 54 52 20 20 6c 70  thod;..LPSTR  lp
08c0: 73 7a 51 75 65 72 79 53 74 72 69 6e 67 3b 0a 09  szQueryString;..
08d0: 4c 50 53 54 52 20 20 6c 70 73 7a 50 61 74 68 49  LPSTR  lpszPathI
08e0: 6e 66 6f 3b 0a 09 4c 50 53 54 52 20 20 6c 70 73  nfo;..LPSTR  lps
08f0: 7a 50 61 74 68 54 72 61 6e 73 6c 61 74 65 64 3b  zPathTranslated;
0900: 0a 09 44 57 4f 52 44 20 20 63 62 54 6f 74 61 6c  ..DWORD  cbTotal
0910: 42 79 74 65 73 3b 0a 09 44 57 4f 52 44 20 20 63  Bytes;..DWORD  c
0920: 62 41 76 61 69 6c 61 62 6c 65 3b 0a 09 4c 50 42  bAvailable;..LPB
0930: 59 54 45 20 6c 70 62 44 61 74 61 3b 0a 09 4c 50  YTE lpbData;..LP
0940: 53 54 52 20 20 6c 70 73 7a 43 6f 6e 74 65 6e 74  STR  lpszContent
0950: 54 79 70 65 3b 0a 09 65 78 74 65 72 6e 28 50 61  Type;..extern(Pa
0960: 73 63 61 6c 29 20 42 4f 4f 4c 20 66 75 6e 63 74  scal) BOOL funct
0970: 69 6f 6e 28 48 43 4f 4e 4e 2c 20 4c 50 53 54 52  ion(HCONN, LPSTR
0980: 2c 20 4c 50 56 4f 49 44 2c 20 4c 50 44 57 4f 52  , LPVOID, LPDWOR
0990: 44 29 0a 09 20 20 47 65 74 53 65 72 76 65 72 56  D)..  GetServerV
09a0: 61 72 69 61 62 6c 65 3b 0a 09 65 78 74 65 72 6e  ariable;..extern
09b0: 28 50 61 73 63 61 6c 29 20 42 4f 4f 4c 20 66 75  (Pascal) BOOL fu
09c0: 6e 63 74 69 6f 6e 28 48 43 4f 4e 4e 2c 20 4c 50  nction(HCONN, LP
09d0: 56 4f 49 44 2c 20 4c 50 44 57 4f 52 44 2c 20 44  VOID, LPDWORD, D
09e0: 57 4f 52 44 29 20 57 72 69 74 65 43 6c 69 65 6e  WORD) WriteClien
09f0: 74 3b 0a 09 65 78 74 65 72 6e 28 50 61 73 63 61  t;..extern(Pasca
0a00: 6c 29 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e  l) BOOL function
0a10: 28 48 43 4f 4e 4e 2c 20 4c 50 56 4f 49 44 2c 20  (HCONN, LPVOID, 
0a20: 4c 50 44 57 4f 52 44 29 20 52 65 61 64 43 6c 69  LPDWORD) ReadCli
0a30: 65 6e 74 3b 0a 09 65 78 74 65 72 6e 28 50 61 73  ent;..extern(Pas
0a40: 63 61 6c 29 20 42 4f 4f 4c 20 66 75 6e 63 74 69  cal) BOOL functi
0a50: 6f 6e 28 48 43 4f 4e 4e 2c 20 44 57 4f 52 44 2c  on(HCONN, DWORD,
0a60: 20 4c 50 56 4f 49 44 2c 20 4c 50 44 57 4f 52 44   LPVOID, LPDWORD
0a70: 2c 20 4c 50 44 57 4f 52 44 29 0a 09 20 20 53 65  , LPDWORD)..  Se
0a80: 72 76 65 72 53 75 70 70 6f 72 74 46 75 6e 63 74  rverSupportFunct
0a90: 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 45 58 54  ion;.}.alias EXT
0aa0: 45 4e 53 49 4f 4e 5f 43 4f 4e 54 52 4f 4c 5f 42  ENSION_CONTROL_B
0ab0: 4c 4f 43 4b 2a 20 4c 50 45 58 54 45 4e 53 49 4f  LOCK* LPEXTENSIO
0ac0: 4e 5f 43 4f 4e 54 52 4f 4c 5f 42 4c 4f 43 4b 3b  N_CONTROL_BLOCK;
0ad0: 0a 0a 65 78 74 65 72 6e 20 28 50 61 73 63 61 6c  ..extern (Pascal
0ae0: 29 20 7b 0a 09 61 6c 69 61 73 20 42 4f 4f 4c 20  ) {..alias BOOL 
0af0: 66 75 6e 63 74 69 6f 6e 28 48 53 45 5f 56 45 52  function(HSE_VER
0b00: 53 49 4f 4e 5f 49 4e 46 4f 2a 29 20 50 46 4e 5f  SION_INFO*) PFN_
0b10: 47 45 54 45 58 54 45 4e 53 49 4f 4e 56 45 52 53  GETEXTENSIONVERS
0b20: 49 4f 4e 3b 0a 09 61 6c 69 61 73 20 44 57 4f 52  ION;..alias DWOR
0b30: 44 20 66 75 6e 63 74 69 6f 6e 28 45 58 54 45 4e  D function(EXTEN
0b40: 53 49 4f 4e 5f 43 4f 4e 54 52 4f 4c 5f 42 4c 4f  SION_CONTROL_BLO
0b50: 43 4b 2a 29 20 50 46 4e 5f 48 54 54 50 45 58 54  CK*) PFN_HTTPEXT
0b60: 45 4e 53 49 4f 4e 50 52 4f 43 3b 0a 09 61 6c 69  ENSIONPROC;..ali
0b70: 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e  as BOOL function
0b80: 28 44 57 4f 52 44 29 20 50 46 4e 5f 54 45 52 4d  (DWORD) PFN_TERM
0b90: 49 4e 41 54 45 45 58 54 45 4e 53 49 4f 4e 3b 0a  INATEEXTENSION;.
0ba0: 09 61 6c 69 61 73 20 56 4f 49 44 20 66 75 6e 63  .alias VOID func
0bb0: 74 69 6f 6e 28 45 58 54 45 4e 53 49 4f 4e 5f 43  tion(EXTENSION_C
0bc0: 4f 4e 54 52 4f 4c 5f 42 4c 4f 43 4b 2a 2c 20 50  ONTROL_BLOCK*, P
0bd0: 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f  VOID, DWORD, DWO
0be0: 52 44 29 20 50 46 4e 5f 48 53 45 5f 49 4f 5f 43  RD) PFN_HSE_IO_C
0bf0: 4f 4d 50 4c 45 54 49 4f 4e 3b 0a 7d 0a 0a 73 74  OMPLETION;.}..st
0c00: 72 75 63 74 20 48 53 45 5f 54 46 5f 49 4e 46 4f  ruct HSE_TF_INFO
0c10: 20 7b 0a 09 50 46 4e 5f 48 53 45 5f 49 4f 5f 43   {..PFN_HSE_IO_C
0c20: 4f 4d 50 4c 45 54 49 4f 4e 20 70 66 6e 48 73 65  OMPLETION pfnHse
0c30: 49 4f 3b 0a 09 50 56 4f 49 44 20 20 70 43 6f 6e  IO;..PVOID  pCon
0c40: 74 65 78 74 3b 0a 09 48 41 4e 44 4c 45 20 68 46  text;..HANDLE hF
0c50: 69 6c 65 3b 0a 09 4c 50 43 53 54 52 20 70 73 7a  ile;..LPCSTR psz
0c60: 53 74 61 74 75 73 43 6f 64 65 3b 0a 09 44 57 4f  StatusCode;..DWO
0c70: 52 44 20 20 42 79 74 65 73 54 6f 57 72 69 74 65  RD  BytesToWrite
0c80: 3b 0a 09 44 57 4f 52 44 20 20 4f 66 66 73 65 74  ;..DWORD  Offset
0c90: 3b 0a 09 50 56 4f 49 44 20 20 70 48 65 61 64 3b  ;..PVOID  pHead;
0ca0: 0a 09 44 57 4f 52 44 20 20 48 65 61 64 4c 65 6e  ..DWORD  HeadLen
0cb0: 67 74 68 3b 0a 09 50 56 4f 49 44 20 20 70 54 61  gth;..PVOID  pTa
0cc0: 69 6c 3b 0a 09 44 57 4f 52 44 20 20 54 61 69 6c  il;..DWORD  Tail
0cd0: 4c 65 6e 67 74 68 3b 0a 09 44 57 4f 52 44 20 20  Length;..DWORD  
0ce0: 64 77 46 6c 61 67 73 3b 0a 7d 0a 61 6c 69 61 73  dwFlags;.}.alias
0cf0: 20 48 53 45 5f 54 46 5f 49 4e 46 4f 2a 20 4c 50   HSE_TF_INFO* LP
0d00: 48 53 45 5f 54 46 5f 49 4e 46 4f 3b 0a 0a 73 74  HSE_TF_INFO;..st
0d10: 72 75 63 74 20 48 53 45 5f 53 45 4e 44 5f 48 45  ruct HSE_SEND_HE
0d20: 41 44 45 52 5f 45 58 5f 49 4e 46 4f 20 7b 0a 09  ADER_EX_INFO {..
0d30: 4c 50 43 53 54 52 20 70 73 7a 53 74 61 74 75 73  LPCSTR pszStatus
0d40: 3b 0a 09 4c 50 43 53 54 52 20 70 73 7a 48 65 61  ;..LPCSTR pszHea
0d50: 64 65 72 3b 0a 09 44 57 4f 52 44 20 20 63 63 68  der;..DWORD  cch
0d60: 53 74 61 74 75 73 3b 0a 09 44 57 4f 52 44 20 20  Status;..DWORD  
0d70: 63 63 68 48 65 61 64 65 72 3b 0a 09 42 4f 4f 4c  cchHeader;..BOOL
0d80: 20 20 20 66 4b 65 65 70 43 6f 6e 6e 3b 0a 7d 0a     fKeepConn;.}.
0d90: 61 6c 69 61 73 20 48 53 45 5f 53 45 4e 44 5f 48  alias HSE_SEND_H
0da0: 45 41 44 45 52 5f 45 58 5f 49 4e 46 4f 2a 20 4c  EADER_EX_INFO* L
0db0: 50 48 53 45 5f 53 45 4e 44 5f 48 45 41 44 45 52  PHSE_SEND_HEADER
0dc0: 5f 45 58 5f 49 4e 46 3b 0a 0a 65 78 74 65 72 6e  _EX_INF;..extern
0dd0: 20 28 50 61 73 63 61 6c 29 20 7b 0a 09 42 4f 4f   (Pascal) {..BOO
0de0: 4c 20 47 65 74 45 78 74 65 6e 73 69 6f 6e 56 65  L GetExtensionVe
0df0: 72 73 69 6f 6e 28 48 53 45 5f 56 45 52 53 49 4f  rsion(HSE_VERSIO
0e00: 4e 5f 49 4e 46 4f 2a 29 3b 0a 09 44 57 4f 52 44  N_INFO*);..DWORD
0e10: 20 48 74 74 70 45 78 74 65 6e 73 69 6f 6e 50 72   HttpExtensionPr
0e20: 6f 63 28 45 58 54 45 4e 53 49 4f 4e 5f 43 4f 4e  oc(EXTENSION_CON
0e30: 54 52 4f 4c 5f 42 4c 4f 43 4b 2a 29 3b 0a 09 42  TROL_BLOCK*);..B
0e40: 4f 4f 4c 20 54 65 72 6d 69 6e 61 74 65 45 78 74  OOL TerminateExt
0e50: 65 6e 73 69 6f 6e 28 44 57 4f 52 44 29 3b 0a 7d  ension(DWORD);.}
0e60: 0a                                               .