Reactos
at master 249 lines 5.8 kB view raw
1/* 2 * lmrepl.h 3 * 4 * This file is part of the ReactOS PSDK package. 5 * 6 * THIS SOFTWARE IS NOT COPYRIGHTED 7 * 8 * This source code is offered for use in the public domain. You may 9 * use, modify or distribute it freely. 10 * 11 * This code is distributed in the hope that it will be useful but 12 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 13 * DISCLAIMED. This includes but is not limited to warranties of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 * 16 */ 17 18#pragma once 19#define _LMREPL_ 20 21#ifdef __cplusplus 22extern "C" { 23#endif 24 25#define REPL_ROLE_EXPORT 1 26#define REPL_ROLE_IMPORT 2 27#define REPL_ROLE_BOTH 3 28 29#define REPL_INTERVAL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0) 30#define REPL_PULSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1) 31#define REPL_GUARDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+2) 32#define REPL_RANDOM_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+3) 33 34#define REPL_UNLOCK_NOFORCE 0 35#define REPL_UNLOCK_FORCE 1 36 37#define REPL_STATE_OK 0 38#define REPL_STATE_NO_MASTER 1 39#define REPL_STATE_NO_SYNC 2 40#define REPL_STATE_NEVER_REPLICATED 3 41 42#define REPL_INTEGRITY_FILE 1 43#define REPL_INTEGRITY_TREE 2 44 45#define REPL_EXTENT_FILE 1 46#define REPL_EXTENT_TREE 2 47 48#define REPL_EXPORT_INTEGRITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0) 49#define REPL_EXPORT_EXTENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1) 50 51typedef struct _REPL_INFO_0 52{ 53 DWORD rp0_role; 54 LPWSTR rp0_exportpath; 55 LPWSTR rp0_exportlist; 56 LPWSTR rp0_importpath; 57 LPWSTR rp0_importlist; 58 LPWSTR rp0_logonusername; 59 DWORD rp0_interval; 60 DWORD rp0_pulse; 61 DWORD rp0_guardtime; 62 DWORD rp0_random; 63} REPL_INFO_0, * PREPL_INFO_0, * LPREPL_INFO_0; 64 65typedef struct _REPL_INFO_1000 66{ 67 DWORD rp1000_interval; 68} REPL_INFO_1000,*PREPL_INFO_1000,*LPREPL_INFO_1000; 69 70typedef struct _REPL_INFO_1001 71{ 72 DWORD rp1001_pulse; 73} REPL_INFO_1001,*PREPL_INFO_1001,*LPREPL_INFO_1001; 74 75typedef struct _REPL_INFO_1002 76{ 77 DWORD rp1002_guardtime; 78} REPL_INFO_1002,*PREPL_INFO_1002,*LPREPL_INFO_1002; 79 80typedef struct _REPL_INFO_1003 81{ 82 DWORD rp1003_random; 83} REPL_INFO_1003,*PREPL_INFO_1003,*LPREPL_INFO_1003; 84 85NET_API_STATUS 86NET_API_FUNCTION 87NetReplGetInfo( 88 _In_ LPCWSTR servername OPTIONAL, 89 _In_ DWORD level, 90 _Out_ LPBYTE* bufptr); 91 92NET_API_STATUS 93WINAPI 94NetReplSetInfo( 95 _In_opt_ LPCWSTR servername, 96 _In_ DWORD level, 97 _In_ const LPBYTE buf, 98 _Out_opt_ LPDWORD parm_err); 99 100typedef struct _REPL_EDIR_INFO_0 101{ 102 LPWSTR rped0_dirname; 103} REPL_EDIR_INFO_0, * PREPL_EDIR_INFO_0, * LPREPL_EDIR_INFO_0; 104 105typedef struct _REPL_EDIR_INFO_1 106{ 107 LPWSTR rped1_dirname; 108 DWORD rped1_integrity; 109 DWORD rped1_extent; 110} REPL_EDIR_INFO_1, * PREPL_EDIR_INFO_1, * LPREPL_EDIR_INFO_1; 111 112typedef struct _REPL_EDIR_INFO_2 113{ 114 LPWSTR rped2_dirname; 115 DWORD rped2_integrity; 116 DWORD rped2_extent; 117 DWORD rped2_lockcount; 118 DWORD rped2_locktime; 119} REPL_EDIR_INFO_2, * PREPL_EDIR_INFO_2, * LPREPL_EDIR_INFO_2; 120 121typedef struct _REPL_EDIR_INFO_1000 122{ 123 DWORD rped1000_integrity; 124} REPL_EDIR_INFO_1000, * PREPL_EDIR_INFO_1000, * LPREPL_EDIR_INFO_1000; 125 126typedef struct _REPL_EDIR_INFO_1001 127{ 128 DWORD rped1001_extent; 129} REPL_EDIR_INFO_1001, * PREPL_EDIR_INFO_1001, * LPREPL_EDIR_INFO_1001; 130 131typedef struct _REPL_IDIR_INFO_0 132{ 133 LPWSTR rpid0_dirname; 134} REPL_IDIR_INFO_0, * PREPL_IDIR_INFO_0, * LPREPL_IDIR_INFO_0; 135 136typedef struct _REPL_IDIR_INFO_1 137{ 138 LPWSTR rpid1_dirname; 139 DWORD rpid1_state; 140 LPWSTR rpid1_mastername; 141 DWORD rpid1_last_update_time; 142 DWORD rpid1_lockcount; 143 DWORD rpid1_locktime; 144} REPL_IDIR_INFO_1, * PREPL_IDIR_INFO_1, * LPREPL_IDIR_INFO_1; 145 146NET_API_STATUS 147NET_API_FUNCTION 148NetReplExportDirAdd( 149 _In_opt_ LPCWSTR servername, 150 _In_ DWORD level, 151 _In_ const LPBYTE buf, 152 _Out_opt_ LPDWORD parm_err); 153 154NET_API_STATUS 155NET_API_FUNCTION 156NetReplExportDirDel( 157 _In_opt_ LPCWSTR servername, 158 _In_ LPCWSTR dirname); 159 160NET_API_STATUS 161NET_API_FUNCTION 162NetReplExportDirEnum( 163 _In_opt_ LPCWSTR servername, 164 _In_ DWORD level, 165 _Out_ LPBYTE* bufptr, 166 _In_ DWORD prefmaxlen, 167 _Out_ LPDWORD entriesread, 168 _Out_ LPDWORD totalentries, 169 _Inout_opt_ LPDWORD resumehandle); 170 171NET_API_STATUS 172NET_API_FUNCTION 173NetReplExportDirGetInfo( 174 _In_opt_ LPCWSTR servername, 175 _In_ LPCWSTR dirname, 176 _In_ DWORD level, 177 _Out_ LPBYTE* bufptr); 178 179NET_API_STATUS 180NET_API_FUNCTION 181NetReplExportDirSetInfo( 182 _In_opt_ LPCWSTR servername, 183 _In_ LPCWSTR dirname, 184 _In_ DWORD level, 185 _In_ const LPBYTE buf, 186 _Out_opt_ LPDWORD parm_err); 187 188NET_API_STATUS 189NET_API_FUNCTION 190NetReplExportDirLock( 191 _In_opt_ LPCWSTR servername, 192 _In_ LPCWSTR dirname); 193 194NET_API_STATUS 195NET_API_FUNCTION 196NetReplExportDirUnlock( 197 _In_opt_ LPCWSTR servername, 198 _In_ LPCWSTR dirname, 199 _In_ DWORD unlockforce); 200 201NET_API_STATUS 202NET_API_FUNCTION 203NetReplImportDirAdd( 204 _In_opt_ LPCWSTR servername, 205 _In_ DWORD level, 206 _In_ const LPBYTE buf, 207 _Out_opt_ LPDWORD parm_err); 208 209NET_API_STATUS 210NET_API_FUNCTION 211NetReplImportDirDel( 212 _In_opt_ LPCWSTR servername, 213 _In_ LPCWSTR dirname); 214 215NET_API_STATUS 216NET_API_FUNCTION 217NetReplImportDirEnum( 218 _In_opt_ LPCWSTR servername, 219 _In_ DWORD level, 220 _Out_ LPBYTE* bufptr, 221 _In_ DWORD prefmaxlen, 222 _Out_ LPDWORD entriesread, 223 _Out_ LPDWORD totalentries, 224 _Inout_opt_ LPDWORD resumehandle); 225 226NET_API_STATUS 227NET_API_FUNCTION 228NetReplImportDirGetInfo( 229 _In_opt_ LPCWSTR servername, 230 _In_ LPCWSTR dirname, 231 _In_ DWORD level, 232 _Out_ LPBYTE* bufptr); 233 234NET_API_STATUS 235NET_API_FUNCTION 236NetReplImportDirLock( 237 _In_opt_ LPCWSTR servername, 238 _In_ LPCWSTR dirname); 239 240NET_API_STATUS 241NET_API_FUNCTION 242NetReplImportDirUnlock( 243 _In_opt_ LPCWSTR servername, 244 _In_ LPCWSTR dirname, 245 _In_ DWORD unlockforce); 246 247#ifdef __cplusplus 248} 249#endif