Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

159 lines
4.0 KiB

  1. /*++
  2. 1998 Seagate Software, Inc. All rights reserved.
  3. Module Name:
  4. Mover.h
  5. Abstract:
  6. Data Mover defines
  7. Author:
  8. Brian Dodd [brian] 01-Apr-1997
  9. Revision History:
  10. --*/
  11. #ifndef _MVR_
  12. #define _MVR_
  13. // Are we defining imports or exports?
  14. #ifdef MVRDLL
  15. #define MVRAPI __declspec(dllexport)
  16. #else
  17. #define MVRAPI __declspec(dllimport)
  18. #endif
  19. #include "Wsb.h"
  20. #include "Rms.h"
  21. #include "MvrLib.h"
  22. ////////////////////////////////////////////////////////////////////////////////////////
  23. //
  24. // Mvr enumerations
  25. //
  26. /*++
  27. Enumeration Name:
  28. Description:
  29. --*/
  30. ////////////////////////////////////////////////////////////////////////////////////////
  31. //
  32. // MVR defines
  33. //
  34. // Session options
  35. #define MVR_SESSION_APPEND_TO_DATA_SET 0x000000001
  36. #define MVR_SESSION_OVERWRITE_DATA_SET 0x000000002
  37. #define MVR_SESSION_AS_LAST_DATA_SET 0x000000004
  38. #define MVR_SESSION_TYPE_TRANSFER 0x000000010
  39. #define MVR_SESSION_TYPE_COPY 0x000000020
  40. #define MVR_SESSION_TYPE_NORMAL 0x000000040
  41. #define MVR_SESSION_TYPE_DIFFERENTIAL 0x000000080
  42. #define MVR_SESSION_TYPE_INCREMENTAL 0x000000100
  43. #define MVR_SESSION_TYPE_DAILY 0x000000200
  44. #define MVR_SESSION_METADATA 0x000001000
  45. // The following is used to select only
  46. // session type from the session options
  47. #define MVR_SESSION_TYPES (MVR_SESSION_TYPE_TRANSFER | \
  48. MVR_SESSION_TYPE_COPY | \
  49. MVR_SESSION_TYPE_NORMAL | \
  50. MVR_SESSION_TYPE_DIFFERENTIAL | \
  51. MVR_SESSION_TYPE_INCREMENTAL | \
  52. MVR_SESSION_TYPE_DAILY)
  53. // Stream modes / StoreData flags
  54. #define MVR_MODE_READ 0x000000001
  55. #define MVR_MODE_WRITE 0x000000002
  56. #define MVR_MODE_APPEND 0x000000004
  57. #define MVR_MODE_RECOVER 0x000000008
  58. #define MVR_MODE_FORMATTED 0x000000010
  59. #define MVR_MODE_UNFORMATTED 0x000000020
  60. #define MVR_FLAG_BACKUP_SEMANTICS 0x000000100
  61. #define MVR_FLAG_HSM_SEMANTICS 0x000000200
  62. #define MVR_FLAG_POSIX_SEMANTICS 0x000000400
  63. #define MVR_FLAG_WRITE_PARENT_DIR_INFO 0x000000800
  64. #define MVR_FLAG_COMMIT_FILE 0x000001000
  65. #define MVR_FLAG_NO_CACHING 0x000002000
  66. #define MVR_FLAG_SAFE_STORAGE 0x000004000
  67. // Verification types
  68. #define MVR_VERIFICATION_TYPE_NONE 0x000000000
  69. #define MVR_VERIFICATION_TYPE_HEADER_CRC 0x000000001
  70. #define MVR_VERIFICATION_TYPE_DATA_CRC 0x000000002
  71. #define MVR_VERIFICATION_TYPE_HEADER_CRC32 0x000000004
  72. #define MVR_VERIFICATION_TYPE_DATA_CRC32 0x000000008
  73. // Duplication options
  74. #define MVR_DUPLICATE_UPDATE 0x000000001
  75. #define MVR_DUPLICATE_REFRESH 0x000000002
  76. // Misc defines
  77. #define MVR_UNDEFINED_STRING OLESTR("Uninitialized String")
  78. #define MVR_NULL_STRING OLESTR("")
  79. #define MVR_RSDATA_PATH OLESTR("RSData\\")
  80. #define MVR_LABEL_FILENAME OLESTR("MediaLabel")
  81. #define MVR_DATASET_FILETYPE OLESTR(".bkf")
  82. #define MVR_RECOVERY_FILETYPE OLESTR(".$")
  83. #define MVR_SAFE_STORAGE_FILETYPE OLESTR(".bak")
  84. #define MVR_VOLUME_LABEL OLESTR("RSS")
  85. /*++
  86. Structure Name:
  87. MVR_HINTS
  88. Description:
  89. Structure used to specify a locate of file and unamed data in remote storage.
  90. --*/
  91. typedef struct _MVR_REMOTESTORAGE_HINTS {
  92. ULARGE_INTEGER DataSetStart;
  93. ULARGE_INTEGER FileStart;
  94. ULARGE_INTEGER FileSize;
  95. ULARGE_INTEGER DataStart;
  96. ULARGE_INTEGER DataSize;
  97. DWORD VerificationType;
  98. ULARGE_INTEGER VerificationData;
  99. DWORD DatastreamCRCType;
  100. ULARGE_INTEGER DatastreamCRC;
  101. ULARGE_INTEGER FileUSN;
  102. } MVR_REMOTESTORAGE_HINTS, *LP_MVR_REMOTESTORAGE_HINTS;
  103. #endif // _MVR_