1
|
1 /***********************************************************************\
|
|
2 * lmrepl.d *
|
|
3 * *
|
|
4 * Windows API header module *
|
|
5 * *
|
|
6 * Translated from MinGW Windows headers *
|
|
7 * *
|
|
8 * Placed into public domain *
|
|
9 \***********************************************************************/
|
|
10 module win32.lmrepl;
|
|
11 pragma(lib, "netapi32.lib");
|
|
12
|
|
13 private import win32.lmcons, win32.windef;
|
|
14
|
|
15 const REPL_ROLE_EXPORT=1;
|
|
16 const REPL_ROLE_IMPORT=2;
|
|
17 const REPL_ROLE_BOTH=3;
|
|
18
|
|
19 const REPL_INTERVAL_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+0;
|
|
20 const REPL_PULSE_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+1;
|
|
21 const REPL_GUARDTIME_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+2;
|
|
22 const REPL_RANDOM_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+3;
|
|
23
|
|
24 const REPL_UNLOCK_NOFORCE=0;
|
|
25 const REPL_UNLOCK_FORCE=1;
|
|
26 const REPL_STATE_OK=0;
|
|
27 const REPL_STATE_NO_MASTER=1;
|
|
28 const REPL_STATE_NO_SYNC=2;
|
|
29 const REPL_STATE_NEVER_REPLICATED=3;
|
|
30 const REPL_INTEGRITY_FILE=1;
|
|
31 const REPL_INTEGRITY_TREE=2;
|
|
32 const REPL_EXTENT_FILE=1;
|
|
33 const REPL_EXTENT_TREE=2;
|
|
34
|
|
35 const REPL_EXPORT_INTEGRITY_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+0;
|
|
36 const REPL_EXPORT_EXTENT_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+1;
|
|
37
|
|
38 struct REPL_INFO_0 {
|
|
39 DWORD rp0_role;
|
|
40 LPWSTR rp0_exportpath;
|
|
41 LPWSTR rp0_exportlist;
|
|
42 LPWSTR rp0_importpath;
|
|
43 LPWSTR rp0_importlist;
|
|
44 LPWSTR rp0_logonusername;
|
|
45 DWORD rp0_interval;
|
|
46 DWORD rp0_pulse;
|
|
47 DWORD rp0_guardtime;
|
|
48 DWORD rp0_random;
|
|
49 }
|
|
50 alias REPL_INFO_0* PREPL_INFO_0, LPREPL_INFO_0;
|
|
51
|
|
52 struct REPL_INFO_1000 {
|
|
53 DWORD rp1000_interval;
|
|
54 }
|
|
55 alias REPL_INFO_1000* PREPL_INFO_1000, LPREPL_INFO_1000;
|
|
56
|
|
57 struct REPL_INFO_1001 {
|
|
58 DWORD rp1001_pulse;
|
|
59 }
|
|
60 alias REPL_INFO_1001* PREPL_INFO_1001, LPREPL_INFO_1001;
|
|
61
|
|
62 struct REPL_INFO_1002 {
|
|
63 DWORD rp1002_guardtime;
|
|
64 }
|
|
65 alias REPL_INFO_1002* PREPL_INFO_1002, LPREPL_INFO_1002;
|
|
66
|
|
67 struct REPL_INFO_1003 {
|
|
68 DWORD rp1003_random;
|
|
69 }
|
|
70 alias REPL_INFO_1003* PREPL_INFO_1003, LPREPL_INFO_1003;
|
|
71
|
|
72 struct REPL_EDIR_INFO_0 {
|
|
73 LPWSTR rped0_dirname;
|
|
74 }
|
|
75 alias REPL_EDIR_INFO_0* PREPL_EDIR_INFO_0, LPREPL_EDIR_INFO_0;
|
|
76
|
|
77 struct REPL_EDIR_INFO_1 {
|
|
78 LPWSTR rped1_dirname;
|
|
79 DWORD rped1_integrity;
|
|
80 DWORD rped1_extent;
|
|
81 }
|
|
82 alias REPL_EDIR_INFO_1* PREPL_EDIR_INFO_1, LPREPL_EDIR_INFO_1;
|
|
83
|
|
84 struct REPL_EDIR_INFO_2 {
|
|
85 LPWSTR rped2_dirname;
|
|
86 DWORD rped2_integrity;
|
|
87 DWORD rped2_extent;
|
|
88 DWORD rped2_lockcount;
|
|
89 DWORD rped2_locktime;
|
|
90 }
|
|
91 alias REPL_EDIR_INFO_2* PREPL_EDIR_INFO_2, LPREPL_EDIR_INFO_2;
|
|
92
|
|
93 struct REPL_EDIR_INFO_1000 {
|
|
94 DWORD rped1000_integrity;
|
|
95 }
|
|
96 alias REPL_EDIR_INFO_1000* PREPL_EDIR_INFO_1000, LPREPL_EDIR_INFO_1000;
|
|
97
|
|
98 struct REPL_EDIR_INFO_1001 {
|
|
99 DWORD rped1001_extent;
|
|
100 }
|
|
101 alias REPL_EDIR_INFO_1001* PREPL_EDIR_INFO_1001, LPREPL_EDIR_INFO_1001;
|
|
102
|
|
103 struct REPL_IDIR_INFO_0 {
|
|
104 LPWSTR rpid0_dirname;
|
|
105 }
|
|
106 alias REPL_IDIR_INFO_0* PREPL_IDIR_INFO_0, LPREPL_IDIR_INFO_0;
|
|
107
|
|
108 struct REPL_IDIR_INFO_1 {
|
|
109 LPWSTR rpid1_dirname;
|
|
110 DWORD rpid1_state;
|
|
111 LPWSTR rpid1_mastername;
|
|
112 DWORD rpid1_last_update_time;
|
|
113 DWORD rpid1_lockcount;
|
|
114 DWORD rpid1_locktime;
|
|
115 }
|
|
116 alias REPL_IDIR_INFO_1* PREPL_IDIR_INFO_1, LPREPL_IDIR_INFO_1;
|
|
117
|
|
118 extern (Windows) {
|
|
119 NET_API_STATUS NetReplGetInfo(LPCWSTR,DWORD,PBYTE*);
|
|
120 NET_API_STATUS NetReplSetInfo(LPCWSTR,DWORD,PBYTE,PDWORD);
|
|
121 NET_API_STATUS NetReplExportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
|
|
122 NET_API_STATUS NetReplExportDirDel(LPCWSTR,LPCWSTR);
|
|
123 NET_API_STATUS NetReplExportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
|
|
124 NET_API_STATUS NetReplExportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
|
|
125 NET_API_STATUS NetReplExportDirSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
|
|
126 NET_API_STATUS NetReplExportDirLock(LPCWSTR,LPCWSTR);
|
|
127 NET_API_STATUS NetReplExportDirUnlock(LPCWSTR,LPCWSTR,DWORD);
|
|
128 NET_API_STATUS NetReplImportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
|
|
129 NET_API_STATUS NetReplImportDirDel(LPCWSTR,LPCWSTR);
|
|
130 NET_API_STATUS NetReplImportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
|
|
131 NET_API_STATUS NetReplImportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
|
|
132 NET_API_STATUS NetReplImportDirLock(LPCWSTR,LPCWSTR);
|
|
133 NET_API_STATUS NetReplImportDirUnlock(LPCWSTR,LPCWSTR,DWORD);
|
|
134 } |