Home | History | Annotate | Download | only in include
      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