system_configuration_sys/
preferences.rs

1/* automatically generated by rust-bindgen 0.66.1 */
2
3// Generated using:
4// bindgen 0.66.1
5// macOS SDK 13.3.
6
7use core::ffi::c_void;
8use core_foundation_sys::array::CFArrayRef;
9use core_foundation_sys::base::{Boolean, CFAllocatorRef, CFIndex, CFTypeID};
10use core_foundation_sys::data::CFDataRef;
11use core_foundation_sys::propertylist::CFPropertyListRef;
12use core_foundation_sys::runloop::CFRunLoopRef;
13use core_foundation_sys::string::CFStringRef;
14
15use crate::dispatch_queue_t;
16
17pub type AuthorizationOpaqueRef = c_void;
18pub type __SCPreferences = c_void;
19
20pub type AuthorizationRef = *const AuthorizationOpaqueRef;
21pub type SCPreferencesRef = *const __SCPreferences;
22pub type SCPreferencesNotification = u32;
23#[repr(C)]
24pub struct SCPreferencesContext {
25    pub version: CFIndex,
26    pub info: *mut ::core::ffi::c_void,
27    pub retain: Option<
28        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
29    >,
30    pub release: Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>,
31    pub copyDescription:
32        Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef>,
33}
34pub type SCPreferencesCallBack = Option<
35    unsafe extern "C" fn(
36        prefs: SCPreferencesRef,
37        notificationType: SCPreferencesNotification,
38        info: *mut ::core::ffi::c_void,
39    ),
40>;
41extern "C" {
42    pub fn SCPreferencesGetTypeID() -> CFTypeID;
43
44    pub fn SCPreferencesCreate(
45        allocator: CFAllocatorRef,
46        name: CFStringRef,
47        prefsID: CFStringRef,
48    ) -> SCPreferencesRef;
49
50    pub fn SCPreferencesCreateWithAuthorization(
51        allocator: CFAllocatorRef,
52        name: CFStringRef,
53        prefsID: CFStringRef,
54        authorization: AuthorizationRef,
55    ) -> SCPreferencesRef;
56
57    pub fn SCPreferencesLock(prefs: SCPreferencesRef, wait: Boolean) -> Boolean;
58
59    pub fn SCPreferencesCommitChanges(prefs: SCPreferencesRef) -> Boolean;
60
61    pub fn SCPreferencesApplyChanges(prefs: SCPreferencesRef) -> Boolean;
62
63    pub fn SCPreferencesUnlock(prefs: SCPreferencesRef) -> Boolean;
64
65    pub fn SCPreferencesGetSignature(prefs: SCPreferencesRef) -> CFDataRef;
66
67    pub fn SCPreferencesCopyKeyList(prefs: SCPreferencesRef) -> CFArrayRef;
68
69    pub fn SCPreferencesGetValue(prefs: SCPreferencesRef, key: CFStringRef) -> CFPropertyListRef;
70
71    pub fn SCPreferencesAddValue(
72        prefs: SCPreferencesRef,
73        key: CFStringRef,
74        value: CFPropertyListRef,
75    ) -> Boolean;
76
77    pub fn SCPreferencesSetValue(
78        prefs: SCPreferencesRef,
79        key: CFStringRef,
80        value: CFPropertyListRef,
81    ) -> Boolean;
82
83    pub fn SCPreferencesRemoveValue(prefs: SCPreferencesRef, key: CFStringRef) -> Boolean;
84
85    pub fn SCPreferencesSetCallback(
86        prefs: SCPreferencesRef,
87        callout: SCPreferencesCallBack,
88        context: *mut SCPreferencesContext,
89    ) -> Boolean;
90
91    pub fn SCPreferencesScheduleWithRunLoop(
92        prefs: SCPreferencesRef,
93        runLoop: CFRunLoopRef,
94        runLoopMode: CFStringRef,
95    ) -> Boolean;
96
97    pub fn SCPreferencesUnscheduleFromRunLoop(
98        prefs: SCPreferencesRef,
99        runLoop: CFRunLoopRef,
100        runLoopMode: CFStringRef,
101    ) -> Boolean;
102
103    pub fn SCPreferencesSetDispatchQueue(
104        prefs: SCPreferencesRef,
105        queue: dispatch_queue_t,
106    ) -> Boolean;
107
108    pub fn SCPreferencesSynchronize(prefs: SCPreferencesRef);
109}