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