4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * lmuse.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ 4e2933c620 2015-04-21 kinaba: module win32.lmuse; 9b639cf2d6 2015-05-05 kinaba: pragma(lib, "netapi32"); 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: import win32.lmuseflg; 4e2933c620 2015-04-21 kinaba: private import win32.lmcons, win32.windef; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: USE_LOCAL_PARMNUM = 1, 4e2933c620 2015-04-21 kinaba: USE_REMOTE_PARMNUM, 4e2933c620 2015-04-21 kinaba: USE_PASSWORD_PARMNUM, 4e2933c620 2015-04-21 kinaba: USE_ASGTYPE_PARMNUM, 4e2933c620 2015-04-21 kinaba: USE_USERNAME_PARMNUM, 4e2933c620 2015-04-21 kinaba: USE_DOMAINNAME_PARMNUM 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: USE_OK, 4e2933c620 2015-04-21 kinaba: USE_PAUSED, 4e2933c620 2015-04-21 kinaba: USE_SESSLOST, 4e2933c620 2015-04-21 kinaba: USE_DISCONN = USE_SESSLOST, 4e2933c620 2015-04-21 kinaba: USE_NETERR, 4e2933c620 2015-04-21 kinaba: USE_CONN, 4e2933c620 2015-04-21 kinaba: USE_RECONN 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD USE_WILDCARD = -1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: USE_DISKDEV, 4e2933c620 2015-04-21 kinaba: USE_SPOOLDEV, 4e2933c620 2015-04-21 kinaba: USE_CHARDEV, 4e2933c620 2015-04-21 kinaba: USE_IPC 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct USE_INFO_0 { 4e2933c620 2015-04-21 kinaba: LPWSTR ui0_local; 4e2933c620 2015-04-21 kinaba: LPWSTR ui0_remote; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias USE_INFO_0* PUSE_INFO_0, LPUSE_INFO_0; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct USE_INFO_1 { 4e2933c620 2015-04-21 kinaba: LPWSTR ui1_local; 4e2933c620 2015-04-21 kinaba: LPWSTR ui1_remote; 4e2933c620 2015-04-21 kinaba: LPWSTR ui1_password; 4e2933c620 2015-04-21 kinaba: DWORD ui1_status; 4e2933c620 2015-04-21 kinaba: DWORD ui1_asg_type; 4e2933c620 2015-04-21 kinaba: DWORD ui1_refcount; 4e2933c620 2015-04-21 kinaba: DWORD ui1_usecount; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias USE_INFO_1* PUSE_INFO_1, LPUSE_INFO_1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct USE_INFO_2 { 4e2933c620 2015-04-21 kinaba: LPWSTR ui2_local; 4e2933c620 2015-04-21 kinaba: LPWSTR ui2_remote; 4e2933c620 2015-04-21 kinaba: LPWSTR ui2_password; 4e2933c620 2015-04-21 kinaba: DWORD ui2_status; 4e2933c620 2015-04-21 kinaba: DWORD ui2_asg_type; 4e2933c620 2015-04-21 kinaba: DWORD ui2_refcount; 4e2933c620 2015-04-21 kinaba: DWORD ui2_usecount; 4e2933c620 2015-04-21 kinaba: LPWSTR ui2_username; 4e2933c620 2015-04-21 kinaba: LPWSTR ui2_domainname; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias USE_INFO_2* PUSE_INFO_2, LPUSE_INFO_2; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetUseAdd(LPWSTR, DWORD, PBYTE, PDWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetUseDel(LPWSTR, LPWSTR, DWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetUseEnum(LPWSTR, DWORD, PBYTE*, DWORD, PDWORD, PDWORD, 4e2933c620 2015-04-21 kinaba: PDWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetUseGetInfo(LPWSTR, LPWSTR, DWORD, PBYTE*); 4e2933c620 2015-04-21 kinaba: }