master
  1/**
  2 * This file has no copyright assigned and is placed in the Public Domain.
  3 * This file is part of the mingw-w64 runtime package.
  4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5 */
  6#ifndef _LMWKSTA_
  7#define _LMWKSTA_
  8
  9#ifdef __cplusplus
 10extern "C" {
 11#endif
 12
 13#include <lmcons.h>
 14#include <lmuseflg.h>
 15
 16  NET_API_STATUS WINAPI NetWkstaGetInfo(LMSTR servername,DWORD level,LPBYTE *bufptr);
 17  NET_API_STATUS WINAPI NetWkstaSetInfo(LMSTR servername,DWORD level,LPBYTE buffer,LPDWORD parm_err);
 18  NET_API_STATUS WINAPI NetWkstaUserGetInfo(LMSTR reserved,DWORD level,LPBYTE *bufptr);
 19  NET_API_STATUS WINAPI NetWkstaUserSetInfo(LMSTR reserved,DWORD level,LPBYTE buf,LPDWORD parm_err);
 20  NET_API_STATUS WINAPI NetWkstaUserEnum(LMSTR servername,DWORD level,LPBYTE *bufptr,DWORD prefmaxlen,LPDWORD entriesread,LPDWORD totalentries,LPDWORD resumehandle);
 21  NET_API_STATUS WINAPI NetWkstaTransportAdd(LMSTR servername,DWORD level,LPBYTE buf,LPDWORD parm_err);
 22  NET_API_STATUS WINAPI NetWkstaTransportDel(LMSTR servername,LMSTR transportname,DWORD ucond);
 23  NET_API_STATUS WINAPI NetWkstaTransportEnum(LMSTR servername,DWORD level,LPBYTE *bufptr,DWORD prefmaxlen,LPDWORD entriesread,LPDWORD totalentries,LPDWORD resumehandle);
 24
 25  typedef struct _WKSTA_INFO_100 {
 26    DWORD wki100_platform_id;
 27    LMSTR wki100_computername;
 28    LMSTR wki100_langroup;
 29    DWORD wki100_ver_major;
 30    DWORD wki100_ver_minor;
 31  } WKSTA_INFO_100,*PWKSTA_INFO_100,*LPWKSTA_INFO_100;
 32
 33  typedef struct _WKSTA_INFO_101 {
 34    DWORD wki101_platform_id;
 35    LMSTR wki101_computername;
 36    LMSTR wki101_langroup;
 37    DWORD wki101_ver_major;
 38    DWORD wki101_ver_minor;
 39    LMSTR wki101_lanroot;
 40  } WKSTA_INFO_101,*PWKSTA_INFO_101,*LPWKSTA_INFO_101;
 41
 42  typedef struct _WKSTA_INFO_102 {
 43    DWORD wki102_platform_id;
 44    LMSTR wki102_computername;
 45    LMSTR wki102_langroup;
 46    DWORD wki102_ver_major;
 47    DWORD wki102_ver_minor;
 48    LMSTR wki102_lanroot;
 49    DWORD wki102_logged_on_users;
 50  } WKSTA_INFO_102,*PWKSTA_INFO_102,*LPWKSTA_INFO_102;
 51
 52  typedef struct _WKSTA_INFO_302{
 53    DWORD wki302_char_wait;
 54    DWORD wki302_collection_time;
 55    DWORD wki302_maximum_collection_count;
 56    DWORD wki302_keep_conn;
 57    DWORD wki302_keep_search;
 58    DWORD wki302_max_cmds;
 59    DWORD wki302_num_work_buf;
 60    DWORD wki302_siz_work_buf;
 61    DWORD wki302_max_wrk_cache;
 62    DWORD wki302_sess_timeout;
 63    DWORD wki302_siz_error;
 64    DWORD wki302_num_alerts;
 65    DWORD wki302_num_services;
 66    DWORD wki302_errlog_sz;
 67    DWORD wki302_print_buf_time;
 68    DWORD wki302_num_char_buf;
 69    DWORD wki302_siz_char_buf;
 70    LMSTR wki302_wrk_heuristics;
 71    DWORD wki302_mailslots;
 72    DWORD wki302_num_dgram_buf;
 73  } WKSTA_INFO_302,*PWKSTA_INFO_302,*LPWKSTA_INFO_302;
 74
 75  typedef struct _WKSTA_INFO_402{
 76    DWORD wki402_char_wait;
 77    DWORD wki402_collection_time;
 78    DWORD wki402_maximum_collection_count;
 79    DWORD wki402_keep_conn;
 80    DWORD wki402_keep_search;
 81    DWORD wki402_max_cmds;
 82    DWORD wki402_num_work_buf;
 83    DWORD wki402_siz_work_buf;
 84    DWORD wki402_max_wrk_cache;
 85    DWORD wki402_sess_timeout;
 86    DWORD wki402_siz_error;
 87    DWORD wki402_num_alerts;
 88    DWORD wki402_num_services;
 89    DWORD wki402_errlog_sz;
 90    DWORD wki402_print_buf_time;
 91    DWORD wki402_num_char_buf;
 92    DWORD wki402_siz_char_buf;
 93    LMSTR wki402_wrk_heuristics;
 94    DWORD wki402_mailslots;
 95    DWORD wki402_num_dgram_buf;
 96    DWORD wki402_max_threads;
 97  } WKSTA_INFO_402,*PWKSTA_INFO_402,*LPWKSTA_INFO_402;
 98
 99  typedef struct _WKSTA_INFO_502{
100    DWORD wki502_char_wait;
101    DWORD wki502_collection_time;
102    DWORD wki502_maximum_collection_count;
103    DWORD wki502_keep_conn;
104    DWORD wki502_max_cmds;
105    DWORD wki502_sess_timeout;
106    DWORD wki502_siz_char_buf;
107    DWORD wki502_max_threads;
108    DWORD wki502_lock_quota;
109    DWORD wki502_lock_increment;
110    DWORD wki502_lock_maximum;
111    DWORD wki502_pipe_increment;
112    DWORD wki502_pipe_maximum;
113    DWORD wki502_cache_file_timeout;
114    DWORD wki502_dormant_file_limit;
115    DWORD wki502_read_ahead_throughput;
116    DWORD wki502_num_mailslot_buffers;
117    DWORD wki502_num_srv_announce_buffers;
118    DWORD wki502_max_illegal_datagram_events;
119    DWORD wki502_illegal_datagram_event_reset_frequency;
120    WINBOOL wki502_log_election_packets;
121    WINBOOL wki502_use_opportunistic_locking;
122    WINBOOL wki502_use_unlock_behind;
123    WINBOOL wki502_use_close_behind;
124    WINBOOL wki502_buf_named_pipes;
125    WINBOOL wki502_use_lock_read_unlock;
126    WINBOOL wki502_utilize_nt_caching;
127    WINBOOL wki502_use_raw_read;
128    WINBOOL wki502_use_raw_write;
129    WINBOOL wki502_use_write_raw_data;
130    WINBOOL wki502_use_encryption;
131    WINBOOL wki502_buf_files_deny_write;
132    WINBOOL wki502_buf_read_only_files;
133    WINBOOL wki502_force_core_create_mode;
134    WINBOOL wki502_use_512_byte_max_transfer;
135  } WKSTA_INFO_502,*PWKSTA_INFO_502,*LPWKSTA_INFO_502;
136
137  typedef struct _WKSTA_INFO_1010 {
138    DWORD wki1010_char_wait;
139  } WKSTA_INFO_1010,*PWKSTA_INFO_1010,*LPWKSTA_INFO_1010;
140
141  typedef struct _WKSTA_INFO_1011 {
142    DWORD wki1011_collection_time;
143  } WKSTA_INFO_1011,*PWKSTA_INFO_1011,*LPWKSTA_INFO_1011;
144
145  typedef struct _WKSTA_INFO_1012 {
146    DWORD wki1012_maximum_collection_count;
147  } WKSTA_INFO_1012,*PWKSTA_INFO_1012,*LPWKSTA_INFO_1012;
148
149  typedef struct _WKSTA_INFO_1027 {
150    DWORD wki1027_errlog_sz;
151  } WKSTA_INFO_1027,*PWKSTA_INFO_1027,*LPWKSTA_INFO_1027;
152
153  typedef struct _WKSTA_INFO_1028 {
154    DWORD wki1028_print_buf_time;
155  } WKSTA_INFO_1028,*PWKSTA_INFO_1028,*LPWKSTA_INFO_1028;
156
157  typedef struct _WKSTA_INFO_1032 {
158    DWORD wki1032_wrk_heuristics;
159  } WKSTA_INFO_1032,*PWKSTA_INFO_1032,*LPWKSTA_INFO_1032;
160
161  typedef struct _WKSTA_INFO_1013 {
162    DWORD wki1013_keep_conn;
163  } WKSTA_INFO_1013,*PWKSTA_INFO_1013,*LPWKSTA_INFO_1013;
164
165  typedef struct _WKSTA_INFO_1018 {
166    DWORD wki1018_sess_timeout;
167  } WKSTA_INFO_1018,*PWKSTA_INFO_1018,*LPWKSTA_INFO_1018;
168
169  typedef struct _WKSTA_INFO_1023 {
170    DWORD wki1023_siz_char_buf;
171  } WKSTA_INFO_1023,*PWKSTA_INFO_1023,*LPWKSTA_INFO_1023;
172
173  typedef struct _WKSTA_INFO_1033 {
174    DWORD wki1033_max_threads;
175  } WKSTA_INFO_1033,*PWKSTA_INFO_1033,*LPWKSTA_INFO_1033;
176
177  typedef struct _WKSTA_INFO_1041 {
178    DWORD wki1041_lock_quota;
179  } WKSTA_INFO_1041,*PWKSTA_INFO_1041,*LPWKSTA_INFO_1041;
180
181  typedef struct _WKSTA_INFO_1042 {
182    DWORD wki1042_lock_increment;
183  } WKSTA_INFO_1042,*PWKSTA_INFO_1042,*LPWKSTA_INFO_1042;
184
185  typedef struct _WKSTA_INFO_1043 {
186    DWORD wki1043_lock_maximum;
187  } WKSTA_INFO_1043,*PWKSTA_INFO_1043,*LPWKSTA_INFO_1043;
188
189  typedef struct _WKSTA_INFO_1044 {
190    DWORD wki1044_pipe_increment;
191  } WKSTA_INFO_1044,*PWKSTA_INFO_1044,*LPWKSTA_INFO_1044;
192
193  typedef struct _WKSTA_INFO_1045 {
194    DWORD wki1045_pipe_maximum;
195  } WKSTA_INFO_1045,*PWKSTA_INFO_1045,*LPWKSTA_INFO_1045;
196
197  typedef struct _WKSTA_INFO_1046 {
198    DWORD wki1046_dormant_file_limit;
199  } WKSTA_INFO_1046,*PWKSTA_INFO_1046,*LPWKSTA_INFO_1046;
200
201  typedef struct _WKSTA_INFO_1047 {
202    DWORD wki1047_cache_file_timeout;
203  } WKSTA_INFO_1047,*PWKSTA_INFO_1047,*LPWKSTA_INFO_1047;
204
205  typedef struct _WKSTA_INFO_1048 {
206    WINBOOL wki1048_use_opportunistic_locking;
207  } WKSTA_INFO_1048,*PWKSTA_INFO_1048,*LPWKSTA_INFO_1048;
208
209  typedef struct _WKSTA_INFO_1049 {
210    WINBOOL wki1049_use_unlock_behind;
211  } WKSTA_INFO_1049,*PWKSTA_INFO_1049,*LPWKSTA_INFO_1049;
212
213  typedef struct _WKSTA_INFO_1050 {
214    WINBOOL wki1050_use_close_behind;
215  } WKSTA_INFO_1050,*PWKSTA_INFO_1050,*LPWKSTA_INFO_1050;
216
217  typedef struct _WKSTA_INFO_1051 {
218    WINBOOL wki1051_buf_named_pipes;
219  } WKSTA_INFO_1051,*PWKSTA_INFO_1051,*LPWKSTA_INFO_1051;
220
221  typedef struct _WKSTA_INFO_1052 {
222    WINBOOL wki1052_use_lock_read_unlock;
223  } WKSTA_INFO_1052,*PWKSTA_INFO_1052,*LPWKSTA_INFO_1052;
224
225  typedef struct _WKSTA_INFO_1053 {
226    WINBOOL wki1053_utilize_nt_caching;
227  } WKSTA_INFO_1053,*PWKSTA_INFO_1053,*LPWKSTA_INFO_1053;
228
229  typedef struct _WKSTA_INFO_1054 {
230    WINBOOL wki1054_use_raw_read;
231  } WKSTA_INFO_1054,*PWKSTA_INFO_1054,*LPWKSTA_INFO_1054;
232
233  typedef struct _WKSTA_INFO_1055 {
234    WINBOOL wki1055_use_raw_write;
235  } WKSTA_INFO_1055,*PWKSTA_INFO_1055,*LPWKSTA_INFO_1055;
236
237  typedef struct _WKSTA_INFO_1056 {
238    WINBOOL wki1056_use_write_raw_data;
239  } WKSTA_INFO_1056,*PWKSTA_INFO_1056,*LPWKSTA_INFO_1056;
240
241  typedef struct _WKSTA_INFO_1057 {
242    WINBOOL wki1057_use_encryption;
243  } WKSTA_INFO_1057,*PWKSTA_INFO_1057,*LPWKSTA_INFO_1057;
244
245  typedef struct _WKSTA_INFO_1058 {
246    WINBOOL wki1058_buf_files_deny_write;
247  } WKSTA_INFO_1058,*PWKSTA_INFO_1058,*LPWKSTA_INFO_1058;
248
249  typedef struct _WKSTA_INFO_1059 {
250    WINBOOL wki1059_buf_read_only_files;
251  } WKSTA_INFO_1059,*PWKSTA_INFO_1059,*LPWKSTA_INFO_1059;
252
253  typedef struct _WKSTA_INFO_1060 {
254    WINBOOL wki1060_force_core_create_mode;
255  } WKSTA_INFO_1060,*PWKSTA_INFO_1060,*LPWKSTA_INFO_1060;
256
257  typedef struct _WKSTA_INFO_1061 {
258    WINBOOL wki1061_use_512_byte_max_transfer;
259  } WKSTA_INFO_1061,*PWKSTA_INFO_1061,*LPWKSTA_INFO_1061;
260
261  typedef struct _WKSTA_INFO_1062 {
262    DWORD wki1062_read_ahead_throughput;
263  } WKSTA_INFO_1062,*PWKSTA_INFO_1062,*LPWKSTA_INFO_1062;
264
265  typedef struct _WKSTA_USER_INFO_0 {
266    LMSTR wkui0_username;
267  } WKSTA_USER_INFO_0,*PWKSTA_USER_INFO_0,*LPWKSTA_USER_INFO_0;
268
269  typedef struct _WKSTA_USER_INFO_1 {
270    LMSTR wkui1_username;
271    LMSTR wkui1_logon_domain;
272    LMSTR wkui1_oth_domains;
273    LMSTR wkui1_logon_server;
274  } WKSTA_USER_INFO_1,*PWKSTA_USER_INFO_1,*LPWKSTA_USER_INFO_1;
275
276  typedef struct _WKSTA_USER_INFO_1101 {
277    LMSTR wkui1101_oth_domains;
278  } WKSTA_USER_INFO_1101,*PWKSTA_USER_INFO_1101,*LPWKSTA_USER_INFO_1101;
279
280  typedef struct _WKSTA_TRANSPORT_INFO_0 {
281    DWORD wkti0_quality_of_service;
282    DWORD wkti0_number_of_vcs;
283    LMSTR wkti0_transport_name;
284    LMSTR wkti0_transport_address;
285    WINBOOL wkti0_wan_ish;
286  } WKSTA_TRANSPORT_INFO_0,*PWKSTA_TRANSPORT_INFO_0,*LPWKSTA_TRANSPORT_INFO_0;
287
288#define WKSTA_PLATFORM_ID_PARMNUM 100
289#define WKSTA_COMPUTERNAME_PARMNUM 1
290#define WKSTA_LANGROUP_PARMNUM 2
291#define WKSTA_VER_MAJOR_PARMNUM 4
292#define WKSTA_VER_MINOR_PARMNUM 5
293#define WKSTA_LOGGED_ON_USERS_PARMNUM 6
294#define WKSTA_LANROOT_PARMNUM 7
295#define WKSTA_LOGON_DOMAIN_PARMNUM 8
296#define WKSTA_LOGON_SERVER_PARMNUM 9
297#define WKSTA_CHARWAIT_PARMNUM 10
298#define WKSTA_CHARTIME_PARMNUM 11
299#define WKSTA_CHARCOUNT_PARMNUM 12
300#define WKSTA_KEEPCONN_PARMNUM 13
301#define WKSTA_KEEPSEARCH_PARMNUM 14
302#define WKSTA_MAXCMDS_PARMNUM 15
303#define WKSTA_NUMWORKBUF_PARMNUM 16
304#define WKSTA_MAXWRKCACHE_PARMNUM 17
305#define WKSTA_SESSTIMEOUT_PARMNUM 18
306#define WKSTA_SIZERROR_PARMNUM 19
307#define WKSTA_NUMALERTS_PARMNUM 20
308#define WKSTA_NUMSERVICES_PARMNUM 21
309#define WKSTA_NUMCHARBUF_PARMNUM 22
310#define WKSTA_SIZCHARBUF_PARMNUM 23
311#define WKSTA_ERRLOGSZ_PARMNUM 27
312#define WKSTA_PRINTBUFTIME_PARMNUM 28
313#define WKSTA_SIZWORKBUF_PARMNUM 29
314#define WKSTA_MAILSLOTS_PARMNUM 30
315#define WKSTA_NUMDGRAMBUF_PARMNUM 31
316#define WKSTA_WRKHEURISTICS_PARMNUM 32
317#define WKSTA_MAXTHREADS_PARMNUM 33
318#define WKSTA_LOCKQUOTA_PARMNUM 41
319#define WKSTA_LOCKINCREMENT_PARMNUM 42
320#define WKSTA_LOCKMAXIMUM_PARMNUM 43
321#define WKSTA_PIPEINCREMENT_PARMNUM 44
322#define WKSTA_PIPEMAXIMUM_PARMNUM 45
323#define WKSTA_DORMANTFILELIMIT_PARMNUM 46
324#define WKSTA_CACHEFILETIMEOUT_PARMNUM 47
325#define WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM 48
326#define WKSTA_USEUNLOCKBEHIND_PARMNUM 49
327#define WKSTA_USECLOSEBEHIND_PARMNUM 50
328#define WKSTA_BUFFERNAMEDPIPES_PARMNUM 51
329#define WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM 52
330#define WKSTA_UTILIZENTCACHING_PARMNUM 53
331#define WKSTA_USERAWREAD_PARMNUM 54
332#define WKSTA_USERAWWRITE_PARMNUM 55
333#define WKSTA_USEWRITERAWWITHDATA_PARMNUM 56
334#define WKSTA_USEENCRYPTION_PARMNUM 57
335#define WKSTA_BUFFILESWITHDENYWRITE_PARMNUM 58
336#define WKSTA_BUFFERREADONLYFILES_PARMNUM 59
337#define WKSTA_FORCECORECREATEMODE_PARMNUM 60
338#define WKSTA_USE512BYTESMAXTRANSFER_PARMNUM 61
339#define WKSTA_READAHEADTHRUPUT_PARMNUM 62
340
341#define WKSTA_OTH_DOMAINS_PARMNUM 101
342
343#define TRANSPORT_QUALITYOFSERVICE_PARMNUM 201
344#define TRANSPORT_NAME_PARMNUM 202
345
346#ifdef __cplusplus
347}
348#endif
349#endif