master
  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
 10extern "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