kernel32: Implement the memory resource notification functions.
[wine] / include / wine / winnet16.h
1 /*
2  * Definitions for windows network service
3  *
4  * Copyright 1997 Andreas Mohr
5  * Copyright 1999 Ulrich Weigand
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20  */
21
22 #ifndef __WINE_WINNET16_H
23 #define __WINE_WINNET16_H
24
25 #include <windef.h>
26 #include <wine/windef16.h>
27
28 #include <pshpack1.h>
29
30 /*
31  * Remote printing
32  */
33
34 typedef struct
35 {
36     WORD    pqName;
37     WORD    pqComment;
38     WORD    pqStatus;
39     WORD    pqJobcount;
40     WORD    pqPrinters;
41
42 } QUEUESTRUCT16, *LPQUEUESTRUCT16;
43
44 #define WNPRQ_ACTIVE    0x0
45 #define WNPRQ_PAUSE     0x1
46 #define WNPRQ_ERROR     0x2
47 #define WNPRQ_PENDING   0x3
48 #define WNPRQ_PROBLEM   0x4
49
50 typedef struct
51 {
52     WORD    pjId;
53     WORD    pjUsername;
54     WORD    pjParms;
55     WORD    pjPosition;
56     WORD    pjStatus;
57     DWORD   pjSubmitted;
58     DWORD   pjSize;
59     WORD    pjCopies;
60     WORD    pjComment;
61
62 } JOBSTRUCT16, *LPJOBSTRUCT16;
63
64 #include <poppack.h>
65
66 #define WNPRJ_QSTATUS           0x0007
67 #define WNPRJ_DEVSTATUS         0x0FF8
68
69 #define WNPRJ_QS_QUEUED         0x0000
70 #define WNPRJ_QS_PAUSED         0x0001
71 #define WNPRJ_QS_SPOOLING       0x0002
72 #define WNPRJ_QS_PRINTING       0x0003
73
74 #define WNPRJ_DS_COMPLETE       0x0008
75 #define WNPRJ_DS_INTERV         0x0010
76 #define WNPRJ_DS_ERROR          0x0020
77 #define WNPRJ_DS_DESTOFFLINE    0x0040
78 #define WNPRJ_DS_DESTPAUSED     0x0080
79 #define WNPRJ_DS_NOTIFY         0x0100
80 #define WNPRJ_DS_DESTNOPAPER    0x0200
81 #define WNPRJ_DS_DESTFORMCHG    0x0400
82 #define WNPRJ_DS_DESTCRTCHG     0x0800
83 #define WNPRJ_DS_DESTPENCHG     0x1000
84
85 #define SP_QUEUECHANGED         0x0500
86
87 #define WNJ_NULL_JOBID  0
88
89 WORD WINAPI WNetOpenJob16(LPSTR,LPSTR,WORD,LPINT16);
90 WORD WINAPI WNetCloseJob16(WORD,LPINT16,LPSTR);
91 WORD WINAPI WNetWriteJob16(HANDLE16,LPSTR,LPINT16);
92 WORD WINAPI WNetAbortJob16(LPSTR,WORD);
93 WORD WINAPI WNetHoldJob16(LPSTR,WORD);
94 WORD WINAPI WNetReleaseJob16(LPSTR,WORD);
95 WORD WINAPI WNetCancelJob16(LPSTR,WORD);
96 WORD WINAPI WNetSetJobCopies16(LPSTR,WORD,WORD);
97
98 WORD WINAPI WNetWatchQueue16(HWND16,LPSTR,LPSTR,WORD);
99 WORD WINAPI WNetUnwatchQueue16(LPSTR);
100 WORD WINAPI WNetLockQueueData16(LPSTR,LPSTR,LPQUEUESTRUCT16 *);
101 WORD WINAPI WNetUnlockQueueData16(LPSTR);
102
103
104 /*
105  * Connections
106  */
107
108 WORD WINAPI WNetAddConnection16(LPCSTR,LPCSTR,LPCSTR);
109 WORD WINAPI WNetCancelConnection16(LPSTR,BOOL16);
110 WORD WINAPI WNetGetConnection16(LPSTR,LPSTR,UINT16 *);
111 WORD WINAPI WNetRestoreConnection16(HWND16,LPSTR);
112
113 /*
114  * Capabilities
115  */
116
117 WORD WINAPI WNetGetCaps16(WORD);
118
119 #define WNNC16_SPEC_VERSION                       0x01
120 #define WNNC16_NET_TYPE                           0x02
121 #define WNNC16_DRIVER_VERSION                     0x03
122 #define WNNC16_USER                               0x04
123 #define WNNC16_CONNECTION                         0x06
124 #define WNNC16_PRINTING                           0x07
125 #define WNNC16_DIALOG                             0x08
126 #define WNNC16_ADMIN                              0x09
127 #define WNNC16_ERROR                              0x0a
128 #define WNNC16_PRINTMGREXT                        0x0b
129
130 #define WNNC16_NET_NONE                           0x0
131 #define WNNC16_NET_MSNet                          0x1
132 #define WNNC16_NET_LanMan                         0x2
133 #define WNNC16_NET_NetWare                        0x3
134 #define WNNC16_NET_Vines                          0x4
135 #define WNNC16_NET_10NET                          0x5
136 #define WNNC16_NET_Locus                          0x6
137 #define WNNC16_NET_SUN_PC_NFS                     0x7
138 #define WNNC16_NET_LANstep                        0x8
139 #define WNNC16_NET_9TILES                         0x9
140 #define WNNC16_NET_LANtastic                      0xa
141 #define WNNC16_NET_AS400                          0xb
142 #define WNNC16_NET_FTP_NFS                        0xc
143 #define WNNC16_NET_PATHWORKS                      0xd
144 #define WNNC16_NET_LifeNet                        0xe
145 #define WNNC16_NET_POWERLan                       0xf
146 #define WNNC16_NET_MultiNet                       0x8000
147
148 #define WNNC16_SUBNET_NONE                        0x00
149 #define WNNC16_SUBNET_MSNet                       0x01
150 #define WNNC16_SUBNET_LanMan                      0x02
151 #define WNNC16_SUBNET_WinWorkgroups               0x04
152 #define WNNC16_SUBNET_NetWare                     0x08
153 #define WNNC16_SUBNET_Vines                       0x10
154 #define WNNC16_SUBNET_Other                       0x80
155
156 #define WNNC16_CON_AddConnection                  0x0001
157 #define WNNC16_CON_CancelConnection               0x0002
158 #define WNNC16_CON_GetConnections                 0x0004
159 #define WNNC16_CON_AutoConnect                    0x0008
160 #define WNNC16_CON_BrowseDialog                   0x0010
161 #define WNNC16_CON_RestoreConnection              0x0020
162
163 #define WNNC16_PRT_OpenJob                        0x0002
164 #define WNNC16_PRT_CloseJob                       0x0004
165 #define WNNC16_PRT_HoldJob                        0x0010
166 #define WNNC16_PRT_ReleaseJob                     0x0020
167 #define WNNC16_PRT_CancelJob                      0x0040
168 #define WNNC16_PRT_SetJobCopies                   0x0080
169 #define WNNC16_PRT_WatchQueue                     0x0100
170 #define WNNC16_PRT_UnwatchQueue                   0x0200
171 #define WNNC16_PRT_LockQueueData                  0x0400
172 #define WNNC16_PRT_UnlockQueueData                0x0800
173 #define WNNC16_PRT_ChangeMsg                      0x1000
174 #define WNNC16_PRT_AbortJob                       0x2000
175 #define WNNC16_PRT_NoArbitraryLock                0x4000
176 #define WNNC16_PRT_WriteJob                       0x8000
177
178 #define WNNC16_DLG_DeviceMode                     0x0001
179 #define WNNC16_DLG_BrowseDialog                   0x0002
180 #define WNNC16_DLG_ConnectDialog                  0x0004
181 #define WNNC16_DLG_DisconnectDialog               0x0008
182 #define WNNC16_DLG_ViewQueueDialog                0x0010
183 #define WNNC16_DLG_PropertyDialog                 0x0020
184 #define WNNC16_DLG_ConnectionDialog               0x0040
185 #define WNNC16_DLG_PrinterConnectDialog           0x0080
186 #define WNNC16_DLG_SharesDialog                   0x0100
187 #define WNNC16_DLG_ShareAsDialog                  0x0200
188
189 #define WNNC16_ADM_GetDirectoryType               0x0001
190 #define WNNC16_ADM_DirectoryNotify                0x0002
191 #define WNNC16_ADM_LongNames                      0x0004
192 #define WNNC16_ADM_SetDefaultDrive                0x0008
193
194 #define WNNC16_ERR_GetError                       0x0001
195 #define WNNC16_ERR_GetErrorText                   0x0002
196
197
198 /*
199  * Get User
200  */
201
202 WORD WINAPI WNetGetUser16(LPSTR,LPINT16);
203
204
205 /*
206  * Browsing
207  */
208
209 #define WNBD_CONN_UNKNOWN       0x0
210 #define WNBD_CONN_DISKTREE      0x1
211 #define WNBD_CONN_PRINTQ        0x3
212 #define WNBD_MAX_LENGTH         0x80
213
214 #define WNTYPE_DRIVE            1
215 #define WNTYPE_FILE             2
216 #define WNTYPE_PRINTER          3
217 #define WNTYPE_COMM             4
218
219 #define WNPS_FILE               0
220 #define WNPS_DIR                1
221 #define WNPS_MULT               2
222
223 WORD WINAPI WNetDeviceMode16(HWND16);
224 WORD WINAPI WNetBrowseDialog16(HWND16,WORD,LPSTR);
225 WORD WINAPI WNetConnectDialog16(HWND16,WORD);
226 WORD WINAPI WNetDisconnectDialog16(HWND16,WORD);
227 WORD WINAPI WNetConnectionDialog16(HWND16,WORD);
228 WORD WINAPI WNetViewQueueDialog16(HWND16,LPSTR);
229 WORD WINAPI WNetPropertyDialog16(HWND16,WORD,WORD,LPSTR,WORD);
230 WORD WINAPI WNetGetPropertyText16(WORD,WORD,LPSTR,LPSTR,WORD,WORD);
231
232
233 /*
234  * Admin
235  */
236
237 #define WNDT_NORMAL   0
238 #define WNDT_NETWORK  1
239
240 #define WNDN_MKDIR    1
241 #define WNDN_RMDIR    2
242 #define WNDN_MVDIR    3
243
244 WORD WINAPI WNetGetDirectoryType16(LPSTR,LPINT16);
245 WORD WINAPI WNetDirectoryNotify16(HWND16,LPSTR,WORD);
246
247
248 /*
249  * Status codes
250  */
251
252 WORD WINAPI WNetGetError16(LPINT16);
253 WORD WINAPI WNetGetErrorText16(WORD,LPSTR,LPINT16);
254 WORD WINAPI WNetErrorText16(WORD,LPSTR,WORD);
255
256 #define WN16_SUCCESS                      0x0000
257 #define WN16_NOT_SUPPORTED                0x0001
258 #define WN16_NET_ERROR                    0x0002
259 #define WN16_MORE_DATA                    0x0003
260 #define WN16_BAD_POINTER                  0x0004
261 #define WN16_BAD_VALUE                    0x0005
262 #define WN16_BAD_PASSWORD                 0x0006
263 #define WN16_ACCESS_DENIED                0x0007
264 #define WN16_FUNCTION_BUSY                0x0008
265 #define WN16_WINDOWS_ERROR                0x0009
266 #define WN16_BAD_USER                     0x000A
267 #define WN16_OUT_OF_MEMORY                0x000B
268 #define WN16_CANCEL                       0x000C
269 #define WN16_CONTINUE                     0x000D
270 #define WN16_NOT_CONNECTED                0x0030
271 #define WN16_OPEN_FILES                   0x0031
272 #define WN16_BAD_NETNAME                  0x0032
273 #define WN16_BAD_LOCALNAME                0x0033
274 #define WN16_ALREADY_CONNECTED            0x0034
275 #define WN16_DEVICE_ERROR                 0x0035
276 #define WN16_CONNECTION_CLOSED            0x0036
277 #define WN16_BAD_JOBID                    0x0040
278 #define WN16_JOB_NOT_FOUND                0x0041
279 #define WN16_JOB_NOT_HELD                 0x0042
280 #define WN16_BAD_QUEUE                    0x0043
281 #define WN16_BAD_FILE_HANDLE              0x0044
282 #define WN16_CANT_SET_COPIES              0x0045
283 #define WN16_ALREADY_LOCKED               0x0046
284 #define WN16_NO_ERROR                     0x0050
285
286
287
288 #endif /* __WINE_WINNET16_H */