1 #ifndef _WINE_INTERNET_H_
2 #define _WINE_INTERNET_H_
6 WH_HINIT
= INTERNET_HANDLE_TYPE_INTERNET
,
7 WH_HFTPSESSION
= INTERNET_HANDLE_TYPE_CONNECT_FTP
,
8 WH_HGOPHERSESSION
= INTERNET_HANDLE_TYPE_CONNECT_GOPHER
,
9 WH_HHTTPSESSION
= INTERNET_HANDLE_TYPE_CONNECT_HTTP
,
10 WH_HFILE
= INTERNET_HANDLE_TYPE_FTP_FILE
,
11 WH_HFINDNEXT
= INTERNET_HANDLE_TYPE_FTP_FIND
,
12 WH_HHTTPREQ
= INTERNET_HANDLE_TYPE_HTTP_REQUEST
,
15 typedef struct _WININETHANDLEHEADER
21 struct _WININETHANDLEHEADER
*lpwhparent
;
22 } WININETHANDLEHEADER
, *LPWININETHANDLEHEADER
;
27 WININETHANDLEHEADER hdr
;
30 LPSTR lpszProxyBypass
;
32 INTERNET_STATUS_CALLBACK lpfnStatusCB
;
33 } WININETAPPINFOA
, *LPWININETAPPINFOA
;
38 WININETHANDLEHEADER hdr
;
41 INTERNET_PORT nServerPort
;
42 struct sockaddr_in socketAddress
;
43 struct hostent
*phostent
;
44 } WININETHTTPSESSIONA
, *LPWININETHTTPSESSIONA
;
46 #define HDR_ISREQUEST 0x0001
47 #define HDR_COMMADELIMITED 0x0002
48 #define HDR_SEMIDELIMITED 0x0004
56 } HTTPHEADERA
, *LPHTTPHEADERA
;
61 WININETHANDLEHEADER hdr
;
66 HTTPHEADERA StdHeaders
[HTTP_QUERY_MAX
+1];
67 HTTPHEADERA
*pCustHeaders
;
69 } WININETHTTPREQA
, *LPWININETHTTPREQA
;
74 WININETHANDLEHEADER hdr
;
77 struct sockaddr_in socketAddress
;
78 struct sockaddr_in lstnSocketAddress
;
79 struct hostent
*phostent
;
82 } WININETFTPSESSIONA
, *LPWININETFTPSESSIONA
;
87 WININETHANDLEHEADER hdr
;
89 } WININETFILE
, *LPWININETFILE
;
97 struct tm tmLastModified
;
98 unsigned short permissions
;
99 } FILEPROPERTIESA
, *LPFILEPROPERTIESA
;
104 WININETHANDLEHEADER hdr
;
107 LPFILEPROPERTIESA lpafp
;
108 } WININETFINDNEXTA
, *LPWININETFINDNEXTA
;
113 FTPSETCURRENTDIRECTORYA
,
116 FTPGETCURRENTDIRECTORYA
,
127 typedef struct WORKREQ
131 #define HFTPSESSION param1
134 #define LPSZLOCALFILE param2
135 #define LPSZREMOTEFILE param2
136 #define LPSZFILENAME param2
137 #define LPSZSRCFILE param2
138 #define LPSZDIRECTORY param2
139 #define LPSZSEARCHFILE param2
140 #define LPSZHEADER param2
141 #define LPSZVERB param2
144 #define LPSZNEWREMOTEFILE param3
145 #define LPSZNEWFILE param3
146 #define LPFINDFILEDATA param3
147 #define LPDWDIRECTORY param3
148 #define FDWACCESS param3
149 #define LPSZDESTFILE param3
150 #define DWHEADERLENGTH param3
151 #define LPSZOBJECTNAME param3
154 #define DWFLAGS param4
155 #define LPOPTIONAL param4
158 #define DWCONTEXT param5
159 #define DWOPTIONALLENGTH param5
162 #define FFAILIFEXISTS param6
163 #define LPSZVERSION param6
166 #define DWLOCALFLAGSATTRIBUTE param7
167 #define LPSZREFERRER param7
170 #define LPSZACCEPTTYPES param8
172 struct WORKREQ
*next
;
173 struct WORKREQ
*prev
;
175 } WORKREQUEST
, *LPWORKREQUEST
;
178 time_t ConvertTimeString(LPCSTR asctime
);
180 HINTERNET
FTP_Connect(HINTERNET hInterent
, LPCSTR lpszServerName
,
181 INTERNET_PORT nServerPort
, LPCSTR lpszUserName
,
182 LPCSTR lpszPassword
, DWORD dwFlags
, DWORD dwContext
);
184 HINTERNET
HTTP_Connect(HINTERNET hInterent
, LPCSTR lpszServerName
,
185 INTERNET_PORT nServerPort
, LPCSTR lpszUserName
,
186 LPCSTR lpszPassword
, DWORD dwFlags
, DWORD dwContext
);
188 BOOL
GetAddress(LPCSTR lpszServerName
, INTERNET_PORT nServerPort
,
189 struct hostent
**phe
, struct sockaddr_in
*psa
);
191 int INTERNET_WriteDataToStream(int nDataSocket
, LPCVOID Buffer
, DWORD BytesToWrite
);
192 int INTERNET_ReadDataFromStream(int nDataSocket
, LPVOID Buffer
, DWORD BytesToRead
);
193 void INTERNET_SetLastError(DWORD dwError
);
194 DWORD
INTERNET_GetLastError();
195 BOOL
INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest
);
196 LPSTR
INTERNET_GetResponseBuffer();
197 LPSTR
INTERNET_GetNextLine(INT nSocket
, LPSTR lpszBuffer
, LPDWORD dwBuffer
);
199 BOOL
FTP_CloseSessionHandle(LPWININETFTPSESSIONA lpwfs
);
200 BOOL
FTP_CloseFindNextHandle(LPWININETFINDNEXTA lpwfn
);
201 BOOLAPI
FTP_FtpPutFileA(HINTERNET hConnect
, LPCSTR lpszLocalFile
,
202 LPCSTR lpszNewRemoteFile
, DWORD dwFlags
, DWORD dwContext
);
203 BOOLAPI
FTP_FtpSetCurrentDirectoryA(HINTERNET hConnect
, LPCSTR lpszDirectory
);
204 BOOLAPI
FTP_FtpCreateDirectoryA(HINTERNET hConnect
, LPCSTR lpszDirectory
);
205 INTERNETAPI HINTERNET WINAPI
FTP_FtpFindFirstFileA(HINTERNET hConnect
,
206 LPCSTR lpszSearchFile
, LPWIN32_FIND_DATAA lpFindFileData
, DWORD dwFlags
, DWORD dwContext
);
207 BOOLAPI
FTP_FtpGetCurrentDirectoryA(HINTERNET hFtpSession
, LPSTR lpszCurrentDirectory
,
208 LPDWORD lpdwCurrentDirectory
);
209 BOOL
FTP_ConvertFileProp(LPFILEPROPERTIESA lpafp
, LPWIN32_FIND_DATAA lpFindFileData
);
210 BOOL
FTP_FtpRenameFileA(HINTERNET hFtpSession
, LPCSTR lpszSrc
, LPCSTR lpszDest
);
211 BOOL
FTP_FtpRemoveDirectoryA(HINTERNET hFtpSession
, LPCSTR lpszDirectory
);
212 BOOL
FTP_FtpDeleteFileA(HINTERNET hFtpSession
, LPCSTR lpszFileName
);
213 HINTERNET
FTP_FtpOpenFileA(HINTERNET hFtpSession
, LPCSTR lpszFileName
,
214 DWORD fdwAccess
, DWORD dwFlags
, DWORD dwContext
);
215 BOOLAPI
FTP_FtpGetFileA(HINTERNET hInternet
, LPCSTR lpszRemoteFile
, LPCSTR lpszNewFile
,
216 BOOL fFailIfExists
, DWORD dwLocalFlagsAttribute
, DWORD dwInternetFlags
,
219 BOOLAPI
HTTP_HttpSendRequestA(HINTERNET hHttpRequest
, LPCSTR lpszHeaders
,
220 DWORD dwHeaderLength
, LPVOID lpOptional
,DWORD dwOptionalLength
);
221 INTERNETAPI HINTERNET WINAPI
HTTP_HttpOpenRequestA(HINTERNET hHttpSession
,
222 LPCSTR lpszVerb
, LPCSTR lpszObjectName
, LPCSTR lpszVersion
,
223 LPCSTR lpszReferrer
, LPCSTR
*lpszAcceptTypes
,
224 DWORD dwFlags
, DWORD dwContext
);
225 void HTTP_CloseHTTPSessionHandle(LPWININETHTTPSESSIONA lpwhs
);
226 void HTTP_CloseHTTPRequestHandle(LPWININETHTTPREQA lpwhr
);
229 #define MAX_REPLY_LEN 0x5B4
232 #endif /* _WINE_INTERNET_H_ */