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.

339 lines
6.1 KiB

  1. //+----------------------------------------------------------------------------
  2. //
  3. // Copyright (C) 1992, Microsoft Corporation.
  4. //
  5. // File: LOCALVOL.H
  6. //
  7. // Contents: This module provides the prototypes and structures for
  8. // the routines associated with managing local volumes.
  9. //
  10. // Functions:
  11. //
  12. //-----------------------------------------------------------------------------
  13. #ifndef _LOCALVOL_
  14. #define _LOCALVOL_
  15. NTSTATUS
  16. DfsFsctrlInitLocalPartitions(
  17. IN PIRP Irp,
  18. IN PVOID InputBuffer,
  19. IN ULONG InputBufferLength,
  20. IN PVOID OutputBuffer,
  21. IN ULONG OutputBufferLength
  22. );
  23. NTSTATUS
  24. BuildLocalVolPath(
  25. OUT PUNICODE_STRING pFullName,
  26. IN PDFS_SERVICE pService,
  27. IN PUNICODE_STRING pRemPath
  28. );
  29. NTSTATUS
  30. DfsFsctrlGetLocalVolumeEntry(
  31. IN PIRP Irp,
  32. IN PVOID InputBuffer,
  33. IN ULONG InputBufferLength,
  34. IN PVOID OutputBuffer,
  35. IN ULONG OutputBufferLength
  36. );
  37. NTSTATUS
  38. DfsFsctrlGetEntryType(
  39. IN PIRP Irp,
  40. IN PVOID InputBuffer,
  41. IN ULONG InputBufferLength,
  42. IN PVOID OutputBuffer,
  43. IN ULONG OutputBufferLength
  44. );
  45. NTSTATUS
  46. DfsFsctrlGetAllPktEntries(
  47. IN PIRP Irp,
  48. IN PVOID OutputBuffer,
  49. IN ULONG OutputBufferLength);
  50. NTSTATUS
  51. DfsFsctrlGetChildVolumes(
  52. IN PIRP Irp,
  53. IN PVOID InputBuffer,
  54. IN ULONG InputBufferLength,
  55. IN PVOID OutputBuffer,
  56. IN ULONG OutputBufferLength
  57. );
  58. NTSTATUS
  59. DfsFsctrlSetServiceState(
  60. IN PIRP Irp,
  61. IN PVOID InputBuffer,
  62. IN ULONG InputBufferLength
  63. );
  64. NTSTATUS
  65. DfsFsctrlCreateLocalPartition(
  66. IN PIRP Irp,
  67. IN PVOID InputBuffer,
  68. IN ULONG InputBufferLength
  69. );
  70. NTSTATUS
  71. DfsFsctrlDeleteLocalPartition(
  72. IN PIRP Irp,
  73. IN PVOID InputBuffer,
  74. IN ULONG InputBufferLength
  75. );
  76. NTSTATUS
  77. DfsFsctrlSetVolumeState(
  78. IN PIRP Irp,
  79. IN PVOID InputBuffer,
  80. IN ULONG InputBufferLength
  81. );
  82. NTSTATUS
  83. DfsFsctrlDCSetVolumeState(
  84. IN PIRP Irp,
  85. IN PVOID InputBuffer,
  86. IN ULONG InputBufferLength
  87. );
  88. NTSTATUS
  89. DfsFsctrlSetVolumeTimeout(
  90. IN PIRP Irp,
  91. IN PVOID InputBuffer,
  92. IN ULONG InputBufferLength
  93. );
  94. NTSTATUS
  95. DfsFsctrlCreateExitPoint(
  96. IN PIRP Irp,
  97. IN PVOID InputBuffer,
  98. IN ULONG InputBufferLength,
  99. OUT PVOID OutputBuffer,
  100. IN ULONG OutputBufferLength
  101. );
  102. NTSTATUS
  103. DfsFsctrlDeleteExitPoint(
  104. IN PIRP Irp,
  105. IN PVOID InputBuffer,
  106. IN ULONG InputBufferLength
  107. );
  108. NTSTATUS
  109. DfsFsctrlModifyLocalVolPrefix(
  110. IN PIRP Irp,
  111. IN PVOID InputBuffer,
  112. IN ULONG InputBufferLength
  113. );
  114. NTSTATUS
  115. DfsFsctrlGetServerInfo(
  116. IN PIRP Irp,
  117. IN PVOID InputBuffer,
  118. IN ULONG InputBufferLength,
  119. IN PVOID OutputBuffer,
  120. IN ULONG OutputBufferLength
  121. );
  122. NTSTATUS
  123. DfsFsctrlCheckStgIdInUse(
  124. IN PIRP Irp,
  125. IN PVOID InputBuffer,
  126. IN ULONG InputBufferLength,
  127. IN PVOID OutputBuffer,
  128. IN ULONG OutputBufferLength
  129. );
  130. NTSTATUS
  131. PktFsctrlVerifyLocalVolumeKnowledge(
  132. IN PIRP Irp,
  133. IN PVOID InputBuffer,
  134. IN ULONG InputBufferLength
  135. );
  136. NTSTATUS
  137. PktFsctrlPruneLocalVolume(
  138. IN PIRP Irp,
  139. IN PVOID InputBuffer,
  140. IN ULONG InputBufferLength
  141. );
  142. NTSTATUS
  143. PktFsctrlIsChildnameLegal(
  144. IN PIRP Irp,
  145. IN PVOID InputBuffer,
  146. IN ULONG InputBufferLength
  147. );
  148. NTSTATUS
  149. PktFsctrlCreateEntry(
  150. IN PIRP Irp,
  151. IN PVOID InputBuffer,
  152. IN ULONG InputBufferLength
  153. );
  154. NTSTATUS
  155. PktFsctrlCreateSubordinateEntry(
  156. IN PIRP Irp,
  157. IN PVOID InputBuffer,
  158. IN ULONG InputBufferLength
  159. );
  160. NTSTATUS
  161. PktFsctrlDestroyEntry(
  162. IN PIRP Irp,
  163. IN PVOID InputBuffer,
  164. IN ULONG InputBufferLength
  165. );
  166. NTSTATUS
  167. PktFsctrlSetServerInfo(
  168. IN PIRP Irp,
  169. IN PVOID InputBuffer,
  170. IN ULONG InputBufferLength
  171. );
  172. NTSTATUS
  173. DfsRegModifyLocalVolume(
  174. IN PDFS_PKT_ENTRY Entry,
  175. IN PUNICODE_STRING oldPrefix
  176. );
  177. NTSTATUS
  178. DfsInternalCreateLocalPartition(
  179. IN PUNICODE_STRING StgId,
  180. IN BOOLEAN CreateStorage,
  181. IN OUT PDFS_LOCAL_VOLUME_CONFIG pInfo
  182. );
  183. NTSTATUS
  184. DfsInternalDeleteLocalVolume(
  185. IN PDFS_PKT_ENTRY_ID entryId
  186. );
  187. NTSTATUS
  188. DfsInternalDeleteExitPoint(
  189. IN PDFS_PKT_ENTRY_ID entryId,
  190. IN ULONG Type
  191. );
  192. NTSTATUS
  193. DfsDeleteExitPath(
  194. PDFS_SERVICE pService,
  195. PUNICODE_STRING pRemPath
  196. );
  197. VOID
  198. DfsAgePktEntries(
  199. // IN PDFS_TIMER_CONTEXT DfsTimerContext
  200. IN PVOID DfsTimerContext
  201. );
  202. NTSTATUS
  203. PktFsctrlSetRelationInfo(
  204. IN PIRP Irp,
  205. IN PVOID InputBuffer,
  206. IN ULONG InputBufferLength
  207. );
  208. NTSTATUS
  209. PktFsctrlGetRelationInfo(
  210. IN PIRP Irp,
  211. IN PVOID InputBuffer,
  212. IN ULONG InputBufferLength,
  213. IN PVOID OutputBuffer,
  214. IN ULONG OutputBufferLength
  215. );
  216. NTSTATUS
  217. DfsGetPrincipalName(
  218. OUT PUNICODE_STRING PrincipalName
  219. );
  220. NTSTATUS
  221. DfsInternalCreateExitPoint(
  222. IN PDFS_PKT_ENTRY_ID peid,
  223. IN ULONG Type,
  224. IN ULONG Disposition,
  225. OUT PUNICODE_STRING ShortPrefix
  226. );
  227. NTSTATUS
  228. DfsInternalDeleteExitPoint(
  229. IN PDFS_PKT_ENTRY_ID ExitPtId,
  230. IN ULONG Type
  231. );
  232. NTSTATUS
  233. DfsInternalModifyPrefix(
  234. IN PDFS_PKT_ENTRY_ID peid
  235. );
  236. BOOLEAN
  237. DfsStorageIdLegal(
  238. PUNICODE_STRING StorageId
  239. );
  240. BOOLEAN
  241. DfsExitPtLegal(
  242. IN PDFS_PKT Pkt,
  243. IN PDFS_PKT_ENTRY localEntry,
  244. IN PUNICODE_STRING Remaining
  245. );
  246. BOOLEAN
  247. DfsFileOnExitPath(
  248. PDFS_PKT Pkt,
  249. PUNICODE_STRING StorageId
  250. );
  251. NTSTATUS
  252. DfspTakeVolumeOffline(
  253. IN PDFS_PKT pkt,
  254. IN PDFS_PKT_ENTRY pktEntry
  255. );
  256. NTSTATUS
  257. PktpFixupRelationInfo(
  258. IN PDFS_PKT_RELATION_INFO Local,
  259. IN PDFS_PKT_RELATION_INFO Remote);
  260. #if DBG
  261. NTSTATUS
  262. PktFsctrlFlushCache(
  263. IN PIRP Irp,
  264. IN PVOID InputBuffer,
  265. IN ULONG InputBufferLength
  266. );
  267. NTSTATUS
  268. PktFsctrlShufflePktEntry(
  269. IN PIRP Irp,
  270. IN PVOID InputBuffer,
  271. IN ULONG InputBufferLength);
  272. NTSTATUS
  273. PktFsctrlGetFirstSvc(
  274. IN PIRP Irp,
  275. IN PVOID InputBuffer,
  276. IN ULONG InputBufferLength,
  277. OUT PVOID OutputBuffer,
  278. OUT ULONG OutputBufferLength);
  279. NTSTATUS
  280. PktFsctrlGetNextSvc(
  281. IN PIRP Irp,
  282. IN PVOID InputBuffer,
  283. IN ULONG InputBufferLength,
  284. OUT PVOID OutputBuffer,
  285. OUT ULONG OutputBufferLength);
  286. #endif // DBG
  287. #endif // _LOCALVOL_