summaryrefslogtreecommitdiffstats
path: root/vendor/windows-sys/src/Windows/Win32/System/Memory/NonVolatile/mod.rs
blob: 273e9bc61f5e53b6cde21db44f641ccd1537aec4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#[link(name = "windows")]
extern "system" {
    #[doc = "*Required features: `\"Win32_System_Memory_NonVolatile\"`*"]
    #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
    pub fn RtlDrainNonVolatileFlush(nvtoken: *const ::core::ffi::c_void) -> u32;
    #[doc = "*Required features: `\"Win32_System_Memory_NonVolatile\"`*"]
    #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
    pub fn RtlFillNonVolatileMemory(nvtoken: *const ::core::ffi::c_void, nvdestination: *mut ::core::ffi::c_void, size: usize, value: u8, flags: u32) -> u32;
    #[doc = "*Required features: `\"Win32_System_Memory_NonVolatile\"`*"]
    #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
    pub fn RtlFlushNonVolatileMemory(nvtoken: *const ::core::ffi::c_void, nvbuffer: *const ::core::ffi::c_void, size: usize, flags: u32) -> u32;
    #[doc = "*Required features: `\"Win32_System_Memory_NonVolatile\"`*"]
    #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
    pub fn RtlFlushNonVolatileMemoryRanges(nvtoken: *const ::core::ffi::c_void, nvranges: *const NV_MEMORY_RANGE, numranges: usize, flags: u32) -> u32;
    #[doc = "*Required features: `\"Win32_System_Memory_NonVolatile\"`*"]
    #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
    pub fn RtlFreeNonVolatileToken(nvtoken: *const ::core::ffi::c_void) -> u32;
    #[doc = "*Required features: `\"Win32_System_Memory_NonVolatile\"`*"]
    #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
    pub fn RtlGetNonVolatileToken(nvbuffer: *const ::core::ffi::c_void, size: usize, nvtoken: *mut *mut ::core::ffi::c_void) -> u32;
    #[doc = "*Required features: `\"Win32_System_Memory_NonVolatile\"`*"]
    #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
    pub fn RtlWriteNonVolatileMemory(nvtoken: *const ::core::ffi::c_void, nvdestination: *mut ::core::ffi::c_void, source: *const ::core::ffi::c_void, size: usize, flags: u32) -> u32;
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_System_Memory_NonVolatile\"`*"]
pub struct NV_MEMORY_RANGE {
    pub BaseAddress: *mut ::core::ffi::c_void,
    pub Length: usize,
}
impl ::core::marker::Copy for NV_MEMORY_RANGE {}
impl ::core::clone::Clone for NV_MEMORY_RANGE {
    fn clone(&self) -> Self {
        *self
    }
}