aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/memoryapi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/memoryapi.rs')
-rw-r--r--vendor/winapi/src/um/memoryapi.rs390
1 files changed, 0 insertions, 390 deletions
diff --git a/vendor/winapi/src/um/memoryapi.rs b/vendor/winapi/src/um/memoryapi.rs
deleted file mode 100644
index 5bf5bd0..0000000
--- a/vendor/winapi/src/um/memoryapi.rs
+++ /dev/null
@@ -1,390 +0,0 @@
-// Licensed under the Apache License, Version 2.0
-// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
-// All files in the project carrying such notice may not be copied, modified, or distributed
-// except according to those terms.
-//! ApiSet Contract for api-ms-win-core-memory-l1-1-0
-use ctypes::c_void;
-use shared::basetsd::{PSIZE_T, PULONG_PTR, SIZE_T, ULONG64, ULONG_PTR};
-use shared::minwindef::{
- BOOL, DWORD, LPCVOID, LPDWORD, LPVOID, PBOOL, PDWORD, PULONG, UINT, ULONG,
-};
-use um::minwinbase::{LPSECURITY_ATTRIBUTES, PSECURITY_ATTRIBUTES};
-use um::winnt::{
- HANDLE, LPCWSTR, PCWSTR, PMEMORY_BASIC_INFORMATION, PVOID, SECTION_ALL_ACCESS,
- SECTION_MAP_EXECUTE_EXPLICIT, SECTION_MAP_READ, SECTION_MAP_WRITE,
-};
-pub const FILE_MAP_WRITE: DWORD = SECTION_MAP_WRITE;
-pub const FILE_MAP_READ: DWORD = SECTION_MAP_READ;
-pub const FILE_MAP_ALL_ACCESS: DWORD = SECTION_ALL_ACCESS;
-pub const FILE_MAP_EXECUTE: DWORD = SECTION_MAP_EXECUTE_EXPLICIT;
-pub const FILE_MAP_COPY: DWORD = 0x00000001;
-pub const FILE_MAP_RESERVE: DWORD = 0x80000000;
-pub const FILE_MAP_TARGETS_INVALID: DWORD = 0x40000000;
-pub const FILE_MAP_LARGE_PAGES: DWORD = 0x20000000;
-extern "system" {
- pub fn VirtualAlloc(
- lpAddress: LPVOID,
- dwSize: SIZE_T,
- flAllocationType: DWORD,
- flProtect: DWORD,
- ) -> LPVOID;
- pub fn VirtualProtect(
- lpAddress: LPVOID,
- dwSize: SIZE_T,
- flNewProtect: DWORD,
- lpflOldProtect: PDWORD,
- ) -> BOOL;
- pub fn VirtualFree(
- lpAddress: LPVOID,
- dwSize: SIZE_T,
- dwFreeType: DWORD,
- ) -> BOOL;
- pub fn VirtualQuery(
- lpAddress: LPCVOID,
- lpBuffer: PMEMORY_BASIC_INFORMATION,
- dwLength: SIZE_T,
- ) -> SIZE_T;
- pub fn VirtualAllocEx(
- hProcess: HANDLE,
- lpAddress: LPVOID,
- dwSize: SIZE_T,
- flAllocationType: DWORD,
- flProtect: DWORD,
- ) -> LPVOID;
- pub fn VirtualFreeEx(
- hProcess: HANDLE,
- lpAddress: LPVOID,
- dwSize: SIZE_T,
- dwFreeType: DWORD,
- ) -> BOOL;
- pub fn VirtualProtectEx(
- hProcess: HANDLE,
- lpAddress: LPVOID,
- dwSize: SIZE_T,
- flNewProtect: DWORD,
- lpflOldProtect: PDWORD,
- ) -> BOOL;
- pub fn VirtualQueryEx(
- hProcess: HANDLE,
- lpAddress: LPCVOID,
- lpBuffer: PMEMORY_BASIC_INFORMATION,
- dwLength: SIZE_T,
- ) -> SIZE_T;
- pub fn ReadProcessMemory(
- hProcess: HANDLE,
- lpBaseAddress: LPCVOID,
- lpBuffer: LPVOID,
- nSize: SIZE_T,
- lpNumberOfBytesRead: *mut SIZE_T,
- ) -> BOOL;
- pub fn WriteProcessMemory(
- hProcess: HANDLE,
- lpBaseAddress: LPVOID,
- lpBuffer: LPCVOID,
- nSize: SIZE_T,
- lpNumberOfBytesWritten: *mut SIZE_T,
- ) -> BOOL;
- pub fn CreateFileMappingW(
- hFile: HANDLE,
- lpFileMappingAttributes: LPSECURITY_ATTRIBUTES,
- flProtect: DWORD,
- dwMaximumSizeHigh: DWORD,
- dwMaximumSizeLow: DWORD,
- lpName: LPCWSTR,
- ) -> HANDLE;
- pub fn OpenFileMappingW(
- dwDesiredAccess: DWORD,
- bInheritHandle: BOOL,
- lpName: LPCWSTR,
- ) -> HANDLE;
- pub fn MapViewOfFile(
- hFileMappingObject: HANDLE,
- dwDesiredAccess: DWORD,
- dwFileOffsetHigh: DWORD,
- dwFileOffsetLow: DWORD,
- dwNumberOfBytesToMap: SIZE_T,
- ) -> LPVOID;
- pub fn MapViewOfFileEx(
- hFileMappingObject: HANDLE,
- dwDesiredAccess: DWORD,
- dwFileOffsetHigh: DWORD,
- dwFileOffsetLow: DWORD,
- dwNumberOfBytesToMap: SIZE_T,
- lpBaseAddress: LPVOID,
- ) -> LPVOID;
- pub fn FlushViewOfFile(
- lpBaseAddress: LPCVOID,
- dwNumberOfBytesToFlush: SIZE_T,
- ) -> BOOL;
- pub fn UnmapViewOfFile(
- lpBaseAddress: LPCVOID,
- ) -> BOOL;
- pub fn GetLargePageMinimum() -> SIZE_T;
- pub fn GetProcessWorkingSetSizeEx(
- hProcess: HANDLE,
- lpMinimumWorkingSetSize: PSIZE_T,
- lpMaximumWorkingSetSize: PSIZE_T,
- Flags: PDWORD,
- ) -> BOOL;
- pub fn SetProcessWorkingSetSizeEx(
- hProcess: HANDLE,
- dwMinimumWorkingSetSize: SIZE_T,
- dwMaximumWorkingSetSize: SIZE_T,
- Flags: DWORD,
- ) -> BOOL;
- pub fn VirtualLock(
- lpAddress: LPVOID,
- dwSize: SIZE_T,
- ) -> BOOL;
- pub fn VirtualUnlock(
- lpAddress: LPVOID,
- dwSize: SIZE_T,
- ) -> BOOL;
- pub fn GetWriteWatch(
- dwFlags: DWORD,
- lpBaseAddress: PVOID,
- dwRegionSize: SIZE_T,
- lpAddresses: *mut PVOID,
- lpdwCount: *mut ULONG_PTR,
- lpdwGranularity: LPDWORD,
- ) -> UINT;
- pub fn ResetWriteWatch(
- lpBaseAddress: LPVOID,
- dwRegionSize: SIZE_T,
- ) -> UINT;
-}
-ENUM!{enum MEMORY_RESOURCE_NOTIFICATION_TYPE {
- LowMemoryResourceNotification,
- HighMemoryResourceNotification,
-}}
-extern "system" {
- pub fn CreateMemoryResourceNotification(
- NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE,
- ) -> HANDLE;
- pub fn QueryMemoryResourceNotification(
- ResourceNotificationHandle: HANDLE,
- ResourceState: PBOOL,
- ) -> BOOL;
-}
-pub const FILE_CACHE_MAX_HARD_ENABLE: DWORD = 0x00000001;
-pub const FILE_CACHE_MAX_HARD_DISABLE: DWORD = 0x00000002;
-pub const FILE_CACHE_MIN_HARD_ENABLE: DWORD = 0x00000004;
-pub const FILE_CACHE_MIN_HARD_DISABLE: DWORD = 0x00000008;
-extern "system" {
- pub fn GetSystemFileCacheSize(
- lpMinimumFileCacheSize: PSIZE_T,
- lpMaximumFileCacheSize: PSIZE_T,
- lpFlags: PDWORD,
- ) -> BOOL;
- pub fn SetSystemFileCacheSize(
- MinimumFileCacheSize: SIZE_T,
- MaximumFileCacheSize: SIZE_T,
- Flags: DWORD,
- ) -> BOOL;
- pub fn CreateFileMappingNumaW(
- hFile: HANDLE,
- lpFileMappingAttributes: LPSECURITY_ATTRIBUTES,
- flProtect: DWORD,
- dwMaximumSizeHigh: DWORD,
- dwMaximumSizeLow: DWORD,
- lpName: LPCWSTR,
- nndPreferred: DWORD,
- ) -> HANDLE;
-}
-STRUCT!{struct WIN32_MEMORY_RANGE_ENTRY {
- VirtualAddress: PVOID,
- NumberOfBytes: SIZE_T,
-}}
-pub type PWIN32_MEMORY_RANGE_ENTRY = *mut WIN32_MEMORY_RANGE_ENTRY;
-extern "system" {
- pub fn PrefetchVirtualMemory(
- hProcess: HANDLE,
- NumberOfEntries: ULONG_PTR,
- VirtualAddresses: PWIN32_MEMORY_RANGE_ENTRY,
- Flags: ULONG,
- ) -> BOOL;
- pub fn CreateFileMappingFromApp(
- hFile: HANDLE,
- SecurityAttributes: PSECURITY_ATTRIBUTES,
- PageProtection: ULONG,
- MaximumSize: ULONG64,
- Name: PCWSTR,
- ) -> HANDLE;
- pub fn MapViewOfFileFromApp(
- hFileMappingObject: HANDLE,
- DesiredAccess: ULONG,
- FileOffset: ULONG64,
- NumberOfBytesToMap: SIZE_T,
- ) -> PVOID;
- pub fn UnmapViewOfFileEx(
- BaseAddress: PVOID,
- UnmapFlags: ULONG,
- ) -> BOOL;
- pub fn AllocateUserPhysicalPages(
- hProcess: HANDLE,
- NumberOfPages: PULONG_PTR,
- PageArray: PULONG_PTR,
- ) -> BOOL;
- pub fn FreeUserPhysicalPages(
- hProcess: HANDLE,
- NumberOfPages: PULONG_PTR,
- PageArray: PULONG_PTR,
- ) -> BOOL;
- pub fn MapUserPhysicalPages(
- VirtualAddress: PVOID,
- NumberOfPages: ULONG_PTR,
- PageArray: PULONG_PTR,
- ) -> BOOL;
- pub fn AllocateUserPhysicalPagesNuma(
- hProcess: HANDLE,
- NumberOfPages: PULONG_PTR,
- PageArray: PULONG_PTR,
- nndPreferred: DWORD,
- ) -> BOOL;
- pub fn VirtualAllocExNuma(
- hProcess: HANDLE,
- lpAddress: LPVOID,
- dwSize: SIZE_T,
- flAllocationType: DWORD,
- flProtect: DWORD,
- nndPreferred: DWORD,
- ) -> LPVOID;
-}
-pub const MEHC_PATROL_SCRUBBER_PRESENT: ULONG = 0x1;
-extern "system" {
- pub fn GetMemoryErrorHandlingCapabilities(
- Capabilities: PULONG,
- ) -> BOOL;
-}
-FN!{stdcall PBAD_MEMORY_CALLBACK_ROUTINE() -> ()}
-extern "system" {
- pub fn RegisterBadMemoryNotification(
- Callback: PBAD_MEMORY_CALLBACK_ROUTINE,
- ) -> PVOID;
- pub fn UnregisterBadMemoryNotification(
- RegistrationHandle: PVOID,
- ) -> BOOL;
-}
-ENUM!{enum OFFER_PRIORITY {
- VmOfferPriorityVeryLow = 1,
- VmOfferPriorityLow,
- VmOfferPriorityBelowNormal,
- VmOfferPriorityNormal,
-}}
-extern "system" {
- pub fn OfferVirtualMemory(
- VirtualAddress: PVOID,
- Size: SIZE_T,
- Priority: OFFER_PRIORITY,
- ) -> DWORD;
- pub fn ReclaimVirtualMemory(
- VirtualAddress: *const c_void,
- Size: SIZE_T,
- ) -> DWORD;
- pub fn DiscardVirtualMemory(
- VirtualAddress: PVOID,
- Size: SIZE_T,
- ) -> DWORD;
-// TODO: Needs winnt::PCFG_CALL_TARGET_INFO.
-/* pub fn SetProcessValidCallTargets(
- hProcess: HANDLE,
- VirtualAddress: PVOID,
- RegionSize: SIZE_T,
- NumberOfOffsets: ULONG,
- OffsetInformation: PCFG_CALL_TARGET_INFO,
- ) -> BOOL; */
- pub fn VirtualAllocFromApp(
- BaseAddress: PVOID,
- Size: SIZE_T,
- AllocationType: ULONG,
- Protection: ULONG,
- ) -> PVOID;
- pub fn VirtualProtectFromApp(
- Address: PVOID,
- Size: SIZE_T,
- NewProtection: ULONG,
- OldProtection: PULONG,
- ) -> BOOL;
- pub fn OpenFileMappingFromApp(
- DesiredAccess: ULONG,
- InheritHandle: BOOL,
- Name: PCWSTR,
- ) -> HANDLE;
-}
-// TODO: Under WINAPI_PARTITION_APP, define CreateFileMappingW, MapViewOfFile, VirtualAlloc,
-// VirtualProtect, and OpenFileMappingW as wrappers around the *FromApp functions.
-ENUM!{enum WIN32_MEMORY_INFORMATION_CLASS {
- MemoryRegionInfo,
-}}
-STRUCT!{struct WIN32_MEMORY_REGION_INFORMATION {
- AllocationBase: PVOID,
- AllocationProtect: ULONG,
- u: WIN32_MEMORY_REGION_INFORMATION_u,
- RegionSize: SIZE_T,
- CommitSize: SIZE_T,
-}}
-UNION!{union WIN32_MEMORY_REGION_INFORMATION_u {
- [u32; 1],
- Flags Flags_mut: ULONG,
- s s_mut: WIN32_MEMORY_REGION_INFORMATION_u_s,
-}}
-STRUCT!{struct WIN32_MEMORY_REGION_INFORMATION_u_s {
- Bitfield: ULONG,
-}}
-BITFIELD!{WIN32_MEMORY_REGION_INFORMATION_u_s Bitfield: ULONG [
- Private set_Private[0..1],
- MappedDataFile set_MappedDataFile[1..2],
- MappedImage set_MappedImage[2..3],
- MappedPageFile set_MappedPageFile[3..4],
- MappedPhysical set_MappedPhysical[4..5],
- DirectMapped set_DirectMapped[5..6],
- Reserved set_Reserved[6..32],
-]}
-// TODO: Need to resolve issue #323 first.
-/*extern "system" {
- pub fn QueryVirtualMemoryInformation(
- Process: HANDLE,
- VirtualAddress: *const VOID,
- MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS,
- MemoryInformation: PVOID,
- MemoryInformationSize: SIZE_T,
- ReturnSize: PSIZE_T,
- ) -> BOOL;
- pub fn MapViewOfFileNuma2(
- FileMappingHandle: HANDLE,
- ProcessHandle: HANDLE,
- Offset: ULONG64,
- BaseAddress: PVOID,
- ViewSize: SIZE_T,
- AllocationType: ULONG,
- PageProtection: ULONG,
- PreferredNode: ULONG,
- ) -> PVOID;
-}
-#[inline]
-pub unsafe fn MapViewOfFile2(
- FileMappingHandle: HANDLE,
- ProcessHandle: HANDLE,
- Offset: ULONG64,
- BaseAddress: PVOID,
- ViewSize: SIZE_T,
- AllocationType: ULONG,
- PageProtection: ULONG,
-) -> PVOID {
- MapViewOfFileNuma2(FileMappingHandle,
- ProcessHandle,
- Offset,
- BaseAddress,
- ViewSize,
- AllocationType,
- PageProtection,
- NUMA_NO_PREFERRED_NODE)
-}*/
-extern "system" {
- pub fn UnmapViewOfFile2(
- ProcessHandle: HANDLE,
- BaseAddress: PVOID,
- UnmapFlags: ULONG,
- ) -> BOOL;
-}