1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_lmrepl.d) 8 */ 9 /// Automatically imported and edited from the druntime module 10 /// core.sys.windows.lmrepl for the auto-generated win32 package. 11 module win32.lmrepl; 12 //version (Windows): 13 @system: 14 version (Win32_UseLib) pragma(lib, "netapi32"); 15 16 import win32.lmcons, win32.windef; 17 18 enum REPL_ROLE_EXPORT=1; 19 enum REPL_ROLE_IMPORT=2; 20 enum REPL_ROLE_BOTH=3; 21 22 enum REPL_INTERVAL_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+0; 23 enum REPL_PULSE_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+1; 24 enum REPL_GUARDTIME_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+2; 25 enum REPL_RANDOM_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+3; 26 27 enum REPL_UNLOCK_NOFORCE=0; 28 enum REPL_UNLOCK_FORCE=1; 29 enum REPL_STATE_OK=0; 30 enum REPL_STATE_NO_MASTER=1; 31 enum REPL_STATE_NO_SYNC=2; 32 enum REPL_STATE_NEVER_REPLICATED=3; 33 enum REPL_INTEGRITY_FILE=1; 34 enum REPL_INTEGRITY_TREE=2; 35 enum REPL_EXTENT_FILE=1; 36 enum REPL_EXTENT_TREE=2; 37 38 enum REPL_EXPORT_INTEGRITY_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+0; 39 enum REPL_EXPORT_EXTENT_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+1; 40 41 struct REPL_INFO_0 { 42 DWORD rp0_role; 43 LPWSTR rp0_exportpath; 44 LPWSTR rp0_exportlist; 45 LPWSTR rp0_importpath; 46 LPWSTR rp0_importlist; 47 LPWSTR rp0_logonusername; 48 DWORD rp0_interval; 49 DWORD rp0_pulse; 50 DWORD rp0_guardtime; 51 DWORD rp0_random; 52 } 53 alias REPL_INFO_0* PREPL_INFO_0, LPREPL_INFO_0; 54 55 struct REPL_INFO_1000 { 56 DWORD rp1000_interval; 57 } 58 alias REPL_INFO_1000* PREPL_INFO_1000, LPREPL_INFO_1000; 59 60 struct REPL_INFO_1001 { 61 DWORD rp1001_pulse; 62 } 63 alias REPL_INFO_1001* PREPL_INFO_1001, LPREPL_INFO_1001; 64 65 struct REPL_INFO_1002 { 66 DWORD rp1002_guardtime; 67 } 68 alias REPL_INFO_1002* PREPL_INFO_1002, LPREPL_INFO_1002; 69 70 struct REPL_INFO_1003 { 71 DWORD rp1003_random; 72 } 73 alias REPL_INFO_1003* PREPL_INFO_1003, LPREPL_INFO_1003; 74 75 struct REPL_EDIR_INFO_0 { 76 LPWSTR rped0_dirname; 77 } 78 alias REPL_EDIR_INFO_0* PREPL_EDIR_INFO_0, LPREPL_EDIR_INFO_0; 79 80 struct REPL_EDIR_INFO_1 { 81 LPWSTR rped1_dirname; 82 DWORD rped1_integrity; 83 DWORD rped1_extent; 84 } 85 alias REPL_EDIR_INFO_1* PREPL_EDIR_INFO_1, LPREPL_EDIR_INFO_1; 86 87 struct REPL_EDIR_INFO_2 { 88 LPWSTR rped2_dirname; 89 DWORD rped2_integrity; 90 DWORD rped2_extent; 91 DWORD rped2_lockcount; 92 DWORD rped2_locktime; 93 } 94 alias REPL_EDIR_INFO_2* PREPL_EDIR_INFO_2, LPREPL_EDIR_INFO_2; 95 96 struct REPL_EDIR_INFO_1000 { 97 DWORD rped1000_integrity; 98 } 99 alias REPL_EDIR_INFO_1000* PREPL_EDIR_INFO_1000, LPREPL_EDIR_INFO_1000; 100 101 struct REPL_EDIR_INFO_1001 { 102 DWORD rped1001_extent; 103 } 104 alias REPL_EDIR_INFO_1001* PREPL_EDIR_INFO_1001, LPREPL_EDIR_INFO_1001; 105 106 struct REPL_IDIR_INFO_0 { 107 LPWSTR rpid0_dirname; 108 } 109 alias REPL_IDIR_INFO_0* PREPL_IDIR_INFO_0, LPREPL_IDIR_INFO_0; 110 111 struct REPL_IDIR_INFO_1 { 112 LPWSTR rpid1_dirname; 113 DWORD rpid1_state; 114 LPWSTR rpid1_mastername; 115 DWORD rpid1_last_update_time; 116 DWORD rpid1_lockcount; 117 DWORD rpid1_locktime; 118 } 119 alias REPL_IDIR_INFO_1* PREPL_IDIR_INFO_1, LPREPL_IDIR_INFO_1; 120 121 extern (Windows) { 122 NET_API_STATUS NetReplGetInfo(LPCWSTR,DWORD,PBYTE*); 123 NET_API_STATUS NetReplSetInfo(LPCWSTR,DWORD,PBYTE,PDWORD); 124 NET_API_STATUS NetReplExportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 125 NET_API_STATUS NetReplExportDirDel(LPCWSTR,LPCWSTR); 126 NET_API_STATUS NetReplExportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 127 NET_API_STATUS NetReplExportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 128 NET_API_STATUS NetReplExportDirSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD); 129 NET_API_STATUS NetReplExportDirLock(LPCWSTR,LPCWSTR); 130 NET_API_STATUS NetReplExportDirUnlock(LPCWSTR,LPCWSTR,DWORD); 131 NET_API_STATUS NetReplImportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 132 NET_API_STATUS NetReplImportDirDel(LPCWSTR,LPCWSTR); 133 NET_API_STATUS NetReplImportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 134 NET_API_STATUS NetReplImportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 135 NET_API_STATUS NetReplImportDirLock(LPCWSTR,LPCWSTR); 136 NET_API_STATUS NetReplImportDirUnlock(LPCWSTR,LPCWSTR,DWORD); 137 }