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