Release 971012
[wine/multimedia.git] / misc / network.c
blob4ebd1ffb6493cc40ef10591274a95c525a2d281b
1 /*
2 * Network functions
3 */
5 #include <ctype.h>
6 #include <stdio.h>
8 #include "windows.h"
9 #include "drive.h"
11 #define WN_SUCCESS 0x0000
12 #define WN_NOT_SUPPORTED 0x0001
13 #define WN_NET_ERROR 0x0002
14 #define WN_MORE_DATA 0x0003
15 #define WN_BAD_POINTER 0x0004
16 #define WN_BAD_VALUE 0x0005
17 #define WN_BAD_PASSWORD 0x0006
18 #define WN_ACCESS_DENIED 0x0007
19 #define WN_FUNCTION_BUSY 0x0008
20 #define WN_WINDOWS_ERROR 0x0009
21 #define WN_BAD_USER 0x000A
22 #define WN_OUT_OF_MEMORY 0x000B
23 #define WN_CANCEL 0x000C
24 #define WN_CONTINUE 0x000D
25 #define WN_NOT_CONNECTED 0x0030
26 #define WN_OPEN_FILES 0x0031
27 #define WN_BAD_NETNAME 0x0032
28 #define WN_BAD_LOCALNAME 0x0033
29 #define WN_ALREADY_CONNECTED 0x0034
30 #define WN_DEVICE_ERROR 0x0035
31 #define WN_CONNECTION_CLOSED 0x0036
33 typedef LPSTR LPNETRESOURCE;
35 /**************************************************************************
36 * WNetErrorText [USER.499]
38 int WINAPI WNetErrorText(WORD nError,LPSTR lpszText,WORD cbText)
40 printf("EMPTY STUB !!! WNetErrorText(%x,%p,%x)\n",
41 nError,lpszText,cbText);
42 return FALSE;
45 /**************************************************************************
46 * WNetOpenJob [USER.501]
48 int WINAPI WNetOpenJob(LPSTR szQueue,LPSTR szJobTitle,WORD nCopies,LPWORD pfh)
50 printf("EMPTY STUB !!! WNetOpenJob('%s','%s',%x,%p)\n",
51 szQueue,szJobTitle,nCopies,pfh);
52 return WN_NET_ERROR;
55 /**************************************************************************
56 * WNetCloseJob [USER.502]
58 int WINAPI WNetCloseJob(WORD fh,LPWORD pidJob,LPSTR szQueue)
60 printf("EMPTY STUB !!! WNetCloseJob(%x,%p,'%s')\n",
61 fh,pidJob,szQueue);
62 return WN_NET_ERROR;
65 /**************************************************************************
66 * WNetAbortJob [USER.503]
68 int WINAPI WNetAbortJob(LPSTR szQueue,WORD wJobId)
70 printf("EMPTY STUB !!! WNetAbortJob('%s',%x)\n",
71 szQueue,wJobId);
72 return WN_NET_ERROR;
75 /**************************************************************************
76 * WNetHoldJob [USER.504]
78 int WINAPI WNetHoldJob(LPSTR szQueue,WORD wJobId)
80 printf("EMPTY STUB !!! WNetHoldJob('%s',%x)\n",
81 szQueue,wJobId);
82 return WN_NET_ERROR;
85 /**************************************************************************
86 * WNetReleaseJob [USER.505]
88 int WINAPI WNetReleaseJob(LPSTR szQueue,WORD wJobId)
90 printf("EMPTY STUB !!! WNetReleaseJob('%s',%x)\n",
91 szQueue,wJobId);
92 return WN_NET_ERROR;
95 /**************************************************************************
96 * WNetCancelJob [USER.506]
98 int WINAPI WNetCancelJob(LPSTR szQueue,WORD wJobId)
100 printf("EMPTY STUB !!! WNetCancelJob('%s',%x)\n",
101 szQueue,wJobId);
102 return WN_NET_ERROR;
105 /**************************************************************************
106 * WNetSetJobCopies [USER.507]
108 int WINAPI WNetSetJobCopies(LPSTR szQueue,WORD wJobId,WORD nCopies)
110 printf("EMPTY STUB !!! WNetSetJobCopies('%s',%x,%x)\n",
111 szQueue,wJobId,nCopies);
112 return WN_NET_ERROR;
115 /**************************************************************************
116 * WNetWatchQueue [USER.508]
118 int WINAPI WNetWatchQueue(HWND16 hWnd,LPSTR szLocal,LPSTR szUser,WORD nQueue)
120 printf("EMPTY STUB !!! WNetWatchQueue(%04x,'%s','%s',%x)\n",
121 hWnd,szLocal,szUser,nQueue);
122 return WN_NET_ERROR;
125 /**************************************************************************
126 * WNetUnwatchQueue [USER.509]
128 int WINAPI WNetUnwatchQueue(LPSTR szQueue)
130 printf("EMPTY STUB !!! WNetUnwatchQueue('%s')\n", szQueue);
131 return WN_NET_ERROR;
134 /**************************************************************************
135 * WNetLockQueueData [USER.510]
137 int WINAPI WNetLockQueueData(LPSTR szQueue,LPSTR szUser,void *lplpQueueStruct)
139 printf("EMPTY STUB !!! WNetLockQueueData('%s','%s',%p)\n",
140 szQueue,szUser,lplpQueueStruct);
141 return WN_NET_ERROR;
144 /**************************************************************************
145 * WNetUnlockQueueData [USER.511]
147 int WINAPI WNetUnlockQueueData(LPSTR szQueue)
149 printf("EMPTY STUB !!! WNetUnlockQueueData('%s')\n",szQueue);
150 return WN_NET_ERROR;
153 /**************************************************************************
154 * WNetGetConnection [USER.512]
156 int WINAPI WNetGetConnection16(LPSTR lpLocalName,
157 LPSTR lpRemoteName, UINT16 *cbRemoteName)
159 const char *path;
161 if (lpLocalName[1] == ':')
163 int drive = toupper(lpLocalName[0]) - 'A';
164 switch(GetDriveType16(drive))
166 case DRIVE_CANNOTDETERMINE:
167 case DRIVE_DOESNOTEXIST:
168 return WN_BAD_LOCALNAME;
169 case DRIVE_REMOVABLE:
170 case DRIVE_FIXED:
171 return WN_NOT_CONNECTED;
172 case DRIVE_REMOTE:
173 path = DRIVE_GetDosCwd(drive);
174 if (strlen(path) + 1 > *cbRemoteName) return WN_MORE_DATA;
175 strcpy( lpRemoteName, path );
176 *cbRemoteName = strlen(lpRemoteName) + 1;
177 return WN_SUCCESS;
180 return WN_BAD_LOCALNAME;
183 /**************************************************************************
184 * WNetGetCaps [USER.513]
186 int WINAPI WNetGetCaps(WORD capability)
188 return 0;
191 /**************************************************************************
192 * WNetDeviceMode [USER.514]
194 int WINAPI WNetDeviceMode(HWND16 hWndOwner)
196 printf("EMPTY STUB !!! WNetDeviceMode(%04x)\n",hWndOwner);
197 return WN_NET_ERROR;
200 /**************************************************************************
201 * WNetBrowseDialog [USER.515]
203 int WINAPI WNetBrowseDialog(HWND16 hParent,WORD nType,LPSTR szPath)
205 printf("EMPTY STUB !!! WNetBrowseDialog(%04x,%x,'%s')\n",
206 hParent,nType,szPath);
207 return WN_NET_ERROR;
210 /**************************************************************************
211 * WNetGetUser [USER.516]
213 UINT16 WINAPI WNetGetUser(LPSTR lpLocalName, LPSTR lpUserName, DWORD *lpSize)
215 printf("EMPTY STUB !!! WNetGetUser(%p, %p, %p);\n",
216 lpLocalName, lpUserName, lpSize);
217 return WN_NET_ERROR;
220 /**************************************************************************
221 * WNetAddConnection [USER.517]
223 UINT16 WINAPI WNetAddConnection(LPSTR lpNetPath, LPSTR lpPassWord,
224 LPSTR lpLocalName)
226 printf("EMPTY STUB !!! WNetAddConnection('%s', %p, '%s');\n",
227 lpNetPath, lpPassWord, lpLocalName);
228 return WN_NET_ERROR;
232 /**************************************************************************
233 * WNetCancelConnection [USER.518]
235 UINT16 WINAPI WNetCancelConnection(LPSTR lpName, BOOL16 bForce)
237 printf("EMPTY STUB !!! WNetCancelConnection('%s', %04X);\n",
238 lpName, bForce);
239 return WN_NET_ERROR;
242 /**************************************************************************
243 * WNetGetError [USER.519]
245 int WINAPI WNetGetError(LPWORD nError)
247 printf("EMPTY STUB !!! WNetGetError(%p)\n",nError);
248 return WN_NET_ERROR;
251 /**************************************************************************
252 * WNetGetErrorText [USER.520]
254 int WINAPI WNetGetErrorText(WORD nError, LPSTR lpBuffer, LPWORD nBufferSize)
256 printf("EMPTY STUB !!! WNetGetErrorText(%x,%p,%p)\n",
257 nError,lpBuffer,nBufferSize);
258 return WN_NET_ERROR;
261 /**************************************************************************
262 * WNetRestoreConnection [USER.523]
264 int WINAPI WNetRestoreConnection(HWND16 hwndOwner,LPSTR lpszDevice)
266 printf("EMPTY STUB !!! WNetRestoreConnection(%04x,'%s')\n",
267 hwndOwner,lpszDevice);
268 return WN_NET_ERROR;
271 /**************************************************************************
272 * WNetWriteJob [USER.524]
274 int WINAPI WNetWriteJob(HANDLE16 hJob,void *lpData,LPWORD lpcbData)
276 printf("EMPTY STUB !!! WNetWriteJob(%04x,%p,%p)\n",
277 hJob,lpData,lpcbData);
278 return WN_NET_ERROR;
281 /**************************************************************************
282 * WnetConnectDialog [USER.525]
284 UINT16 WINAPI WNetConnectDialog(HWND16 hWndParent, WORD iType)
286 printf("EMPTY STUB !!! WNetConnectDialog(%04x, %4X)\n", hWndParent, iType);
287 return WN_SUCCESS;
290 /**************************************************************************
291 * WNetDisconnectDialog [USER.526]
293 int WINAPI WNetDisconnectDialog(HWND16 hwndOwner, WORD iType)
295 printf("EMPTY STUB !!! WNetDisconnectDialog(%04x,%x)\n",
296 hwndOwner,iType);
297 return WN_NET_ERROR;
300 /**************************************************************************
301 * WnetConnectionDialog [USER.527]
303 UINT16 WINAPI WNetConnectionDialog(HWND16 hWndParent, WORD iType)
305 printf("EMPTY STUB !!! WNetConnectionDialog(%04x, %4X)\n",
306 hWndParent, iType);
307 return WN_SUCCESS;
310 /**************************************************************************
311 * WNetViewQueueDialog [USER.528]
313 int WINAPI WNetViewQueueDialog(HWND16 hwndOwner,LPSTR lpszQueue)
315 printf("EMPTY STUB !!! WNetViewQueueDialog(%04x,'%s')\n",
316 hwndOwner,lpszQueue);
317 return WN_NET_ERROR;
320 /**************************************************************************
321 * WNetPropertyDialog [USER.529]
323 int WINAPI WNetPropertyDialog(HWND16 hwndParent,WORD iButton,
324 WORD nPropSel,LPSTR lpszName,WORD nType)
326 printf("EMPTY STUB !!! WNetPropertyDialog(%04x,%x,%x,'%s',%x)\n",
327 hwndParent,iButton,nPropSel,lpszName,nType);
328 return WN_NET_ERROR;
331 /**************************************************************************
332 * WNetGetDirectoryType [USER.530]
334 int WINAPI WNetGetDirectoryType(LPSTR lpName,void *lpType)
336 printf("EMPTY STUB !!! WNetGetDirectoryType('%s',%p)\n",
337 lpName,lpType);
338 return WN_NET_ERROR;
341 /**************************************************************************
342 * WNetDirectoryNotify [USER.531]
344 int WINAPI WNetDirectoryNotify(HWND16 hwndOwner,void *lpDir,WORD wOper)
346 printf("EMPTY STUB !!! WNetDirectoryNotify(%04x,%p,%x)\n",
347 hwndOwner,lpDir,wOper);
348 return WN_NET_ERROR;
351 /**************************************************************************
352 * WNetGetPropertyText [USER.532]
354 int WINAPI WNetGetPropertyText(HWND16 hwndParent,WORD iButton,WORD nPropSel,
355 LPSTR lpszName,WORD nType)
357 printf("EMPTY STUB !!! WNetGetPropertyText(%04x,%x,%x,'%s',%x)\n",
358 hwndParent,iButton,nPropSel,lpszName,nType);
359 return WN_NET_ERROR;
362 /**************************************************************************
363 * WNetAddConnection2 [USER.???]
365 UINT16 WINAPI WNetAddConnection2(LPSTR lpNetPath, LPSTR lpPassWord,
366 LPSTR lpLocalName, LPSTR lpUserName)
368 printf("EMPTY STUB !!! WNetAddConnection2('%s', %p, '%s', '%s');\n",
369 lpNetPath, lpPassWord, lpLocalName, lpUserName);
370 return WN_NET_ERROR;
373 /**************************************************************************
374 * WNetCloseEnum [USER.???]
376 UINT16 WINAPI WNetCloseEnum(HANDLE16 hEnum)
378 printf("EMPTY STUB !!! WNetCloseEnum(%04x);\n", hEnum);
379 return WN_NET_ERROR;
382 /**************************************************************************
383 * WNetEnumResource [USER.???]
385 UINT16 WINAPI WNetEnumResource(HANDLE16 hEnum, DWORD cRequ,
386 DWORD *lpCount, LPVOID lpBuf)
388 printf("EMPTY STUB !!! WNetEnumResource(%04x, %08lX, %p, %p);\n",
389 hEnum, cRequ, lpCount, lpBuf);
390 return WN_NET_ERROR;
393 /**************************************************************************
394 * WNetOpenEnum [USER.???]
396 UINT16 WINAPI WNetOpenEnum(DWORD dwScope, DWORD dwType,
397 LPNETRESOURCE lpNet, HANDLE16 *lphEnum)
399 printf("EMPTY STUB !!! WNetOpenEnum(%08lX, %08lX, %p, %p);\n",
400 dwScope, dwType, lpNet, lphEnum);
401 return WN_NET_ERROR;
405 DWORD
406 WNetGetConnection32A(LPCSTR localname,LPSTR remotename,LPDWORD buflen)
408 UINT16 x;
409 DWORD ret = WNetGetConnection16(localname,remotename,&x);
410 *buflen = x;
411 return ret;