home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / WIN_NT / LMAPI.ZIP / H / LMREPL.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-04-07  |  6.2 KB  |  262 lines

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