home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / lmrepl.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  7KB  |  282 lines

  1. /*++ BUILD Version: 0004    // Increment this if a change has global effects
  2.  
  3. Copyright (c) 1991-1999  Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     LmRepl.h
  8.  
  9. Abstract:
  10.  
  11.     This file contains structures, function prototypes, and definitions
  12.     for the replicator APIs.
  13.  
  14. Environment:
  15.  
  16.     User Mode - Win32
  17.     Portable to any flat, 32-bit environment.  (Uses Win32 typedefs.)
  18.     Requires ANSI C extensions: slash-slash comments, long external names.
  19.  
  20. Notes:
  21.  
  22.     You must include LmCons.h before this file.
  23.  
  24.  
  25. --*/
  26.  
  27. #ifndef _LMREPL_
  28. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  29. #define _LMREPL_
  30.  
  31. #if _MSC_VER > 1000
  32. #pragma once
  33. #endif
  34.  
  35. #ifdef __cplusplus
  36. extern "C" {
  37. #endif
  38.  
  39. //
  40. // Replicator Configuration APIs
  41. //
  42.  
  43. #define REPL_ROLE_EXPORT        1
  44. #define REPL_ROLE_IMPORT        2
  45. #define REPL_ROLE_BOTH          3
  46.  
  47.  
  48. #define REPL_INTERVAL_INFOLEVEL         (PARMNUM_BASE_INFOLEVEL + 0)
  49. #define REPL_PULSE_INFOLEVEL            (PARMNUM_BASE_INFOLEVEL + 1)
  50. #define REPL_GUARDTIME_INFOLEVEL        (PARMNUM_BASE_INFOLEVEL + 2)
  51. #define REPL_RANDOM_INFOLEVEL           (PARMNUM_BASE_INFOLEVEL + 3)
  52.  
  53.  
  54. typedef struct _REPL_INFO_0 {
  55.     DWORD          rp0_role;
  56.     LPWSTR         rp0_exportpath;
  57.     LPWSTR         rp0_exportlist;
  58.     LPWSTR         rp0_importpath;
  59.     LPWSTR         rp0_importlist;
  60.     LPWSTR         rp0_logonusername;
  61.     DWORD          rp0_interval;
  62.     DWORD          rp0_pulse;
  63.     DWORD          rp0_guardtime;
  64.     DWORD          rp0_random;
  65. } REPL_INFO_0, *PREPL_INFO_0, *LPREPL_INFO_0;
  66.  
  67. typedef struct _REPL_INFO_1000 {
  68.     DWORD          rp1000_interval;
  69. } REPL_INFO_1000, *PREPL_INFO_1000, *LPREPL_INFO_1000;
  70.  
  71. typedef struct _REPL_INFO_1001 {
  72.     DWORD          rp1001_pulse;
  73. } REPL_INFO_1001, *PREPL_INFO_1001, *LPREPL_INFO_1001;
  74.  
  75. typedef struct _REPL_INFO_1002 {
  76.     DWORD          rp1002_guardtime;
  77. } REPL_INFO_1002, *PREPL_INFO_1002, *LPREPL_INFO_1002;
  78.  
  79. typedef struct _REPL_INFO_1003 {
  80.     DWORD          rp1003_random;
  81. } REPL_INFO_1003, *PREPL_INFO_1003, *LPREPL_INFO_1003;
  82.  
  83.  
  84. NET_API_STATUS NET_API_FUNCTION
  85. NetReplGetInfo (
  86.     IN LPCWSTR servername OPTIONAL,
  87.     IN DWORD level,
  88.     OUT LPBYTE * bufptr
  89.     );
  90.  
  91. NET_API_STATUS NET_API_FUNCTION
  92. NetReplSetInfo (
  93.     IN LPCWSTR servername OPTIONAL,
  94.     IN DWORD level,
  95.     IN const LPBYTE buf,
  96.     OUT LPDWORD parm_err OPTIONAL
  97.     );
  98.  
  99.  
  100. //
  101. // Replicator Export Directory APIs
  102. //
  103.  
  104. #define REPL_INTEGRITY_FILE     1
  105. #define REPL_INTEGRITY_TREE     2
  106.  
  107.  
  108. #define REPL_EXTENT_FILE        1
  109. #define REPL_EXTENT_TREE        2
  110.  
  111.  
  112. #define REPL_EXPORT_INTEGRITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 0)
  113. #define REPL_EXPORT_EXTENT_INFOLEVEL    (PARMNUM_BASE_INFOLEVEL + 1)
  114.  
  115.  
  116. typedef struct _REPL_EDIR_INFO_0 {
  117.     LPWSTR         rped0_dirname;
  118. } REPL_EDIR_INFO_0, *PREPL_EDIR_INFO_0, *LPREPL_EDIR_INFO_0;
  119.  
  120. typedef struct _REPL_EDIR_INFO_1 {
  121.     LPWSTR         rped1_dirname;
  122.     DWORD          rped1_integrity;
  123.     DWORD          rped1_extent;
  124. } REPL_EDIR_INFO_1, *PREPL_EDIR_INFO_1, *LPREPL_EDIR_INFO_1;
  125.  
  126. typedef struct _REPL_EDIR_INFO_2 {
  127.     LPWSTR         rped2_dirname;
  128.     DWORD          rped2_integrity;
  129.     DWORD          rped2_extent;
  130.     DWORD          rped2_lockcount;
  131.     DWORD          rped2_locktime;
  132. } REPL_EDIR_INFO_2, *PREPL_EDIR_INFO_2, *LPREPL_EDIR_INFO_2;
  133.  
  134. typedef struct _REPL_EDIR_INFO_1000 {
  135.     DWORD          rped1000_integrity;
  136. } REPL_EDIR_INFO_1000, *PREPL_EDIR_INFO_1000, *LPREPL_EDIR_INFO_1000;
  137.  
  138. typedef struct _REPL_EDIR_INFO_1001 {
  139.     DWORD          rped1001_extent;
  140. } REPL_EDIR_INFO_1001, *PREPL_EDIR_INFO_1001, *LPREPL_EDIR_INFO_1001;
  141.  
  142.  
  143. NET_API_STATUS NET_API_FUNCTION
  144. NetReplExportDirAdd (
  145.     IN LPCWSTR servername OPTIONAL,
  146.     IN DWORD level,
  147.     IN const LPBYTE buf,
  148.     OUT LPDWORD parm_err OPTIONAL
  149.     );
  150.  
  151. NET_API_STATUS NET_API_FUNCTION
  152. NetReplExportDirDel (
  153.     IN LPCWSTR servername OPTIONAL,
  154.     IN LPCWSTR dirname
  155.     );
  156.  
  157. NET_API_STATUS NET_API_FUNCTION
  158. NetReplExportDirEnum (
  159.     IN LPCWSTR servername OPTIONAL,
  160.     IN DWORD level,
  161.     OUT LPBYTE * bufptr,
  162.     IN DWORD prefmaxlen,
  163.     OUT LPDWORD entriesread,
  164.     OUT LPDWORD totalentries,
  165.     IN OUT LPDWORD resumehandle OPTIONAL
  166.     );
  167.  
  168. NET_API_STATUS NET_API_FUNCTION
  169. NetReplExportDirGetInfo (
  170.     IN LPCWSTR servername OPTIONAL,
  171.     IN LPCWSTR dirname,
  172.     IN DWORD level,
  173.     OUT LPBYTE * bufptr
  174.     );
  175.  
  176. NET_API_STATUS NET_API_FUNCTION
  177. NetReplExportDirSetInfo (
  178.     IN LPCWSTR servername OPTIONAL,
  179.     IN LPCWSTR dirname,
  180.     IN DWORD level,
  181.     IN const LPBYTE buf,
  182.     OUT LPDWORD parm_err OPTIONAL
  183.     );
  184.  
  185. NET_API_STATUS NET_API_FUNCTION
  186. NetReplExportDirLock (
  187.     IN LPCWSTR servername OPTIONAL,
  188.     IN LPCWSTR dirname
  189.     );
  190.  
  191. NET_API_STATUS NET_API_FUNCTION
  192. NetReplExportDirUnlock (
  193.     IN LPCWSTR servername OPTIONAL,
  194.     IN LPCWSTR dirname,
  195.     IN DWORD unlockforce
  196.     );
  197.  
  198.  
  199. #define REPL_UNLOCK_NOFORCE     0
  200. #define REPL_UNLOCK_FORCE       1
  201.  
  202.  
  203. //
  204. // Replicator Import Directory APIs
  205. //
  206.  
  207.  
  208. typedef struct _REPL_IDIR_INFO_0 {
  209.     LPWSTR         rpid0_dirname;
  210. } REPL_IDIR_INFO_0, *PREPL_IDIR_INFO_0, *LPREPL_IDIR_INFO_0;
  211.  
  212. typedef struct _REPL_IDIR_INFO_1 {
  213.     LPWSTR         rpid1_dirname;
  214.     DWORD          rpid1_state;
  215.     LPWSTR         rpid1_mastername;
  216.     DWORD          rpid1_last_update_time;
  217.     DWORD          rpid1_lockcount;
  218.     DWORD          rpid1_locktime;
  219. } REPL_IDIR_INFO_1, *PREPL_IDIR_INFO_1, *LPREPL_IDIR_INFO_1;
  220.  
  221.  
  222. NET_API_STATUS NET_API_FUNCTION
  223. NetReplImportDirAdd (
  224.     IN LPCWSTR servername OPTIONAL,
  225.     IN DWORD level,
  226.     IN const LPBYTE buf,
  227.     OUT LPDWORD parm_err OPTIONAL
  228.     );
  229.  
  230. NET_API_STATUS NET_API_FUNCTION
  231. NetReplImportDirDel (
  232.     IN LPCWSTR servername OPTIONAL,
  233.     IN LPCWSTR dirname
  234.     );
  235.  
  236. NET_API_STATUS NET_API_FUNCTION
  237. NetReplImportDirEnum (
  238.     IN LPCWSTR servername OPTIONAL,
  239.     IN DWORD level,
  240.     OUT LPBYTE * bufptr,
  241.     IN DWORD prefmaxlen,
  242.     OUT LPDWORD entriesread,
  243.     OUT LPDWORD totalentries,
  244.     IN OUT LPDWORD resumehandle OPTIONAL
  245.     );
  246.  
  247. NET_API_STATUS NET_API_FUNCTION
  248. NetReplImportDirGetInfo (
  249.     IN LPCWSTR servername OPTIONAL,
  250.     IN LPCWSTR dirname,
  251.     IN DWORD level,
  252.     OUT LPBYTE * bufptr
  253.     );
  254.  
  255. NET_API_STATUS NET_API_FUNCTION
  256. NetReplImportDirLock (
  257.     IN LPCWSTR servername OPTIONAL,
  258.     IN LPCWSTR dirname
  259.     );
  260.  
  261.  
  262. NET_API_STATUS NET_API_FUNCTION
  263. NetReplImportDirUnlock (
  264.     IN LPCWSTR servername OPTIONAL,
  265.     IN LPCWSTR dirname,
  266.     IN DWORD unlockforce
  267.     );
  268.  
  269.  
  270. #define REPL_STATE_OK                   0
  271. #define REPL_STATE_NO_MASTER            1
  272. #define REPL_STATE_NO_SYNC              2
  273. #define REPL_STATE_NEVER_REPLICATED     3
  274.  
  275.  
  276. #ifdef __cplusplus
  277. }
  278. #endif
  279.  
  280. #pragma option pop /*P_O_Pop*/
  281. #endif //_LMREPL_
  282.