objc2_io_surface/generated/
IOSurfaceTypes.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4#[cfg(feature = "objc2")]
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/iosurfaceid?language=objc)
10pub type IOSurfaceID = u32;
11
12/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/iosurfacelockoptions?language=objc)
13// NS_OPTIONS
14#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct IOSurfaceLockOptions(pub u32);
17bitflags::bitflags! {
18    impl IOSurfaceLockOptions: u32 {
19        #[doc(alias = "kIOSurfaceLockReadOnly")]
20        const ReadOnly = 0x00000001;
21        #[doc(alias = "kIOSurfaceLockAvoidSync")]
22        const AvoidSync = 0x00000002;
23    }
24}
25
26#[cfg(feature = "objc2")]
27unsafe impl Encode for IOSurfaceLockOptions {
28    const ENCODING: Encoding = u32::ENCODING;
29}
30
31#[cfg(feature = "objc2")]
32unsafe impl RefEncode for IOSurfaceLockOptions {
33    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
34}
35
36unsafe impl Send for IOSurfaceLockOptions {}
37
38unsafe impl Sync for IOSurfaceLockOptions {}
39
40/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/iosurfacepurgeabilitystate?language=objc)
41// NS_OPTIONS
42#[repr(transparent)]
43#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
44pub struct IOSurfacePurgeabilityState(pub u32);
45bitflags::bitflags! {
46    impl IOSurfacePurgeabilityState: u32 {
47        #[doc(alias = "kIOSurfacePurgeableNonVolatile")]
48        const PurgeableNonVolatile = 0;
49        #[doc(alias = "kIOSurfacePurgeableVolatile")]
50        const PurgeableVolatile = 1;
51        #[doc(alias = "kIOSurfacePurgeableEmpty")]
52        const PurgeableEmpty = 2;
53        #[doc(alias = "kIOSurfacePurgeableKeepCurrent")]
54        const PurgeableKeepCurrent = 3;
55    }
56}
57
58#[cfg(feature = "objc2")]
59unsafe impl Encode for IOSurfacePurgeabilityState {
60    const ENCODING: Encoding = u32::ENCODING;
61}
62
63#[cfg(feature = "objc2")]
64unsafe impl RefEncode for IOSurfacePurgeabilityState {
65    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
66}
67
68unsafe impl Send for IOSurfacePurgeabilityState {}
69
70unsafe impl Sync for IOSurfacePurgeabilityState {}
71
72/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacedefaultcache?language=objc)
73pub const kIOSurfaceDefaultCache: c_uint = 0;
74/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfaceinhibitcache?language=objc)
75pub const kIOSurfaceInhibitCache: c_uint = 1;
76/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacewritethrucache?language=objc)
77pub const kIOSurfaceWriteThruCache: c_uint = 2;
78/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacecopybackcache?language=objc)
79pub const kIOSurfaceCopybackCache: c_uint = 3;
80/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacewritecombinecache?language=objc)
81pub const kIOSurfaceWriteCombineCache: c_uint = 4;
82/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacecopybackinnercache?language=objc)
83pub const kIOSurfaceCopybackInnerCache: c_uint = 5;
84
85/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapcacheshift?language=objc)
86pub const kIOSurfaceMapCacheShift: c_uint = 8;
87/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapdefaultcache?language=objc)
88pub const kIOSurfaceMapDefaultCache: c_uint = kIOSurfaceDefaultCache << kIOSurfaceMapCacheShift;
89/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapinhibitcache?language=objc)
90pub const kIOSurfaceMapInhibitCache: c_uint = kIOSurfaceInhibitCache << kIOSurfaceMapCacheShift;
91/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapwritethrucache?language=objc)
92pub const kIOSurfaceMapWriteThruCache: c_uint = kIOSurfaceWriteThruCache << kIOSurfaceMapCacheShift;
93/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapcopybackcache?language=objc)
94pub const kIOSurfaceMapCopybackCache: c_uint = kIOSurfaceCopybackCache << kIOSurfaceMapCacheShift;
95/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapwritecombinecache?language=objc)
96pub const kIOSurfaceMapWriteCombineCache: c_uint =
97    kIOSurfaceWriteCombineCache << kIOSurfaceMapCacheShift;
98/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapcopybackinnercache?language=objc)
99pub const kIOSurfaceMapCopybackInnerCache: c_uint =
100    kIOSurfaceCopybackInnerCache << kIOSurfaceMapCacheShift;