blob: 86e394e057df9508f153c90b57f0f8906a002e8d [file]
/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC core/sys/windows/_lmwksta.d)
*/
module core.sys.windows.lmwksta;
version (Windows):
pragma(lib, "netapi32");
import core.sys.windows.lmuseflg;
import core.sys.windows.lmcons, core.sys.windows.windef;
pragma(lib, "Netapi32");
enum {
WKSTA_COMPUTERNAME_PARMNUM = 1,
WKSTA_LANGROUP_PARMNUM, // = 2
WKSTA_VER_MAJOR_PARMNUM = 4,
WKSTA_VER_MINOR_PARMNUM,
WKSTA_LOGGED_ON_USERS_PARMNUM,
WKSTA_LANROOT_PARMNUM,
WKSTA_LOGON_DOMAIN_PARMNUM,
WKSTA_LOGON_SERVER_PARMNUM,
WKSTA_CHARWAIT_PARMNUM,
WKSTA_CHARTIME_PARMNUM,
WKSTA_CHARCOUNT_PARMNUM,
WKSTA_KEEPCONN_PARMNUM,
WKSTA_KEEPSEARCH_PARMNUM,
WKSTA_MAXCMDS_PARMNUM,
WKSTA_NUMWORKBUF_PARMNUM,
WKSTA_MAXWRKCACHE_PARMNUM,
WKSTA_SESSTIMEOUT_PARMNUM,
WKSTA_SIZERROR_PARMNUM,
WKSTA_NUMALERTS_PARMNUM,
WKSTA_NUMSERVICES_PARMNUM,
WKSTA_NUMCHARBUF_PARMNUM,
WKSTA_SIZCHARBUF_PARMNUM, // = 23
WKSTA_ERRLOGSZ_PARMNUM = 27,
WKSTA_PRINTBUFTIME_PARMNUM,
WKSTA_SIZWORKBUF_PARMNUM,
WKSTA_MAILSLOTS_PARMNUM,
WKSTA_NUMDGRAMBUF_PARMNUM,
WKSTA_WRKHEURISTICS_PARMNUM,
WKSTA_MAXTHREADS_PARMNUM, // = 33
WKSTA_LOCKQUOTA_PARMNUM = 41,
WKSTA_LOCKINCREMENT_PARMNUM,
WKSTA_LOCKMAXIMUM_PARMNUM,
WKSTA_PIPEINCREMENT_PARMNUM,
WKSTA_PIPEMAXIMUM_PARMNUM,
WKSTA_DORMANTFILELIMIT_PARMNUM,
WKSTA_CACHEFILETIMEOUT_PARMNUM,
WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM,
WKSTA_USEUNLOCKBEHIND_PARMNUM,
WKSTA_USECLOSEBEHIND_PARMNUM,
WKSTA_BUFFERNAMEDPIPES_PARMNUM,
WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM,
WKSTA_UTILIZENTCACHING_PARMNUM,
WKSTA_USERAWREAD_PARMNUM,
WKSTA_USERAWWRITE_PARMNUM,
WKSTA_USEWRITERAWWITHDATA_PARMNUM,
WKSTA_USEENCRYPTION_PARMNUM,
WKSTA_BUFFILESWITHDENYWRITE_PARMNUM,
WKSTA_BUFFERREADONLYFILES_PARMNUM,
WKSTA_FORCECORECREATEMODE_PARMNUM,
WKSTA_USE512BYTESMAXTRANSFER_PARMNUM,
WKSTA_READAHEADTHRUPUT_PARMNUM, // = 62
WKSTA_PLATFORM_ID_PARMNUM = 100,
WKSTA_OTH_DOMAINS_PARMNUM = 101,
TRANSPORT_QUALITYOFSERVICE_PARMNUM = 201,
TRANSPORT_NAME_PARMNUM = 202
}
struct WKSTA_INFO_100{
DWORD wki100_platform_id;
LPWSTR wki100_computername;
LPWSTR wki100_langroup;
DWORD wki100_ver_major;
DWORD wki100_ver_minor;
}
alias PWKSTA_INFO_100 = WKSTA_INFO_100*, LPWKSTA_INFO_100 = WKSTA_INFO_100*;
struct WKSTA_INFO_101{
DWORD wki101_platform_id;
LPWSTR wki101_computername;
LPWSTR wki101_langroup;
DWORD wki101_ver_major;
DWORD wki101_ver_minor;
LPWSTR wki101_lanroot;
}
alias PWKSTA_INFO_101 = WKSTA_INFO_101*, LPWKSTA_INFO_101 = WKSTA_INFO_101*;
struct WKSTA_INFO_102{
DWORD wki102_platform_id;
LPWSTR wki102_computername;
LPWSTR wki102_langroup;
DWORD wki102_ver_major;
DWORD wki102_ver_minor;
LPWSTR wki102_lanroot;
DWORD wki102_logged_on_users;
}
alias PWKSTA_INFO_102 = WKSTA_INFO_102*, LPWKSTA_INFO_102 = WKSTA_INFO_102*;
struct WKSTA_INFO_302{
DWORD wki302_char_wait;
DWORD wki302_collection_time;
DWORD wki302_maximum_collection_count;
DWORD wki302_keep_conn;
DWORD wki302_keep_search;
DWORD wki302_max_cmds;
DWORD wki302_num_work_buf;
DWORD wki302_siz_work_buf;
DWORD wki302_max_wrk_cache;
DWORD wki302_sess_timeout;
DWORD wki302_siz_error;
DWORD wki302_num_alerts;
DWORD wki302_num_services;
DWORD wki302_errlog_sz;
DWORD wki302_print_buf_time;
DWORD wki302_num_char_buf;
DWORD wki302_siz_char_buf;
LPWSTR wki302_wrk_heuristics;
DWORD wki302_mailslots;
DWORD wki302_num_dgram_buf;
}
alias PWKSTA_INFO_302 = WKSTA_INFO_302*, LPWKSTA_INFO_302 = WKSTA_INFO_302*;
struct WKSTA_INFO_402{
DWORD wki402_char_wait;
DWORD wki402_collection_time;
DWORD wki402_maximum_collection_count;
DWORD wki402_keep_conn;
DWORD wki402_keep_search;
DWORD wki402_max_cmds;
DWORD wki402_num_work_buf;
DWORD wki402_siz_work_buf;
DWORD wki402_max_wrk_cache;
DWORD wki402_sess_timeout;
DWORD wki402_siz_error;
DWORD wki402_num_alerts;
DWORD wki402_num_services;
DWORD wki402_errlog_sz;
DWORD wki402_print_buf_time;
DWORD wki402_num_char_buf;
DWORD wki402_siz_char_buf;
LPWSTR wki402_wrk_heuristics;
DWORD wki402_mailslots;
DWORD wki402_num_dgram_buf;
DWORD wki402_max_threads;
}
alias PWKSTA_INFO_402 = WKSTA_INFO_402*, LPWKSTA_INFO_402 = WKSTA_INFO_402*;
struct WKSTA_INFO_502{
DWORD wki502_char_wait;
DWORD wki502_collection_time;
DWORD wki502_maximum_collection_count;
DWORD wki502_keep_conn;
DWORD wki502_max_cmds;
DWORD wki502_sess_timeout;
DWORD wki502_siz_char_buf;
DWORD wki502_max_threads;
DWORD wki502_lock_quota;
DWORD wki502_lock_increment;
DWORD wki502_lock_maximum;
DWORD wki502_pipe_increment;
DWORD wki502_pipe_maximum;
DWORD wki502_cache_file_timeout;
DWORD wki502_dormant_file_limit;
DWORD wki502_read_ahead_throughput;
DWORD wki502_num_mailslot_buffers;
DWORD wki502_num_srv_announce_buffers;
DWORD wki502_max_illegal_datagram_events;
DWORD wki502_illegal_datagram_event_reset_frequency;
BOOL wki502_log_election_packets;
BOOL wki502_use_opportunistic_locking;
BOOL wki502_use_unlock_behind;
BOOL wki502_use_close_behind;
BOOL wki502_buf_named_pipes;
BOOL wki502_use_lock_read_unlock;
BOOL wki502_utilize_nt_caching;
BOOL wki502_use_raw_read;
BOOL wki502_use_raw_write;
BOOL wki502_use_write_raw_data;
BOOL wki502_use_encryption;
BOOL wki502_buf_files_deny_write;
BOOL wki502_buf_read_only_files;
BOOL wki502_force_core_create_mode;
BOOL wki502_use_512_byte_max_transfer;
}
alias PWKSTA_INFO_502 = WKSTA_INFO_502*, LPWKSTA_INFO_502 = WKSTA_INFO_502*;
struct WKSTA_INFO_1010 {
DWORD wki1010_char_wait;
}
alias PWKSTA_INFO_1010 = WKSTA_INFO_1010*, LPWKSTA_INFO_1010 = WKSTA_INFO_1010*;
struct WKSTA_INFO_1011 {
DWORD wki1011_collection_time;
}
alias PWKSTA_INFO_1011 = WKSTA_INFO_1011*, LPWKSTA_INFO_1011 = WKSTA_INFO_1011*;
struct WKSTA_INFO_1012 {
DWORD wki1012_maximum_collection_count;
}
alias PWKSTA_INFO_1012 = WKSTA_INFO_1012*, LPWKSTA_INFO_1012 = WKSTA_INFO_1012*;
struct WKSTA_INFO_1027 {
DWORD wki1027_errlog_sz;
}
alias PWKSTA_INFO_1027 = WKSTA_INFO_1027*, LPWKSTA_INFO_1027 = WKSTA_INFO_1027*;
struct WKSTA_INFO_1028 {
DWORD wki1028_print_buf_time;
}
alias PWKSTA_INFO_1028 = WKSTA_INFO_1028*, LPWKSTA_INFO_1028 = WKSTA_INFO_1028*;
struct WKSTA_INFO_1032 {
DWORD wki1032_wrk_heuristics;
}
alias PWKSTA_INFO_1032 = WKSTA_INFO_1032*, LPWKSTA_INFO_1032 = WKSTA_INFO_1032*;
struct WKSTA_INFO_1013 {
DWORD wki1013_keep_conn;
}
alias PWKSTA_INFO_1013 = WKSTA_INFO_1013*, LPWKSTA_INFO_1013 = WKSTA_INFO_1013*;
struct WKSTA_INFO_1018 {
DWORD wki1018_sess_timeout;
}
alias PWKSTA_INFO_1018 = WKSTA_INFO_1018*, LPWKSTA_INFO_1018 = WKSTA_INFO_1018*;
struct WKSTA_INFO_1023 {
DWORD wki1023_siz_char_buf;
}
alias PWKSTA_INFO_1023 = WKSTA_INFO_1023*, LPWKSTA_INFO_1023 = WKSTA_INFO_1023*;
struct WKSTA_INFO_1033 {
DWORD wki1033_max_threads;
}
alias PWKSTA_INFO_1033 = WKSTA_INFO_1033*, LPWKSTA_INFO_1033 = WKSTA_INFO_1033*;
struct WKSTA_INFO_1041 {
DWORD wki1041_lock_quota;
}
alias PWKSTA_INFO_1041 = WKSTA_INFO_1041*, LPWKSTA_INFO_1041 = WKSTA_INFO_1041*;
struct WKSTA_INFO_1042 {
DWORD wki1042_lock_increment;
}
alias PWKSTA_INFO_1042 = WKSTA_INFO_1042*, LPWKSTA_INFO_1042 = WKSTA_INFO_1042*;
struct WKSTA_INFO_1043 {
DWORD wki1043_lock_maximum;
}
alias PWKSTA_INFO_1043 = WKSTA_INFO_1043*, LPWKSTA_INFO_1043 = WKSTA_INFO_1043*;
struct WKSTA_INFO_1044 {
DWORD wki1044_pipe_increment;
}
alias PWKSTA_INFO_1044 = WKSTA_INFO_1044*, LPWKSTA_INFO_1044 = WKSTA_INFO_1044*;
struct WKSTA_INFO_1045 {
DWORD wki1045_pipe_maximum;
}
alias PWKSTA_INFO_1045 = WKSTA_INFO_1045*, LPWKSTA_INFO_1045 = WKSTA_INFO_1045*;
struct WKSTA_INFO_1046 {
DWORD wki1046_dormant_file_limit;
}
alias PWKSTA_INFO_1046 = WKSTA_INFO_1046*, LPWKSTA_INFO_1046 = WKSTA_INFO_1046*;
struct WKSTA_INFO_1047 {
DWORD wki1047_cache_file_timeout;
}
alias PWKSTA_INFO_1047 = WKSTA_INFO_1047*, LPWKSTA_INFO_1047 = WKSTA_INFO_1047*;
struct WKSTA_INFO_1048 {
BOOL wki1048_use_opportunistic_locking;
}
alias PWKSTA_INFO_1048 = WKSTA_INFO_1048*, LPWKSTA_INFO_1048 = WKSTA_INFO_1048*;
struct WKSTA_INFO_1049 {
BOOL wki1049_use_unlock_behind;
}
alias PWKSTA_INFO_1049 = WKSTA_INFO_1049*, LPWKSTA_INFO_1049 = WKSTA_INFO_1049*;
struct WKSTA_INFO_1050 {
BOOL wki1050_use_close_behind;
}
alias PWKSTA_INFO_1050 = WKSTA_INFO_1050*, LPWKSTA_INFO_1050 = WKSTA_INFO_1050*;
struct WKSTA_INFO_1051 {
BOOL wki1051_buf_named_pipes;
}
alias PWKSTA_INFO_1051 = WKSTA_INFO_1051*, LPWKSTA_INFO_1051 = WKSTA_INFO_1051*;
struct WKSTA_INFO_1052 {
BOOL wki1052_use_lock_read_unlock;
}
alias PWKSTA_INFO_1052 = WKSTA_INFO_1052*, LPWKSTA_INFO_1052 = WKSTA_INFO_1052*;
struct WKSTA_INFO_1053 {
BOOL wki1053_utilize_nt_caching;
}
alias PWKSTA_INFO_1053 = WKSTA_INFO_1053*, LPWKSTA_INFO_1053 = WKSTA_INFO_1053*;
struct WKSTA_INFO_1054 {
BOOL wki1054_use_raw_read;
}
alias PWKSTA_INFO_1054 = WKSTA_INFO_1054*, LPWKSTA_INFO_1054 = WKSTA_INFO_1054*;
struct WKSTA_INFO_1055 {
BOOL wki1055_use_raw_write;
}
alias PWKSTA_INFO_1055 = WKSTA_INFO_1055*, LPWKSTA_INFO_1055 = WKSTA_INFO_1055*;
struct WKSTA_INFO_1056 {
BOOL wki1056_use_write_raw_data;
}
alias PWKSTA_INFO_1056 = WKSTA_INFO_1056*, LPWKSTA_INFO_1056 = WKSTA_INFO_1056*;
struct WKSTA_INFO_1057 {
BOOL wki1057_use_encryption;
}
alias PWKSTA_INFO_1057 = WKSTA_INFO_1057*, LPWKSTA_INFO_1057 = WKSTA_INFO_1057*;
struct WKSTA_INFO_1058 {
BOOL wki1058_buf_files_deny_write;
}
alias PWKSTA_INFO_1058 = WKSTA_INFO_1058*, LPWKSTA_INFO_1058 = WKSTA_INFO_1058*;
struct WKSTA_INFO_1059 {
BOOL wki1059_buf_read_only_files;
}
alias PWKSTA_INFO_1059 = WKSTA_INFO_1059*, LPWKSTA_INFO_1059 = WKSTA_INFO_1059*;
struct WKSTA_INFO_1060 {
BOOL wki1060_force_core_create_mode;
}
alias PWKSTA_INFO_1060 = WKSTA_INFO_1060*, LPWKSTA_INFO_1060 = WKSTA_INFO_1060*;
struct WKSTA_INFO_1061 {
BOOL wki1061_use_512_byte_max_transfer;
}
alias PWKSTA_INFO_1061 = WKSTA_INFO_1061*, LPWKSTA_INFO_1061 = WKSTA_INFO_1061*;
struct WKSTA_INFO_1062 {
DWORD wki1062_read_ahead_throughput;
}
alias PWKSTA_INFO_1062 = WKSTA_INFO_1062*, LPWKSTA_INFO_1062 = WKSTA_INFO_1062*;
struct WKSTA_USER_INFO_0 {
LPWSTR wkui0_username;
}
alias PWKSTA_USER_INFO_0 = WKSTA_USER_INFO_0*, LPWKSTA_USER_INFO_0 = WKSTA_USER_INFO_0*;
struct WKSTA_USER_INFO_1{
LPWSTR wkui1_username;
LPWSTR wkui1_logon_domain;
LPWSTR wkui1_oth_domains;
LPWSTR wkui1_logon_server;
}
alias PWKSTA_USER_INFO_1 = WKSTA_USER_INFO_1*, LPWKSTA_USER_INFO_1 = WKSTA_USER_INFO_1*;
struct WKSTA_USER_INFO_1101 {
LPWSTR wkui1101_oth_domains;
}
alias PWKSTA_USER_INFO_1101 = WKSTA_USER_INFO_1101*, LPWKSTA_USER_INFO_1101 = WKSTA_USER_INFO_1101*;
struct WKSTA_TRANSPORT_INFO_0{
DWORD wkti0_quality_of_service;
DWORD wkti0_number_of_vcs;
LPWSTR wkti0_transport_name;
LPWSTR wkti0_transport_address;
BOOL wkti0_wan_ish;
}
alias PWKSTA_TRANSPORT_INFO_0 = WKSTA_TRANSPORT_INFO_0*, LPWKSTA_TRANSPORT_INFO_0 = WKSTA_TRANSPORT_INFO_0*;
extern (Windows) {
NET_API_STATUS NetWkstaGetInfo(LPWSTR,DWORD,PBYTE*);
NET_API_STATUS NetWkstaSetInfo(LPWSTR,DWORD,PBYTE,PDWORD);
NET_API_STATUS NetWkstaUserGetInfo(LPWSTR,DWORD,PBYTE*);
NET_API_STATUS NetWkstaUserSetInfo(LPWSTR,DWORD,PBYTE,PDWORD);
NET_API_STATUS NetWkstaUserEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
NET_API_STATUS NetWkstaTransportAdd(LPWSTR,DWORD,PBYTE,PDWORD);
NET_API_STATUS NetWkstaTransportDel(LPWSTR,LPWSTR,DWORD);
NET_API_STATUS NetWkstaTransportEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
}