Like the AUTORADIOBUTTON, the parent of a RADIOBUTTON style button
[wine] / dlls / wininet / internet.h
1 #ifndef _WINE_INTERNET_H_
2 #define _WINE_INTERNET_H_
3
4 typedef enum
5 {
6     WH_HINIT,
7     WH_HFTPSESSION,
8     WH_HGOPHERSESSION,
9     WH_HHTTPSESSION,
10     WH_HHTTPREQ,
11     WH_HFILE,
12     WH_HFINDNEXT,
13 } WH_TYPE;
14
15 typedef struct _WININETHANDLEHEADER
16 {
17     WH_TYPE htype;
18     DWORD  dwFlags;
19     DWORD  dwContext;
20     DWORD  dwError;
21     struct _WININETHANDLEHEADER *lpwhparent;
22 } WININETHANDLEHEADER, *LPWININETHANDLEHEADER;
23
24
25 typedef struct
26 {
27     WININETHANDLEHEADER hdr;
28     LPSTR  lpszAgent;
29     LPSTR  lpszProxy;
30     LPSTR  lpszProxyBypass;
31     DWORD   dwAccessType;
32     INTERNET_STATUS_CALLBACK lpfnStatusCB;
33 } WININETAPPINFOA, *LPWININETAPPINFOA;
34
35
36 typedef struct
37 {
38     WININETHANDLEHEADER hdr;
39     LPSTR  lpszServerName;
40     LPSTR  lpszUserName;
41     INTERNET_PORT nServerPort;
42     struct sockaddr_in socketAddress;
43     struct hostent *phostent;
44 } WININETHTTPSESSIONA, *LPWININETHTTPSESSIONA;
45
46
47 typedef struct
48 {
49     WININETHANDLEHEADER hdr;
50     LPSTR lpszPath;
51     LPSTR lpszReferrer;
52     LPSTR lpszAcceptTypes;
53     LPSTR lpszVerb;
54     LPSTR lpszHostName;
55     LPSTR lpszRedirect;
56     int nSocketFD;
57     int statusCode;
58     int contentLength;
59     time_t  nSystemTime;
60 } WININETHTTPREQA, *LPWININETHTTPREQA;
61
62
63 typedef struct
64 {
65     WININETHANDLEHEADER hdr;
66     int sndSocket;
67     int lstnSocket;
68     struct sockaddr_in socketAddress;
69     struct sockaddr_in lstnSocketAddress;
70     struct hostent *phostent;
71     LPSTR  lpszPassword;
72     LPSTR  lpszUserName;
73 } WININETFTPSESSIONA, *LPWININETFTPSESSIONA;
74
75
76 typedef struct
77 {
78     WININETHANDLEHEADER hdr;
79     int nDataSocket;
80 } WININETFILE, *LPWININETFILE;
81
82
83 typedef struct
84 {
85     BOOL bIsDirectory;
86     LPSTR lpszName;
87     DWORD nSize;
88     struct tm tmLastModified;
89     unsigned short permissions;
90 } FILEPROPERTIESA, *LPFILEPROPERTIESA;
91
92
93 typedef struct
94 {
95     WININETHANDLEHEADER hdr;
96     int index;
97     DWORD size;
98     LPFILEPROPERTIESA lpafp;
99 } WININETFINDNEXTA, *LPWININETFINDNEXTA;
100
101 typedef enum
102 {
103     FTPPUTFILEA,
104     FTPSETCURRENTDIRECTORYA,
105     FTPCREATEDIRECTORYA,
106     FTPFINDFIRSTFILEA,
107     FTPGETCURRENTDIRECTORYA,
108     FTPOPENFILEA,
109     FTPGETFILEA,
110     FTPDELETEFILEA,
111     FTPREMOVEDIRECTORYA,
112     FTPRENAMEFILEA,
113     INTERNETFINDNEXTA,
114 } ASYNC_FUNC;
115
116 typedef struct WORKREQ
117 {
118     ASYNC_FUNC asyncall;
119     DWORD param1;
120 #define HFTPSESSION       param1
121
122     DWORD param2;
123 #define LPSZLOCALFILE     param2
124 #define LPSZREMOTEFILE    param2
125 #define LPSZFILENAME      param2
126 #define LPSZSRCFILE       param2
127 #define LPSZDIRECTORY     param2
128 #define LPSZSEARCHFILE    param2
129
130     DWORD param3;
131 #define LPSZNEWREMOTEFILE param3
132 #define LPSZNEWFILE       param3
133 #define LPFINDFILEDATA    param3
134 #define LPDWDIRECTORY     param3
135 #define FDWACCESS         param3
136 #define LPSZDESTFILE      param3
137
138     DWORD param4;
139 #define DWFLAGS           param4
140
141     DWORD param5;
142 #define DWCONTEXT         param5
143
144     DWORD param6;
145 #define FFAILIFEXISTS     param4
146
147     DWORD param7;
148 #define DWLOCALFLAGSATTRIBUTE param7
149
150     struct WORKREQ *next;
151     struct WORKREQ *prev;
152
153 } WORKREQUEST, *LPWORKREQUEST;
154
155
156 time_t ConvertTimeString(LPCSTR asctime);
157
158 HINTERNET FTP_Connect(HINTERNET hInterent, LPCSTR lpszServerName, 
159         INTERNET_PORT nServerPort, LPCSTR lpszUserName,
160         LPCSTR lpszPassword, DWORD dwFlags, DWORD dwContext);
161
162 BOOL GetAddress(LPCSTR lpszServerName, INTERNET_PORT nServerPort,
163         struct hostent **phe, struct sockaddr_in *psa);
164
165 int INTERNET_WriteDataToStream(int nDataSocket, LPCVOID Buffer, DWORD BytesToWrite);
166 int INTERNET_ReadDataFromStream(int nDataSocket, LPVOID Buffer, DWORD BytesToRead);
167 void INTERNET_SetLastError(DWORD dwError);
168 DWORD INTERNET_GetLastError();
169 BOOL INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest);
170 LPSTR INTERNET_GetResponseBuffer();
171
172 BOOL FTP_CloseSessionHandle(LPWININETFTPSESSIONA lpwfs);
173 BOOL FTP_CloseFindNextHandle(LPWININETFINDNEXTA lpwfn);
174 BOOLAPI FTP_FtpPutFileA(HINTERNET hConnect, LPCSTR lpszLocalFile,
175     LPCSTR lpszNewRemoteFile, DWORD dwFlags, DWORD dwContext);
176 BOOLAPI FTP_FtpSetCurrentDirectoryA(HINTERNET hConnect, LPCSTR lpszDirectory);
177 BOOLAPI FTP_FtpCreateDirectoryA(HINTERNET hConnect, LPCSTR lpszDirectory);
178 INTERNETAPI HINTERNET WINAPI FTP_FtpFindFirstFileA(HINTERNET hConnect,
179     LPCSTR lpszSearchFile, LPWIN32_FIND_DATAA lpFindFileData, DWORD dwFlags, DWORD dwContext);
180 BOOLAPI FTP_FtpGetCurrentDirectoryA(HINTERNET hFtpSession, LPSTR lpszCurrentDirectory, 
181         LPDWORD lpdwCurrentDirectory);
182 BOOL FTP_ConvertFileProp(LPFILEPROPERTIESA lpafp, LPWIN32_FIND_DATAA lpFindFileData);
183 BOOL FTP_FtpRenameFileA(HINTERNET hFtpSession, LPCSTR lpszSrc, LPCSTR lpszDest);
184 BOOL FTP_FtpRemoveDirectoryA(HINTERNET hFtpSession, LPCSTR lpszDirectory);
185 BOOL FTP_FtpDeleteFileA(HINTERNET hFtpSession, LPCSTR lpszFileName);
186 HINTERNET FTP_FtpOpenFileA(HINTERNET hFtpSession, LPCSTR lpszFileName, 
187         DWORD fdwAccess, DWORD dwFlags, DWORD dwContext);
188 BOOLAPI FTP_FtpGetFileA(HINTERNET hInternet, LPCSTR lpszRemoteFile, LPCSTR lpszNewFile,
189         BOOL fFailIfExists, DWORD dwLocalFlagsAttribute, DWORD dwInternetFlags,
190         DWORD dwContext);
191
192
193 #define MAX_REPLY_LEN           0x5B4
194
195
196 #endif /* _WINE_INTERNET_H_ */