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_ */