objc2_core_foundation/generated/
CFFileSecurity.rs1use core::cell::UnsafeCell;
4use core::marker::{PhantomData, PhantomPinned};
5use core::ptr::NonNull;
6#[cfg(feature = "objc2")]
7use objc2::__framework_prelude::*;
8
9use crate::*;
10
11#[repr(C)]
13pub struct CFFileSecurity {
14 inner: [u8; 0],
15 _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
16}
17
18cf_type!(
19 unsafe impl CFFileSecurity {}
20);
21#[cfg(feature = "objc2")]
22cf_objc2_type!(
23 unsafe impl RefEncode<"__CFFileSecurity"> for CFFileSecurity {}
24);
25
26unsafe impl ConcreteType for CFFileSecurity {
27 #[doc(alias = "CFFileSecurityGetTypeID")]
28 #[inline]
29 fn type_id() -> CFTypeID {
30 extern "C-unwind" {
31 fn CFFileSecurityGetTypeID() -> CFTypeID;
32 }
33 unsafe { CFFileSecurityGetTypeID() }
34 }
35}
36
37impl CFFileSecurity {
38 #[doc(alias = "CFFileSecurityCreate")]
39 #[inline]
40 pub fn new(allocator: Option<&CFAllocator>) -> Option<CFRetained<CFFileSecurity>> {
41 extern "C-unwind" {
42 fn CFFileSecurityCreate(
43 allocator: Option<&CFAllocator>,
44 ) -> Option<NonNull<CFFileSecurity>>;
45 }
46 let ret = unsafe { CFFileSecurityCreate(allocator) };
47 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
48 }
49
50 #[doc(alias = "CFFileSecurityCreateCopy")]
51 #[inline]
52 pub fn new_copy(
53 allocator: Option<&CFAllocator>,
54 file_sec: Option<&CFFileSecurity>,
55 ) -> Option<CFRetained<CFFileSecurity>> {
56 extern "C-unwind" {
57 fn CFFileSecurityCreateCopy(
58 allocator: Option<&CFAllocator>,
59 file_sec: Option<&CFFileSecurity>,
60 ) -> Option<NonNull<CFFileSecurity>>;
61 }
62 let ret = unsafe { CFFileSecurityCreateCopy(allocator, file_sec) };
63 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
64 }
65
66 #[doc(alias = "CFFileSecurityCopyOwnerUUID")]
67 #[cfg(feature = "CFUUID")]
68 #[inline]
69 pub unsafe fn owner_uuid(self: &CFFileSecurity, owner_uuid: *mut *const CFUUID) -> bool {
70 extern "C-unwind" {
71 fn CFFileSecurityCopyOwnerUUID(
72 file_sec: &CFFileSecurity,
73 owner_uuid: *mut *const CFUUID,
74 ) -> Boolean;
75 }
76 let ret = unsafe { CFFileSecurityCopyOwnerUUID(self, owner_uuid) };
77 ret != 0
78 }
79
80 #[doc(alias = "CFFileSecuritySetOwnerUUID")]
81 #[cfg(feature = "CFUUID")]
82 #[inline]
83 pub fn set_owner_uuid(self: &CFFileSecurity, owner_uuid: Option<&CFUUID>) -> bool {
84 extern "C-unwind" {
85 fn CFFileSecuritySetOwnerUUID(
86 file_sec: &CFFileSecurity,
87 owner_uuid: Option<&CFUUID>,
88 ) -> Boolean;
89 }
90 let ret = unsafe { CFFileSecuritySetOwnerUUID(self, owner_uuid) };
91 ret != 0
92 }
93
94 #[doc(alias = "CFFileSecurityCopyGroupUUID")]
95 #[cfg(feature = "CFUUID")]
96 #[inline]
97 pub unsafe fn group_uuid(self: &CFFileSecurity, group_uuid: *mut *const CFUUID) -> bool {
98 extern "C-unwind" {
99 fn CFFileSecurityCopyGroupUUID(
100 file_sec: &CFFileSecurity,
101 group_uuid: *mut *const CFUUID,
102 ) -> Boolean;
103 }
104 let ret = unsafe { CFFileSecurityCopyGroupUUID(self, group_uuid) };
105 ret != 0
106 }
107
108 #[doc(alias = "CFFileSecuritySetGroupUUID")]
109 #[cfg(feature = "CFUUID")]
110 #[inline]
111 pub fn set_group_uuid(self: &CFFileSecurity, group_uuid: Option<&CFUUID>) -> bool {
112 extern "C-unwind" {
113 fn CFFileSecuritySetGroupUUID(
114 file_sec: &CFFileSecurity,
115 group_uuid: Option<&CFUUID>,
116 ) -> Boolean;
117 }
118 let ret = unsafe { CFFileSecuritySetGroupUUID(self, group_uuid) };
119 ret != 0
120 }
121
122 #[doc(alias = "CFFileSecurityGetOwner")]
123 #[cfg(feature = "libc")]
124 #[inline]
125 pub unsafe fn owner(self: &CFFileSecurity, owner: *mut libc::uid_t) -> bool {
126 extern "C-unwind" {
127 fn CFFileSecurityGetOwner(
128 file_sec: &CFFileSecurity,
129 owner: *mut libc::uid_t,
130 ) -> Boolean;
131 }
132 let ret = unsafe { CFFileSecurityGetOwner(self, owner) };
133 ret != 0
134 }
135
136 #[doc(alias = "CFFileSecuritySetOwner")]
137 #[cfg(feature = "libc")]
138 #[inline]
139 pub fn set_owner(self: &CFFileSecurity, owner: libc::uid_t) -> bool {
140 extern "C-unwind" {
141 fn CFFileSecuritySetOwner(file_sec: &CFFileSecurity, owner: libc::uid_t) -> Boolean;
142 }
143 let ret = unsafe { CFFileSecuritySetOwner(self, owner) };
144 ret != 0
145 }
146
147 #[doc(alias = "CFFileSecurityGetGroup")]
148 #[cfg(feature = "libc")]
149 #[inline]
150 pub unsafe fn group(self: &CFFileSecurity, group: *mut libc::gid_t) -> bool {
151 extern "C-unwind" {
152 fn CFFileSecurityGetGroup(
153 file_sec: &CFFileSecurity,
154 group: *mut libc::gid_t,
155 ) -> Boolean;
156 }
157 let ret = unsafe { CFFileSecurityGetGroup(self, group) };
158 ret != 0
159 }
160
161 #[doc(alias = "CFFileSecuritySetGroup")]
162 #[cfg(feature = "libc")]
163 #[inline]
164 pub fn set_group(self: &CFFileSecurity, group: libc::gid_t) -> bool {
165 extern "C-unwind" {
166 fn CFFileSecuritySetGroup(file_sec: &CFFileSecurity, group: libc::gid_t) -> Boolean;
167 }
168 let ret = unsafe { CFFileSecuritySetGroup(self, group) };
169 ret != 0
170 }
171
172 #[doc(alias = "CFFileSecurityGetMode")]
173 #[cfg(feature = "libc")]
174 #[inline]
175 pub unsafe fn mode(self: &CFFileSecurity, mode: *mut libc::mode_t) -> bool {
176 extern "C-unwind" {
177 fn CFFileSecurityGetMode(file_sec: &CFFileSecurity, mode: *mut libc::mode_t)
178 -> Boolean;
179 }
180 let ret = unsafe { CFFileSecurityGetMode(self, mode) };
181 ret != 0
182 }
183
184 #[doc(alias = "CFFileSecuritySetMode")]
185 #[cfg(feature = "libc")]
186 #[inline]
187 pub fn set_mode(self: &CFFileSecurity, mode: libc::mode_t) -> bool {
188 extern "C-unwind" {
189 fn CFFileSecuritySetMode(file_sec: &CFFileSecurity, mode: libc::mode_t) -> Boolean;
190 }
191 let ret = unsafe { CFFileSecuritySetMode(self, mode) };
192 ret != 0
193 }
194}
195
196#[repr(transparent)]
199#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
200pub struct CFFileSecurityClearOptions(pub CFOptionFlags);
201bitflags::bitflags! {
202 impl CFFileSecurityClearOptions: CFOptionFlags {
203 #[doc(alias = "kCFFileSecurityClearOwner")]
204 const Owner = 1<<0;
205 #[doc(alias = "kCFFileSecurityClearGroup")]
206 const Group = 1<<1;
207 #[doc(alias = "kCFFileSecurityClearMode")]
208 const Mode = 1<<2;
209 #[doc(alias = "kCFFileSecurityClearOwnerUUID")]
210 const OwnerUUID = 1<<3;
211 #[doc(alias = "kCFFileSecurityClearGroupUUID")]
212 const GroupUUID = 1<<4;
213 #[doc(alias = "kCFFileSecurityClearAccessControlList")]
214 const AccessControlList = 1<<5;
215 }
216}
217
218#[cfg(feature = "objc2")]
219unsafe impl Encode for CFFileSecurityClearOptions {
220 const ENCODING: Encoding = CFOptionFlags::ENCODING;
221}
222
223#[cfg(feature = "objc2")]
224unsafe impl RefEncode for CFFileSecurityClearOptions {
225 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
226}
227
228impl CFFileSecurity {
229 #[doc(alias = "CFFileSecurityClearProperties")]
230 #[inline]
231 pub fn clear_properties(
232 self: &CFFileSecurity,
233 clear_property_mask: CFFileSecurityClearOptions,
234 ) -> bool {
235 extern "C-unwind" {
236 fn CFFileSecurityClearProperties(
237 file_sec: &CFFileSecurity,
238 clear_property_mask: CFFileSecurityClearOptions,
239 ) -> Boolean;
240 }
241 let ret = unsafe { CFFileSecurityClearProperties(self, clear_property_mask) };
242 ret != 0
243 }
244}
245
246#[deprecated = "renamed to `CFFileSecurity::new`"]
247#[inline]
248pub extern "C-unwind" fn CFFileSecurityCreate(
249 allocator: Option<&CFAllocator>,
250) -> Option<CFRetained<CFFileSecurity>> {
251 extern "C-unwind" {
252 fn CFFileSecurityCreate(allocator: Option<&CFAllocator>)
253 -> Option<NonNull<CFFileSecurity>>;
254 }
255 let ret = unsafe { CFFileSecurityCreate(allocator) };
256 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
257}
258
259#[deprecated = "renamed to `CFFileSecurity::new_copy`"]
260#[inline]
261pub extern "C-unwind" fn CFFileSecurityCreateCopy(
262 allocator: Option<&CFAllocator>,
263 file_sec: Option<&CFFileSecurity>,
264) -> Option<CFRetained<CFFileSecurity>> {
265 extern "C-unwind" {
266 fn CFFileSecurityCreateCopy(
267 allocator: Option<&CFAllocator>,
268 file_sec: Option<&CFFileSecurity>,
269 ) -> Option<NonNull<CFFileSecurity>>;
270 }
271 let ret = unsafe { CFFileSecurityCreateCopy(allocator, file_sec) };
272 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
273}
274
275#[cfg(feature = "CFUUID")]
276#[deprecated = "renamed to `CFFileSecurity::owner_uuid`"]
277#[inline]
278pub unsafe extern "C-unwind" fn CFFileSecurityCopyOwnerUUID(
279 file_sec: &CFFileSecurity,
280 owner_uuid: *mut *const CFUUID,
281) -> bool {
282 extern "C-unwind" {
283 fn CFFileSecurityCopyOwnerUUID(
284 file_sec: &CFFileSecurity,
285 owner_uuid: *mut *const CFUUID,
286 ) -> Boolean;
287 }
288 let ret = unsafe { CFFileSecurityCopyOwnerUUID(file_sec, owner_uuid) };
289 ret != 0
290}
291
292#[cfg(feature = "CFUUID")]
293#[deprecated = "renamed to `CFFileSecurity::set_owner_uuid`"]
294#[inline]
295pub extern "C-unwind" fn CFFileSecuritySetOwnerUUID(
296 file_sec: &CFFileSecurity,
297 owner_uuid: Option<&CFUUID>,
298) -> bool {
299 extern "C-unwind" {
300 fn CFFileSecuritySetOwnerUUID(
301 file_sec: &CFFileSecurity,
302 owner_uuid: Option<&CFUUID>,
303 ) -> Boolean;
304 }
305 let ret = unsafe { CFFileSecuritySetOwnerUUID(file_sec, owner_uuid) };
306 ret != 0
307}
308
309#[cfg(feature = "CFUUID")]
310#[deprecated = "renamed to `CFFileSecurity::group_uuid`"]
311#[inline]
312pub unsafe extern "C-unwind" fn CFFileSecurityCopyGroupUUID(
313 file_sec: &CFFileSecurity,
314 group_uuid: *mut *const CFUUID,
315) -> bool {
316 extern "C-unwind" {
317 fn CFFileSecurityCopyGroupUUID(
318 file_sec: &CFFileSecurity,
319 group_uuid: *mut *const CFUUID,
320 ) -> Boolean;
321 }
322 let ret = unsafe { CFFileSecurityCopyGroupUUID(file_sec, group_uuid) };
323 ret != 0
324}
325
326#[cfg(feature = "CFUUID")]
327#[deprecated = "renamed to `CFFileSecurity::set_group_uuid`"]
328#[inline]
329pub extern "C-unwind" fn CFFileSecuritySetGroupUUID(
330 file_sec: &CFFileSecurity,
331 group_uuid: Option<&CFUUID>,
332) -> bool {
333 extern "C-unwind" {
334 fn CFFileSecuritySetGroupUUID(
335 file_sec: &CFFileSecurity,
336 group_uuid: Option<&CFUUID>,
337 ) -> Boolean;
338 }
339 let ret = unsafe { CFFileSecuritySetGroupUUID(file_sec, group_uuid) };
340 ret != 0
341}
342
343#[cfg(feature = "libc")]
344#[deprecated = "renamed to `CFFileSecurity::owner`"]
345#[inline]
346pub unsafe extern "C-unwind" fn CFFileSecurityGetOwner(
347 file_sec: &CFFileSecurity,
348 owner: *mut libc::uid_t,
349) -> bool {
350 extern "C-unwind" {
351 fn CFFileSecurityGetOwner(file_sec: &CFFileSecurity, owner: *mut libc::uid_t) -> Boolean;
352 }
353 let ret = unsafe { CFFileSecurityGetOwner(file_sec, owner) };
354 ret != 0
355}
356
357#[cfg(feature = "libc")]
358#[deprecated = "renamed to `CFFileSecurity::set_owner`"]
359#[inline]
360pub extern "C-unwind" fn CFFileSecuritySetOwner(
361 file_sec: &CFFileSecurity,
362 owner: libc::uid_t,
363) -> bool {
364 extern "C-unwind" {
365 fn CFFileSecuritySetOwner(file_sec: &CFFileSecurity, owner: libc::uid_t) -> Boolean;
366 }
367 let ret = unsafe { CFFileSecuritySetOwner(file_sec, owner) };
368 ret != 0
369}
370
371#[cfg(feature = "libc")]
372#[deprecated = "renamed to `CFFileSecurity::group`"]
373#[inline]
374pub unsafe extern "C-unwind" fn CFFileSecurityGetGroup(
375 file_sec: &CFFileSecurity,
376 group: *mut libc::gid_t,
377) -> bool {
378 extern "C-unwind" {
379 fn CFFileSecurityGetGroup(file_sec: &CFFileSecurity, group: *mut libc::gid_t) -> Boolean;
380 }
381 let ret = unsafe { CFFileSecurityGetGroup(file_sec, group) };
382 ret != 0
383}
384
385#[cfg(feature = "libc")]
386#[deprecated = "renamed to `CFFileSecurity::set_group`"]
387#[inline]
388pub extern "C-unwind" fn CFFileSecuritySetGroup(
389 file_sec: &CFFileSecurity,
390 group: libc::gid_t,
391) -> bool {
392 extern "C-unwind" {
393 fn CFFileSecuritySetGroup(file_sec: &CFFileSecurity, group: libc::gid_t) -> Boolean;
394 }
395 let ret = unsafe { CFFileSecuritySetGroup(file_sec, group) };
396 ret != 0
397}
398
399#[cfg(feature = "libc")]
400#[deprecated = "renamed to `CFFileSecurity::mode`"]
401#[inline]
402pub unsafe extern "C-unwind" fn CFFileSecurityGetMode(
403 file_sec: &CFFileSecurity,
404 mode: *mut libc::mode_t,
405) -> bool {
406 extern "C-unwind" {
407 fn CFFileSecurityGetMode(file_sec: &CFFileSecurity, mode: *mut libc::mode_t) -> Boolean;
408 }
409 let ret = unsafe { CFFileSecurityGetMode(file_sec, mode) };
410 ret != 0
411}
412
413#[cfg(feature = "libc")]
414#[deprecated = "renamed to `CFFileSecurity::set_mode`"]
415#[inline]
416pub extern "C-unwind" fn CFFileSecuritySetMode(
417 file_sec: &CFFileSecurity,
418 mode: libc::mode_t,
419) -> bool {
420 extern "C-unwind" {
421 fn CFFileSecuritySetMode(file_sec: &CFFileSecurity, mode: libc::mode_t) -> Boolean;
422 }
423 let ret = unsafe { CFFileSecuritySetMode(file_sec, mode) };
424 ret != 0
425}
426
427#[deprecated = "renamed to `CFFileSecurity::clear_properties`"]
428#[inline]
429pub extern "C-unwind" fn CFFileSecurityClearProperties(
430 file_sec: &CFFileSecurity,
431 clear_property_mask: CFFileSecurityClearOptions,
432) -> bool {
433 extern "C-unwind" {
434 fn CFFileSecurityClearProperties(
435 file_sec: &CFFileSecurity,
436 clear_property_mask: CFFileSecurityClearOptions,
437 ) -> Boolean;
438 }
439 let ret = unsafe { CFFileSecurityClearProperties(file_sec, clear_property_mask) };
440 ret != 0
441}