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.

196 lines
3.7 KiB

  1. /*++
  2. Copyright (c) 1993 Microsoft Corporation
  3. Module Name:
  4. spfile.h
  5. Abstract:
  6. Public header file for file-related functions in text setup.
  7. Author:
  8. Ted Miller (tedm) 29-July-1993
  9. Revision History:
  10. --*/
  11. #ifndef _SPFILE_DEFN_
  12. #define _SPFILE_DEFN_
  13. NTSTATUS
  14. SpGetFileSize(
  15. IN HANDLE hFile,
  16. OUT PULONG Size
  17. );
  18. NTSTATUS
  19. SpMapEntireFile(
  20. IN HANDLE hFile,
  21. OUT PHANDLE Section,
  22. OUT PVOID *ViewBase,
  23. IN BOOLEAN WriteAccess
  24. );
  25. BOOLEAN
  26. SpUnmapFile(
  27. IN HANDLE Section,
  28. IN PVOID ViewBase
  29. );
  30. NTSTATUS
  31. SpOpenAndMapFile_Ustr(
  32. IN PCUNICODE_STRING FileName,
  33. IN OUT PHANDLE FileHandle,
  34. OUT PHANDLE SectionHandle,
  35. OUT PVOID *ViewBase,
  36. OUT PULONG FileSize,
  37. IN BOOLEAN WriteAccess
  38. );
  39. NTSTATUS
  40. SpOpenAndMapFile(
  41. IN PWSTR FileName,
  42. IN OUT PHANDLE FileHandle,
  43. OUT PHANDLE SectionHandle,
  44. OUT PVOID *ViewBase,
  45. OUT PULONG FileSize,
  46. IN BOOLEAN WriteAccess
  47. );
  48. NTSTATUS
  49. SpSetInformationFile(
  50. IN HANDLE Handle,
  51. IN FILE_INFORMATION_CLASS FileInformationClass,
  52. IN ULONG Length,
  53. IN PVOID FileInformation
  54. );
  55. NTSTATUS
  56. SpDeleteFileEx_Ustr(
  57. IN PCUNICODE_STRING Name1,
  58. IN PCUNICODE_STRING Name2, OPTIONAL
  59. IN PCUNICODE_STRING Name3, OPTIONAL
  60. IN ULONG ShareFlags, OPTIONAL
  61. IN ULONG OpenFlags OPTIONAL
  62. );
  63. NTSTATUS
  64. SpDeleteFileEx(
  65. IN PCWSTR Name1,
  66. IN PCWSTR Name2, OPTIONAL
  67. IN PCWSTR Name3, OPTIONAL
  68. IN ULONG ShareFlags, OPTIONAL
  69. IN ULONG OpenFlags OPTIONAL
  70. );
  71. NTSTATUS
  72. SpDeleteFile_Ustr(
  73. IN PCUNICODE_STRING Name1,
  74. IN PCUNICODE_STRING Name2, OPTIONAL
  75. IN PCUNICODE_STRING Name3 OPTIONAL
  76. );
  77. NTSTATUS
  78. SpDeleteFile(
  79. IN PCWSTR Name1,
  80. IN PCWSTR Name2, OPTIONAL
  81. IN PCWSTR Name3 OPTIONAL
  82. );
  83. NTSTATUS
  84. SpSetAttributes_Ustr (
  85. IN PCUNICODE_STRING SrcNTPath,
  86. IN ULONG FileAttributes
  87. );
  88. NTSTATUS
  89. SpSetAttributes (
  90. IN PWSTR SrcNTPath,
  91. IN ULONG FileAttributes
  92. );
  93. NTSTATUS
  94. SpGetAttributes_Ustr (
  95. IN PCUNICODE_STRING SrcNTPath,
  96. OUT PULONG FileAttributesPtr
  97. );
  98. NTSTATUS
  99. SpGetAttributes (
  100. IN PWSTR SrcNTPath,
  101. OUT PULONG FileAttributesPtr
  102. );
  103. BOOLEAN
  104. SpFileExists_Ustr(
  105. IN PCUNICODE_STRING PathName,
  106. IN BOOLEAN Directory
  107. );
  108. BOOLEAN
  109. SpFileExists(
  110. IN PCWSTR PathName,
  111. IN BOOLEAN Directory
  112. );
  113. NTSTATUS
  114. SpRenameFile_Ustr(
  115. IN PCUNICODE_STRING OldName,
  116. IN PCUNICODE_STRING NewName,
  117. IN BOOLEAN AllowDirectoryRename
  118. );
  119. NTSTATUS
  120. SpRenameFile(
  121. IN PCWSTR OldName,
  122. IN PCWSTR NewName,
  123. IN BOOLEAN AllowDirectoryRename
  124. );
  125. PIMAGE_NT_HEADERS
  126. SpChecksumMappedFile(
  127. IN PVOID BaseAddress,
  128. IN ULONG FileSize,
  129. OUT PULONG HeaderSum,
  130. OUT PULONG Checksum
  131. );
  132. NTSTATUS
  133. SpOpenNameMayBeCompressed(
  134. IN PWSTR FullPath,
  135. IN ULONG OpenAccess,
  136. IN ULONG FileAttributes,
  137. IN ULONG ShareFlags,
  138. IN ULONG Disposition,
  139. IN ULONG OpenFlags,
  140. OUT PHANDLE Handle,
  141. OUT PBOOLEAN OpenedCompressedName OPTIONAL
  142. );
  143. NTSTATUS
  144. SpGetFileSizeByName(
  145. IN PWSTR DevicePath OPTIONAL,
  146. IN PWSTR Directory OPTIONAL,
  147. IN PWSTR FileName,
  148. OUT PULONG Size
  149. );
  150. VOID
  151. SpVerifyNoCompression(
  152. IN PWSTR FileName
  153. );
  154. #define SP_DELETE_FILE_OR_EMPTY_DIRECTORY_FLAG_DO_NOT_CLEAR_ATTRIBUTES (0x00000001)
  155. NTSTATUS
  156. SpDeleteFileOrEmptyDirectory(
  157. IN ULONG Flags,
  158. IN PCUNICODE_STRING Path
  159. );
  160. #endif // ndef _SPFILE_DEFN_