4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * lmrepl.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.lmrepl; 9b639cf2d6 2015-05-05 kinaba: pragma(lib, "netapi32"); 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: private import win32.lmcons, win32.windef; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const REPL_ROLE_EXPORT=1; 4e2933c620 2015-04-21 kinaba: const REPL_ROLE_IMPORT=2; 4e2933c620 2015-04-21 kinaba: const REPL_ROLE_BOTH=3; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const REPL_INTERVAL_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+0; 4e2933c620 2015-04-21 kinaba: const REPL_PULSE_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+1; 4e2933c620 2015-04-21 kinaba: const REPL_GUARDTIME_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+2; 4e2933c620 2015-04-21 kinaba: const REPL_RANDOM_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+3; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const REPL_UNLOCK_NOFORCE=0; 4e2933c620 2015-04-21 kinaba: const REPL_UNLOCK_FORCE=1; 4e2933c620 2015-04-21 kinaba: const REPL_STATE_OK=0; 4e2933c620 2015-04-21 kinaba: const REPL_STATE_NO_MASTER=1; 4e2933c620 2015-04-21 kinaba: const REPL_STATE_NO_SYNC=2; 4e2933c620 2015-04-21 kinaba: const REPL_STATE_NEVER_REPLICATED=3; 4e2933c620 2015-04-21 kinaba: const REPL_INTEGRITY_FILE=1; 4e2933c620 2015-04-21 kinaba: const REPL_INTEGRITY_TREE=2; 4e2933c620 2015-04-21 kinaba: const REPL_EXTENT_FILE=1; 4e2933c620 2015-04-21 kinaba: const REPL_EXTENT_TREE=2; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const REPL_EXPORT_INTEGRITY_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+0; 4e2933c620 2015-04-21 kinaba: const REPL_EXPORT_EXTENT_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_INFO_0 { 4e2933c620 2015-04-21 kinaba: DWORD rp0_role; 4e2933c620 2015-04-21 kinaba: LPWSTR rp0_exportpath; 4e2933c620 2015-04-21 kinaba: LPWSTR rp0_exportlist; 4e2933c620 2015-04-21 kinaba: LPWSTR rp0_importpath; 4e2933c620 2015-04-21 kinaba: LPWSTR rp0_importlist; 4e2933c620 2015-04-21 kinaba: LPWSTR rp0_logonusername; 4e2933c620 2015-04-21 kinaba: DWORD rp0_interval; 4e2933c620 2015-04-21 kinaba: DWORD rp0_pulse; 4e2933c620 2015-04-21 kinaba: DWORD rp0_guardtime; 4e2933c620 2015-04-21 kinaba: DWORD rp0_random; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_INFO_0* PREPL_INFO_0, LPREPL_INFO_0; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_INFO_1000 { 4e2933c620 2015-04-21 kinaba: DWORD rp1000_interval; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_INFO_1000* PREPL_INFO_1000, LPREPL_INFO_1000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_INFO_1001 { 4e2933c620 2015-04-21 kinaba: DWORD rp1001_pulse; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_INFO_1001* PREPL_INFO_1001, LPREPL_INFO_1001; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_INFO_1002 { 4e2933c620 2015-04-21 kinaba: DWORD rp1002_guardtime; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_INFO_1002* PREPL_INFO_1002, LPREPL_INFO_1002; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_INFO_1003 { 4e2933c620 2015-04-21 kinaba: DWORD rp1003_random; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_INFO_1003* PREPL_INFO_1003, LPREPL_INFO_1003; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_EDIR_INFO_0 { 4e2933c620 2015-04-21 kinaba: LPWSTR rped0_dirname; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_EDIR_INFO_0* PREPL_EDIR_INFO_0, LPREPL_EDIR_INFO_0; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_EDIR_INFO_1 { 4e2933c620 2015-04-21 kinaba: LPWSTR rped1_dirname; 4e2933c620 2015-04-21 kinaba: DWORD rped1_integrity; 4e2933c620 2015-04-21 kinaba: DWORD rped1_extent; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_EDIR_INFO_1* PREPL_EDIR_INFO_1, LPREPL_EDIR_INFO_1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_EDIR_INFO_2 { 4e2933c620 2015-04-21 kinaba: LPWSTR rped2_dirname; 4e2933c620 2015-04-21 kinaba: DWORD rped2_integrity; 4e2933c620 2015-04-21 kinaba: DWORD rped2_extent; 4e2933c620 2015-04-21 kinaba: DWORD rped2_lockcount; 4e2933c620 2015-04-21 kinaba: DWORD rped2_locktime; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_EDIR_INFO_2* PREPL_EDIR_INFO_2, LPREPL_EDIR_INFO_2; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_EDIR_INFO_1000 { 4e2933c620 2015-04-21 kinaba: DWORD rped1000_integrity; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_EDIR_INFO_1000* PREPL_EDIR_INFO_1000, LPREPL_EDIR_INFO_1000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_EDIR_INFO_1001 { 4e2933c620 2015-04-21 kinaba: DWORD rped1001_extent; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_EDIR_INFO_1001* PREPL_EDIR_INFO_1001, LPREPL_EDIR_INFO_1001; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_IDIR_INFO_0 { 4e2933c620 2015-04-21 kinaba: LPWSTR rpid0_dirname; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_IDIR_INFO_0* PREPL_IDIR_INFO_0, LPREPL_IDIR_INFO_0; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPL_IDIR_INFO_1 { 4e2933c620 2015-04-21 kinaba: LPWSTR rpid1_dirname; 4e2933c620 2015-04-21 kinaba: DWORD rpid1_state; 4e2933c620 2015-04-21 kinaba: LPWSTR rpid1_mastername; 4e2933c620 2015-04-21 kinaba: DWORD rpid1_last_update_time; 4e2933c620 2015-04-21 kinaba: DWORD rpid1_lockcount; 4e2933c620 2015-04-21 kinaba: DWORD rpid1_locktime; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPL_IDIR_INFO_1* PREPL_IDIR_INFO_1, LPREPL_IDIR_INFO_1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplGetInfo(LPCWSTR,DWORD,PBYTE*); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplSetInfo(LPCWSTR,DWORD,PBYTE,PDWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplExportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplExportDirDel(LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplExportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplExportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplExportDirSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplExportDirLock(LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplExportDirUnlock(LPCWSTR,LPCWSTR,DWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplImportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplImportDirDel(LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplImportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplImportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplImportDirLock(LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetReplImportDirUnlock(LPCWSTR,LPCWSTR,DWORD); 4e2933c620 2015-04-21 kinaba: }