Release 971221
[wine/multimedia.git] / misc / network.c
blob58b8cbd607b52c2fcc213903d008e209a2c2e5dc
1 /*
2 * Network functions
3 */
5 #include <ctype.h>
6 #include <stdio.h>
8 #include "windows.h"
9 #include "winerror.h"
10 #include "drive.h"
12 #define WN_SUCCESS 0x0000
13 #define WN_NOT_SUPPORTED 0x0001
14 #define WN_NET_ERROR 0x0002
15 #define WN_MORE_DATA 0x0003
16 #define WN_BAD_POINTER 0x0004
17 #define WN_BAD_VALUE 0x0005
18 #define WN_BAD_PASSWORD 0x0006
19 #define WN_ACCESS_DENIED 0x0007
20 #define WN_FUNCTION_BUSY 0x0008
21 #define WN_WINDOWS_ERROR 0x0009
22 #define WN_BAD_USER 0x000A
23 #define WN_OUT_OF_MEMORY 0x000B
24 #define WN_CANCEL 0x000C
25 #define WN_CONTINUE 0x000D
26 #define WN_NOT_CONNECTED 0x0030
27 #define WN_OPEN_FILES 0x0031
28 #define WN_BAD_NETNAME 0x0032
29 #define WN_BAD_LOCALNAME 0x0033
30 #define WN_ALREADY_CONNECTED 0x0034
31 #define WN_DEVICE_ERROR 0x0035
32 #define WN_CONNECTION_CLOSED 0x0036
33 #define WN_NO_NETWORK ERROR_NO_NETWORK
36 typedef LPVOID LPNETRESOURCE16;
38 /**************************************************************************
39 * WNetErrorText [USER.499]
41 int WINAPI WNetErrorText(WORD nError,LPSTR lpszText,WORD cbText)
43 printf("EMPTY STUB !!! WNetErrorText(%x,%p,%x)\n",
44 nError,lpszText,cbText);
45 return FALSE;
48 /**************************************************************************
49 * WNetOpenJob [USER.501]
51 int WINAPI WNetOpenJob(LPSTR szQueue,LPSTR szJobTitle,WORD nCopies,LPWORD pfh)
53 printf("EMPTY STUB !!! WNetOpenJob('%s','%s',%x,%p)\n",
54 szQueue,szJobTitle,nCopies,pfh);
55 return WN_NET_ERROR;
58 /**************************************************************************
59 * WNetCloseJob [USER.502]
61 int WINAPI WNetCloseJob(WORD fh,LPWORD pidJob,LPSTR szQueue)
63 printf("EMPTY STUB !!! WNetCloseJob(%x,%p,'%s')\n",
64 fh,pidJob,szQueue);
65 return WN_NET_ERROR;
68 /**************************************************************************
69 * WNetAbortJob [USER.503]
71 int WINAPI WNetAbortJob(LPSTR szQueue,WORD wJobId)
73 printf("EMPTY STUB !!! WNetAbortJob('%s',%x)\n",
74 szQueue,wJobId);
75 return WN_NET_ERROR;
78 /**************************************************************************
79 * WNetHoldJob [USER.504]
81 int WINAPI WNetHoldJob(LPSTR szQueue,WORD wJobId)
83 printf("EMPTY STUB !!! WNetHoldJob('%s',%x)\n",
84 szQueue,wJobId);
85 return WN_NET_ERROR;
88 /**************************************************************************
89 * WNetReleaseJob [USER.505]
91 int WINAPI WNetReleaseJob(LPSTR szQueue,WORD wJobId)
93 printf("EMPTY STUB !!! WNetReleaseJob('%s',%x)\n",
94 szQueue,wJobId);
95 return WN_NET_ERROR;
98 /**************************************************************************
99 * WNetCancelJob [USER.506]
101 int WINAPI WNetCancelJob(LPSTR szQueue,WORD wJobId)
103 printf("EMPTY STUB !!! WNetCancelJob('%s',%x)\n",
104 szQueue,wJobId);
105 return WN_NET_ERROR;
108 /**************************************************************************
109 * WNetSetJobCopies [USER.507]
111 int WINAPI WNetSetJobCopies(LPSTR szQueue,WORD wJobId,WORD nCopies)
113 printf("EMPTY STUB !!! WNetSetJobCopies('%s',%x,%x)\n",
114 szQueue,wJobId,nCopies);
115 return WN_NET_ERROR;
118 /**************************************************************************
119 * WNetWatchQueue [USER.508]
121 int WINAPI WNetWatchQueue(HWND16 hWnd,LPSTR szLocal,LPSTR szUser,WORD nQueue)
123 printf("EMPTY STUB !!! WNetWatchQueue(%04x,'%s','%s',%x)\n",
124 hWnd,szLocal,szUser,nQueue);
125 return WN_NET_ERROR;
128 /**************************************************************************
129 * WNetUnwatchQueue [USER.509]
131 int WINAPI WNetUnwatchQueue(LPSTR szQueue)
133 printf("EMPTY STUB !!! WNetUnwatchQueue('%s')\n", szQueue);
134 return WN_NET_ERROR;
137 /**************************************************************************
138 * WNetLockQueueData [USER.510]
140 int WINAPI WNetLockQueueData(LPSTR szQueue,LPSTR szUser,void *lplpQueueStruct)
142 printf("EMPTY STUB !!! WNetLockQueueData('%s','%s',%p)\n",
143 szQueue,szUser,lplpQueueStruct);
144 return WN_NET_ERROR;
147 /**************************************************************************
148 * WNetUnlockQueueData [USER.511]
150 int WINAPI WNetUnlockQueueData(LPSTR szQueue)
152 printf("EMPTY STUB !!! WNetUnlockQueueData('%s')\n",szQueue);
153 return WN_NET_ERROR;
156 /**************************************************************************
157 * WNetGetConnection [USER.512]
159 int WINAPI WNetGetConnection16(LPCSTR lpLocalName,
160 LPSTR lpRemoteName, UINT16 *cbRemoteName)
162 const char *path;
164 if (lpLocalName[1] == ':')
166 int drive = toupper(lpLocalName[0]) - 'A';
167 switch(GetDriveType16(drive))
169 case DRIVE_CANNOTDETERMINE:
170 case DRIVE_DOESNOTEXIST:
171 return WN_BAD_LOCALNAME;
172 case DRIVE_REMOVABLE:
173 case DRIVE_FIXED:
174 return WN_NOT_CONNECTED;
175 case DRIVE_REMOTE:
176 path = DRIVE_GetLabel(drive);
177 if (strlen(path) + 1 > *cbRemoteName)
179 *cbRemoteName = strlen(path) + 1;
180 return WN_MORE_DATA;
182 strcpy( lpRemoteName, path );
183 *cbRemoteName = strlen(lpRemoteName) + 1;
184 return WN_SUCCESS;
187 return WN_BAD_LOCALNAME;
190 /**************************************************************************
191 * WNetGetCaps [USER.513]
193 int WINAPI WNetGetCaps(WORD capability)
195 return 0;
198 /**************************************************************************
199 * WNetDeviceMode [USER.514]
201 int WINAPI WNetDeviceMode(HWND16 hWndOwner)
203 printf("EMPTY STUB !!! WNetDeviceMode(%04x)\n",hWndOwner);
204 return WN_NO_NETWORK;
207 /**************************************************************************
208 * WNetBrowseDialog [USER.515]
210 int WINAPI WNetBrowseDialog(HWND16 hParent,WORD nType,LPSTR szPath)
212 printf("EMPTY STUB !!! WNetBrowseDialog(%04x,%x,'%s')\n",
213 hParent,nType,szPath);
214 return WN_NO_NETWORK;
217 /**************************************************************************
218 * WNetGetUser [USER.516]
220 UINT16 WINAPI WNetGetUser(LPSTR lpLocalName, LPSTR lpUserName, DWORD *lpSize)
222 printf("EMPTY STUB !!! WNetGetUser(%p, %p, %p);\n",
223 lpLocalName, lpUserName, lpSize);
224 return WN_NO_NETWORK;
227 /**************************************************************************
228 * WNetAddConnection [USER.517]
230 UINT16 WINAPI WNetAddConnection(LPSTR lpNetPath, LPSTR lpPassWord,
231 LPSTR lpLocalName)
233 printf("EMPTY STUB !!! WNetAddConnection('%s', %p, '%s');\n",
234 lpNetPath, lpPassWord, lpLocalName);
235 return WN_NO_NETWORK;
239 /**************************************************************************
240 * WNetCancelConnection [USER.518]
242 UINT16 WINAPI WNetCancelConnection(LPSTR lpName, BOOL16 bForce)
244 printf("EMPTY STUB !!! WNetCancelConnection('%s', %04X);\n",
245 lpName, bForce);
246 return WN_NO_NETWORK;
249 /**************************************************************************
250 * WNetGetError [USER.519]
252 int WINAPI WNetGetError(LPWORD nError)
254 printf("EMPTY STUB !!! WNetGetError(%p)\n",nError);
255 return WN_NO_NETWORK;
258 /**************************************************************************
259 * WNetGetErrorText [USER.520]
261 int WINAPI WNetGetErrorText(WORD nError, LPSTR lpBuffer, LPWORD nBufferSize)
263 printf("EMPTY STUB !!! WNetGetErrorText(%x,%p,%p)\n",
264 nError,lpBuffer,nBufferSize);
265 return WN_NET_ERROR;
268 /**************************************************************************
269 * WNetRestoreConnection [USER.523]
271 int WINAPI WNetRestoreConnection(HWND16 hwndOwner,LPSTR lpszDevice)
273 printf("EMPTY STUB !!! WNetRestoreConnection(%04x,'%s')\n",
274 hwndOwner,lpszDevice);
275 return WN_NO_NETWORK;
278 /**************************************************************************
279 * WNetWriteJob [USER.524]
281 int WINAPI WNetWriteJob(HANDLE16 hJob,void *lpData,LPWORD lpcbData)
283 printf("EMPTY STUB !!! WNetWriteJob(%04x,%p,%p)\n",
284 hJob,lpData,lpcbData);
285 return WN_NO_NETWORK;
288 /**************************************************************************
289 * WnetConnectDialog [USER.525]
291 UINT16 WINAPI WNetConnectDialog(HWND16 hWndParent, WORD iType)
293 printf("EMPTY STUB !!! WNetConnectDialog(%04x, %4X)\n", hWndParent, iType);
294 return WN_SUCCESS;
297 /**************************************************************************
298 * WNetDisconnectDialog [USER.526]
300 int WINAPI WNetDisconnectDialog(HWND16 hwndOwner, WORD iType)
302 printf("EMPTY STUB !!! WNetDisconnectDialog(%04x,%x)\n",
303 hwndOwner,iType);
304 return WN_NO_NETWORK;
307 /**************************************************************************
308 * WnetConnectionDialog [USER.527]
310 UINT16 WINAPI WNetConnectionDialog(HWND16 hWndParent, WORD iType)
312 printf("EMPTY STUB !!! WNetConnectionDialog(%04x, %4X)\n",
313 hWndParent, iType);
314 return WN_SUCCESS;
317 /**************************************************************************
318 * WNetViewQueueDialog [USER.528]
320 int WINAPI WNetViewQueueDialog(HWND16 hwndOwner,LPSTR lpszQueue)
322 printf("EMPTY STUB !!! WNetViewQueueDialog(%04x,'%s')\n",
323 hwndOwner,lpszQueue);
324 return WN_NO_NETWORK;
327 /**************************************************************************
328 * WNetPropertyDialog [USER.529]
330 int WINAPI WNetPropertyDialog(HWND16 hwndParent,WORD iButton,
331 WORD nPropSel,LPSTR lpszName,WORD nType)
333 printf("EMPTY STUB !!! WNetPropertyDialog(%04x,%x,%x,'%s',%x)\n",
334 hwndParent,iButton,nPropSel,lpszName,nType);
335 return WN_NO_NETWORK;
338 /**************************************************************************
339 * WNetGetDirectoryType [USER.530]
341 int WINAPI WNetGetDirectoryType(LPSTR lpName,void *lpType)
343 printf("EMPTY STUB !!! WNetGetDirectoryType('%s',%p)\n",
344 lpName,lpType);
345 return WN_NO_NETWORK;
348 /**************************************************************************
349 * WNetDirectoryNotify [USER.531]
351 int WINAPI WNetDirectoryNotify(HWND16 hwndOwner,void *lpDir,WORD wOper)
353 printf("EMPTY STUB !!! WNetDirectoryNotify(%04x,%p,%x)\n",
354 hwndOwner,lpDir,wOper);
355 return WN_NO_NETWORK;
358 /**************************************************************************
359 * WNetGetPropertyText [USER.532]
361 int WINAPI WNetGetPropertyText(HWND16 hwndParent,WORD iButton,WORD nPropSel,
362 LPSTR lpszName,WORD nType)
364 printf("EMPTY STUB !!! WNetGetPropertyText(%04x,%x,%x,'%s',%x)\n",
365 hwndParent,iButton,nPropSel,lpszName,nType);
366 return WN_NO_NETWORK;
369 /**************************************************************************
370 * WNetAddConnection2 [USER.???]
372 UINT16 WINAPI WNetAddConnection2(LPSTR lpNetPath, LPSTR lpPassWord,
373 LPSTR lpLocalName, LPSTR lpUserName)
375 printf("EMPTY STUB !!! WNetAddConnection2('%s', %p, '%s', '%s');\n",
376 lpNetPath, lpPassWord, lpLocalName, lpUserName);
377 return WN_NO_NETWORK;
380 /**************************************************************************
381 * WNetCloseEnum [USER.???]
383 UINT16 WINAPI WNetCloseEnum(HANDLE16 hEnum)
385 printf("EMPTY STUB !!! WNetCloseEnum(%04x);\n", hEnum);
386 return WN_NO_NETWORK;
389 /**************************************************************************
390 * WNetEnumResource [USER.???]
392 UINT16 WINAPI WNetEnumResource(HANDLE16 hEnum, DWORD cRequ,
393 DWORD *lpCount, LPVOID lpBuf)
395 printf("EMPTY STUB !!! WNetEnumResource(%04x, %08lX, %p, %p);\n",
396 hEnum, cRequ, lpCount, lpBuf);
397 return WN_NO_NETWORK;
400 /**************************************************************************
401 * WNetOpenEnum [USER.???]
403 UINT16 WINAPI WNetOpenEnum16(DWORD dwScope, DWORD dwType,
404 LPNETRESOURCE16 lpNet, HANDLE16 *lphEnum)
406 printf("EMPTY STUB !!! WNetOpenEnum(%08lX, %08lX, %p, %p);\n",
407 dwScope, dwType, lpNet, lphEnum);
408 return WN_NO_NETWORK;
411 /**************************************************************************
412 * WNetOpenEnumA [MPR.92]
414 UINT32 WINAPI WNetOpenEnum32A(DWORD dwScope, DWORD dwType,
415 LPNETRESOURCE32A lpNet, HANDLE32 *lphEnum)
417 printf("EMPTY STUB !!! WNetOpenEnumA(%08lX, %08lX, %p, %p);\n",
418 dwScope, dwType, lpNet, lphEnum);
419 return WN_NO_NETWORK;
422 /**************************************************************************
423 * WNetGetConnectionA [MPR.92]
425 DWORD WINAPI
426 WNetGetConnection32A(LPCSTR localname,LPSTR remotename,LPDWORD buflen)
428 UINT16 x;
429 DWORD ret = WNetGetConnection16(localname,remotename,&x);
430 *buflen = x;
431 return ret;
434 DWORD WINAPI
435 WNetGetResourceInformation32A(
436 LPNETRESOURCE32A netres,LPVOID buf,LPDWORD buflen,LPSTR systemstr
438 fprintf(stderr,"WNetGetResourceInformationA(%p,%p,%p,%p),stub!\n",
439 netres,buf,buflen,systemstr
441 return WN_NO_NETWORK;