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 10 extern "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 350