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
36/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/iosurfacepurgeabilitystate?language=objc)
37// NS_OPTIONS
38#[repr(transparent)]
39#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
40pub struct IOSurfacePurgeabilityState(pub u32);
41bitflags::bitflags! {
42    impl IOSurfacePurgeabilityState: u32 {
43        #[doc(alias = "kIOSurfacePurgeableNonVolatile")]
44        const PurgeableNonVolatile = 0;
45        #[doc(alias = "kIOSurfacePurgeableVolatile")]
46        const PurgeableVolatile = 1;
47        #[doc(alias = "kIOSurfacePurgeableEmpty")]
48        const PurgeableEmpty = 2;
49        #[doc(alias = "kIOSurfacePurgeableKeepCurrent")]
50        const PurgeableKeepCurrent = 3;
51    }
52}
53
54#[cfg(feature = "objc2")]
55unsafe impl Encode for IOSurfacePurgeabilityState {
56    const ENCODING: Encoding = u32::ENCODING;
57}
58
59#[cfg(feature = "objc2")]
60unsafe impl RefEncode for IOSurfacePurgeabilityState {
61    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
62}
63
64/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacedefaultcache?language=objc)
65pub const kIOSurfaceDefaultCache: c_uint = 0;
66/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfaceinhibitcache?language=objc)
67pub const kIOSurfaceInhibitCache: c_uint = 1;
68/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacewritethrucache?language=objc)
69pub const kIOSurfaceWriteThruCache: c_uint = 2;
70/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacecopybackcache?language=objc)
71pub const kIOSurfaceCopybackCache: c_uint = 3;
72/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacewritecombinecache?language=objc)
73pub const kIOSurfaceWriteCombineCache: c_uint = 4;
74/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacecopybackinnercache?language=objc)
75pub const kIOSurfaceCopybackInnerCache: c_uint = 5;
76
77/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapcacheshift?language=objc)
78pub const kIOSurfaceMapCacheShift: c_uint = 8;
79/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapdefaultcache?language=objc)
80pub const kIOSurfaceMapDefaultCache: c_uint = kIOSurfaceDefaultCache << kIOSurfaceMapCacheShift;
81/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapinhibitcache?language=objc)
82pub const kIOSurfaceMapInhibitCache: c_uint = kIOSurfaceInhibitCache << kIOSurfaceMapCacheShift;
83/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapwritethrucache?language=objc)
84pub const kIOSurfaceMapWriteThruCache: c_uint = kIOSurfaceWriteThruCache << kIOSurfaceMapCacheShift;
85/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapcopybackcache?language=objc)
86pub const kIOSurfaceMapCopybackCache: c_uint = kIOSurfaceCopybackCache << kIOSurfaceMapCacheShift;
87/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapwritecombinecache?language=objc)
88pub const kIOSurfaceMapWriteCombineCache: c_uint =
89    kIOSurfaceWriteCombineCache << kIOSurfaceMapCacheShift;
90/// [Apple's documentation](https://developer.apple.com/documentation/iosurface/kiosurfacemapcopybackinnercache?language=objc)
91pub const kIOSurfaceMapCopybackInnerCache: c_uint =
92    kIOSurfaceCopybackInnerCache << kIOSurfaceMapCacheShift;