1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _LMREPL_ 7 #define _LMREPL_ 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 #define REPL_ROLE_EXPORT 1 14 #define REPL_ROLE_IMPORT 2 15 #define REPL_ROLE_BOTH 3 16 17 #define REPL_INTERVAL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 0) 18 #define REPL_PULSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 1) 19 #define REPL_GUARDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 2) 20 #define REPL_RANDOM_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 3) 21 22 typedef struct _REPL_INFO_0 { 23 DWORD rp0_role; 24 LPWSTR rp0_exportpath; 25 LPWSTR rp0_exportlist; 26 LPWSTR rp0_importpath; 27 LPWSTR rp0_importlist; 28 LPWSTR rp0_logonusername; 29 DWORD rp0_interval; 30 DWORD rp0_pulse; 31 DWORD rp0_guardtime; 32 DWORD rp0_random; 33 } REPL_INFO_0,*PREPL_INFO_0,*LPREPL_INFO_0; 34 35 typedef struct _REPL_INFO_1000 { 36 DWORD rp1000_interval; 37 } REPL_INFO_1000,*PREPL_INFO_1000,*LPREPL_INFO_1000; 38 39 typedef struct _REPL_INFO_1001 { 40 DWORD rp1001_pulse; 41 } REPL_INFO_1001,*PREPL_INFO_1001,*LPREPL_INFO_1001; 42 43 typedef struct _REPL_INFO_1002 { 44 DWORD rp1002_guardtime; 45 } REPL_INFO_1002,*PREPL_INFO_1002,*LPREPL_INFO_1002; 46 47 typedef struct _REPL_INFO_1003 { 48 DWORD rp1003_random; 49 } REPL_INFO_1003,*PREPL_INFO_1003,*LPREPL_INFO_1003; 50 51 NET_API_STATUS WINAPI NetReplGetInfo(LPCWSTR servername,DWORD level,LPBYTE *bufptr); 52 NET_API_STATUS WINAPI NetReplSetInfo(LPCWSTR servername,DWORD level,const LPBYTE buf,LPDWORD parm_err); 53 54 #define REPL_INTEGRITY_FILE 1 55 #define REPL_INTEGRITY_TREE 2 56 57 #define REPL_EXTENT_FILE 1 58 #define REPL_EXTENT_TREE 2 59 60 #define REPL_EXPORT_INTEGRITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 0) 61 #define REPL_EXPORT_EXTENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 1) 62 63 typedef struct _REPL_EDIR_INFO_0 { 64 LPWSTR rped0_dirname; 65 } REPL_EDIR_INFO_0,*PREPL_EDIR_INFO_0,*LPREPL_EDIR_INFO_0; 66 67 typedef struct _REPL_EDIR_INFO_1 { 68 LPWSTR rped1_dirname; 69 DWORD rped1_integrity; 70 DWORD rped1_extent; 71 } REPL_EDIR_INFO_1,*PREPL_EDIR_INFO_1,*LPREPL_EDIR_INFO_1; 72 73 typedef struct _REPL_EDIR_INFO_2 { 74 LPWSTR rped2_dirname; 75 DWORD rped2_integrity; 76 DWORD rped2_extent; 77 DWORD rped2_lockcount; 78 DWORD rped2_locktime; 79 } REPL_EDIR_INFO_2,*PREPL_EDIR_INFO_2,*LPREPL_EDIR_INFO_2; 80 81 typedef struct _REPL_EDIR_INFO_1000 { 82 DWORD rped1000_integrity; 83 } REPL_EDIR_INFO_1000,*PREPL_EDIR_INFO_1000,*LPREPL_EDIR_INFO_1000; 84 85 typedef struct _REPL_EDIR_INFO_1001 { 86 DWORD rped1001_extent; 87 } REPL_EDIR_INFO_1001,*PREPL_EDIR_INFO_1001,*LPREPL_EDIR_INFO_1001; 88 89 NET_API_STATUS WINAPI NetReplExportDirAdd(LPCWSTR servername,DWORD level,const LPBYTE buf,LPDWORD parm_err); 90 NET_API_STATUS WINAPI NetReplExportDirDel(LPCWSTR servername,LPCWSTR dirname); 91 NET_API_STATUS WINAPI NetReplExportDirEnum(LPCWSTR servername,DWORD level,LPBYTE *bufptr,DWORD prefmaxlen,LPDWORD entriesread,LPDWORD totalentries,LPDWORD resumehandle); 92 NET_API_STATUS WINAPI NetReplExportDirGetInfo(LPCWSTR servername,LPCWSTR dirname,DWORD level,LPBYTE *bufptr); 93 NET_API_STATUS WINAPI NetReplExportDirSetInfo(LPCWSTR servername,LPCWSTR dirname,DWORD level,const LPBYTE buf,LPDWORD parm_err); 94 NET_API_STATUS WINAPI NetReplExportDirLock(LPCWSTR servername,LPCWSTR dirname); 95 NET_API_STATUS WINAPI NetReplExportDirUnlock(LPCWSTR servername,LPCWSTR dirname,DWORD unlockforce); 96 97 #define REPL_UNLOCK_NOFORCE 0 98 #define REPL_UNLOCK_FORCE 1 99 100 typedef struct _REPL_IDIR_INFO_0 { 101 LPWSTR rpid0_dirname; 102 } REPL_IDIR_INFO_0,*PREPL_IDIR_INFO_0,*LPREPL_IDIR_INFO_0; 103 104 typedef struct _REPL_IDIR_INFO_1 { 105 LPWSTR rpid1_dirname; 106 DWORD rpid1_state; 107 LPWSTR rpid1_mastername; 108 DWORD rpid1_last_update_time; 109 DWORD rpid1_lockcount; 110 DWORD rpid1_locktime; 111 } REPL_IDIR_INFO_1,*PREPL_IDIR_INFO_1,*LPREPL_IDIR_INFO_1; 112 113 NET_API_STATUS WINAPI NetReplImportDirAdd(LPCWSTR servername,DWORD level,const LPBYTE buf,LPDWORD parm_err); 114 NET_API_STATUS WINAPI NetReplImportDirDel(LPCWSTR servername,LPCWSTR dirname); 115 NET_API_STATUS WINAPI NetReplImportDirEnum(LPCWSTR servername,DWORD level,LPBYTE *bufptr,DWORD prefmaxlen,LPDWORD entriesread,LPDWORD totalentries,LPDWORD resumehandle); 116 NET_API_STATUS WINAPI NetReplImportDirGetInfo(LPCWSTR servername,LPCWSTR dirname,DWORD level,LPBYTE *bufptr); 117 NET_API_STATUS WINAPI NetReplImportDirLock(LPCWSTR servername,LPCWSTR dirname); 118 NET_API_STATUS WINAPI NetReplImportDirUnlock(LPCWSTR servername,LPCWSTR dirname,DWORD unlockforce); 119 120 #define REPL_STATE_OK 0 121 #define REPL_STATE_NO_MASTER 1 122 #define REPL_STATE_NO_SYNC 2 123 #define REPL_STATE_NEVER_REPLICATED 3 124 125 #ifdef __cplusplus 126 } 127 #endif 128 #endif 129