Leaked source code of windows server 2003
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.

205 lines
4.6 KiB

  1. typedef REDIR_STATISTICS MRX_DAV_STATISTICS;
  2. typedef PREDIR_STATISTICS PMRX_DAV_STATISTICS;
  3. extern MRX_DAV_STATISTICS MRxDAVStatistics;
  4. VOID
  5. MRxDAVCreateFileInfoCache(
  6. PRX_CONTEXT RxContext,
  7. PDAV_USERMODE_CREATE_RETURNED_FILEINFO FileInfo,
  8. NTSTATUS Status
  9. );
  10. VOID
  11. MRxDAVCreateFileInfoCacheWithName(
  12. PUNICODE_STRING FileName,
  13. PMRX_NET_ROOT NetRoot,
  14. PFILE_BASIC_INFORMATION Basic,
  15. PFILE_STANDARD_INFORMATION Standard,
  16. NTSTATUS Status
  17. );
  18. VOID
  19. MRxDAVCreateBasicFileInfoCache(
  20. PRX_CONTEXT RxContext,
  21. PFILE_BASIC_INFORMATION Basic,
  22. NTSTATUS Status
  23. );
  24. VOID
  25. MRxDAVCreateBasicFileInfoCacheWithName(
  26. PUNICODE_STRING OriginalFileName,
  27. PMRX_NET_ROOT NetRoot,
  28. PFILE_BASIC_INFORMATION Basic,
  29. NTSTATUS Status
  30. );
  31. VOID
  32. MRxDAVCreateStandardFileInfoCache(
  33. PRX_CONTEXT RxContext,
  34. PFILE_STANDARD_INFORMATION Standard,
  35. NTSTATUS Status
  36. );
  37. VOID
  38. MRxDAVCreateStandardFileInfoCacheWithName(
  39. PUNICODE_STRING OriginalFileName,
  40. PMRX_NET_ROOT NetRoot,
  41. PFILE_STANDARD_INFORMATION Standard,
  42. NTSTATUS Status
  43. );
  44. VOID
  45. MRxDAVUpdateFileInfoCacheFromDelete(
  46. PRX_CONTEXT RxContext
  47. );
  48. VOID
  49. MRxDAVUpdateFileInfoCacheStatus(
  50. PRX_CONTEXT RxContext,
  51. NTSTATUS Status
  52. );
  53. VOID
  54. MRxDAVUpdateBasicFileInfoCacheStatus(
  55. PRX_CONTEXT RxContext,
  56. NTSTATUS Status
  57. );
  58. VOID
  59. MRxDAVUpdateStandardFileInfoCacheStatus(
  60. PRX_CONTEXT RxContext,
  61. NTSTATUS Status
  62. );
  63. VOID
  64. MRxDAVInvalidateFileInfoCache(
  65. PRX_CONTEXT RxContext
  66. );
  67. VOID
  68. MRxDAVInvalidateFileInfoCacheWithName(
  69. PUNICODE_STRING OriginalFileName,
  70. PMRX_NET_ROOT NetRoot
  71. );
  72. VOID
  73. MRxDAVInvalidateBasicFileInfoCache(
  74. PRX_CONTEXT RxContext
  75. );
  76. VOID
  77. MRxDAVInvalidateBasicFileInfoCacheWithName(
  78. PUNICODE_STRING OriginalFileName,
  79. PMRX_NET_ROOT NetRoot
  80. );
  81. VOID
  82. MRxDAVInvalidateStandardFileInfoCache(
  83. PRX_CONTEXT RxContext
  84. );
  85. VOID
  86. MRxDAVInvalidateStandardFileInfoCacheWithName(
  87. PUNICODE_STRING OriginalFileName,
  88. PMRX_NET_ROOT NetRoot
  89. );
  90. VOID
  91. MRxDAVUpdateFileInfoCacheFileSize(
  92. PRX_CONTEXT RxContext,
  93. PLARGE_INTEGER FileSize
  94. );
  95. VOID
  96. MRxDAVUpdateBasicFileInfoCache(
  97. PRX_CONTEXT RxContext,
  98. ULONG FileAttributes,
  99. PLARGE_INTEGER pLastWriteTime
  100. );
  101. VOID
  102. MRxDAVUpdateBasicFileInfoCacheAll(
  103. PRX_CONTEXT RxContext,
  104. PFILE_BASIC_INFORMATION Basic
  105. );
  106. VOID
  107. MRxDAVUpdateStandardFileInfoCache(
  108. PRX_CONTEXT RxContext,
  109. PFILE_STANDARD_INFORMATION Standard,
  110. BOOLEAN IsDirectory
  111. );
  112. BOOLEAN
  113. MRxDAVIsFileInfoCacheFound(
  114. PRX_CONTEXT RxContext,
  115. PDAV_USERMODE_CREATE_RETURNED_FILEINFO FileInfo,
  116. NTSTATUS *Status,
  117. PUNICODE_STRING OriginalFileName
  118. );
  119. /*
  120. // these file attributes may be different between streams on a file
  121. ULONG StreamAttributes = FILE_ATTRIBUTE_COMPRESSED |
  122. FILE_ATTRIBUTE_DIRECTORY |
  123. FILE_ATTRIBUTE_SPARSE_FILE;
  124. */
  125. BOOLEAN
  126. MRxDAVIsBasicFileInfoCacheFound(
  127. PRX_CONTEXT RxContext,
  128. PFILE_BASIC_INFORMATION Basic,
  129. NTSTATUS *Status,
  130. PUNICODE_STRING OriginalFileName
  131. );
  132. BOOLEAN
  133. MRxDAVIsStandardFileInfoCacheFound(
  134. PRX_CONTEXT RxContext,
  135. PFILE_STANDARD_INFORMATION Standard,
  136. NTSTATUS *Status,
  137. PUNICODE_STRING OriginalFileName
  138. );
  139. NTSTATUS
  140. MRxDAVGetFileInfoCacheStatus(
  141. PRX_CONTEXT RxContext
  142. );
  143. BOOLEAN
  144. MRxDAVIsFileNotFoundCached(
  145. PRX_CONTEXT RxContext
  146. );
  147. BOOLEAN
  148. MRxDAVIsFileNotFoundCachedWithName(
  149. PUNICODE_STRING OriginalFileName,
  150. PMRX_NET_ROOT NetRoot
  151. );
  152. VOID
  153. MRxDAVCacheFileNotFound(
  154. PRX_CONTEXT RxContext
  155. );
  156. VOID
  157. MRxDAVCacheFileNotFoundWithName(
  158. PUNICODE_STRING OriginalFileName,
  159. PMRX_NET_ROOT NetRoot
  160. );
  161. VOID
  162. MRxDAVCacheFileNotFoundFromQueryDirectory(
  163. PRX_CONTEXT RxContext
  164. );
  165. VOID
  166. MRxDAVInvalidateFileNotFoundCache(
  167. PRX_CONTEXT RxContext
  168. );
  169. VOID
  170. MRxDAVInvalidateFileNotFoundCacheForRename(
  171. PRX_CONTEXT RxContext
  172. );