objc2_metal/generated/
MTLIOCompressor.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct MTLIOCompressionStatus(pub NSInteger);
14impl MTLIOCompressionStatus {
15 #[doc(alias = "MTLIOCompressionStatusComplete")]
16 pub const Complete: Self = Self(0);
17 #[doc(alias = "MTLIOCompressionStatusError")]
18 pub const Error: Self = Self(1);
19}
20
21unsafe impl Encode for MTLIOCompressionStatus {
22 const ENCODING: Encoding = NSInteger::ENCODING;
23}
24
25unsafe impl RefEncode for MTLIOCompressionStatus {
26 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
27}
28
29pub type MTLIOCompressionContext = *mut c_void;
31
32#[inline]
33pub extern "C-unwind" fn MTLIOCompressionContextDefaultChunkSize() -> usize {
34 extern "C-unwind" {
35 fn MTLIOCompressionContextDefaultChunkSize() -> usize;
36 }
37 unsafe { MTLIOCompressionContextDefaultChunkSize() }
38}
39
40extern "C-unwind" {
41 #[cfg(feature = "MTLDevice")]
46 pub fn MTLIOCreateCompressionContext(
47 path: NonNull<c_char>,
48 r#type: MTLIOCompressionMethod,
49 chunk_size: usize,
50 ) -> MTLIOCompressionContext;
51}
52
53extern "C-unwind" {
54 pub fn MTLIOCompressionContextAppendData(
60 context: MTLIOCompressionContext,
61 data: NonNull<c_void>,
62 size: usize,
63 );
64}
65
66extern "C-unwind" {
67 pub fn MTLIOFlushAndDestroyCompressionContext(
71 context: MTLIOCompressionContext,
72 ) -> MTLIOCompressionStatus;
73}