From b7ab90d93287ffc02d4c2f2603630d9660fc367a Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 21 Apr 2019 12:59:23 +0200 Subject: [PATCH] [PSDK] Improve lmrepl.h Added public domain header. This file was originally imported in r8283 from w32api where is has no copyright. --- sdk/include/psdk/lmrepl.h | 300 +++++++++++++++++++++++++++++--------- 1 file changed, 229 insertions(+), 71 deletions(-) diff --git a/sdk/include/psdk/lmrepl.h b/sdk/include/psdk/lmrepl.h index 706ebba5964..e950f5a273f 100644 --- a/sdk/include/psdk/lmrepl.h +++ b/sdk/include/psdk/lmrepl.h @@ -1,91 +1,249 @@ -#ifndef _LMREPL_H -#define _LMREPL_H +/* + * lmrepl.h + * + * This file is part of the ReactOS PSDK package. + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#pragma once +#define _LMREPL_ #ifdef __cplusplus extern "C" { #endif + #define REPL_ROLE_EXPORT 1 #define REPL_ROLE_IMPORT 2 -#define REPL_ROLE_BOTH 3 -#define REPL_INTERVAL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0) -#define REPL_PULSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1) +#define REPL_ROLE_BOTH 3 + +#define REPL_INTERVAL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0) +#define REPL_PULSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1) #define REPL_GUARDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+2) -#define REPL_RANDOM_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+3) +#define REPL_RANDOM_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+3) + #define REPL_UNLOCK_NOFORCE 0 -#define REPL_UNLOCK_FORCE 1 +#define REPL_UNLOCK_FORCE 1 + #define REPL_STATE_OK 0 #define REPL_STATE_NO_MASTER 1 #define REPL_STATE_NO_SYNC 2 #define REPL_STATE_NEVER_REPLICATED 3 + #define REPL_INTEGRITY_FILE 1 #define REPL_INTEGRITY_TREE 2 + #define REPL_EXTENT_FILE 1 #define REPL_EXTENT_TREE 2 -#define REPL_EXPORT_INTEGRITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0) -#define REPL_EXPORT_EXTENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1) -typedef struct _REPL_INFO_0 { - DWORD rp0_role; - LPWSTR rp0_exportpath; - LPWSTR rp0_exportlist; - LPWSTR rp0_importpath; - LPWSTR rp0_importlist; - LPWSTR rp0_logonusername; - DWORD rp0_interval; - DWORD rp0_pulse; - DWORD rp0_guardtime; - DWORD rp0_random; -} REPL_INFO_0,*PREPL_INFO_0,*LPREPL_INFO_0; -typedef struct _REPL_INFO_1000 { DWORD rp1000_interval; } REPL_INFO_1000,*PREPL_INFO_1000,*LPREPL_INFO_1000; -typedef struct _REPL_INFO_1001 { DWORD rp1001_pulse; } REPL_INFO_1001,*PREPL_INFO_1001,*LPREPL_INFO_1001; -typedef struct _REPL_INFO_1002 { DWORD rp1002_guardtime; } REPL_INFO_1002,*PREPL_INFO_1002,*LPREPL_INFO_1002; -typedef struct _REPL_INFO_1003 { DWORD rp1003_random; } REPL_INFO_1003,*PREPL_INFO_1003,*LPREPL_INFO_1003; -NET_API_STATUS WINAPI NetReplGetInfo(LPCWSTR,DWORD,PBYTE*); -NET_API_STATUS WINAPI NetReplSetInfo(LPCWSTR,DWORD,const LPBYTE,PDWORD); -typedef struct _REPL_EDIR_INFO_0 { - LPWSTR rped0_dirname; -} REPL_EDIR_INFO_0,*PREPL_EDIR_INFO_0,*LPREPL_EDIR_INFO_0; -typedef struct _REPL_EDIR_INFO_1 { - LPWSTR rped1_dirname; - DWORD rped1_integrity; - DWORD rped1_extent; -} REPL_EDIR_INFO_1,*PREPL_EDIR_INFO_1,*LPREPL_EDIR_INFO_1; -typedef struct _REPL_EDIR_INFO_2 { - LPWSTR rped2_dirname; - DWORD rped2_integrity; - DWORD rped2_extent; - DWORD rped2_lockcount; - DWORD rped2_locktime; -} REPL_EDIR_INFO_2,*PREPL_EDIR_INFO_2,*LPREPL_EDIR_INFO_2; -typedef struct _REPL_EDIR_INFO_1000 { - DWORD rped1000_integrity; -} REPL_EDIR_INFO_1000,*PREPL_EDIR_INFO_1000,*LPREPL_EDIR_INFO_1000; -typedef struct _REPL_EDIR_INFO_1001 { - DWORD rped1001_extent; -} REPL_EDIR_INFO_1001,*PREPL_EDIR_INFO_1001,*LPREPL_EDIR_INFO_1001; -typedef struct _REPL_IDIR_INFO_0 { LPWSTR rpid0_dirname; } REPL_IDIR_INFO_0,*PREPL_IDIR_INFO_0,*LPREPL_IDIR_INFO_0; -typedef struct _REPL_IDIR_INFO_1 { - LPWSTR rpid1_dirname; - DWORD rpid1_state; - LPWSTR rpid1_mastername; - DWORD rpid1_last_update_time; - DWORD rpid1_lockcount; - DWORD rpid1_locktime; -} REPL_IDIR_INFO_1,*PREPL_IDIR_INFO_1,*LPREPL_IDIR_INFO_1; -NET_API_STATUS WINAPI NetReplExportDirAdd(LPCWSTR,DWORD,const LPBYTE,PDWORD); -NET_API_STATUS WINAPI NetReplExportDirDel(LPCWSTR,LPCWSTR); -NET_API_STATUS WINAPI NetReplExportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); -NET_API_STATUS WINAPI NetReplExportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); -NET_API_STATUS WINAPI NetReplExportDirSetInfo(LPCWSTR,LPCWSTR,DWORD,const LPBYTE,PDWORD); -NET_API_STATUS WINAPI NetReplExportDirLock(LPCWSTR,LPCWSTR); -NET_API_STATUS WINAPI NetReplExportDirUnlock(LPCWSTR,LPCWSTR,DWORD); -NET_API_STATUS WINAPI NetReplImportDirAdd(LPCWSTR,DWORD,const LPBYTE,PDWORD); -NET_API_STATUS WINAPI NetReplImportDirDel(LPCWSTR,LPCWSTR); -NET_API_STATUS WINAPI NetReplImportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); -NET_API_STATUS WINAPI NetReplImportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); -NET_API_STATUS WINAPI NetReplImportDirLock(LPCWSTR,LPCWSTR); -NET_API_STATUS WINAPI NetReplImportDirUnlock(LPCWSTR,LPCWSTR,DWORD); +#define REPL_EXPORT_INTEGRITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0) +#define REPL_EXPORT_EXTENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1) + +typedef struct _REPL_INFO_0 +{ + DWORD rp0_role; + LPWSTR rp0_exportpath; + LPWSTR rp0_exportlist; + LPWSTR rp0_importpath; + LPWSTR rp0_importlist; + LPWSTR rp0_logonusername; + DWORD rp0_interval; + DWORD rp0_pulse; + DWORD rp0_guardtime; + DWORD rp0_random; +} REPL_INFO_0, * PREPL_INFO_0, * LPREPL_INFO_0; + +typedef struct _REPL_INFO_1000 +{ + DWORD rp1000_interval; +} REPL_INFO_1000,*PREPL_INFO_1000,*LPREPL_INFO_1000; + +typedef struct _REPL_INFO_1001 +{ + DWORD rp1001_pulse; +} REPL_INFO_1001,*PREPL_INFO_1001,*LPREPL_INFO_1001; + +typedef struct _REPL_INFO_1002 +{ + DWORD rp1002_guardtime; +} REPL_INFO_1002,*PREPL_INFO_1002,*LPREPL_INFO_1002; + +typedef struct _REPL_INFO_1003 +{ + DWORD rp1003_random; +} REPL_INFO_1003,*PREPL_INFO_1003,*LPREPL_INFO_1003; + +NET_API_STATUS +NET_API_FUNCTION +NetReplGetInfo( + _In_ LPCWSTR servername OPTIONAL, + _In_ DWORD level, + _Out_ LPBYTE* bufptr); + +NET_API_STATUS +WINAPI +NetReplSetInfo( + _In_opt_ LPCWSTR servername, + _In_ DWORD level, + _In_ const LPBYTE buf, + _Out_opt_ LPDWORD parm_err); + +typedef struct _REPL_EDIR_INFO_0 +{ + LPWSTR rped0_dirname; +} REPL_EDIR_INFO_0, * PREPL_EDIR_INFO_0, * LPREPL_EDIR_INFO_0; + +typedef struct _REPL_EDIR_INFO_1 +{ + LPWSTR rped1_dirname; + DWORD rped1_integrity; + DWORD rped1_extent; +} REPL_EDIR_INFO_1, * PREPL_EDIR_INFO_1, * LPREPL_EDIR_INFO_1; + +typedef struct _REPL_EDIR_INFO_2 +{ + LPWSTR rped2_dirname; + DWORD rped2_integrity; + DWORD rped2_extent; + DWORD rped2_lockcount; + DWORD rped2_locktime; +} REPL_EDIR_INFO_2, * PREPL_EDIR_INFO_2, * LPREPL_EDIR_INFO_2; + +typedef struct _REPL_EDIR_INFO_1000 +{ + DWORD rped1000_integrity; +} REPL_EDIR_INFO_1000, * PREPL_EDIR_INFO_1000, * LPREPL_EDIR_INFO_1000; + +typedef struct _REPL_EDIR_INFO_1001 +{ + DWORD rped1001_extent; +} REPL_EDIR_INFO_1001, * PREPL_EDIR_INFO_1001, * LPREPL_EDIR_INFO_1001; + +typedef struct _REPL_IDIR_INFO_0 +{ + LPWSTR rpid0_dirname; +} REPL_IDIR_INFO_0, * PREPL_IDIR_INFO_0, * LPREPL_IDIR_INFO_0; + +typedef struct _REPL_IDIR_INFO_1 +{ + LPWSTR rpid1_dirname; + DWORD rpid1_state; + LPWSTR rpid1_mastername; + DWORD rpid1_last_update_time; + DWORD rpid1_lockcount; + DWORD rpid1_locktime; +} REPL_IDIR_INFO_1, * PREPL_IDIR_INFO_1, * LPREPL_IDIR_INFO_1; + +NET_API_STATUS +NET_API_FUNCTION +NetReplExportDirAdd( + _In_opt_ LPCWSTR servername, + _In_ DWORD level, + _In_ const LPBYTE buf, + _Out_opt_ LPDWORD parm_err); + +NET_API_STATUS +NET_API_FUNCTION +NetReplExportDirDel( + _In_opt_ LPCWSTR servername, + _In_ LPCWSTR dirname); + +NET_API_STATUS +NET_API_FUNCTION +NetReplExportDirEnum( + _In_opt_ LPCWSTR servername, + _In_ DWORD level, + _Out_ LPBYTE* bufptr, + _In_ DWORD prefmaxlen, + _Out_ LPDWORD entriesread, + _Out_ LPDWORD totalentries, + _Inout_opt_ LPDWORD resumehandle); + +NET_API_STATUS +NET_API_FUNCTION +NetReplExportDirGetInfo( + _In_opt_ LPCWSTR servername, + _In_ LPCWSTR dirname, + _In_ DWORD level, + _Out_ LPBYTE* bufptr); + +NET_API_STATUS +NET_API_FUNCTION +NetReplExportDirSetInfo( + _In_opt_ LPCWSTR servername, + _In_ LPCWSTR dirname, + _In_ DWORD level, + _In_ const LPBYTE buf, + _Out_opt_ LPDWORD parm_err); + +NET_API_STATUS +NET_API_FUNCTION +NetReplExportDirLock( + _In_opt_ LPCWSTR servername, + _In_ LPCWSTR dirname); + +NET_API_STATUS +NET_API_FUNCTION +NetReplExportDirUnlock( + _In_opt_ LPCWSTR servername, + _In_ LPCWSTR dirname, + _In_ DWORD unlockforce); + +NET_API_STATUS +NET_API_FUNCTION +NetReplImportDirAdd( + _In_opt_ LPCWSTR servername, + _In_ DWORD level, + _In_ const LPBYTE buf, + _Out_opt_ LPDWORD parm_err); + +NET_API_STATUS +NET_API_FUNCTION +NetReplImportDirDel( + _In_opt_ LPCWSTR servername, + _In_ LPCWSTR dirname); + +NET_API_STATUS +NET_API_FUNCTION +NetReplImportDirEnum( + _In_opt_ LPCWSTR servername, + _In_ DWORD level, + _Out_ LPBYTE* bufptr, + _In_ DWORD prefmaxlen, + _Out_ LPDWORD entriesread, + _Out_ LPDWORD totalentries, + _Inout_opt_ LPDWORD resumehandle); + +NET_API_STATUS +NET_API_FUNCTION +NetReplImportDirGetInfo( + _In_opt_ LPCWSTR servername, + _In_ LPCWSTR dirname, + _In_ DWORD level, + _Out_ LPBYTE* bufptr); + +NET_API_STATUS +NET_API_FUNCTION +NetReplImportDirLock( + _In_opt_ LPCWSTR servername, + _In_ LPCWSTR dirname); + +NET_API_STATUS +NET_API_FUNCTION +NetReplImportDirUnlock( + _In_opt_ LPCWSTR servername, + _In_ LPCWSTR dirname, + _In_ DWORD unlockforce); + #ifdef __cplusplus } #endif -#endif