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