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.

187 lines
3.5 KiB

  1. //+----------------------------------------------------------------------------
  2. //
  3. // Copyright (C) 1997, Microsoft Corporation
  4. //
  5. // File: ftsup.hxx
  6. //
  7. // Contents: ftsup.c prototypes, etc
  8. //
  9. // Classes: CSites
  10. //
  11. // Functions:
  12. //
  13. // History: Dec 7, 1998 JHarper created
  14. //
  15. //-----------------------------------------------------------------------------
  16. #ifndef _FTSUP_HXX
  17. #define _FTSUP_HXX
  18. typedef struct _DFS_VOLUME {
  19. LPWSTR wszObjectName;
  20. GUID idVolume;
  21. LPWSTR wszPrefix;
  22. LPWSTR wszShortPrefix;
  23. ULONG dwType;
  24. ULONG dwState;
  25. LPWSTR wszComment;
  26. ULONG dwTimeout;
  27. FILETIME ftPrefix;
  28. FILETIME ftState;
  29. FILETIME ftComment;
  30. ULONG dwVersion;
  31. FILETIME *FtModification;
  32. ULONG ReplCount;
  33. ULONG AllocatedReplCount;
  34. DFS_REPLICA_INFO *ReplicaInfo;
  35. FILETIME *DelFtModification;
  36. ULONG DelReplCount;
  37. ULONG AllocatedDelReplCount;
  38. DFS_REPLICA_INFO *DelReplicaInfo;
  39. ULONG cbRecovery;
  40. PBYTE pRecovery;
  41. } DFS_VOLUME, *PDFS_VOLUME;
  42. typedef struct _DFS_VOLUME_LIST {
  43. ULONG Version;
  44. ULONG VolCount;
  45. ULONG AllocatedVolCount;
  46. DFS_VOLUME *Volumes;
  47. GUID SiteGuid;
  48. ULONG SiteCount;
  49. LIST_ENTRY SiteList;
  50. } DFS_VOLUME_LIST, *PDFS_VOLUME_LIST;
  51. DWORD
  52. DfsGetDsBlob(
  53. LPWSTR wszFtDfsName,
  54. LPWSTR wszDcName,
  55. ULONG *pcbBlob,
  56. BYTE **ppBlob);
  57. DWORD
  58. DfsPutDsBlob(
  59. LPWSTR wszFtDfsName,
  60. LPWSTR wszDcName,
  61. ULONG cbBlob,
  62. BYTE *pBlob);
  63. DWORD
  64. DfsGetVolList(
  65. ULONG cbBlob,
  66. BYTE *pBlob,
  67. PDFS_VOLUME_LIST pDfsVolList);
  68. DWORD
  69. DfsPutVolList(
  70. ULONG *pcbBlob,
  71. BYTE **ppBlob,
  72. PDFS_VOLUME_LIST pDfsVolList);
  73. VOID
  74. DfsFreeVolList(
  75. PDFS_VOLUME_LIST pDfsVolList);
  76. VOID
  77. DfsFreeVol(
  78. PDFS_VOLUME pVol);
  79. VOID
  80. DfsFreeRepl(
  81. PDFS_REPLICA_INFO pRepl);
  82. DWORD
  83. DfsRecoverVolList(
  84. PDFS_VOLUME_LIST pDfsVolList);
  85. DWORD
  86. DfsVolDelete(
  87. PDFS_VOLUME_LIST pDfsVolList,
  88. ULONG iVol);
  89. DWORD
  90. DfsReplDeleteByIndex(
  91. PDFS_VOLUME pVol,
  92. ULONG iRepl);
  93. DWORD
  94. DfsReplDeleteByName(
  95. PDFS_VOLUME pVol,
  96. LPWSTR pwszServerName,
  97. LPWSTR pwszShareName);
  98. DWORD
  99. DfsDelReplDelete(
  100. PDFS_VOLUME pVol,
  101. ULONG iDelRepl);
  102. DWORD
  103. SerializeReplicaList(
  104. ULONG ReplCount,
  105. DFS_REPLICA_INFO *pReplicaInfo,
  106. FILETIME *pFtModification,
  107. ULONG DelReplCount,
  108. DFS_REPLICA_INFO *pDelReplicaInfo,
  109. FILETIME *pDelFtModification,
  110. ULONG *cBuffer,
  111. PBYTE *ppBuffer);
  112. DWORD
  113. UnSerializeReplicaList(
  114. ULONG *pReplCount,
  115. ULONG *pAllocatedReplCount,
  116. DFS_REPLICA_INFO **ppReplicaInfo,
  117. FILETIME **ppFtModification,
  118. BYTE **ppBuffer);
  119. DWORD
  120. SerializeReplica(
  121. DFS_REPLICA_INFO *pDfsReplicaInfo,
  122. FILETIME *pFtModfication,
  123. PBYTE buffer,
  124. ULONG size);
  125. ULONG
  126. GetReplicaMarshalSize(
  127. DFS_REPLICA_INFO *pDfsReplicaInfo,
  128. FILETIME *pFtModfication);
  129. VOID
  130. FreeLdapPkt(
  131. LDAP_PKT *pldapPkt);
  132. VOID
  133. DfsDumpVolList(
  134. PDFS_VOLUME_LIST pDfsVolList);
  135. DWORD
  136. DfsGetSiteTable(
  137. PDFS_VOLUME_LIST VolList,
  138. PLDAP_OBJECT LdapObject);
  139. DWORD
  140. DfsGetVolume(
  141. PDFS_VOLUME pVolList,
  142. PLDAP_OBJECT LdapObject);
  143. DWORD
  144. DfsRemoveRootReplica(
  145. PDFS_VOLUME_LIST pDfsVolList,
  146. LPWSTR RootName);
  147. DWORD
  148. GetNetStorageInfo(
  149. PDFS_REPLICA_INFO pRepl,
  150. LPDFS_STORAGE_INFO pInfo,
  151. LPDWORD pcbInfo);
  152. DWORD
  153. GetNetInfoEx(
  154. PDFS_VOLUME pDfsVol,
  155. DWORD Level,
  156. LPDFS_INFO_3 pInfo,
  157. LPDWORD pcbInfo);
  158. #endif _FTSUP_HXX