Skip to main content

apple_cf/raw/
generated.rs

1#![allow(warnings)]
2#![allow(clippy::all)]
3
4/* automatically generated by rust-bindgen 0.69.5 */
5
6pub const kCFCoreFoundationVersionNumber10_0: f64 = 196.4;
7pub const kCFCoreFoundationVersionNumber10_0_3: f64 = 196.5;
8pub const kCFCoreFoundationVersionNumber10_1: f64 = 226.0;
9pub const kCFCoreFoundationVersionNumber10_1_1: f64 = 226.0;
10pub const kCFCoreFoundationVersionNumber10_1_2: f64 = 227.2;
11pub const kCFCoreFoundationVersionNumber10_1_3: f64 = 227.2;
12pub const kCFCoreFoundationVersionNumber10_1_4: f64 = 227.3;
13pub const kCFCoreFoundationVersionNumber10_2: f64 = 263.0;
14pub const kCFCoreFoundationVersionNumber10_2_1: f64 = 263.1;
15pub const kCFCoreFoundationVersionNumber10_2_2: f64 = 263.1;
16pub const kCFCoreFoundationVersionNumber10_2_3: f64 = 263.3;
17pub const kCFCoreFoundationVersionNumber10_2_4: f64 = 263.3;
18pub const kCFCoreFoundationVersionNumber10_2_5: f64 = 263.5;
19pub const kCFCoreFoundationVersionNumber10_2_6: f64 = 263.5;
20pub const kCFCoreFoundationVersionNumber10_2_7: f64 = 263.5;
21pub const kCFCoreFoundationVersionNumber10_2_8: f64 = 263.5;
22pub const kCFCoreFoundationVersionNumber10_3: f64 = 299.0;
23pub const kCFCoreFoundationVersionNumber10_3_1: f64 = 299.0;
24pub const kCFCoreFoundationVersionNumber10_3_2: f64 = 299.0;
25pub const kCFCoreFoundationVersionNumber10_3_3: f64 = 299.3;
26pub const kCFCoreFoundationVersionNumber10_3_4: f64 = 299.31;
27pub const kCFCoreFoundationVersionNumber10_3_5: f64 = 299.31;
28pub const kCFCoreFoundationVersionNumber10_3_6: f64 = 299.32;
29pub const kCFCoreFoundationVersionNumber10_3_7: f64 = 299.33;
30pub const kCFCoreFoundationVersionNumber10_3_8: f64 = 299.33;
31pub const kCFCoreFoundationVersionNumber10_3_9: f64 = 299.35;
32pub const kCFCoreFoundationVersionNumber10_4: f64 = 368.0;
33pub const kCFCoreFoundationVersionNumber10_4_1: f64 = 368.1;
34pub const kCFCoreFoundationVersionNumber10_4_2: f64 = 368.11;
35pub const kCFCoreFoundationVersionNumber10_4_3: f64 = 368.18;
36pub const kCFCoreFoundationVersionNumber10_4_4_Intel: f64 = 368.26;
37pub const kCFCoreFoundationVersionNumber10_4_4_PowerPC: f64 = 368.25;
38pub const kCFCoreFoundationVersionNumber10_4_5_Intel: f64 = 368.26;
39pub const kCFCoreFoundationVersionNumber10_4_5_PowerPC: f64 = 368.25;
40pub const kCFCoreFoundationVersionNumber10_4_6_Intel: f64 = 368.26;
41pub const kCFCoreFoundationVersionNumber10_4_6_PowerPC: f64 = 368.25;
42pub const kCFCoreFoundationVersionNumber10_4_7: f64 = 368.27;
43pub const kCFCoreFoundationVersionNumber10_4_8: f64 = 368.27;
44pub const kCFCoreFoundationVersionNumber10_4_9: f64 = 368.28;
45pub const kCFCoreFoundationVersionNumber10_4_10: f64 = 368.28;
46pub const kCFCoreFoundationVersionNumber10_4_11: f64 = 368.31;
47pub const kCFCoreFoundationVersionNumber10_5: f64 = 476.0;
48pub const kCFCoreFoundationVersionNumber10_5_1: f64 = 476.0;
49pub const kCFCoreFoundationVersionNumber10_5_2: f64 = 476.1;
50pub const kCFCoreFoundationVersionNumber10_5_3: f64 = 476.13;
51pub const kCFCoreFoundationVersionNumber10_5_4: f64 = 476.14;
52pub const kCFCoreFoundationVersionNumber10_5_5: f64 = 476.15;
53pub const kCFCoreFoundationVersionNumber10_5_6: f64 = 476.17;
54pub const kCFCoreFoundationVersionNumber10_5_7: f64 = 476.18;
55pub const kCFCoreFoundationVersionNumber10_5_8: f64 = 476.19;
56pub const kCFCoreFoundationVersionNumber10_6: f64 = 550.0;
57pub const kCFCoreFoundationVersionNumber10_6_1: f64 = 550.0;
58pub const kCFCoreFoundationVersionNumber10_6_2: f64 = 550.13;
59pub const kCFCoreFoundationVersionNumber10_6_3: f64 = 550.19;
60pub const kCFCoreFoundationVersionNumber10_6_4: f64 = 550.29;
61pub const kCFCoreFoundationVersionNumber10_6_5: f64 = 550.42;
62pub const kCFCoreFoundationVersionNumber10_6_6: f64 = 550.42;
63pub const kCFCoreFoundationVersionNumber10_6_7: f64 = 550.42;
64pub const kCFCoreFoundationVersionNumber10_6_8: f64 = 550.43;
65pub const kCFCoreFoundationVersionNumber10_7: f64 = 635.0;
66pub const kCFCoreFoundationVersionNumber10_7_1: f64 = 635.0;
67pub const kCFCoreFoundationVersionNumber10_7_2: f64 = 635.15;
68pub const kCFCoreFoundationVersionNumber10_7_3: f64 = 635.19;
69pub const kCFCoreFoundationVersionNumber10_7_4: f64 = 635.21;
70pub const kCFCoreFoundationVersionNumber10_7_5: f64 = 635.21;
71pub const kCFCoreFoundationVersionNumber10_8: f64 = 744.0;
72pub const kCFCoreFoundationVersionNumber10_8_1: f64 = 744.0;
73pub const kCFCoreFoundationVersionNumber10_8_2: f64 = 744.12;
74pub const kCFCoreFoundationVersionNumber10_8_3: f64 = 744.18;
75pub const kCFCoreFoundationVersionNumber10_8_4: f64 = 744.19;
76pub const kCFCoreFoundationVersionNumber10_9: f64 = 855.11;
77pub const kCFCoreFoundationVersionNumber10_9_1: f64 = 855.11;
78pub const kCFCoreFoundationVersionNumber10_9_2: f64 = 855.14;
79pub const kCFCoreFoundationVersionNumber10_10: f64 = 1151.16;
80pub const kCFCoreFoundationVersionNumber10_10_1: f64 = 1151.16;
81pub const kCFCoreFoundationVersionNumber10_10_2: u32 = 1152;
82pub const kCFCoreFoundationVersionNumber10_10_3: f64 = 1153.18;
83pub const kCFCoreFoundationVersionNumber10_10_4: f64 = 1153.18;
84pub const kCFCoreFoundationVersionNumber10_10_5: f64 = 1153.18;
85pub const kCFCoreFoundationVersionNumber10_10_Max: u32 = 1199;
86pub const kCFCoreFoundationVersionNumber10_11: u32 = 1253;
87pub const kCFCoreFoundationVersionNumber10_11_1: f64 = 1255.1;
88pub const kCFCoreFoundationVersionNumber10_11_2: f64 = 1256.14;
89pub const kCFCoreFoundationVersionNumber10_11_3: f64 = 1256.14;
90pub const kCFCoreFoundationVersionNumber10_11_4: f64 = 1258.1;
91pub const kCFCoreFoundationVersionNumber10_11_Max: u32 = 1299;
92pub const kCFStringEncodingInvalidId: u32 = 4294967295;
93pub const DISPATCH_API_VERSION: u32 = 20181008;
94pub const DISPATCH_SWIFT3_OVERLAY: u32 = 0;
95pub const MSEC_PER_SEC: u32 = 1000;
96pub const DISPATCH_TIME_NOW: u32 = 0;
97pub const DISPATCH_TIME_FOREVER: i32 = -1;
98pub const DISPATCH_APPLY_AUTO_AVAILABLE: u32 = 1;
99pub const DISPATCH_QUEUE_PRIORITY_HIGH: u32 = 2;
100pub const DISPATCH_QUEUE_PRIORITY_DEFAULT: u32 = 0;
101pub const DISPATCH_QUEUE_PRIORITY_LOW: i32 = -2;
102pub const DISPATCH_QUEUE_PRIORITY_BACKGROUND: i32 = -32768;
103pub const DISPATCH_MACH_SEND_DEAD: u32 = 1;
104pub const DISPATCH_MEMORYPRESSURE_NORMAL: u32 = 1;
105pub const DISPATCH_MEMORYPRESSURE_WARN: u32 = 2;
106pub const DISPATCH_MEMORYPRESSURE_CRITICAL: u32 = 4;
107pub const DISPATCH_PROC_EXIT: u32 = 2147483648;
108pub const DISPATCH_PROC_FORK: u32 = 1073741824;
109pub const DISPATCH_PROC_EXEC: u32 = 536870912;
110pub const DISPATCH_PROC_SIGNAL: u32 = 134217728;
111pub const DISPATCH_VNODE_DELETE: u32 = 1;
112pub const DISPATCH_VNODE_WRITE: u32 = 2;
113pub const DISPATCH_VNODE_EXTEND: u32 = 4;
114pub const DISPATCH_VNODE_ATTRIB: u32 = 8;
115pub const DISPATCH_VNODE_LINK: u32 = 16;
116pub const DISPATCH_VNODE_RENAME: u32 = 32;
117pub const DISPATCH_VNODE_REVOKE: u32 = 64;
118pub const DISPATCH_VNODE_FUNLOCK: u32 = 256;
119pub const DISPATCH_TIMER_STRICT: u32 = 1;
120pub const DISPATCH_ONCE_INLINE_FASTPATH: u32 = 1;
121pub const DISPATCH_IO_STREAM: u32 = 0;
122pub const DISPATCH_IO_RANDOM: u32 = 1;
123pub const DISPATCH_IO_STOP: u32 = 1;
124pub const DISPATCH_IO_STRICT_INTERVAL: u32 = 1;
125pub const kCMTimeMaxTimescale: u32 = 2147483647;
126pub const kIOSurfaceSuccess: u32 = 0;
127pub type __uint16_t = ::core::ffi::c_ushort;
128pub type __uint32_t = ::core::ffi::c_uint;
129pub type __int64_t = ::core::ffi::c_longlong;
130pub type __darwin_natural_t = ::core::ffi::c_uint;
131pub type __darwin_time_t = ::core::ffi::c_long;
132pub type __darwin_gid_t = __uint32_t;
133pub type __darwin_mach_port_name_t = __darwin_natural_t;
134pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
135pub type __darwin_mode_t = __uint16_t;
136pub type __darwin_off_t = __int64_t;
137pub type __darwin_uid_t = __uint32_t;
138pub type gid_t = __darwin_gid_t;
139pub type mode_t = __darwin_mode_t;
140pub type off_t = __darwin_off_t;
141pub type uid_t = __darwin_uid_t;
142pub type va_list = __builtin_va_list;
143#[repr(C)]
144#[derive(Debug, Copy, Clone)]
145pub struct _malloc_zone_t {
146    _unused: [u8; 0],
147}
148#[repr(C)]
149#[derive(Debug, Copy, Clone)]
150pub struct timespec {
151    pub tv_sec: __darwin_time_t,
152    pub tv_nsec: ::core::ffi::c_long,
153}
154pub type UInt8 = ::core::ffi::c_uchar;
155pub type SInt8 = ::core::ffi::c_schar;
156pub type UInt16 = ::core::ffi::c_ushort;
157pub type SInt16 = ::core::ffi::c_short;
158pub type UInt32 = ::core::ffi::c_uint;
159pub type SInt32 = ::core::ffi::c_int;
160pub type SInt64 = ::core::ffi::c_longlong;
161pub type Fixed = SInt32;
162pub type Float32 = f32;
163pub type Float64 = f64;
164pub type Ptr = *mut ::core::ffi::c_char;
165pub type Handle = *mut Ptr;
166pub type OSErr = SInt16;
167pub type OSStatus = SInt32;
168pub type ScriptCode = SInt16;
169pub type LangCode = SInt16;
170pub type RegionCode = SInt16;
171pub type FourCharCode = UInt32;
172pub type OSType = FourCharCode;
173pub type Boolean = ::core::ffi::c_uchar;
174pub type UTF32Char = UInt32;
175pub type UniChar = UInt16;
176pub type UniCharCount = ::core::ffi::c_ulong;
177pub type Str255 = [::core::ffi::c_uchar; 256usize];
178pub type StringPtr = *mut ::core::ffi::c_uchar;
179pub type ConstStringPtr = *const ::core::ffi::c_uchar;
180pub type ConstStr255Param = *const ::core::ffi::c_uchar;
181pub type CFAllocatorTypeID = ::core::ffi::c_ulonglong;
182extern "C" {
183    pub static mut kCFCoreFoundationVersionNumber: f64;
184}
185pub type CFTypeID = ::core::ffi::c_ulong;
186pub type CFOptionFlags = ::core::ffi::c_ulong;
187pub type CFHashCode = ::core::ffi::c_ulong;
188pub type CFIndex = ::core::ffi::c_long;
189pub type CFTypeRef = *const ::core::ffi::c_void;
190#[repr(C)]
191#[derive(Debug, Copy, Clone)]
192pub struct __CFString {
193    _unused: [u8; 0],
194}
195pub type CFStringRef = *const __CFString;
196pub type CFMutableStringRef = *mut __CFString;
197pub type CFPropertyListRef = CFTypeRef;
198pub type CFComparisonResult = CFIndex;
199pub const kCFCompareLessThan: _bindgen_ty_7 = -1;
200pub const kCFCompareEqualTo: _bindgen_ty_7 = 0;
201pub const kCFCompareGreaterThan: _bindgen_ty_7 = 1;
202pub type _bindgen_ty_7 = ::core::ffi::c_int;
203pub type CFComparatorFunction = ::core::option::Option<
204    unsafe extern "C" fn(
205        val1: *const ::core::ffi::c_void,
206        val2: *const ::core::ffi::c_void,
207        context: *mut ::core::ffi::c_void,
208    ) -> CFComparisonResult,
209>;
210pub const kCFNotFound: CFIndex = -1;
211#[repr(C)]
212#[derive(Debug, Copy, Clone)]
213pub struct CFRange {
214    pub location: CFIndex,
215    pub length: CFIndex,
216}
217#[repr(C)]
218#[derive(Debug, Copy, Clone)]
219pub struct __CFNull {
220    _unused: [u8; 0],
221}
222pub type CFNullRef = *const __CFNull;
223extern "C" {
224    pub fn CFNullGetTypeID() -> CFTypeID;
225}
226extern "C" {
227    pub static kCFNull: CFNullRef;
228}
229#[repr(C)]
230#[derive(Debug, Copy, Clone)]
231pub struct __CFAllocator {
232    _unused: [u8; 0],
233}
234pub type CFAllocatorRef = *const __CFAllocator;
235extern "C" {
236    pub static kCFAllocatorDefault: CFAllocatorRef;
237}
238extern "C" {
239    pub static kCFAllocatorSystemDefault: CFAllocatorRef;
240}
241extern "C" {
242    pub static kCFAllocatorMalloc: CFAllocatorRef;
243}
244extern "C" {
245    pub static kCFAllocatorMallocZone: CFAllocatorRef;
246}
247extern "C" {
248    pub static kCFAllocatorNull: CFAllocatorRef;
249}
250extern "C" {
251    pub static kCFAllocatorUseContext: CFAllocatorRef;
252}
253pub type CFAllocatorRetainCallBack = ::core::option::Option<
254    unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
255>;
256pub type CFAllocatorReleaseCallBack =
257    ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>;
258pub type CFAllocatorCopyDescriptionCallBack =
259    ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef>;
260pub type CFAllocatorAllocateCallBack = ::core::option::Option<
261    unsafe extern "C" fn(
262        allocSize: CFIndex,
263        hint: CFOptionFlags,
264        info: *mut ::core::ffi::c_void,
265    ) -> *mut ::core::ffi::c_void,
266>;
267pub type CFAllocatorReallocateCallBack = ::core::option::Option<
268    unsafe extern "C" fn(
269        ptr: *mut ::core::ffi::c_void,
270        newsize: CFIndex,
271        hint: CFOptionFlags,
272        info: *mut ::core::ffi::c_void,
273    ) -> *mut ::core::ffi::c_void,
274>;
275pub type CFAllocatorDeallocateCallBack = ::core::option::Option<
276    unsafe extern "C" fn(ptr: *mut ::core::ffi::c_void, info: *mut ::core::ffi::c_void),
277>;
278pub type CFAllocatorPreferredSizeCallBack = ::core::option::Option<
279    unsafe extern "C" fn(
280        size: CFIndex,
281        hint: CFOptionFlags,
282        info: *mut ::core::ffi::c_void,
283    ) -> CFIndex,
284>;
285#[repr(C)]
286#[derive(Debug, Copy, Clone)]
287pub struct CFAllocatorContext {
288    pub version: CFIndex,
289    pub info: *mut ::core::ffi::c_void,
290    pub retain: CFAllocatorRetainCallBack,
291    pub release: CFAllocatorReleaseCallBack,
292    pub copyDescription: CFAllocatorCopyDescriptionCallBack,
293    pub allocate: CFAllocatorAllocateCallBack,
294    pub reallocate: CFAllocatorReallocateCallBack,
295    pub deallocate: CFAllocatorDeallocateCallBack,
296    pub preferredSize: CFAllocatorPreferredSizeCallBack,
297}
298extern "C" {
299    pub fn CFAllocatorGetTypeID() -> CFTypeID;
300}
301extern "C" {
302    pub fn CFAllocatorSetDefault(allocator: CFAllocatorRef);
303}
304extern "C" {
305    pub fn CFAllocatorGetDefault() -> CFAllocatorRef;
306}
307extern "C" {
308    pub fn CFAllocatorCreate(
309        allocator: CFAllocatorRef,
310        context: *mut CFAllocatorContext,
311    ) -> CFAllocatorRef;
312}
313extern "C" {
314    pub fn CFAllocatorCreateWithZone(
315        allocator: CFAllocatorRef,
316        zone: *mut _malloc_zone_t,
317    ) -> CFAllocatorRef;
318}
319extern "C" {
320    pub fn CFAllocatorAllocateTyped(
321        allocator: CFAllocatorRef,
322        size: CFIndex,
323        descriptor: CFAllocatorTypeID,
324        hint: CFOptionFlags,
325    ) -> *mut ::core::ffi::c_void;
326}
327extern "C" {
328    pub fn CFAllocatorReallocateTyped(
329        allocator: CFAllocatorRef,
330        ptr: *mut ::core::ffi::c_void,
331        newsize: CFIndex,
332        descriptor: CFAllocatorTypeID,
333        hint: CFOptionFlags,
334    ) -> *mut ::core::ffi::c_void;
335}
336extern "C" {
337    pub fn CFAllocatorAllocateBytes(
338        allocator: CFAllocatorRef,
339        size: CFIndex,
340        hint: CFOptionFlags,
341    ) -> *mut ::core::ffi::c_void;
342}
343extern "C" {
344    pub fn CFAllocatorReallocateBytes(
345        allocator: CFAllocatorRef,
346        ptr: *mut ::core::ffi::c_void,
347        newsize: CFIndex,
348        hint: CFOptionFlags,
349    ) -> *mut ::core::ffi::c_void;
350}
351extern "C" {
352    pub fn CFAllocatorAllocate(
353        allocator: CFAllocatorRef,
354        size: CFIndex,
355        hint: CFOptionFlags,
356    ) -> *mut ::core::ffi::c_void;
357}
358extern "C" {
359    pub fn CFAllocatorReallocate(
360        allocator: CFAllocatorRef,
361        ptr: *mut ::core::ffi::c_void,
362        newsize: CFIndex,
363        hint: CFOptionFlags,
364    ) -> *mut ::core::ffi::c_void;
365}
366extern "C" {
367    pub fn CFAllocatorDeallocate(allocator: CFAllocatorRef, ptr: *mut ::core::ffi::c_void);
368}
369extern "C" {
370    pub fn CFAllocatorGetPreferredSizeForSize(
371        allocator: CFAllocatorRef,
372        size: CFIndex,
373        hint: CFOptionFlags,
374    ) -> CFIndex;
375}
376extern "C" {
377    pub fn CFAllocatorGetContext(allocator: CFAllocatorRef, context: *mut CFAllocatorContext);
378}
379extern "C" {
380    pub fn CFGetTypeID(cf: CFTypeRef) -> CFTypeID;
381}
382extern "C" {
383    pub fn CFCopyTypeIDDescription(type_id: CFTypeID) -> CFStringRef;
384}
385extern "C" {
386    pub fn CFRetain(cf: CFTypeRef) -> CFTypeRef;
387}
388extern "C" {
389    pub fn CFRelease(cf: CFTypeRef);
390}
391extern "C" {
392    pub fn CFAutorelease(arg: CFTypeRef) -> CFTypeRef;
393}
394extern "C" {
395    pub fn CFGetRetainCount(cf: CFTypeRef) -> CFIndex;
396}
397extern "C" {
398    pub fn CFEqual(cf1: CFTypeRef, cf2: CFTypeRef) -> Boolean;
399}
400extern "C" {
401    pub fn CFHash(cf: CFTypeRef) -> CFHashCode;
402}
403extern "C" {
404    pub fn CFCopyDescription(cf: CFTypeRef) -> CFStringRef;
405}
406extern "C" {
407    pub fn CFGetAllocator(cf: CFTypeRef) -> CFAllocatorRef;
408}
409extern "C" {
410    pub fn CFMakeCollectable(cf: CFTypeRef) -> CFTypeRef;
411}
412pub type CFArrayRetainCallBack = ::core::option::Option<
413    unsafe extern "C" fn(
414        allocator: CFAllocatorRef,
415        value: *const ::core::ffi::c_void,
416    ) -> *const ::core::ffi::c_void,
417>;
418pub type CFArrayReleaseCallBack = ::core::option::Option<
419    unsafe extern "C" fn(allocator: CFAllocatorRef, value: *const ::core::ffi::c_void),
420>;
421pub type CFArrayCopyDescriptionCallBack =
422    ::core::option::Option<unsafe extern "C" fn(value: *const ::core::ffi::c_void) -> CFStringRef>;
423pub type CFArrayEqualCallBack = ::core::option::Option<
424    unsafe extern "C" fn(
425        value1: *const ::core::ffi::c_void,
426        value2: *const ::core::ffi::c_void,
427    ) -> Boolean,
428>;
429#[repr(C)]
430#[derive(Debug, Copy, Clone)]
431pub struct CFArrayCallBacks {
432    pub version: CFIndex,
433    pub retain: CFArrayRetainCallBack,
434    pub release: CFArrayReleaseCallBack,
435    pub copyDescription: CFArrayCopyDescriptionCallBack,
436    pub equal: CFArrayEqualCallBack,
437}
438extern "C" {
439    pub static kCFTypeArrayCallBacks: CFArrayCallBacks;
440}
441pub type CFArrayApplierFunction = ::core::option::Option<
442    unsafe extern "C" fn(value: *const ::core::ffi::c_void, context: *mut ::core::ffi::c_void),
443>;
444#[repr(C)]
445#[derive(Debug, Copy, Clone)]
446pub struct __CFArray {
447    _unused: [u8; 0],
448}
449pub type CFArrayRef = *const __CFArray;
450pub type CFMutableArrayRef = *mut __CFArray;
451extern "C" {
452    pub fn CFArrayGetTypeID() -> CFTypeID;
453}
454extern "C" {
455    pub fn CFArrayCreate(
456        allocator: CFAllocatorRef,
457        values: *mut *const ::core::ffi::c_void,
458        numValues: CFIndex,
459        callBacks: *const CFArrayCallBacks,
460    ) -> CFArrayRef;
461}
462extern "C" {
463    pub fn CFArrayCreateCopy(allocator: CFAllocatorRef, theArray: CFArrayRef) -> CFArrayRef;
464}
465extern "C" {
466    pub fn CFArrayCreateMutable(
467        allocator: CFAllocatorRef,
468        capacity: CFIndex,
469        callBacks: *const CFArrayCallBacks,
470    ) -> CFMutableArrayRef;
471}
472extern "C" {
473    pub fn CFArrayCreateMutableCopy(
474        allocator: CFAllocatorRef,
475        capacity: CFIndex,
476        theArray: CFArrayRef,
477    ) -> CFMutableArrayRef;
478}
479extern "C" {
480    pub fn CFArrayGetCount(theArray: CFArrayRef) -> CFIndex;
481}
482extern "C" {
483    pub fn CFArrayGetCountOfValue(
484        theArray: CFArrayRef,
485        range: CFRange,
486        value: *const ::core::ffi::c_void,
487    ) -> CFIndex;
488}
489extern "C" {
490    pub fn CFArrayContainsValue(
491        theArray: CFArrayRef,
492        range: CFRange,
493        value: *const ::core::ffi::c_void,
494    ) -> Boolean;
495}
496extern "C" {
497    pub fn CFArrayGetValueAtIndex(theArray: CFArrayRef, idx: CFIndex)
498        -> *const ::core::ffi::c_void;
499}
500extern "C" {
501    pub fn CFArrayGetValues(
502        theArray: CFArrayRef,
503        range: CFRange,
504        values: *mut *const ::core::ffi::c_void,
505    );
506}
507extern "C" {
508    pub fn CFArrayApplyFunction(
509        theArray: CFArrayRef,
510        range: CFRange,
511        applier: CFArrayApplierFunction,
512        context: *mut ::core::ffi::c_void,
513    );
514}
515extern "C" {
516    pub fn CFArrayGetFirstIndexOfValue(
517        theArray: CFArrayRef,
518        range: CFRange,
519        value: *const ::core::ffi::c_void,
520    ) -> CFIndex;
521}
522extern "C" {
523    pub fn CFArrayGetLastIndexOfValue(
524        theArray: CFArrayRef,
525        range: CFRange,
526        value: *const ::core::ffi::c_void,
527    ) -> CFIndex;
528}
529extern "C" {
530    pub fn CFArrayBSearchValues(
531        theArray: CFArrayRef,
532        range: CFRange,
533        value: *const ::core::ffi::c_void,
534        comparator: CFComparatorFunction,
535        context: *mut ::core::ffi::c_void,
536    ) -> CFIndex;
537}
538extern "C" {
539    pub fn CFArrayAppendValue(theArray: CFMutableArrayRef, value: *const ::core::ffi::c_void);
540}
541extern "C" {
542    pub fn CFArrayInsertValueAtIndex(
543        theArray: CFMutableArrayRef,
544        idx: CFIndex,
545        value: *const ::core::ffi::c_void,
546    );
547}
548extern "C" {
549    pub fn CFArraySetValueAtIndex(
550        theArray: CFMutableArrayRef,
551        idx: CFIndex,
552        value: *const ::core::ffi::c_void,
553    );
554}
555extern "C" {
556    pub fn CFArrayRemoveValueAtIndex(theArray: CFMutableArrayRef, idx: CFIndex);
557}
558extern "C" {
559    pub fn CFArrayRemoveAllValues(theArray: CFMutableArrayRef);
560}
561extern "C" {
562    pub fn CFArrayReplaceValues(
563        theArray: CFMutableArrayRef,
564        range: CFRange,
565        newValues: *mut *const ::core::ffi::c_void,
566        newCount: CFIndex,
567    );
568}
569extern "C" {
570    pub fn CFArrayExchangeValuesAtIndices(
571        theArray: CFMutableArrayRef,
572        idx1: CFIndex,
573        idx2: CFIndex,
574    );
575}
576extern "C" {
577    pub fn CFArraySortValues(
578        theArray: CFMutableArrayRef,
579        range: CFRange,
580        comparator: CFComparatorFunction,
581        context: *mut ::core::ffi::c_void,
582    );
583}
584extern "C" {
585    pub fn CFArrayAppendArray(
586        theArray: CFMutableArrayRef,
587        otherArray: CFArrayRef,
588        otherRange: CFRange,
589    );
590}
591pub type CFBagRetainCallBack = ::core::option::Option<
592    unsafe extern "C" fn(
593        allocator: CFAllocatorRef,
594        value: *const ::core::ffi::c_void,
595    ) -> *const ::core::ffi::c_void,
596>;
597pub type CFBagReleaseCallBack = ::core::option::Option<
598    unsafe extern "C" fn(allocator: CFAllocatorRef, value: *const ::core::ffi::c_void),
599>;
600pub type CFBagCopyDescriptionCallBack =
601    ::core::option::Option<unsafe extern "C" fn(value: *const ::core::ffi::c_void) -> CFStringRef>;
602pub type CFBagEqualCallBack = ::core::option::Option<
603    unsafe extern "C" fn(
604        value1: *const ::core::ffi::c_void,
605        value2: *const ::core::ffi::c_void,
606    ) -> Boolean,
607>;
608pub type CFBagHashCallBack =
609    ::core::option::Option<unsafe extern "C" fn(value: *const ::core::ffi::c_void) -> CFHashCode>;
610#[repr(C)]
611#[derive(Debug, Copy, Clone)]
612pub struct CFBagCallBacks {
613    pub version: CFIndex,
614    pub retain: CFBagRetainCallBack,
615    pub release: CFBagReleaseCallBack,
616    pub copyDescription: CFBagCopyDescriptionCallBack,
617    pub equal: CFBagEqualCallBack,
618    pub hash: CFBagHashCallBack,
619}
620extern "C" {
621    pub static kCFTypeBagCallBacks: CFBagCallBacks;
622}
623extern "C" {
624    pub static kCFCopyStringBagCallBacks: CFBagCallBacks;
625}
626pub type CFBagApplierFunction = ::core::option::Option<
627    unsafe extern "C" fn(value: *const ::core::ffi::c_void, context: *mut ::core::ffi::c_void),
628>;
629#[repr(C)]
630#[derive(Debug, Copy, Clone)]
631pub struct __CFBag {
632    _unused: [u8; 0],
633}
634pub type CFBagRef = *const __CFBag;
635pub type CFMutableBagRef = *mut __CFBag;
636extern "C" {
637    pub fn CFBagGetTypeID() -> CFTypeID;
638}
639extern "C" {
640    pub fn CFBagCreate(
641        allocator: CFAllocatorRef,
642        values: *mut *const ::core::ffi::c_void,
643        numValues: CFIndex,
644        callBacks: *const CFBagCallBacks,
645    ) -> CFBagRef;
646}
647extern "C" {
648    pub fn CFBagCreateCopy(allocator: CFAllocatorRef, theBag: CFBagRef) -> CFBagRef;
649}
650extern "C" {
651    pub fn CFBagCreateMutable(
652        allocator: CFAllocatorRef,
653        capacity: CFIndex,
654        callBacks: *const CFBagCallBacks,
655    ) -> CFMutableBagRef;
656}
657extern "C" {
658    pub fn CFBagCreateMutableCopy(
659        allocator: CFAllocatorRef,
660        capacity: CFIndex,
661        theBag: CFBagRef,
662    ) -> CFMutableBagRef;
663}
664extern "C" {
665    pub fn CFBagGetCount(theBag: CFBagRef) -> CFIndex;
666}
667extern "C" {
668    pub fn CFBagGetCountOfValue(theBag: CFBagRef, value: *const ::core::ffi::c_void) -> CFIndex;
669}
670extern "C" {
671    pub fn CFBagContainsValue(theBag: CFBagRef, value: *const ::core::ffi::c_void) -> Boolean;
672}
673extern "C" {
674    pub fn CFBagGetValue(
675        theBag: CFBagRef,
676        value: *const ::core::ffi::c_void,
677    ) -> *const ::core::ffi::c_void;
678}
679extern "C" {
680    pub fn CFBagGetValueIfPresent(
681        theBag: CFBagRef,
682        candidate: *const ::core::ffi::c_void,
683        value: *mut *const ::core::ffi::c_void,
684    ) -> Boolean;
685}
686extern "C" {
687    pub fn CFBagGetValues(theBag: CFBagRef, values: *mut *const ::core::ffi::c_void);
688}
689extern "C" {
690    pub fn CFBagApplyFunction(
691        theBag: CFBagRef,
692        applier: CFBagApplierFunction,
693        context: *mut ::core::ffi::c_void,
694    );
695}
696extern "C" {
697    pub fn CFBagAddValue(theBag: CFMutableBagRef, value: *const ::core::ffi::c_void);
698}
699extern "C" {
700    pub fn CFBagReplaceValue(theBag: CFMutableBagRef, value: *const ::core::ffi::c_void);
701}
702extern "C" {
703    pub fn CFBagSetValue(theBag: CFMutableBagRef, value: *const ::core::ffi::c_void);
704}
705extern "C" {
706    pub fn CFBagRemoveValue(theBag: CFMutableBagRef, value: *const ::core::ffi::c_void);
707}
708extern "C" {
709    pub fn CFBagRemoveAllValues(theBag: CFMutableBagRef);
710}
711#[repr(C)]
712#[derive(Debug, Copy, Clone)]
713pub struct CFBinaryHeapCompareContext {
714    pub version: CFIndex,
715    pub info: *mut ::core::ffi::c_void,
716    pub retain: ::core::option::Option<
717        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
718    >,
719    pub release: ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>,
720    pub copyDescription: ::core::option::Option<
721        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef,
722    >,
723}
724#[repr(C)]
725#[derive(Debug, Copy, Clone)]
726pub struct CFBinaryHeapCallBacks {
727    pub version: CFIndex,
728    pub retain: ::core::option::Option<
729        unsafe extern "C" fn(
730            allocator: CFAllocatorRef,
731            ptr: *const ::core::ffi::c_void,
732        ) -> *const ::core::ffi::c_void,
733    >,
734    pub release: ::core::option::Option<
735        unsafe extern "C" fn(allocator: CFAllocatorRef, ptr: *const ::core::ffi::c_void),
736    >,
737    pub copyDescription: ::core::option::Option<
738        unsafe extern "C" fn(ptr: *const ::core::ffi::c_void) -> CFStringRef,
739    >,
740    pub compare: ::core::option::Option<
741        unsafe extern "C" fn(
742            ptr1: *const ::core::ffi::c_void,
743            ptr2: *const ::core::ffi::c_void,
744            context: *mut ::core::ffi::c_void,
745        ) -> CFComparisonResult,
746    >,
747}
748extern "C" {
749    pub static kCFStringBinaryHeapCallBacks: CFBinaryHeapCallBacks;
750}
751pub type CFBinaryHeapApplierFunction = ::core::option::Option<
752    unsafe extern "C" fn(val: *const ::core::ffi::c_void, context: *mut ::core::ffi::c_void),
753>;
754#[repr(C)]
755#[derive(Debug, Copy, Clone)]
756pub struct __CFBinaryHeap {
757    _unused: [u8; 0],
758}
759pub type CFBinaryHeapRef = *mut __CFBinaryHeap;
760extern "C" {
761    pub fn CFBinaryHeapGetTypeID() -> CFTypeID;
762}
763extern "C" {
764    pub fn CFBinaryHeapCreate(
765        allocator: CFAllocatorRef,
766        capacity: CFIndex,
767        callBacks: *const CFBinaryHeapCallBacks,
768        compareContext: *const CFBinaryHeapCompareContext,
769    ) -> CFBinaryHeapRef;
770}
771extern "C" {
772    pub fn CFBinaryHeapCreateCopy(
773        allocator: CFAllocatorRef,
774        capacity: CFIndex,
775        heap: CFBinaryHeapRef,
776    ) -> CFBinaryHeapRef;
777}
778extern "C" {
779    pub fn CFBinaryHeapGetCount(heap: CFBinaryHeapRef) -> CFIndex;
780}
781extern "C" {
782    pub fn CFBinaryHeapGetCountOfValue(
783        heap: CFBinaryHeapRef,
784        value: *const ::core::ffi::c_void,
785    ) -> CFIndex;
786}
787extern "C" {
788    pub fn CFBinaryHeapContainsValue(
789        heap: CFBinaryHeapRef,
790        value: *const ::core::ffi::c_void,
791    ) -> Boolean;
792}
793extern "C" {
794    pub fn CFBinaryHeapGetMinimum(heap: CFBinaryHeapRef) -> *const ::core::ffi::c_void;
795}
796extern "C" {
797    pub fn CFBinaryHeapGetMinimumIfPresent(
798        heap: CFBinaryHeapRef,
799        value: *mut *const ::core::ffi::c_void,
800    ) -> Boolean;
801}
802extern "C" {
803    pub fn CFBinaryHeapGetValues(heap: CFBinaryHeapRef, values: *mut *const ::core::ffi::c_void);
804}
805extern "C" {
806    pub fn CFBinaryHeapApplyFunction(
807        heap: CFBinaryHeapRef,
808        applier: CFBinaryHeapApplierFunction,
809        context: *mut ::core::ffi::c_void,
810    );
811}
812extern "C" {
813    pub fn CFBinaryHeapAddValue(heap: CFBinaryHeapRef, value: *const ::core::ffi::c_void);
814}
815extern "C" {
816    pub fn CFBinaryHeapRemoveMinimumValue(heap: CFBinaryHeapRef);
817}
818extern "C" {
819    pub fn CFBinaryHeapRemoveAllValues(heap: CFBinaryHeapRef);
820}
821pub type CFBit = UInt32;
822#[repr(C)]
823#[derive(Debug, Copy, Clone)]
824pub struct __CFBitVector {
825    _unused: [u8; 0],
826}
827pub type CFBitVectorRef = *const __CFBitVector;
828pub type CFMutableBitVectorRef = *mut __CFBitVector;
829extern "C" {
830    pub fn CFBitVectorGetTypeID() -> CFTypeID;
831}
832extern "C" {
833    pub fn CFBitVectorCreate(
834        allocator: CFAllocatorRef,
835        bytes: *const UInt8,
836        numBits: CFIndex,
837    ) -> CFBitVectorRef;
838}
839extern "C" {
840    pub fn CFBitVectorCreateCopy(allocator: CFAllocatorRef, bv: CFBitVectorRef) -> CFBitVectorRef;
841}
842extern "C" {
843    pub fn CFBitVectorCreateMutable(
844        allocator: CFAllocatorRef,
845        capacity: CFIndex,
846    ) -> CFMutableBitVectorRef;
847}
848extern "C" {
849    pub fn CFBitVectorCreateMutableCopy(
850        allocator: CFAllocatorRef,
851        capacity: CFIndex,
852        bv: CFBitVectorRef,
853    ) -> CFMutableBitVectorRef;
854}
855extern "C" {
856    pub fn CFBitVectorGetCount(bv: CFBitVectorRef) -> CFIndex;
857}
858extern "C" {
859    pub fn CFBitVectorGetCountOfBit(bv: CFBitVectorRef, range: CFRange, value: CFBit) -> CFIndex;
860}
861extern "C" {
862    pub fn CFBitVectorContainsBit(bv: CFBitVectorRef, range: CFRange, value: CFBit) -> Boolean;
863}
864extern "C" {
865    pub fn CFBitVectorGetBitAtIndex(bv: CFBitVectorRef, idx: CFIndex) -> CFBit;
866}
867extern "C" {
868    pub fn CFBitVectorGetBits(bv: CFBitVectorRef, range: CFRange, bytes: *mut UInt8);
869}
870extern "C" {
871    pub fn CFBitVectorGetFirstIndexOfBit(
872        bv: CFBitVectorRef,
873        range: CFRange,
874        value: CFBit,
875    ) -> CFIndex;
876}
877extern "C" {
878    pub fn CFBitVectorGetLastIndexOfBit(
879        bv: CFBitVectorRef,
880        range: CFRange,
881        value: CFBit,
882    ) -> CFIndex;
883}
884extern "C" {
885    pub fn CFBitVectorSetCount(bv: CFMutableBitVectorRef, count: CFIndex);
886}
887extern "C" {
888    pub fn CFBitVectorFlipBitAtIndex(bv: CFMutableBitVectorRef, idx: CFIndex);
889}
890extern "C" {
891    pub fn CFBitVectorFlipBits(bv: CFMutableBitVectorRef, range: CFRange);
892}
893extern "C" {
894    pub fn CFBitVectorSetBitAtIndex(bv: CFMutableBitVectorRef, idx: CFIndex, value: CFBit);
895}
896extern "C" {
897    pub fn CFBitVectorSetBits(bv: CFMutableBitVectorRef, range: CFRange, value: CFBit);
898}
899extern "C" {
900    pub fn CFBitVectorSetAllBits(bv: CFMutableBitVectorRef, value: CFBit);
901}
902pub type CFByteOrder = CFIndex;
903#[repr(C)]
904#[derive(Debug, Copy, Clone)]
905pub struct CFSwappedFloat32 {
906    pub v: u32,
907}
908#[repr(C)]
909#[derive(Debug, Copy, Clone)]
910pub struct CFSwappedFloat64 {
911    pub v: u64,
912}
913pub type CFDictionaryRetainCallBack = ::core::option::Option<
914    unsafe extern "C" fn(
915        allocator: CFAllocatorRef,
916        value: *const ::core::ffi::c_void,
917    ) -> *const ::core::ffi::c_void,
918>;
919pub type CFDictionaryReleaseCallBack = ::core::option::Option<
920    unsafe extern "C" fn(allocator: CFAllocatorRef, value: *const ::core::ffi::c_void),
921>;
922pub type CFDictionaryCopyDescriptionCallBack =
923    ::core::option::Option<unsafe extern "C" fn(value: *const ::core::ffi::c_void) -> CFStringRef>;
924pub type CFDictionaryEqualCallBack = ::core::option::Option<
925    unsafe extern "C" fn(
926        value1: *const ::core::ffi::c_void,
927        value2: *const ::core::ffi::c_void,
928    ) -> Boolean,
929>;
930pub type CFDictionaryHashCallBack =
931    ::core::option::Option<unsafe extern "C" fn(value: *const ::core::ffi::c_void) -> CFHashCode>;
932#[repr(C)]
933#[derive(Debug, Copy, Clone)]
934pub struct CFDictionaryKeyCallBacks {
935    pub version: CFIndex,
936    pub retain: CFDictionaryRetainCallBack,
937    pub release: CFDictionaryReleaseCallBack,
938    pub copyDescription: CFDictionaryCopyDescriptionCallBack,
939    pub equal: CFDictionaryEqualCallBack,
940    pub hash: CFDictionaryHashCallBack,
941}
942extern "C" {
943    pub static kCFTypeDictionaryKeyCallBacks: CFDictionaryKeyCallBacks;
944}
945extern "C" {
946    pub static kCFCopyStringDictionaryKeyCallBacks: CFDictionaryKeyCallBacks;
947}
948#[repr(C)]
949#[derive(Debug, Copy, Clone)]
950pub struct CFDictionaryValueCallBacks {
951    pub version: CFIndex,
952    pub retain: CFDictionaryRetainCallBack,
953    pub release: CFDictionaryReleaseCallBack,
954    pub copyDescription: CFDictionaryCopyDescriptionCallBack,
955    pub equal: CFDictionaryEqualCallBack,
956}
957extern "C" {
958    pub static kCFTypeDictionaryValueCallBacks: CFDictionaryValueCallBacks;
959}
960pub type CFDictionaryApplierFunction = ::core::option::Option<
961    unsafe extern "C" fn(
962        key: *const ::core::ffi::c_void,
963        value: *const ::core::ffi::c_void,
964        context: *mut ::core::ffi::c_void,
965    ),
966>;
967#[repr(C)]
968#[derive(Debug, Copy, Clone)]
969pub struct __CFDictionary {
970    _unused: [u8; 0],
971}
972pub type CFDictionaryRef = *const __CFDictionary;
973pub type CFMutableDictionaryRef = *mut __CFDictionary;
974extern "C" {
975    pub fn CFDictionaryGetTypeID() -> CFTypeID;
976}
977extern "C" {
978    pub fn CFDictionaryCreate(
979        allocator: CFAllocatorRef,
980        keys: *mut *const ::core::ffi::c_void,
981        values: *mut *const ::core::ffi::c_void,
982        numValues: CFIndex,
983        keyCallBacks: *const CFDictionaryKeyCallBacks,
984        valueCallBacks: *const CFDictionaryValueCallBacks,
985    ) -> CFDictionaryRef;
986}
987extern "C" {
988    pub fn CFDictionaryCreateCopy(
989        allocator: CFAllocatorRef,
990        theDict: CFDictionaryRef,
991    ) -> CFDictionaryRef;
992}
993extern "C" {
994    pub fn CFDictionaryCreateMutable(
995        allocator: CFAllocatorRef,
996        capacity: CFIndex,
997        keyCallBacks: *const CFDictionaryKeyCallBacks,
998        valueCallBacks: *const CFDictionaryValueCallBacks,
999    ) -> CFMutableDictionaryRef;
1000}
1001extern "C" {
1002    pub fn CFDictionaryCreateMutableCopy(
1003        allocator: CFAllocatorRef,
1004        capacity: CFIndex,
1005        theDict: CFDictionaryRef,
1006    ) -> CFMutableDictionaryRef;
1007}
1008extern "C" {
1009    pub fn CFDictionaryGetCount(theDict: CFDictionaryRef) -> CFIndex;
1010}
1011extern "C" {
1012    pub fn CFDictionaryGetCountOfKey(
1013        theDict: CFDictionaryRef,
1014        key: *const ::core::ffi::c_void,
1015    ) -> CFIndex;
1016}
1017extern "C" {
1018    pub fn CFDictionaryGetCountOfValue(
1019        theDict: CFDictionaryRef,
1020        value: *const ::core::ffi::c_void,
1021    ) -> CFIndex;
1022}
1023extern "C" {
1024    pub fn CFDictionaryContainsKey(
1025        theDict: CFDictionaryRef,
1026        key: *const ::core::ffi::c_void,
1027    ) -> Boolean;
1028}
1029extern "C" {
1030    pub fn CFDictionaryContainsValue(
1031        theDict: CFDictionaryRef,
1032        value: *const ::core::ffi::c_void,
1033    ) -> Boolean;
1034}
1035extern "C" {
1036    pub fn CFDictionaryGetValue(
1037        theDict: CFDictionaryRef,
1038        key: *const ::core::ffi::c_void,
1039    ) -> *const ::core::ffi::c_void;
1040}
1041extern "C" {
1042    pub fn CFDictionaryGetValueIfPresent(
1043        theDict: CFDictionaryRef,
1044        key: *const ::core::ffi::c_void,
1045        value: *mut *const ::core::ffi::c_void,
1046    ) -> Boolean;
1047}
1048extern "C" {
1049    pub fn CFDictionaryGetKeysAndValues(
1050        theDict: CFDictionaryRef,
1051        keys: *mut *const ::core::ffi::c_void,
1052        values: *mut *const ::core::ffi::c_void,
1053    );
1054}
1055extern "C" {
1056    pub fn CFDictionaryApplyFunction(
1057        theDict: CFDictionaryRef,
1058        applier: CFDictionaryApplierFunction,
1059        context: *mut ::core::ffi::c_void,
1060    );
1061}
1062extern "C" {
1063    pub fn CFDictionaryAddValue(
1064        theDict: CFMutableDictionaryRef,
1065        key: *const ::core::ffi::c_void,
1066        value: *const ::core::ffi::c_void,
1067    );
1068}
1069extern "C" {
1070    pub fn CFDictionarySetValue(
1071        theDict: CFMutableDictionaryRef,
1072        key: *const ::core::ffi::c_void,
1073        value: *const ::core::ffi::c_void,
1074    );
1075}
1076extern "C" {
1077    pub fn CFDictionaryReplaceValue(
1078        theDict: CFMutableDictionaryRef,
1079        key: *const ::core::ffi::c_void,
1080        value: *const ::core::ffi::c_void,
1081    );
1082}
1083extern "C" {
1084    pub fn CFDictionaryRemoveValue(
1085        theDict: CFMutableDictionaryRef,
1086        key: *const ::core::ffi::c_void,
1087    );
1088}
1089extern "C" {
1090    pub fn CFDictionaryRemoveAllValues(theDict: CFMutableDictionaryRef);
1091}
1092pub type CFNotificationName = CFStringRef;
1093#[repr(C)]
1094#[derive(Debug, Copy, Clone)]
1095pub struct __CFNotificationCenter {
1096    _unused: [u8; 0],
1097}
1098pub type CFNotificationCenterRef = *mut __CFNotificationCenter;
1099pub type CFNotificationCallback = ::core::option::Option<
1100    unsafe extern "C" fn(
1101        center: CFNotificationCenterRef,
1102        observer: *mut ::core::ffi::c_void,
1103        name: CFNotificationName,
1104        object: *const ::core::ffi::c_void,
1105        userInfo: CFDictionaryRef,
1106    ),
1107>;
1108pub type CFNotificationSuspensionBehavior = CFIndex;
1109extern "C" {
1110    pub fn CFNotificationCenterGetTypeID() -> CFTypeID;
1111}
1112extern "C" {
1113    pub fn CFNotificationCenterGetLocalCenter() -> CFNotificationCenterRef;
1114}
1115extern "C" {
1116    pub fn CFNotificationCenterGetDistributedCenter() -> CFNotificationCenterRef;
1117}
1118extern "C" {
1119    pub fn CFNotificationCenterGetDarwinNotifyCenter() -> CFNotificationCenterRef;
1120}
1121extern "C" {
1122    pub fn CFNotificationCenterAddObserver(
1123        center: CFNotificationCenterRef,
1124        observer: *const ::core::ffi::c_void,
1125        callBack: CFNotificationCallback,
1126        name: CFStringRef,
1127        object: *const ::core::ffi::c_void,
1128        suspensionBehavior: CFNotificationSuspensionBehavior,
1129    );
1130}
1131extern "C" {
1132    pub fn CFNotificationCenterRemoveObserver(
1133        center: CFNotificationCenterRef,
1134        observer: *const ::core::ffi::c_void,
1135        name: CFNotificationName,
1136        object: *const ::core::ffi::c_void,
1137    );
1138}
1139extern "C" {
1140    pub fn CFNotificationCenterRemoveEveryObserver(
1141        center: CFNotificationCenterRef,
1142        observer: *const ::core::ffi::c_void,
1143    );
1144}
1145extern "C" {
1146    pub fn CFNotificationCenterPostNotification(
1147        center: CFNotificationCenterRef,
1148        name: CFNotificationName,
1149        object: *const ::core::ffi::c_void,
1150        userInfo: CFDictionaryRef,
1151        deliverImmediately: Boolean,
1152    );
1153}
1154pub const kCFNotificationDeliverImmediately: _bindgen_ty_10 = 1;
1155pub const kCFNotificationPostToAllSessions: _bindgen_ty_10 = 2;
1156pub type _bindgen_ty_10 = ::core::ffi::c_uint;
1157extern "C" {
1158    pub fn CFNotificationCenterPostNotificationWithOptions(
1159        center: CFNotificationCenterRef,
1160        name: CFNotificationName,
1161        object: *const ::core::ffi::c_void,
1162        userInfo: CFDictionaryRef,
1163        options: CFOptionFlags,
1164    );
1165}
1166pub type CFLocaleIdentifier = CFStringRef;
1167pub type CFLocaleKey = CFStringRef;
1168#[repr(C)]
1169#[derive(Debug, Copy, Clone)]
1170pub struct __CFLocale {
1171    _unused: [u8; 0],
1172}
1173pub type CFLocaleRef = *const __CFLocale;
1174extern "C" {
1175    pub fn CFLocaleGetTypeID() -> CFTypeID;
1176}
1177extern "C" {
1178    pub fn CFLocaleGetSystem() -> CFLocaleRef;
1179}
1180extern "C" {
1181    pub fn CFLocaleCopyCurrent() -> CFLocaleRef;
1182}
1183extern "C" {
1184    pub fn CFLocaleCopyAvailableLocaleIdentifiers() -> CFArrayRef;
1185}
1186extern "C" {
1187    pub fn CFLocaleCopyISOLanguageCodes() -> CFArrayRef;
1188}
1189extern "C" {
1190    pub fn CFLocaleCopyISOCountryCodes() -> CFArrayRef;
1191}
1192extern "C" {
1193    pub fn CFLocaleCopyISOCurrencyCodes() -> CFArrayRef;
1194}
1195extern "C" {
1196    pub fn CFLocaleCopyCommonISOCurrencyCodes() -> CFArrayRef;
1197}
1198extern "C" {
1199    pub fn CFLocaleCopyPreferredLanguages() -> CFArrayRef;
1200}
1201extern "C" {
1202    pub fn CFLocaleCreateCanonicalLanguageIdentifierFromString(
1203        allocator: CFAllocatorRef,
1204        localeIdentifier: CFStringRef,
1205    ) -> CFLocaleIdentifier;
1206}
1207extern "C" {
1208    pub fn CFLocaleCreateCanonicalLocaleIdentifierFromString(
1209        allocator: CFAllocatorRef,
1210        localeIdentifier: CFStringRef,
1211    ) -> CFLocaleIdentifier;
1212}
1213extern "C" {
1214    pub fn CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes(
1215        allocator: CFAllocatorRef,
1216        lcode: LangCode,
1217        rcode: RegionCode,
1218    ) -> CFLocaleIdentifier;
1219}
1220extern "C" {
1221    pub fn CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode(
1222        allocator: CFAllocatorRef,
1223        lcid: u32,
1224    ) -> CFLocaleIdentifier;
1225}
1226extern "C" {
1227    pub fn CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier(
1228        localeIdentifier: CFLocaleIdentifier,
1229    ) -> u32;
1230}
1231pub type CFLocaleLanguageDirection = CFIndex;
1232pub const kCFLocaleLanguageDirectionUnknown: _bindgen_ty_11 = 0;
1233pub const kCFLocaleLanguageDirectionLeftToRight: _bindgen_ty_11 = 1;
1234pub const kCFLocaleLanguageDirectionRightToLeft: _bindgen_ty_11 = 2;
1235pub const kCFLocaleLanguageDirectionTopToBottom: _bindgen_ty_11 = 3;
1236pub const kCFLocaleLanguageDirectionBottomToTop: _bindgen_ty_11 = 4;
1237pub type _bindgen_ty_11 = ::core::ffi::c_uint;
1238extern "C" {
1239    pub fn CFLocaleGetLanguageCharacterDirection(
1240        isoLangCode: CFStringRef,
1241    ) -> CFLocaleLanguageDirection;
1242}
1243extern "C" {
1244    pub fn CFLocaleGetLanguageLineDirection(isoLangCode: CFStringRef) -> CFLocaleLanguageDirection;
1245}
1246extern "C" {
1247    pub fn CFLocaleCreateComponentsFromLocaleIdentifier(
1248        allocator: CFAllocatorRef,
1249        localeID: CFLocaleIdentifier,
1250    ) -> CFDictionaryRef;
1251}
1252extern "C" {
1253    pub fn CFLocaleCreateLocaleIdentifierFromComponents(
1254        allocator: CFAllocatorRef,
1255        dictionary: CFDictionaryRef,
1256    ) -> CFLocaleIdentifier;
1257}
1258extern "C" {
1259    pub fn CFLocaleCreate(
1260        allocator: CFAllocatorRef,
1261        localeIdentifier: CFLocaleIdentifier,
1262    ) -> CFLocaleRef;
1263}
1264extern "C" {
1265    pub fn CFLocaleCreateCopy(allocator: CFAllocatorRef, locale: CFLocaleRef) -> CFLocaleRef;
1266}
1267extern "C" {
1268    pub fn CFLocaleGetIdentifier(locale: CFLocaleRef) -> CFLocaleIdentifier;
1269}
1270extern "C" {
1271    pub fn CFLocaleGetValue(locale: CFLocaleRef, key: CFLocaleKey) -> CFTypeRef;
1272}
1273extern "C" {
1274    pub fn CFLocaleCopyDisplayNameForPropertyValue(
1275        displayLocale: CFLocaleRef,
1276        key: CFLocaleKey,
1277        value: CFStringRef,
1278    ) -> CFStringRef;
1279}
1280extern "C" {
1281    pub static kCFLocaleCurrentLocaleDidChangeNotification: CFNotificationName;
1282}
1283extern "C" {
1284    pub static kCFLocaleIdentifier: CFLocaleKey;
1285}
1286extern "C" {
1287    pub static kCFLocaleLanguageCode: CFLocaleKey;
1288}
1289extern "C" {
1290    pub static kCFLocaleCountryCode: CFLocaleKey;
1291}
1292extern "C" {
1293    pub static kCFLocaleScriptCode: CFLocaleKey;
1294}
1295extern "C" {
1296    pub static kCFLocaleVariantCode: CFLocaleKey;
1297}
1298extern "C" {
1299    pub static kCFLocaleExemplarCharacterSet: CFLocaleKey;
1300}
1301extern "C" {
1302    pub static kCFLocaleCalendarIdentifier: CFLocaleKey;
1303}
1304extern "C" {
1305    pub static kCFLocaleCalendar: CFLocaleKey;
1306}
1307extern "C" {
1308    pub static kCFLocaleCollationIdentifier: CFLocaleKey;
1309}
1310extern "C" {
1311    pub static kCFLocaleUsesMetricSystem: CFLocaleKey;
1312}
1313extern "C" {
1314    pub static kCFLocaleMeasurementSystem: CFLocaleKey;
1315}
1316extern "C" {
1317    pub static kCFLocaleDecimalSeparator: CFLocaleKey;
1318}
1319extern "C" {
1320    pub static kCFLocaleGroupingSeparator: CFLocaleKey;
1321}
1322extern "C" {
1323    pub static kCFLocaleCurrencySymbol: CFLocaleKey;
1324}
1325extern "C" {
1326    pub static kCFLocaleCurrencyCode: CFLocaleKey;
1327}
1328extern "C" {
1329    pub static kCFLocaleCollatorIdentifier: CFLocaleKey;
1330}
1331extern "C" {
1332    pub static kCFLocaleQuotationBeginDelimiterKey: CFLocaleKey;
1333}
1334extern "C" {
1335    pub static kCFLocaleQuotationEndDelimiterKey: CFLocaleKey;
1336}
1337extern "C" {
1338    pub static kCFLocaleAlternateQuotationBeginDelimiterKey: CFLocaleKey;
1339}
1340extern "C" {
1341    pub static kCFLocaleAlternateQuotationEndDelimiterKey: CFLocaleKey;
1342}
1343pub type CFCalendarIdentifier = CFStringRef;
1344extern "C" {
1345    pub static kCFGregorianCalendar: CFCalendarIdentifier;
1346}
1347extern "C" {
1348    pub static kCFBuddhistCalendar: CFCalendarIdentifier;
1349}
1350extern "C" {
1351    pub static kCFChineseCalendar: CFCalendarIdentifier;
1352}
1353extern "C" {
1354    pub static kCFHebrewCalendar: CFCalendarIdentifier;
1355}
1356extern "C" {
1357    pub static kCFIslamicCalendar: CFCalendarIdentifier;
1358}
1359extern "C" {
1360    pub static kCFIslamicCivilCalendar: CFCalendarIdentifier;
1361}
1362extern "C" {
1363    pub static kCFJapaneseCalendar: CFCalendarIdentifier;
1364}
1365extern "C" {
1366    pub static kCFRepublicOfChinaCalendar: CFCalendarIdentifier;
1367}
1368extern "C" {
1369    pub static kCFPersianCalendar: CFCalendarIdentifier;
1370}
1371extern "C" {
1372    pub static kCFIndianCalendar: CFCalendarIdentifier;
1373}
1374extern "C" {
1375    pub static kCFISO8601Calendar: CFCalendarIdentifier;
1376}
1377extern "C" {
1378    pub static kCFIslamicTabularCalendar: CFCalendarIdentifier;
1379}
1380extern "C" {
1381    pub static kCFIslamicUmmAlQuraCalendar: CFCalendarIdentifier;
1382}
1383extern "C" {
1384    pub static kCFBanglaCalendar: CFCalendarIdentifier;
1385}
1386extern "C" {
1387    pub static kCFGujaratiCalendar: CFCalendarIdentifier;
1388}
1389extern "C" {
1390    pub static kCFKannadaCalendar: CFCalendarIdentifier;
1391}
1392extern "C" {
1393    pub static kCFMalayalamCalendar: CFCalendarIdentifier;
1394}
1395extern "C" {
1396    pub static kCFMarathiCalendar: CFCalendarIdentifier;
1397}
1398extern "C" {
1399    pub static kCFOdiaCalendar: CFCalendarIdentifier;
1400}
1401extern "C" {
1402    pub static kCFTamilCalendar: CFCalendarIdentifier;
1403}
1404extern "C" {
1405    pub static kCFTeluguCalendar: CFCalendarIdentifier;
1406}
1407extern "C" {
1408    pub static kCFVikramCalendar: CFCalendarIdentifier;
1409}
1410extern "C" {
1411    pub static kCFDangiCalendar: CFCalendarIdentifier;
1412}
1413extern "C" {
1414    pub static kCFVietnameseCalendar: CFCalendarIdentifier;
1415}
1416pub type CFTimeInterval = f64;
1417pub type CFAbsoluteTime = CFTimeInterval;
1418extern "C" {
1419    pub fn CFAbsoluteTimeGetCurrent() -> CFAbsoluteTime;
1420}
1421extern "C" {
1422    pub static kCFAbsoluteTimeIntervalSince1970: CFTimeInterval;
1423}
1424extern "C" {
1425    pub static kCFAbsoluteTimeIntervalSince1904: CFTimeInterval;
1426}
1427#[repr(C)]
1428#[derive(Debug, Copy, Clone)]
1429pub struct __CFDate {
1430    _unused: [u8; 0],
1431}
1432pub type CFDateRef = *const __CFDate;
1433extern "C" {
1434    pub fn CFDateGetTypeID() -> CFTypeID;
1435}
1436extern "C" {
1437    pub fn CFDateCreate(allocator: CFAllocatorRef, at: CFAbsoluteTime) -> CFDateRef;
1438}
1439extern "C" {
1440    pub fn CFDateGetAbsoluteTime(theDate: CFDateRef) -> CFAbsoluteTime;
1441}
1442extern "C" {
1443    pub fn CFDateGetTimeIntervalSinceDate(
1444        theDate: CFDateRef,
1445        otherDate: CFDateRef,
1446    ) -> CFTimeInterval;
1447}
1448extern "C" {
1449    pub fn CFDateCompare(
1450        theDate: CFDateRef,
1451        otherDate: CFDateRef,
1452        context: *mut ::core::ffi::c_void,
1453    ) -> CFComparisonResult;
1454}
1455#[repr(C)]
1456#[derive(Debug, Copy, Clone)]
1457pub struct __CFTimeZone {
1458    _unused: [u8; 0],
1459}
1460pub type CFTimeZoneRef = *const __CFTimeZone;
1461#[repr(C)]
1462#[derive(Debug, Copy, Clone)]
1463pub struct CFGregorianDate {
1464    pub year: SInt32,
1465    pub month: SInt8,
1466    pub day: SInt8,
1467    pub hour: SInt8,
1468    pub minute: SInt8,
1469    pub second: f64,
1470}
1471#[repr(C)]
1472#[derive(Debug, Copy, Clone)]
1473pub struct CFGregorianUnits {
1474    pub years: SInt32,
1475    pub months: SInt32,
1476    pub days: SInt32,
1477    pub hours: SInt32,
1478    pub minutes: SInt32,
1479    pub seconds: f64,
1480}
1481pub type CFGregorianUnitFlags = CFOptionFlags;
1482pub const kCFGregorianUnitsYears: _bindgen_ty_12 = 1;
1483pub const kCFGregorianUnitsMonths: _bindgen_ty_12 = 2;
1484pub const kCFGregorianUnitsDays: _bindgen_ty_12 = 4;
1485pub const kCFGregorianUnitsHours: _bindgen_ty_12 = 8;
1486pub const kCFGregorianUnitsMinutes: _bindgen_ty_12 = 16;
1487pub const kCFGregorianUnitsSeconds: _bindgen_ty_12 = 32;
1488pub const kCFGregorianAllUnits: _bindgen_ty_12 = 16777215;
1489pub type _bindgen_ty_12 = ::core::ffi::c_uint;
1490extern "C" {
1491    pub fn CFGregorianDateIsValid(gdate: CFGregorianDate, unitFlags: CFOptionFlags) -> Boolean;
1492}
1493extern "C" {
1494    pub fn CFGregorianDateGetAbsoluteTime(
1495        gdate: CFGregorianDate,
1496        tz: CFTimeZoneRef,
1497    ) -> CFAbsoluteTime;
1498}
1499extern "C" {
1500    pub fn CFAbsoluteTimeGetGregorianDate(at: CFAbsoluteTime, tz: CFTimeZoneRef)
1501        -> CFGregorianDate;
1502}
1503extern "C" {
1504    pub fn CFAbsoluteTimeAddGregorianUnits(
1505        at: CFAbsoluteTime,
1506        tz: CFTimeZoneRef,
1507        units: CFGregorianUnits,
1508    ) -> CFAbsoluteTime;
1509}
1510extern "C" {
1511    pub fn CFAbsoluteTimeGetDifferenceAsGregorianUnits(
1512        at1: CFAbsoluteTime,
1513        at2: CFAbsoluteTime,
1514        tz: CFTimeZoneRef,
1515        unitFlags: CFOptionFlags,
1516    ) -> CFGregorianUnits;
1517}
1518extern "C" {
1519    pub fn CFAbsoluteTimeGetDayOfWeek(at: CFAbsoluteTime, tz: CFTimeZoneRef) -> SInt32;
1520}
1521extern "C" {
1522    pub fn CFAbsoluteTimeGetDayOfYear(at: CFAbsoluteTime, tz: CFTimeZoneRef) -> SInt32;
1523}
1524extern "C" {
1525    pub fn CFAbsoluteTimeGetWeekOfYear(at: CFAbsoluteTime, tz: CFTimeZoneRef) -> SInt32;
1526}
1527#[repr(C)]
1528#[derive(Debug, Copy, Clone)]
1529pub struct __CFData {
1530    _unused: [u8; 0],
1531}
1532pub type CFDataRef = *const __CFData;
1533pub type CFMutableDataRef = *mut __CFData;
1534extern "C" {
1535    pub fn CFDataGetTypeID() -> CFTypeID;
1536}
1537extern "C" {
1538    pub fn CFDataCreate(
1539        allocator: CFAllocatorRef,
1540        bytes: *const UInt8,
1541        length: CFIndex,
1542    ) -> CFDataRef;
1543}
1544extern "C" {
1545    pub fn CFDataCreateWithBytesNoCopy(
1546        allocator: CFAllocatorRef,
1547        bytes: *const UInt8,
1548        length: CFIndex,
1549        bytesDeallocator: CFAllocatorRef,
1550    ) -> CFDataRef;
1551}
1552extern "C" {
1553    pub fn CFDataCreateCopy(allocator: CFAllocatorRef, theData: CFDataRef) -> CFDataRef;
1554}
1555extern "C" {
1556    pub fn CFDataCreateMutable(allocator: CFAllocatorRef, capacity: CFIndex) -> CFMutableDataRef;
1557}
1558extern "C" {
1559    pub fn CFDataCreateMutableCopy(
1560        allocator: CFAllocatorRef,
1561        capacity: CFIndex,
1562        theData: CFDataRef,
1563    ) -> CFMutableDataRef;
1564}
1565extern "C" {
1566    pub fn CFDataGetLength(theData: CFDataRef) -> CFIndex;
1567}
1568extern "C" {
1569    pub fn CFDataGetBytePtr(theData: CFDataRef) -> *const UInt8;
1570}
1571extern "C" {
1572    pub fn CFDataGetMutableBytePtr(theData: CFMutableDataRef) -> *mut UInt8;
1573}
1574extern "C" {
1575    pub fn CFDataGetBytes(theData: CFDataRef, range: CFRange, buffer: *mut UInt8);
1576}
1577extern "C" {
1578    pub fn CFDataSetLength(theData: CFMutableDataRef, length: CFIndex);
1579}
1580extern "C" {
1581    pub fn CFDataIncreaseLength(theData: CFMutableDataRef, extraLength: CFIndex);
1582}
1583extern "C" {
1584    pub fn CFDataAppendBytes(theData: CFMutableDataRef, bytes: *const UInt8, length: CFIndex);
1585}
1586extern "C" {
1587    pub fn CFDataReplaceBytes(
1588        theData: CFMutableDataRef,
1589        range: CFRange,
1590        newBytes: *const UInt8,
1591        newLength: CFIndex,
1592    );
1593}
1594extern "C" {
1595    pub fn CFDataDeleteBytes(theData: CFMutableDataRef, range: CFRange);
1596}
1597pub type CFDataSearchFlags = CFOptionFlags;
1598pub const kCFDataSearchBackwards: _bindgen_ty_13 = 1;
1599pub const kCFDataSearchAnchored: _bindgen_ty_13 = 2;
1600pub type _bindgen_ty_13 = ::core::ffi::c_uint;
1601extern "C" {
1602    pub fn CFDataFind(
1603        theData: CFDataRef,
1604        dataToFind: CFDataRef,
1605        searchRange: CFRange,
1606        compareOptions: CFDataSearchFlags,
1607    ) -> CFRange;
1608}
1609#[repr(C)]
1610#[derive(Debug, Copy, Clone)]
1611pub struct __CFCharacterSet {
1612    _unused: [u8; 0],
1613}
1614pub type CFCharacterSetRef = *const __CFCharacterSet;
1615pub type CFMutableCharacterSetRef = *mut __CFCharacterSet;
1616pub type CFCharacterSetPredefinedSet = CFIndex;
1617pub const kCFCharacterSetControl: _bindgen_ty_14 = 1;
1618pub const kCFCharacterSetWhitespace: _bindgen_ty_14 = 2;
1619pub const kCFCharacterSetWhitespaceAndNewline: _bindgen_ty_14 = 3;
1620pub const kCFCharacterSetDecimalDigit: _bindgen_ty_14 = 4;
1621pub const kCFCharacterSetLetter: _bindgen_ty_14 = 5;
1622pub const kCFCharacterSetLowercaseLetter: _bindgen_ty_14 = 6;
1623pub const kCFCharacterSetUppercaseLetter: _bindgen_ty_14 = 7;
1624pub const kCFCharacterSetNonBase: _bindgen_ty_14 = 8;
1625pub const kCFCharacterSetDecomposable: _bindgen_ty_14 = 9;
1626pub const kCFCharacterSetAlphaNumeric: _bindgen_ty_14 = 10;
1627pub const kCFCharacterSetPunctuation: _bindgen_ty_14 = 11;
1628pub const kCFCharacterSetCapitalizedLetter: _bindgen_ty_14 = 13;
1629pub const kCFCharacterSetSymbol: _bindgen_ty_14 = 14;
1630pub const kCFCharacterSetNewline: _bindgen_ty_14 = 15;
1631pub const kCFCharacterSetIllegal: _bindgen_ty_14 = 12;
1632pub type _bindgen_ty_14 = ::core::ffi::c_uint;
1633extern "C" {
1634    pub fn CFCharacterSetGetTypeID() -> CFTypeID;
1635}
1636extern "C" {
1637    pub fn CFCharacterSetGetPredefined(
1638        theSetIdentifier: CFCharacterSetPredefinedSet,
1639    ) -> CFCharacterSetRef;
1640}
1641extern "C" {
1642    pub fn CFCharacterSetCreateWithCharactersInRange(
1643        alloc: CFAllocatorRef,
1644        theRange: CFRange,
1645    ) -> CFCharacterSetRef;
1646}
1647extern "C" {
1648    pub fn CFCharacterSetCreateWithCharactersInString(
1649        alloc: CFAllocatorRef,
1650        theString: CFStringRef,
1651    ) -> CFCharacterSetRef;
1652}
1653extern "C" {
1654    pub fn CFCharacterSetCreateWithBitmapRepresentation(
1655        alloc: CFAllocatorRef,
1656        theData: CFDataRef,
1657    ) -> CFCharacterSetRef;
1658}
1659extern "C" {
1660    pub fn CFCharacterSetCreateInvertedSet(
1661        alloc: CFAllocatorRef,
1662        theSet: CFCharacterSetRef,
1663    ) -> CFCharacterSetRef;
1664}
1665extern "C" {
1666    pub fn CFCharacterSetIsSupersetOfSet(
1667        theSet: CFCharacterSetRef,
1668        theOtherset: CFCharacterSetRef,
1669    ) -> Boolean;
1670}
1671extern "C" {
1672    pub fn CFCharacterSetHasMemberInPlane(theSet: CFCharacterSetRef, thePlane: CFIndex) -> Boolean;
1673}
1674extern "C" {
1675    pub fn CFCharacterSetCreateMutable(alloc: CFAllocatorRef) -> CFMutableCharacterSetRef;
1676}
1677extern "C" {
1678    pub fn CFCharacterSetCreateCopy(
1679        alloc: CFAllocatorRef,
1680        theSet: CFCharacterSetRef,
1681    ) -> CFCharacterSetRef;
1682}
1683extern "C" {
1684    pub fn CFCharacterSetCreateMutableCopy(
1685        alloc: CFAllocatorRef,
1686        theSet: CFCharacterSetRef,
1687    ) -> CFMutableCharacterSetRef;
1688}
1689extern "C" {
1690    pub fn CFCharacterSetIsCharacterMember(theSet: CFCharacterSetRef, theChar: UniChar) -> Boolean;
1691}
1692extern "C" {
1693    pub fn CFCharacterSetIsLongCharacterMember(
1694        theSet: CFCharacterSetRef,
1695        theChar: UTF32Char,
1696    ) -> Boolean;
1697}
1698extern "C" {
1699    pub fn CFCharacterSetCreateBitmapRepresentation(
1700        alloc: CFAllocatorRef,
1701        theSet: CFCharacterSetRef,
1702    ) -> CFDataRef;
1703}
1704extern "C" {
1705    pub fn CFCharacterSetAddCharactersInRange(theSet: CFMutableCharacterSetRef, theRange: CFRange);
1706}
1707extern "C" {
1708    pub fn CFCharacterSetRemoveCharactersInRange(
1709        theSet: CFMutableCharacterSetRef,
1710        theRange: CFRange,
1711    );
1712}
1713extern "C" {
1714    pub fn CFCharacterSetAddCharactersInString(
1715        theSet: CFMutableCharacterSetRef,
1716        theString: CFStringRef,
1717    );
1718}
1719extern "C" {
1720    pub fn CFCharacterSetRemoveCharactersInString(
1721        theSet: CFMutableCharacterSetRef,
1722        theString: CFStringRef,
1723    );
1724}
1725extern "C" {
1726    pub fn CFCharacterSetUnion(theSet: CFMutableCharacterSetRef, theOtherSet: CFCharacterSetRef);
1727}
1728extern "C" {
1729    pub fn CFCharacterSetIntersect(
1730        theSet: CFMutableCharacterSetRef,
1731        theOtherSet: CFCharacterSetRef,
1732    );
1733}
1734extern "C" {
1735    pub fn CFCharacterSetInvert(theSet: CFMutableCharacterSetRef);
1736}
1737pub type CFErrorDomain = CFStringRef;
1738#[repr(C)]
1739#[derive(Debug, Copy, Clone)]
1740pub struct __CFError {
1741    _unused: [u8; 0],
1742}
1743pub type CFErrorRef = *mut __CFError;
1744extern "C" {
1745    pub fn CFErrorGetTypeID() -> CFTypeID;
1746}
1747extern "C" {
1748    pub static kCFErrorDomainPOSIX: CFErrorDomain;
1749}
1750extern "C" {
1751    pub static kCFErrorDomainOSStatus: CFErrorDomain;
1752}
1753extern "C" {
1754    pub static kCFErrorDomainMach: CFErrorDomain;
1755}
1756extern "C" {
1757    pub static kCFErrorDomainCocoa: CFErrorDomain;
1758}
1759extern "C" {
1760    pub static kCFErrorLocalizedDescriptionKey: CFStringRef;
1761}
1762extern "C" {
1763    pub static kCFErrorLocalizedFailureKey: CFStringRef;
1764}
1765extern "C" {
1766    pub static kCFErrorLocalizedFailureReasonKey: CFStringRef;
1767}
1768extern "C" {
1769    pub static kCFErrorLocalizedRecoverySuggestionKey: CFStringRef;
1770}
1771extern "C" {
1772    pub static kCFErrorDescriptionKey: CFStringRef;
1773}
1774extern "C" {
1775    pub static kCFErrorUnderlyingErrorKey: CFStringRef;
1776}
1777extern "C" {
1778    pub static kCFErrorURLKey: CFStringRef;
1779}
1780extern "C" {
1781    pub static kCFErrorFilePathKey: CFStringRef;
1782}
1783extern "C" {
1784    pub fn CFErrorCreate(
1785        allocator: CFAllocatorRef,
1786        domain: CFErrorDomain,
1787        code: CFIndex,
1788        userInfo: CFDictionaryRef,
1789    ) -> CFErrorRef;
1790}
1791extern "C" {
1792    pub fn CFErrorCreateWithUserInfoKeysAndValues(
1793        allocator: CFAllocatorRef,
1794        domain: CFErrorDomain,
1795        code: CFIndex,
1796        userInfoKeys: *const *const ::core::ffi::c_void,
1797        userInfoValues: *const *const ::core::ffi::c_void,
1798        numUserInfoValues: CFIndex,
1799    ) -> CFErrorRef;
1800}
1801extern "C" {
1802    pub fn CFErrorGetDomain(err: CFErrorRef) -> CFErrorDomain;
1803}
1804extern "C" {
1805    pub fn CFErrorGetCode(err: CFErrorRef) -> CFIndex;
1806}
1807extern "C" {
1808    pub fn CFErrorCopyUserInfo(err: CFErrorRef) -> CFDictionaryRef;
1809}
1810extern "C" {
1811    pub fn CFErrorCopyDescription(err: CFErrorRef) -> CFStringRef;
1812}
1813extern "C" {
1814    pub fn CFErrorCopyFailureReason(err: CFErrorRef) -> CFStringRef;
1815}
1816extern "C" {
1817    pub fn CFErrorCopyRecoverySuggestion(err: CFErrorRef) -> CFStringRef;
1818}
1819pub type CFStringEncoding = UInt32;
1820pub type CFStringBuiltInEncodings = CFStringEncoding;
1821pub const kCFStringEncodingMacRoman: _bindgen_ty_15 = 0;
1822pub const kCFStringEncodingWindowsLatin1: _bindgen_ty_15 = 1280;
1823pub const kCFStringEncodingISOLatin1: _bindgen_ty_15 = 513;
1824pub const kCFStringEncodingNextStepLatin: _bindgen_ty_15 = 2817;
1825pub const kCFStringEncodingASCII: _bindgen_ty_15 = 1536;
1826pub const kCFStringEncodingUnicode: _bindgen_ty_15 = 256;
1827pub const kCFStringEncodingUTF8: _bindgen_ty_15 = 134217984;
1828pub const kCFStringEncodingNonLossyASCII: _bindgen_ty_15 = 3071;
1829pub const kCFStringEncodingUTF16: _bindgen_ty_15 = 256;
1830pub const kCFStringEncodingUTF16BE: _bindgen_ty_15 = 268435712;
1831pub const kCFStringEncodingUTF16LE: _bindgen_ty_15 = 335544576;
1832pub const kCFStringEncodingUTF32: _bindgen_ty_15 = 201326848;
1833pub const kCFStringEncodingUTF32BE: _bindgen_ty_15 = 402653440;
1834pub const kCFStringEncodingUTF32LE: _bindgen_ty_15 = 469762304;
1835pub type _bindgen_ty_15 = ::core::ffi::c_uint;
1836extern "C" {
1837    pub fn CFStringGetTypeID() -> CFTypeID;
1838}
1839extern "C" {
1840    pub fn CFStringCreateWithPascalString(
1841        alloc: CFAllocatorRef,
1842        pStr: ConstStr255Param,
1843        encoding: CFStringEncoding,
1844    ) -> CFStringRef;
1845}
1846extern "C" {
1847    pub fn CFStringCreateWithCString(
1848        alloc: CFAllocatorRef,
1849        cStr: *const ::core::ffi::c_char,
1850        encoding: CFStringEncoding,
1851    ) -> CFStringRef;
1852}
1853extern "C" {
1854    pub fn CFStringCreateWithBytes(
1855        alloc: CFAllocatorRef,
1856        bytes: *const UInt8,
1857        numBytes: CFIndex,
1858        encoding: CFStringEncoding,
1859        isExternalRepresentation: Boolean,
1860    ) -> CFStringRef;
1861}
1862extern "C" {
1863    pub fn CFStringCreateWithCharacters(
1864        alloc: CFAllocatorRef,
1865        chars: *const UniChar,
1866        numChars: CFIndex,
1867    ) -> CFStringRef;
1868}
1869extern "C" {
1870    pub fn CFStringCreateWithPascalStringNoCopy(
1871        alloc: CFAllocatorRef,
1872        pStr: ConstStr255Param,
1873        encoding: CFStringEncoding,
1874        contentsDeallocator: CFAllocatorRef,
1875    ) -> CFStringRef;
1876}
1877extern "C" {
1878    pub fn CFStringCreateWithCStringNoCopy(
1879        alloc: CFAllocatorRef,
1880        cStr: *const ::core::ffi::c_char,
1881        encoding: CFStringEncoding,
1882        contentsDeallocator: CFAllocatorRef,
1883    ) -> CFStringRef;
1884}
1885extern "C" {
1886    pub fn CFStringCreateWithBytesNoCopy(
1887        alloc: CFAllocatorRef,
1888        bytes: *const UInt8,
1889        numBytes: CFIndex,
1890        encoding: CFStringEncoding,
1891        isExternalRepresentation: Boolean,
1892        contentsDeallocator: CFAllocatorRef,
1893    ) -> CFStringRef;
1894}
1895extern "C" {
1896    pub fn CFStringCreateWithCharactersNoCopy(
1897        alloc: CFAllocatorRef,
1898        chars: *const UniChar,
1899        numChars: CFIndex,
1900        contentsDeallocator: CFAllocatorRef,
1901    ) -> CFStringRef;
1902}
1903extern "C" {
1904    pub fn CFStringCreateWithSubstring(
1905        alloc: CFAllocatorRef,
1906        str_: CFStringRef,
1907        range: CFRange,
1908    ) -> CFStringRef;
1909}
1910extern "C" {
1911    pub fn CFStringCreateCopy(alloc: CFAllocatorRef, theString: CFStringRef) -> CFStringRef;
1912}
1913extern "C" {
1914    pub fn CFStringCreateWithFormat(
1915        alloc: CFAllocatorRef,
1916        formatOptions: CFDictionaryRef,
1917        format: CFStringRef,
1918        ...
1919    ) -> CFStringRef;
1920}
1921extern "C" {
1922    pub fn CFStringCreateWithFormatAndArguments(
1923        alloc: CFAllocatorRef,
1924        formatOptions: CFDictionaryRef,
1925        format: CFStringRef,
1926        arguments: va_list,
1927    ) -> CFStringRef;
1928}
1929extern "C" {
1930    pub fn CFStringCreateStringWithValidatedFormat(
1931        alloc: CFAllocatorRef,
1932        formatOptions: CFDictionaryRef,
1933        validFormatSpecifiers: CFStringRef,
1934        format: CFStringRef,
1935        errorPtr: *mut CFErrorRef,
1936        ...
1937    ) -> CFStringRef;
1938}
1939extern "C" {
1940    pub fn CFStringCreateStringWithValidatedFormatAndArguments(
1941        alloc: CFAllocatorRef,
1942        formatOptions: CFDictionaryRef,
1943        validFormatSpecifiers: CFStringRef,
1944        format: CFStringRef,
1945        arguments: va_list,
1946        errorPtr: *mut CFErrorRef,
1947    ) -> CFStringRef;
1948}
1949extern "C" {
1950    pub fn CFStringCreateMutable(alloc: CFAllocatorRef, maxLength: CFIndex) -> CFMutableStringRef;
1951}
1952extern "C" {
1953    pub fn CFStringCreateMutableCopy(
1954        alloc: CFAllocatorRef,
1955        maxLength: CFIndex,
1956        theString: CFStringRef,
1957    ) -> CFMutableStringRef;
1958}
1959extern "C" {
1960    pub fn CFStringCreateMutableWithExternalCharactersNoCopy(
1961        alloc: CFAllocatorRef,
1962        chars: *mut UniChar,
1963        numChars: CFIndex,
1964        capacity: CFIndex,
1965        externalCharactersAllocator: CFAllocatorRef,
1966    ) -> CFMutableStringRef;
1967}
1968extern "C" {
1969    pub fn CFStringGetLength(theString: CFStringRef) -> CFIndex;
1970}
1971extern "C" {
1972    pub fn CFStringGetCharacterAtIndex(theString: CFStringRef, idx: CFIndex) -> UniChar;
1973}
1974extern "C" {
1975    pub fn CFStringGetCharacters(theString: CFStringRef, range: CFRange, buffer: *mut UniChar);
1976}
1977extern "C" {
1978    pub fn CFStringGetPascalString(
1979        theString: CFStringRef,
1980        buffer: StringPtr,
1981        bufferSize: CFIndex,
1982        encoding: CFStringEncoding,
1983    ) -> Boolean;
1984}
1985extern "C" {
1986    pub fn CFStringGetCString(
1987        theString: CFStringRef,
1988        buffer: *mut ::core::ffi::c_char,
1989        bufferSize: CFIndex,
1990        encoding: CFStringEncoding,
1991    ) -> Boolean;
1992}
1993extern "C" {
1994    pub fn CFStringGetPascalStringPtr(
1995        theString: CFStringRef,
1996        encoding: CFStringEncoding,
1997    ) -> ConstStringPtr;
1998}
1999extern "C" {
2000    pub fn CFStringGetCStringPtr(
2001        theString: CFStringRef,
2002        encoding: CFStringEncoding,
2003    ) -> *const ::core::ffi::c_char;
2004}
2005extern "C" {
2006    pub fn CFStringGetCharactersPtr(theString: CFStringRef) -> *const UniChar;
2007}
2008extern "C" {
2009    pub fn CFStringGetBytes(
2010        theString: CFStringRef,
2011        range: CFRange,
2012        encoding: CFStringEncoding,
2013        lossByte: UInt8,
2014        isExternalRepresentation: Boolean,
2015        buffer: *mut UInt8,
2016        maxBufLen: CFIndex,
2017        usedBufLen: *mut CFIndex,
2018    ) -> CFIndex;
2019}
2020extern "C" {
2021    pub fn CFStringCreateFromExternalRepresentation(
2022        alloc: CFAllocatorRef,
2023        data: CFDataRef,
2024        encoding: CFStringEncoding,
2025    ) -> CFStringRef;
2026}
2027extern "C" {
2028    pub fn CFStringCreateExternalRepresentation(
2029        alloc: CFAllocatorRef,
2030        theString: CFStringRef,
2031        encoding: CFStringEncoding,
2032        lossByte: UInt8,
2033    ) -> CFDataRef;
2034}
2035extern "C" {
2036    pub fn CFStringGetSmallestEncoding(theString: CFStringRef) -> CFStringEncoding;
2037}
2038extern "C" {
2039    pub fn CFStringGetFastestEncoding(theString: CFStringRef) -> CFStringEncoding;
2040}
2041extern "C" {
2042    pub fn CFStringGetSystemEncoding() -> CFStringEncoding;
2043}
2044extern "C" {
2045    pub fn CFStringGetMaximumSizeForEncoding(
2046        length: CFIndex,
2047        encoding: CFStringEncoding,
2048    ) -> CFIndex;
2049}
2050extern "C" {
2051    pub fn CFStringGetFileSystemRepresentation(
2052        string: CFStringRef,
2053        buffer: *mut ::core::ffi::c_char,
2054        maxBufLen: CFIndex,
2055    ) -> Boolean;
2056}
2057extern "C" {
2058    pub fn CFStringGetMaximumSizeOfFileSystemRepresentation(string: CFStringRef) -> CFIndex;
2059}
2060extern "C" {
2061    pub fn CFStringCreateWithFileSystemRepresentation(
2062        alloc: CFAllocatorRef,
2063        buffer: *const ::core::ffi::c_char,
2064    ) -> CFStringRef;
2065}
2066pub type CFStringCompareFlags = CFOptionFlags;
2067pub const kCFCompareCaseInsensitive: _bindgen_ty_16 = 1;
2068pub const kCFCompareBackwards: _bindgen_ty_16 = 4;
2069pub const kCFCompareAnchored: _bindgen_ty_16 = 8;
2070pub const kCFCompareNonliteral: _bindgen_ty_16 = 16;
2071pub const kCFCompareLocalized: _bindgen_ty_16 = 32;
2072pub const kCFCompareNumerically: _bindgen_ty_16 = 64;
2073pub const kCFCompareDiacriticInsensitive: _bindgen_ty_16 = 128;
2074pub const kCFCompareWidthInsensitive: _bindgen_ty_16 = 256;
2075pub const kCFCompareForcedOrdering: _bindgen_ty_16 = 512;
2076pub type _bindgen_ty_16 = ::core::ffi::c_uint;
2077extern "C" {
2078    pub fn CFStringCompareWithOptionsAndLocale(
2079        theString1: CFStringRef,
2080        theString2: CFStringRef,
2081        rangeToCompare: CFRange,
2082        compareOptions: CFStringCompareFlags,
2083        locale: CFLocaleRef,
2084    ) -> CFComparisonResult;
2085}
2086extern "C" {
2087    pub fn CFStringCompareWithOptions(
2088        theString1: CFStringRef,
2089        theString2: CFStringRef,
2090        rangeToCompare: CFRange,
2091        compareOptions: CFStringCompareFlags,
2092    ) -> CFComparisonResult;
2093}
2094extern "C" {
2095    pub fn CFStringCompare(
2096        theString1: CFStringRef,
2097        theString2: CFStringRef,
2098        compareOptions: CFStringCompareFlags,
2099    ) -> CFComparisonResult;
2100}
2101extern "C" {
2102    pub fn CFStringFindWithOptionsAndLocale(
2103        theString: CFStringRef,
2104        stringToFind: CFStringRef,
2105        rangeToSearch: CFRange,
2106        searchOptions: CFStringCompareFlags,
2107        locale: CFLocaleRef,
2108        result: *mut CFRange,
2109    ) -> Boolean;
2110}
2111extern "C" {
2112    pub fn CFStringFindWithOptions(
2113        theString: CFStringRef,
2114        stringToFind: CFStringRef,
2115        rangeToSearch: CFRange,
2116        searchOptions: CFStringCompareFlags,
2117        result: *mut CFRange,
2118    ) -> Boolean;
2119}
2120extern "C" {
2121    pub fn CFStringCreateArrayWithFindResults(
2122        alloc: CFAllocatorRef,
2123        theString: CFStringRef,
2124        stringToFind: CFStringRef,
2125        rangeToSearch: CFRange,
2126        compareOptions: CFStringCompareFlags,
2127    ) -> CFArrayRef;
2128}
2129extern "C" {
2130    pub fn CFStringFind(
2131        theString: CFStringRef,
2132        stringToFind: CFStringRef,
2133        compareOptions: CFStringCompareFlags,
2134    ) -> CFRange;
2135}
2136extern "C" {
2137    pub fn CFStringHasPrefix(theString: CFStringRef, prefix: CFStringRef) -> Boolean;
2138}
2139extern "C" {
2140    pub fn CFStringHasSuffix(theString: CFStringRef, suffix: CFStringRef) -> Boolean;
2141}
2142extern "C" {
2143    pub fn CFStringGetRangeOfComposedCharactersAtIndex(
2144        theString: CFStringRef,
2145        theIndex: CFIndex,
2146    ) -> CFRange;
2147}
2148extern "C" {
2149    pub fn CFStringFindCharacterFromSet(
2150        theString: CFStringRef,
2151        theSet: CFCharacterSetRef,
2152        rangeToSearch: CFRange,
2153        searchOptions: CFStringCompareFlags,
2154        result: *mut CFRange,
2155    ) -> Boolean;
2156}
2157extern "C" {
2158    pub fn CFStringGetLineBounds(
2159        theString: CFStringRef,
2160        range: CFRange,
2161        lineBeginIndex: *mut CFIndex,
2162        lineEndIndex: *mut CFIndex,
2163        contentsEndIndex: *mut CFIndex,
2164    );
2165}
2166extern "C" {
2167    pub fn CFStringGetParagraphBounds(
2168        string: CFStringRef,
2169        range: CFRange,
2170        parBeginIndex: *mut CFIndex,
2171        parEndIndex: *mut CFIndex,
2172        contentsEndIndex: *mut CFIndex,
2173    );
2174}
2175extern "C" {
2176    pub fn CFStringGetHyphenationLocationBeforeIndex(
2177        string: CFStringRef,
2178        location: CFIndex,
2179        limitRange: CFRange,
2180        options: CFOptionFlags,
2181        locale: CFLocaleRef,
2182        character: *mut UTF32Char,
2183    ) -> CFIndex;
2184}
2185extern "C" {
2186    pub fn CFStringIsHyphenationAvailableForLocale(locale: CFLocaleRef) -> Boolean;
2187}
2188extern "C" {
2189    pub fn CFStringCreateByCombiningStrings(
2190        alloc: CFAllocatorRef,
2191        theArray: CFArrayRef,
2192        separatorString: CFStringRef,
2193    ) -> CFStringRef;
2194}
2195extern "C" {
2196    pub fn CFStringCreateArrayBySeparatingStrings(
2197        alloc: CFAllocatorRef,
2198        theString: CFStringRef,
2199        separatorString: CFStringRef,
2200    ) -> CFArrayRef;
2201}
2202extern "C" {
2203    pub fn CFStringGetIntValue(str_: CFStringRef) -> SInt32;
2204}
2205extern "C" {
2206    pub fn CFStringGetDoubleValue(str_: CFStringRef) -> f64;
2207}
2208extern "C" {
2209    pub fn CFStringAppend(theString: CFMutableStringRef, appendedString: CFStringRef);
2210}
2211extern "C" {
2212    pub fn CFStringAppendCharacters(
2213        theString: CFMutableStringRef,
2214        chars: *const UniChar,
2215        numChars: CFIndex,
2216    );
2217}
2218extern "C" {
2219    pub fn CFStringAppendPascalString(
2220        theString: CFMutableStringRef,
2221        pStr: ConstStr255Param,
2222        encoding: CFStringEncoding,
2223    );
2224}
2225extern "C" {
2226    pub fn CFStringAppendCString(
2227        theString: CFMutableStringRef,
2228        cStr: *const ::core::ffi::c_char,
2229        encoding: CFStringEncoding,
2230    );
2231}
2232extern "C" {
2233    pub fn CFStringAppendFormat(
2234        theString: CFMutableStringRef,
2235        formatOptions: CFDictionaryRef,
2236        format: CFStringRef,
2237        ...
2238    );
2239}
2240extern "C" {
2241    pub fn CFStringAppendFormatAndArguments(
2242        theString: CFMutableStringRef,
2243        formatOptions: CFDictionaryRef,
2244        format: CFStringRef,
2245        arguments: va_list,
2246    );
2247}
2248extern "C" {
2249    pub fn CFStringInsert(str_: CFMutableStringRef, idx: CFIndex, insertedStr: CFStringRef);
2250}
2251extern "C" {
2252    pub fn CFStringDelete(theString: CFMutableStringRef, range: CFRange);
2253}
2254extern "C" {
2255    pub fn CFStringReplace(theString: CFMutableStringRef, range: CFRange, replacement: CFStringRef);
2256}
2257extern "C" {
2258    pub fn CFStringReplaceAll(theString: CFMutableStringRef, replacement: CFStringRef);
2259}
2260extern "C" {
2261    pub fn CFStringFindAndReplace(
2262        theString: CFMutableStringRef,
2263        stringToFind: CFStringRef,
2264        replacementString: CFStringRef,
2265        rangeToSearch: CFRange,
2266        compareOptions: CFStringCompareFlags,
2267    ) -> CFIndex;
2268}
2269extern "C" {
2270    pub fn CFStringSetExternalCharactersNoCopy(
2271        theString: CFMutableStringRef,
2272        chars: *mut UniChar,
2273        length: CFIndex,
2274        capacity: CFIndex,
2275    );
2276}
2277extern "C" {
2278    pub fn CFStringPad(
2279        theString: CFMutableStringRef,
2280        padString: CFStringRef,
2281        length: CFIndex,
2282        indexIntoPad: CFIndex,
2283    );
2284}
2285extern "C" {
2286    pub fn CFStringTrim(theString: CFMutableStringRef, trimString: CFStringRef);
2287}
2288extern "C" {
2289    pub fn CFStringTrimWhitespace(theString: CFMutableStringRef);
2290}
2291extern "C" {
2292    pub fn CFStringLowercase(theString: CFMutableStringRef, locale: CFLocaleRef);
2293}
2294extern "C" {
2295    pub fn CFStringUppercase(theString: CFMutableStringRef, locale: CFLocaleRef);
2296}
2297extern "C" {
2298    pub fn CFStringCapitalize(theString: CFMutableStringRef, locale: CFLocaleRef);
2299}
2300pub type CFStringNormalizationForm = CFIndex;
2301pub const kCFStringNormalizationFormD: _bindgen_ty_17 = 0;
2302pub const kCFStringNormalizationFormKD: _bindgen_ty_17 = 1;
2303pub const kCFStringNormalizationFormC: _bindgen_ty_17 = 2;
2304pub const kCFStringNormalizationFormKC: _bindgen_ty_17 = 3;
2305pub type _bindgen_ty_17 = ::core::ffi::c_uint;
2306extern "C" {
2307    pub fn CFStringNormalize(theString: CFMutableStringRef, theForm: CFStringNormalizationForm);
2308}
2309extern "C" {
2310    pub fn CFStringFold(
2311        theString: CFMutableStringRef,
2312        theFlags: CFStringCompareFlags,
2313        theLocale: CFLocaleRef,
2314    );
2315}
2316extern "C" {
2317    pub fn CFStringTransform(
2318        string: CFMutableStringRef,
2319        range: *mut CFRange,
2320        transform: CFStringRef,
2321        reverse: Boolean,
2322    ) -> Boolean;
2323}
2324extern "C" {
2325    pub static kCFStringTransformStripCombiningMarks: CFStringRef;
2326}
2327extern "C" {
2328    pub static kCFStringTransformToLatin: CFStringRef;
2329}
2330extern "C" {
2331    pub static kCFStringTransformFullwidthHalfwidth: CFStringRef;
2332}
2333extern "C" {
2334    pub static kCFStringTransformLatinKatakana: CFStringRef;
2335}
2336extern "C" {
2337    pub static kCFStringTransformLatinHiragana: CFStringRef;
2338}
2339extern "C" {
2340    pub static kCFStringTransformHiraganaKatakana: CFStringRef;
2341}
2342extern "C" {
2343    pub static kCFStringTransformMandarinLatin: CFStringRef;
2344}
2345extern "C" {
2346    pub static kCFStringTransformLatinHangul: CFStringRef;
2347}
2348extern "C" {
2349    pub static kCFStringTransformLatinArabic: CFStringRef;
2350}
2351extern "C" {
2352    pub static kCFStringTransformLatinHebrew: CFStringRef;
2353}
2354extern "C" {
2355    pub static kCFStringTransformLatinThai: CFStringRef;
2356}
2357extern "C" {
2358    pub static kCFStringTransformLatinCyrillic: CFStringRef;
2359}
2360extern "C" {
2361    pub static kCFStringTransformLatinGreek: CFStringRef;
2362}
2363extern "C" {
2364    pub static kCFStringTransformToXMLHex: CFStringRef;
2365}
2366extern "C" {
2367    pub static kCFStringTransformToUnicodeName: CFStringRef;
2368}
2369extern "C" {
2370    pub static kCFStringTransformStripDiacritics: CFStringRef;
2371}
2372extern "C" {
2373    pub fn CFStringIsEncodingAvailable(encoding: CFStringEncoding) -> Boolean;
2374}
2375extern "C" {
2376    pub fn CFStringGetListOfAvailableEncodings() -> *const CFStringEncoding;
2377}
2378extern "C" {
2379    pub fn CFStringGetNameOfEncoding(encoding: CFStringEncoding) -> CFStringRef;
2380}
2381extern "C" {
2382    pub fn CFStringConvertEncodingToNSStringEncoding(
2383        encoding: CFStringEncoding,
2384    ) -> ::core::ffi::c_ulong;
2385}
2386extern "C" {
2387    pub fn CFStringConvertNSStringEncodingToEncoding(
2388        encoding: ::core::ffi::c_ulong,
2389    ) -> CFStringEncoding;
2390}
2391extern "C" {
2392    pub fn CFStringConvertEncodingToWindowsCodepage(encoding: CFStringEncoding) -> UInt32;
2393}
2394extern "C" {
2395    pub fn CFStringConvertWindowsCodepageToEncoding(codepage: UInt32) -> CFStringEncoding;
2396}
2397extern "C" {
2398    pub fn CFStringConvertIANACharSetNameToEncoding(theString: CFStringRef) -> CFStringEncoding;
2399}
2400extern "C" {
2401    pub fn CFStringConvertEncodingToIANACharSetName(encoding: CFStringEncoding) -> CFStringRef;
2402}
2403extern "C" {
2404    pub fn CFStringGetMostCompatibleMacStringEncoding(
2405        encoding: CFStringEncoding,
2406    ) -> CFStringEncoding;
2407}
2408#[repr(C)]
2409#[derive(Debug, Copy, Clone)]
2410pub struct CFStringInlineBuffer {
2411    pub buffer: [UniChar; 64usize],
2412    pub theString: CFStringRef,
2413    pub directUniCharBuffer: *const UniChar,
2414    pub directCStringBuffer: *const ::core::ffi::c_char,
2415    pub rangeToBuffer: CFRange,
2416    pub bufferedRangeStart: CFIndex,
2417    pub bufferedRangeEnd: CFIndex,
2418}
2419extern "C" {
2420    pub fn CFShow(obj: CFTypeRef);
2421}
2422extern "C" {
2423    pub fn CFShowStr(str_: CFStringRef);
2424}
2425extern "C" {
2426    pub fn CFTimeZoneGetTypeID() -> CFTypeID;
2427}
2428extern "C" {
2429    pub fn CFTimeZoneCopySystem() -> CFTimeZoneRef;
2430}
2431extern "C" {
2432    pub fn CFTimeZoneResetSystem();
2433}
2434extern "C" {
2435    pub fn CFTimeZoneCopyDefault() -> CFTimeZoneRef;
2436}
2437extern "C" {
2438    pub fn CFTimeZoneSetDefault(tz: CFTimeZoneRef);
2439}
2440extern "C" {
2441    pub fn CFTimeZoneCopyKnownNames() -> CFArrayRef;
2442}
2443extern "C" {
2444    pub fn CFTimeZoneCopyAbbreviationDictionary() -> CFDictionaryRef;
2445}
2446extern "C" {
2447    pub fn CFTimeZoneSetAbbreviationDictionary(dict: CFDictionaryRef);
2448}
2449extern "C" {
2450    pub fn CFTimeZoneCreate(
2451        allocator: CFAllocatorRef,
2452        name: CFStringRef,
2453        data: CFDataRef,
2454    ) -> CFTimeZoneRef;
2455}
2456extern "C" {
2457    pub fn CFTimeZoneCreateWithTimeIntervalFromGMT(
2458        allocator: CFAllocatorRef,
2459        ti: CFTimeInterval,
2460    ) -> CFTimeZoneRef;
2461}
2462extern "C" {
2463    pub fn CFTimeZoneCreateWithName(
2464        allocator: CFAllocatorRef,
2465        name: CFStringRef,
2466        tryAbbrev: Boolean,
2467    ) -> CFTimeZoneRef;
2468}
2469extern "C" {
2470    pub fn CFTimeZoneGetName(tz: CFTimeZoneRef) -> CFStringRef;
2471}
2472extern "C" {
2473    pub fn CFTimeZoneGetData(tz: CFTimeZoneRef) -> CFDataRef;
2474}
2475extern "C" {
2476    pub fn CFTimeZoneGetSecondsFromGMT(tz: CFTimeZoneRef, at: CFAbsoluteTime) -> CFTimeInterval;
2477}
2478extern "C" {
2479    pub fn CFTimeZoneCopyAbbreviation(tz: CFTimeZoneRef, at: CFAbsoluteTime) -> CFStringRef;
2480}
2481extern "C" {
2482    pub fn CFTimeZoneIsDaylightSavingTime(tz: CFTimeZoneRef, at: CFAbsoluteTime) -> Boolean;
2483}
2484extern "C" {
2485    pub fn CFTimeZoneGetDaylightSavingTimeOffset(
2486        tz: CFTimeZoneRef,
2487        at: CFAbsoluteTime,
2488    ) -> CFTimeInterval;
2489}
2490extern "C" {
2491    pub fn CFTimeZoneGetNextDaylightSavingTimeTransition(
2492        tz: CFTimeZoneRef,
2493        at: CFAbsoluteTime,
2494    ) -> CFAbsoluteTime;
2495}
2496pub type CFTimeZoneNameStyle = CFIndex;
2497pub const kCFTimeZoneNameStyleStandard: _bindgen_ty_18 = 0;
2498pub const kCFTimeZoneNameStyleShortStandard: _bindgen_ty_18 = 1;
2499pub const kCFTimeZoneNameStyleDaylightSaving: _bindgen_ty_18 = 2;
2500pub const kCFTimeZoneNameStyleShortDaylightSaving: _bindgen_ty_18 = 3;
2501pub const kCFTimeZoneNameStyleGeneric: _bindgen_ty_18 = 4;
2502pub const kCFTimeZoneNameStyleShortGeneric: _bindgen_ty_18 = 5;
2503pub type _bindgen_ty_18 = ::core::ffi::c_uint;
2504extern "C" {
2505    pub fn CFTimeZoneCopyLocalizedName(
2506        tz: CFTimeZoneRef,
2507        style: CFTimeZoneNameStyle,
2508        locale: CFLocaleRef,
2509    ) -> CFStringRef;
2510}
2511extern "C" {
2512    pub static kCFTimeZoneSystemTimeZoneDidChangeNotification: CFNotificationName;
2513}
2514#[repr(C)]
2515#[derive(Debug, Copy, Clone)]
2516pub struct __CFCalendar {
2517    _unused: [u8; 0],
2518}
2519pub type CFCalendarRef = *mut __CFCalendar;
2520extern "C" {
2521    pub fn CFCalendarGetTypeID() -> CFTypeID;
2522}
2523extern "C" {
2524    pub fn CFCalendarCopyCurrent() -> CFCalendarRef;
2525}
2526extern "C" {
2527    pub fn CFCalendarCreateWithIdentifier(
2528        allocator: CFAllocatorRef,
2529        identifier: CFCalendarIdentifier,
2530    ) -> CFCalendarRef;
2531}
2532extern "C" {
2533    pub fn CFCalendarGetIdentifier(calendar: CFCalendarRef) -> CFCalendarIdentifier;
2534}
2535extern "C" {
2536    pub fn CFCalendarCopyLocale(calendar: CFCalendarRef) -> CFLocaleRef;
2537}
2538extern "C" {
2539    pub fn CFCalendarSetLocale(calendar: CFCalendarRef, locale: CFLocaleRef);
2540}
2541extern "C" {
2542    pub fn CFCalendarCopyTimeZone(calendar: CFCalendarRef) -> CFTimeZoneRef;
2543}
2544extern "C" {
2545    pub fn CFCalendarSetTimeZone(calendar: CFCalendarRef, tz: CFTimeZoneRef);
2546}
2547extern "C" {
2548    pub fn CFCalendarGetFirstWeekday(calendar: CFCalendarRef) -> CFIndex;
2549}
2550extern "C" {
2551    pub fn CFCalendarSetFirstWeekday(calendar: CFCalendarRef, wkdy: CFIndex);
2552}
2553extern "C" {
2554    pub fn CFCalendarGetMinimumDaysInFirstWeek(calendar: CFCalendarRef) -> CFIndex;
2555}
2556extern "C" {
2557    pub fn CFCalendarSetMinimumDaysInFirstWeek(calendar: CFCalendarRef, mwd: CFIndex);
2558}
2559pub type CFCalendarUnit = CFOptionFlags;
2560pub const kCFCalendarUnitEra: _bindgen_ty_19 = 2;
2561pub const kCFCalendarUnitYear: _bindgen_ty_19 = 4;
2562pub const kCFCalendarUnitMonth: _bindgen_ty_19 = 8;
2563pub const kCFCalendarUnitDay: _bindgen_ty_19 = 16;
2564pub const kCFCalendarUnitHour: _bindgen_ty_19 = 32;
2565pub const kCFCalendarUnitMinute: _bindgen_ty_19 = 64;
2566pub const kCFCalendarUnitSecond: _bindgen_ty_19 = 128;
2567pub const kCFCalendarUnitWeek: _bindgen_ty_19 = 256;
2568pub const kCFCalendarUnitWeekday: _bindgen_ty_19 = 512;
2569pub const kCFCalendarUnitWeekdayOrdinal: _bindgen_ty_19 = 1024;
2570pub const kCFCalendarUnitQuarter: _bindgen_ty_19 = 2048;
2571pub const kCFCalendarUnitWeekOfMonth: _bindgen_ty_19 = 4096;
2572pub const kCFCalendarUnitWeekOfYear: _bindgen_ty_19 = 8192;
2573pub const kCFCalendarUnitYearForWeekOfYear: _bindgen_ty_19 = 16384;
2574pub const kCFCalendarUnitDayOfYear: _bindgen_ty_19 = 65536;
2575pub type _bindgen_ty_19 = ::core::ffi::c_uint;
2576extern "C" {
2577    pub fn CFCalendarGetMinimumRangeOfUnit(
2578        calendar: CFCalendarRef,
2579        unit: CFCalendarUnit,
2580    ) -> CFRange;
2581}
2582extern "C" {
2583    pub fn CFCalendarGetMaximumRangeOfUnit(
2584        calendar: CFCalendarRef,
2585        unit: CFCalendarUnit,
2586    ) -> CFRange;
2587}
2588extern "C" {
2589    pub fn CFCalendarGetRangeOfUnit(
2590        calendar: CFCalendarRef,
2591        smallerUnit: CFCalendarUnit,
2592        biggerUnit: CFCalendarUnit,
2593        at: CFAbsoluteTime,
2594    ) -> CFRange;
2595}
2596extern "C" {
2597    pub fn CFCalendarGetOrdinalityOfUnit(
2598        calendar: CFCalendarRef,
2599        smallerUnit: CFCalendarUnit,
2600        biggerUnit: CFCalendarUnit,
2601        at: CFAbsoluteTime,
2602    ) -> CFIndex;
2603}
2604extern "C" {
2605    pub fn CFCalendarGetTimeRangeOfUnit(
2606        calendar: CFCalendarRef,
2607        unit: CFCalendarUnit,
2608        at: CFAbsoluteTime,
2609        startp: *mut CFAbsoluteTime,
2610        tip: *mut CFTimeInterval,
2611    ) -> Boolean;
2612}
2613extern "C" {
2614    pub fn CFCalendarComposeAbsoluteTime(
2615        calendar: CFCalendarRef,
2616        at: *mut CFAbsoluteTime,
2617        componentDesc: *const ::core::ffi::c_char,
2618        ...
2619    ) -> Boolean;
2620}
2621extern "C" {
2622    pub fn CFCalendarDecomposeAbsoluteTime(
2623        calendar: CFCalendarRef,
2624        at: CFAbsoluteTime,
2625        componentDesc: *const ::core::ffi::c_char,
2626        ...
2627    ) -> Boolean;
2628}
2629pub const kCFCalendarComponentsWrap: _bindgen_ty_20 = 1;
2630pub type _bindgen_ty_20 = ::core::ffi::c_uint;
2631extern "C" {
2632    pub fn CFCalendarAddComponents(
2633        calendar: CFCalendarRef,
2634        at: *mut CFAbsoluteTime,
2635        options: CFOptionFlags,
2636        componentDesc: *const ::core::ffi::c_char,
2637        ...
2638    ) -> Boolean;
2639}
2640extern "C" {
2641    pub fn CFCalendarGetComponentDifference(
2642        calendar: CFCalendarRef,
2643        startingAT: CFAbsoluteTime,
2644        resultAT: CFAbsoluteTime,
2645        options: CFOptionFlags,
2646        componentDesc: *const ::core::ffi::c_char,
2647        ...
2648    ) -> Boolean;
2649}
2650pub type CGFloat = f64;
2651#[repr(C)]
2652#[derive(Debug, Copy, Clone)]
2653pub struct CGPoint {
2654    pub x: CGFloat,
2655    pub y: CGFloat,
2656}
2657#[repr(C)]
2658#[derive(Debug, Copy, Clone)]
2659pub struct CGSize {
2660    pub width: CGFloat,
2661    pub height: CGFloat,
2662}
2663#[repr(C)]
2664#[derive(Debug, Copy, Clone)]
2665pub struct CGRect {
2666    pub origin: CGPoint,
2667    pub size: CGSize,
2668}
2669pub type CFDateFormatterKey = CFStringRef;
2670#[repr(C)]
2671#[derive(Debug, Copy, Clone)]
2672pub struct __CFDateFormatter {
2673    _unused: [u8; 0],
2674}
2675pub type CFDateFormatterRef = *mut __CFDateFormatter;
2676extern "C" {
2677    pub fn CFDateFormatterCreateDateFormatFromTemplate(
2678        allocator: CFAllocatorRef,
2679        tmplate: CFStringRef,
2680        options: CFOptionFlags,
2681        locale: CFLocaleRef,
2682    ) -> CFStringRef;
2683}
2684extern "C" {
2685    pub fn CFDateFormatterGetTypeID() -> CFTypeID;
2686}
2687pub type CFDateFormatterStyle = CFIndex;
2688pub const kCFDateFormatterNoStyle: _bindgen_ty_22 = 0;
2689pub const kCFDateFormatterShortStyle: _bindgen_ty_22 = 1;
2690pub const kCFDateFormatterMediumStyle: _bindgen_ty_22 = 2;
2691pub const kCFDateFormatterLongStyle: _bindgen_ty_22 = 3;
2692pub const kCFDateFormatterFullStyle: _bindgen_ty_22 = 4;
2693pub type _bindgen_ty_22 = ::core::ffi::c_uint;
2694pub type CFISO8601DateFormatOptions = CFOptionFlags;
2695pub const kCFISO8601DateFormatWithYear: _bindgen_ty_23 = 1;
2696pub const kCFISO8601DateFormatWithMonth: _bindgen_ty_23 = 2;
2697pub const kCFISO8601DateFormatWithWeekOfYear: _bindgen_ty_23 = 4;
2698pub const kCFISO8601DateFormatWithDay: _bindgen_ty_23 = 16;
2699pub const kCFISO8601DateFormatWithTime: _bindgen_ty_23 = 32;
2700pub const kCFISO8601DateFormatWithTimeZone: _bindgen_ty_23 = 64;
2701pub const kCFISO8601DateFormatWithSpaceBetweenDateAndTime: _bindgen_ty_23 = 128;
2702pub const kCFISO8601DateFormatWithDashSeparatorInDate: _bindgen_ty_23 = 256;
2703pub const kCFISO8601DateFormatWithColonSeparatorInTime: _bindgen_ty_23 = 512;
2704pub const kCFISO8601DateFormatWithColonSeparatorInTimeZone: _bindgen_ty_23 = 1024;
2705pub const kCFISO8601DateFormatWithFractionalSeconds: _bindgen_ty_23 = 2048;
2706pub const kCFISO8601DateFormatWithFullDate: _bindgen_ty_23 = 275;
2707pub const kCFISO8601DateFormatWithFullTime: _bindgen_ty_23 = 1632;
2708pub const kCFISO8601DateFormatWithInternetDateTime: _bindgen_ty_23 = 1907;
2709pub type _bindgen_ty_23 = ::core::ffi::c_uint;
2710extern "C" {
2711    pub fn CFDateFormatterCreateISO8601Formatter(
2712        allocator: CFAllocatorRef,
2713        formatOptions: CFISO8601DateFormatOptions,
2714    ) -> CFDateFormatterRef;
2715}
2716extern "C" {
2717    pub fn CFDateFormatterCreate(
2718        allocator: CFAllocatorRef,
2719        locale: CFLocaleRef,
2720        dateStyle: CFDateFormatterStyle,
2721        timeStyle: CFDateFormatterStyle,
2722    ) -> CFDateFormatterRef;
2723}
2724extern "C" {
2725    pub fn CFDateFormatterGetLocale(formatter: CFDateFormatterRef) -> CFLocaleRef;
2726}
2727extern "C" {
2728    pub fn CFDateFormatterGetDateStyle(formatter: CFDateFormatterRef) -> CFDateFormatterStyle;
2729}
2730extern "C" {
2731    pub fn CFDateFormatterGetTimeStyle(formatter: CFDateFormatterRef) -> CFDateFormatterStyle;
2732}
2733extern "C" {
2734    pub fn CFDateFormatterGetFormat(formatter: CFDateFormatterRef) -> CFStringRef;
2735}
2736extern "C" {
2737    pub fn CFDateFormatterSetFormat(formatter: CFDateFormatterRef, formatString: CFStringRef);
2738}
2739extern "C" {
2740    pub fn CFDateFormatterCreateStringWithDate(
2741        allocator: CFAllocatorRef,
2742        formatter: CFDateFormatterRef,
2743        date: CFDateRef,
2744    ) -> CFStringRef;
2745}
2746extern "C" {
2747    pub fn CFDateFormatterCreateStringWithAbsoluteTime(
2748        allocator: CFAllocatorRef,
2749        formatter: CFDateFormatterRef,
2750        at: CFAbsoluteTime,
2751    ) -> CFStringRef;
2752}
2753extern "C" {
2754    pub fn CFDateFormatterCreateDateFromString(
2755        allocator: CFAllocatorRef,
2756        formatter: CFDateFormatterRef,
2757        string: CFStringRef,
2758        rangep: *mut CFRange,
2759    ) -> CFDateRef;
2760}
2761extern "C" {
2762    pub fn CFDateFormatterGetAbsoluteTimeFromString(
2763        formatter: CFDateFormatterRef,
2764        string: CFStringRef,
2765        rangep: *mut CFRange,
2766        atp: *mut CFAbsoluteTime,
2767    ) -> Boolean;
2768}
2769extern "C" {
2770    pub fn CFDateFormatterSetProperty(
2771        formatter: CFDateFormatterRef,
2772        key: CFStringRef,
2773        value: CFTypeRef,
2774    );
2775}
2776extern "C" {
2777    pub fn CFDateFormatterCopyProperty(
2778        formatter: CFDateFormatterRef,
2779        key: CFDateFormatterKey,
2780    ) -> CFTypeRef;
2781}
2782extern "C" {
2783    pub static kCFDateFormatterIsLenient: CFDateFormatterKey;
2784}
2785extern "C" {
2786    pub static kCFDateFormatterTimeZone: CFDateFormatterKey;
2787}
2788extern "C" {
2789    pub static kCFDateFormatterCalendarName: CFDateFormatterKey;
2790}
2791extern "C" {
2792    pub static kCFDateFormatterDefaultFormat: CFDateFormatterKey;
2793}
2794extern "C" {
2795    pub static kCFDateFormatterTwoDigitStartDate: CFDateFormatterKey;
2796}
2797extern "C" {
2798    pub static kCFDateFormatterDefaultDate: CFDateFormatterKey;
2799}
2800extern "C" {
2801    pub static kCFDateFormatterCalendar: CFDateFormatterKey;
2802}
2803extern "C" {
2804    pub static kCFDateFormatterEraSymbols: CFDateFormatterKey;
2805}
2806extern "C" {
2807    pub static kCFDateFormatterMonthSymbols: CFDateFormatterKey;
2808}
2809extern "C" {
2810    pub static kCFDateFormatterShortMonthSymbols: CFDateFormatterKey;
2811}
2812extern "C" {
2813    pub static kCFDateFormatterWeekdaySymbols: CFDateFormatterKey;
2814}
2815extern "C" {
2816    pub static kCFDateFormatterShortWeekdaySymbols: CFDateFormatterKey;
2817}
2818extern "C" {
2819    pub static kCFDateFormatterAMSymbol: CFDateFormatterKey;
2820}
2821extern "C" {
2822    pub static kCFDateFormatterPMSymbol: CFDateFormatterKey;
2823}
2824extern "C" {
2825    pub static kCFDateFormatterLongEraSymbols: CFDateFormatterKey;
2826}
2827extern "C" {
2828    pub static kCFDateFormatterVeryShortMonthSymbols: CFDateFormatterKey;
2829}
2830extern "C" {
2831    pub static kCFDateFormatterStandaloneMonthSymbols: CFDateFormatterKey;
2832}
2833extern "C" {
2834    pub static kCFDateFormatterShortStandaloneMonthSymbols: CFDateFormatterKey;
2835}
2836extern "C" {
2837    pub static kCFDateFormatterVeryShortStandaloneMonthSymbols: CFDateFormatterKey;
2838}
2839extern "C" {
2840    pub static kCFDateFormatterVeryShortWeekdaySymbols: CFDateFormatterKey;
2841}
2842extern "C" {
2843    pub static kCFDateFormatterStandaloneWeekdaySymbols: CFDateFormatterKey;
2844}
2845extern "C" {
2846    pub static kCFDateFormatterShortStandaloneWeekdaySymbols: CFDateFormatterKey;
2847}
2848extern "C" {
2849    pub static kCFDateFormatterVeryShortStandaloneWeekdaySymbols: CFDateFormatterKey;
2850}
2851extern "C" {
2852    pub static kCFDateFormatterQuarterSymbols: CFDateFormatterKey;
2853}
2854extern "C" {
2855    pub static kCFDateFormatterShortQuarterSymbols: CFDateFormatterKey;
2856}
2857extern "C" {
2858    pub static kCFDateFormatterStandaloneQuarterSymbols: CFDateFormatterKey;
2859}
2860extern "C" {
2861    pub static kCFDateFormatterShortStandaloneQuarterSymbols: CFDateFormatterKey;
2862}
2863extern "C" {
2864    pub static kCFDateFormatterGregorianStartDate: CFDateFormatterKey;
2865}
2866extern "C" {
2867    pub static kCFDateFormatterDoesRelativeDateFormattingKey: CFDateFormatterKey;
2868}
2869#[repr(C)]
2870#[derive(Debug, Copy, Clone)]
2871pub struct __CFBoolean {
2872    _unused: [u8; 0],
2873}
2874pub type CFBooleanRef = *const __CFBoolean;
2875extern "C" {
2876    pub static kCFBooleanTrue: CFBooleanRef;
2877}
2878extern "C" {
2879    pub static kCFBooleanFalse: CFBooleanRef;
2880}
2881extern "C" {
2882    pub fn CFBooleanGetTypeID() -> CFTypeID;
2883}
2884extern "C" {
2885    pub fn CFBooleanGetValue(boolean: CFBooleanRef) -> Boolean;
2886}
2887pub type CFNumberType = CFIndex;
2888pub const kCFNumberSInt8Type: _bindgen_ty_24 = 1;
2889pub const kCFNumberSInt16Type: _bindgen_ty_24 = 2;
2890pub const kCFNumberSInt32Type: _bindgen_ty_24 = 3;
2891pub const kCFNumberSInt64Type: _bindgen_ty_24 = 4;
2892pub const kCFNumberFloat32Type: _bindgen_ty_24 = 5;
2893pub const kCFNumberFloat64Type: _bindgen_ty_24 = 6;
2894pub const kCFNumberCharType: _bindgen_ty_24 = 7;
2895pub const kCFNumberShortType: _bindgen_ty_24 = 8;
2896pub const kCFNumberIntType: _bindgen_ty_24 = 9;
2897pub const kCFNumberLongType: _bindgen_ty_24 = 10;
2898pub const kCFNumberLongLongType: _bindgen_ty_24 = 11;
2899pub const kCFNumberFloatType: _bindgen_ty_24 = 12;
2900pub const kCFNumberDoubleType: _bindgen_ty_24 = 13;
2901pub const kCFNumberCFIndexType: _bindgen_ty_24 = 14;
2902pub const kCFNumberNSIntegerType: _bindgen_ty_24 = 15;
2903pub const kCFNumberCGFloatType: _bindgen_ty_24 = 16;
2904pub const kCFNumberMaxType: _bindgen_ty_24 = 16;
2905pub type _bindgen_ty_24 = ::core::ffi::c_uint;
2906#[repr(C)]
2907#[derive(Debug, Copy, Clone)]
2908pub struct __CFNumber {
2909    _unused: [u8; 0],
2910}
2911pub type CFNumberRef = *const __CFNumber;
2912extern "C" {
2913    pub static kCFNumberPositiveInfinity: CFNumberRef;
2914}
2915extern "C" {
2916    pub static kCFNumberNegativeInfinity: CFNumberRef;
2917}
2918extern "C" {
2919    pub static kCFNumberNaN: CFNumberRef;
2920}
2921extern "C" {
2922    pub fn CFNumberGetTypeID() -> CFTypeID;
2923}
2924extern "C" {
2925    pub fn CFNumberCreate(
2926        allocator: CFAllocatorRef,
2927        theType: CFNumberType,
2928        valuePtr: *const ::core::ffi::c_void,
2929    ) -> CFNumberRef;
2930}
2931extern "C" {
2932    pub fn CFNumberGetType(number: CFNumberRef) -> CFNumberType;
2933}
2934extern "C" {
2935    pub fn CFNumberGetByteSize(number: CFNumberRef) -> CFIndex;
2936}
2937extern "C" {
2938    pub fn CFNumberIsFloatType(number: CFNumberRef) -> Boolean;
2939}
2940extern "C" {
2941    pub fn CFNumberGetValue(
2942        number: CFNumberRef,
2943        theType: CFNumberType,
2944        valuePtr: *mut ::core::ffi::c_void,
2945    ) -> Boolean;
2946}
2947extern "C" {
2948    pub fn CFNumberCompare(
2949        number: CFNumberRef,
2950        otherNumber: CFNumberRef,
2951        context: *mut ::core::ffi::c_void,
2952    ) -> CFComparisonResult;
2953}
2954pub type CFNumberFormatterKey = CFStringRef;
2955#[repr(C)]
2956#[derive(Debug, Copy, Clone)]
2957pub struct __CFNumberFormatter {
2958    _unused: [u8; 0],
2959}
2960pub type CFNumberFormatterRef = *mut __CFNumberFormatter;
2961extern "C" {
2962    pub fn CFNumberFormatterGetTypeID() -> CFTypeID;
2963}
2964pub type CFNumberFormatterStyle = CFIndex;
2965pub const kCFNumberFormatterNoStyle: _bindgen_ty_25 = 0;
2966pub const kCFNumberFormatterDecimalStyle: _bindgen_ty_25 = 1;
2967pub const kCFNumberFormatterCurrencyStyle: _bindgen_ty_25 = 2;
2968pub const kCFNumberFormatterPercentStyle: _bindgen_ty_25 = 3;
2969pub const kCFNumberFormatterScientificStyle: _bindgen_ty_25 = 4;
2970pub const kCFNumberFormatterSpellOutStyle: _bindgen_ty_25 = 5;
2971pub const kCFNumberFormatterOrdinalStyle: _bindgen_ty_25 = 6;
2972pub const kCFNumberFormatterCurrencyISOCodeStyle: _bindgen_ty_25 = 8;
2973pub const kCFNumberFormatterCurrencyPluralStyle: _bindgen_ty_25 = 9;
2974pub const kCFNumberFormatterCurrencyAccountingStyle: _bindgen_ty_25 = 10;
2975pub type _bindgen_ty_25 = ::core::ffi::c_uint;
2976extern "C" {
2977    pub fn CFNumberFormatterCreate(
2978        allocator: CFAllocatorRef,
2979        locale: CFLocaleRef,
2980        style: CFNumberFormatterStyle,
2981    ) -> CFNumberFormatterRef;
2982}
2983extern "C" {
2984    pub fn CFNumberFormatterGetLocale(formatter: CFNumberFormatterRef) -> CFLocaleRef;
2985}
2986extern "C" {
2987    pub fn CFNumberFormatterGetStyle(formatter: CFNumberFormatterRef) -> CFNumberFormatterStyle;
2988}
2989extern "C" {
2990    pub fn CFNumberFormatterGetFormat(formatter: CFNumberFormatterRef) -> CFStringRef;
2991}
2992extern "C" {
2993    pub fn CFNumberFormatterSetFormat(formatter: CFNumberFormatterRef, formatString: CFStringRef);
2994}
2995extern "C" {
2996    pub fn CFNumberFormatterCreateStringWithNumber(
2997        allocator: CFAllocatorRef,
2998        formatter: CFNumberFormatterRef,
2999        number: CFNumberRef,
3000    ) -> CFStringRef;
3001}
3002extern "C" {
3003    pub fn CFNumberFormatterCreateStringWithValue(
3004        allocator: CFAllocatorRef,
3005        formatter: CFNumberFormatterRef,
3006        numberType: CFNumberType,
3007        valuePtr: *const ::core::ffi::c_void,
3008    ) -> CFStringRef;
3009}
3010pub type CFNumberFormatterOptionFlags = CFOptionFlags;
3011pub const kCFNumberFormatterParseIntegersOnly: _bindgen_ty_26 = 1;
3012pub type _bindgen_ty_26 = ::core::ffi::c_uint;
3013extern "C" {
3014    pub fn CFNumberFormatterCreateNumberFromString(
3015        allocator: CFAllocatorRef,
3016        formatter: CFNumberFormatterRef,
3017        string: CFStringRef,
3018        rangep: *mut CFRange,
3019        options: CFOptionFlags,
3020    ) -> CFNumberRef;
3021}
3022extern "C" {
3023    pub fn CFNumberFormatterGetValueFromString(
3024        formatter: CFNumberFormatterRef,
3025        string: CFStringRef,
3026        rangep: *mut CFRange,
3027        numberType: CFNumberType,
3028        valuePtr: *mut ::core::ffi::c_void,
3029    ) -> Boolean;
3030}
3031extern "C" {
3032    pub fn CFNumberFormatterSetProperty(
3033        formatter: CFNumberFormatterRef,
3034        key: CFNumberFormatterKey,
3035        value: CFTypeRef,
3036    );
3037}
3038extern "C" {
3039    pub fn CFNumberFormatterCopyProperty(
3040        formatter: CFNumberFormatterRef,
3041        key: CFNumberFormatterKey,
3042    ) -> CFTypeRef;
3043}
3044extern "C" {
3045    pub static kCFNumberFormatterCurrencyCode: CFNumberFormatterKey;
3046}
3047extern "C" {
3048    pub static kCFNumberFormatterDecimalSeparator: CFNumberFormatterKey;
3049}
3050extern "C" {
3051    pub static kCFNumberFormatterCurrencyDecimalSeparator: CFNumberFormatterKey;
3052}
3053extern "C" {
3054    pub static kCFNumberFormatterAlwaysShowDecimalSeparator: CFNumberFormatterKey;
3055}
3056extern "C" {
3057    pub static kCFNumberFormatterGroupingSeparator: CFNumberFormatterKey;
3058}
3059extern "C" {
3060    pub static kCFNumberFormatterUseGroupingSeparator: CFNumberFormatterKey;
3061}
3062extern "C" {
3063    pub static kCFNumberFormatterPercentSymbol: CFNumberFormatterKey;
3064}
3065extern "C" {
3066    pub static kCFNumberFormatterZeroSymbol: CFNumberFormatterKey;
3067}
3068extern "C" {
3069    pub static kCFNumberFormatterNaNSymbol: CFNumberFormatterKey;
3070}
3071extern "C" {
3072    pub static kCFNumberFormatterInfinitySymbol: CFNumberFormatterKey;
3073}
3074extern "C" {
3075    pub static kCFNumberFormatterMinusSign: CFNumberFormatterKey;
3076}
3077extern "C" {
3078    pub static kCFNumberFormatterPlusSign: CFNumberFormatterKey;
3079}
3080extern "C" {
3081    pub static kCFNumberFormatterCurrencySymbol: CFNumberFormatterKey;
3082}
3083extern "C" {
3084    pub static kCFNumberFormatterExponentSymbol: CFNumberFormatterKey;
3085}
3086extern "C" {
3087    pub static kCFNumberFormatterMinIntegerDigits: CFNumberFormatterKey;
3088}
3089extern "C" {
3090    pub static kCFNumberFormatterMaxIntegerDigits: CFNumberFormatterKey;
3091}
3092extern "C" {
3093    pub static kCFNumberFormatterMinFractionDigits: CFNumberFormatterKey;
3094}
3095extern "C" {
3096    pub static kCFNumberFormatterMaxFractionDigits: CFNumberFormatterKey;
3097}
3098extern "C" {
3099    pub static kCFNumberFormatterGroupingSize: CFNumberFormatterKey;
3100}
3101extern "C" {
3102    pub static kCFNumberFormatterSecondaryGroupingSize: CFNumberFormatterKey;
3103}
3104extern "C" {
3105    pub static kCFNumberFormatterRoundingMode: CFNumberFormatterKey;
3106}
3107extern "C" {
3108    pub static kCFNumberFormatterRoundingIncrement: CFNumberFormatterKey;
3109}
3110extern "C" {
3111    pub static kCFNumberFormatterFormatWidth: CFNumberFormatterKey;
3112}
3113extern "C" {
3114    pub static kCFNumberFormatterPaddingPosition: CFNumberFormatterKey;
3115}
3116extern "C" {
3117    pub static kCFNumberFormatterPaddingCharacter: CFNumberFormatterKey;
3118}
3119extern "C" {
3120    pub static kCFNumberFormatterDefaultFormat: CFNumberFormatterKey;
3121}
3122extern "C" {
3123    pub static kCFNumberFormatterMultiplier: CFNumberFormatterKey;
3124}
3125extern "C" {
3126    pub static kCFNumberFormatterPositivePrefix: CFNumberFormatterKey;
3127}
3128extern "C" {
3129    pub static kCFNumberFormatterPositiveSuffix: CFNumberFormatterKey;
3130}
3131extern "C" {
3132    pub static kCFNumberFormatterNegativePrefix: CFNumberFormatterKey;
3133}
3134extern "C" {
3135    pub static kCFNumberFormatterNegativeSuffix: CFNumberFormatterKey;
3136}
3137extern "C" {
3138    pub static kCFNumberFormatterPerMillSymbol: CFNumberFormatterKey;
3139}
3140extern "C" {
3141    pub static kCFNumberFormatterInternationalCurrencySymbol: CFNumberFormatterKey;
3142}
3143extern "C" {
3144    pub static kCFNumberFormatterCurrencyGroupingSeparator: CFNumberFormatterKey;
3145}
3146extern "C" {
3147    pub static kCFNumberFormatterIsLenient: CFNumberFormatterKey;
3148}
3149extern "C" {
3150    pub static kCFNumberFormatterUseSignificantDigits: CFNumberFormatterKey;
3151}
3152extern "C" {
3153    pub static kCFNumberFormatterMinSignificantDigits: CFNumberFormatterKey;
3154}
3155extern "C" {
3156    pub static kCFNumberFormatterMaxSignificantDigits: CFNumberFormatterKey;
3157}
3158extern "C" {
3159    pub static kCFNumberFormatterMinGroupingDigits: CFNumberFormatterKey;
3160}
3161pub type CFNumberFormatterRoundingMode = CFIndex;
3162pub const kCFNumberFormatterRoundCeiling: _bindgen_ty_27 = 0;
3163pub const kCFNumberFormatterRoundFloor: _bindgen_ty_27 = 1;
3164pub const kCFNumberFormatterRoundDown: _bindgen_ty_27 = 2;
3165pub const kCFNumberFormatterRoundUp: _bindgen_ty_27 = 3;
3166pub const kCFNumberFormatterRoundHalfEven: _bindgen_ty_27 = 4;
3167pub const kCFNumberFormatterRoundHalfDown: _bindgen_ty_27 = 5;
3168pub const kCFNumberFormatterRoundHalfUp: _bindgen_ty_27 = 6;
3169pub type _bindgen_ty_27 = ::core::ffi::c_uint;
3170pub type CFNumberFormatterPadPosition = CFIndex;
3171pub const kCFNumberFormatterPadBeforePrefix: _bindgen_ty_28 = 0;
3172pub const kCFNumberFormatterPadAfterPrefix: _bindgen_ty_28 = 1;
3173pub const kCFNumberFormatterPadBeforeSuffix: _bindgen_ty_28 = 2;
3174pub const kCFNumberFormatterPadAfterSuffix: _bindgen_ty_28 = 3;
3175pub type _bindgen_ty_28 = ::core::ffi::c_uint;
3176extern "C" {
3177    pub fn CFNumberFormatterGetDecimalInfoForCurrencyCode(
3178        currencyCode: CFStringRef,
3179        defaultFractionDigits: *mut i32,
3180        roundingIncrement: *mut f64,
3181    ) -> Boolean;
3182}
3183extern "C" {
3184    pub static kCFPreferencesAnyApplication: CFStringRef;
3185}
3186extern "C" {
3187    pub static kCFPreferencesCurrentApplication: CFStringRef;
3188}
3189extern "C" {
3190    pub static kCFPreferencesAnyHost: CFStringRef;
3191}
3192extern "C" {
3193    pub static kCFPreferencesCurrentHost: CFStringRef;
3194}
3195extern "C" {
3196    pub static kCFPreferencesAnyUser: CFStringRef;
3197}
3198extern "C" {
3199    pub static kCFPreferencesCurrentUser: CFStringRef;
3200}
3201extern "C" {
3202    pub fn CFPreferencesCopyAppValue(
3203        key: CFStringRef,
3204        applicationID: CFStringRef,
3205    ) -> CFPropertyListRef;
3206}
3207extern "C" {
3208    pub fn CFPreferencesGetAppBooleanValue(
3209        key: CFStringRef,
3210        applicationID: CFStringRef,
3211        keyExistsAndHasValidFormat: *mut Boolean,
3212    ) -> Boolean;
3213}
3214extern "C" {
3215    pub fn CFPreferencesGetAppIntegerValue(
3216        key: CFStringRef,
3217        applicationID: CFStringRef,
3218        keyExistsAndHasValidFormat: *mut Boolean,
3219    ) -> CFIndex;
3220}
3221extern "C" {
3222    pub fn CFPreferencesSetAppValue(
3223        key: CFStringRef,
3224        value: CFPropertyListRef,
3225        applicationID: CFStringRef,
3226    );
3227}
3228extern "C" {
3229    pub fn CFPreferencesAddSuitePreferencesToApp(applicationID: CFStringRef, suiteID: CFStringRef);
3230}
3231extern "C" {
3232    pub fn CFPreferencesRemoveSuitePreferencesFromApp(
3233        applicationID: CFStringRef,
3234        suiteID: CFStringRef,
3235    );
3236}
3237extern "C" {
3238    pub fn CFPreferencesAppSynchronize(applicationID: CFStringRef) -> Boolean;
3239}
3240extern "C" {
3241    pub fn CFPreferencesCopyValue(
3242        key: CFStringRef,
3243        applicationID: CFStringRef,
3244        userName: CFStringRef,
3245        hostName: CFStringRef,
3246    ) -> CFPropertyListRef;
3247}
3248extern "C" {
3249    pub fn CFPreferencesCopyMultiple(
3250        keysToFetch: CFArrayRef,
3251        applicationID: CFStringRef,
3252        userName: CFStringRef,
3253        hostName: CFStringRef,
3254    ) -> CFDictionaryRef;
3255}
3256extern "C" {
3257    pub fn CFPreferencesSetValue(
3258        key: CFStringRef,
3259        value: CFPropertyListRef,
3260        applicationID: CFStringRef,
3261        userName: CFStringRef,
3262        hostName: CFStringRef,
3263    );
3264}
3265extern "C" {
3266    pub fn CFPreferencesSetMultiple(
3267        keysToSet: CFDictionaryRef,
3268        keysToRemove: CFArrayRef,
3269        applicationID: CFStringRef,
3270        userName: CFStringRef,
3271        hostName: CFStringRef,
3272    );
3273}
3274extern "C" {
3275    pub fn CFPreferencesSynchronize(
3276        applicationID: CFStringRef,
3277        userName: CFStringRef,
3278        hostName: CFStringRef,
3279    ) -> Boolean;
3280}
3281extern "C" {
3282    pub fn CFPreferencesCopyApplicationList(
3283        userName: CFStringRef,
3284        hostName: CFStringRef,
3285    ) -> CFArrayRef;
3286}
3287extern "C" {
3288    pub fn CFPreferencesCopyKeyList(
3289        applicationID: CFStringRef,
3290        userName: CFStringRef,
3291        hostName: CFStringRef,
3292    ) -> CFArrayRef;
3293}
3294extern "C" {
3295    pub fn CFPreferencesAppValueIsForced(key: CFStringRef, applicationID: CFStringRef) -> Boolean;
3296}
3297pub type CFURLPathStyle = CFIndex;
3298pub const kCFURLPOSIXPathStyle: _bindgen_ty_29 = 0;
3299pub const kCFURLHFSPathStyle: _bindgen_ty_29 = 1;
3300pub const kCFURLWindowsPathStyle: _bindgen_ty_29 = 2;
3301pub type _bindgen_ty_29 = ::core::ffi::c_uint;
3302#[repr(C)]
3303#[derive(Debug, Copy, Clone)]
3304pub struct __CFURL {
3305    _unused: [u8; 0],
3306}
3307pub type CFURLRef = *const __CFURL;
3308extern "C" {
3309    pub fn CFURLGetTypeID() -> CFTypeID;
3310}
3311extern "C" {
3312    pub fn CFURLCreateWithBytes(
3313        allocator: CFAllocatorRef,
3314        URLBytes: *const UInt8,
3315        length: CFIndex,
3316        encoding: CFStringEncoding,
3317        baseURL: CFURLRef,
3318    ) -> CFURLRef;
3319}
3320extern "C" {
3321    pub fn CFURLCreateData(
3322        allocator: CFAllocatorRef,
3323        url: CFURLRef,
3324        encoding: CFStringEncoding,
3325        escapeWhitespace: Boolean,
3326    ) -> CFDataRef;
3327}
3328extern "C" {
3329    pub fn CFURLCreateWithString(
3330        allocator: CFAllocatorRef,
3331        URLString: CFStringRef,
3332        baseURL: CFURLRef,
3333    ) -> CFURLRef;
3334}
3335extern "C" {
3336    pub fn CFURLCreateAbsoluteURLWithBytes(
3337        alloc: CFAllocatorRef,
3338        relativeURLBytes: *const UInt8,
3339        length: CFIndex,
3340        encoding: CFStringEncoding,
3341        baseURL: CFURLRef,
3342        useCompatibilityMode: Boolean,
3343    ) -> CFURLRef;
3344}
3345extern "C" {
3346    pub fn CFURLCreateWithFileSystemPath(
3347        allocator: CFAllocatorRef,
3348        filePath: CFStringRef,
3349        pathStyle: CFURLPathStyle,
3350        isDirectory: Boolean,
3351    ) -> CFURLRef;
3352}
3353extern "C" {
3354    pub fn CFURLCreateFromFileSystemRepresentation(
3355        allocator: CFAllocatorRef,
3356        buffer: *const UInt8,
3357        bufLen: CFIndex,
3358        isDirectory: Boolean,
3359    ) -> CFURLRef;
3360}
3361extern "C" {
3362    pub fn CFURLCreateWithFileSystemPathRelativeToBase(
3363        allocator: CFAllocatorRef,
3364        filePath: CFStringRef,
3365        pathStyle: CFURLPathStyle,
3366        isDirectory: Boolean,
3367        baseURL: CFURLRef,
3368    ) -> CFURLRef;
3369}
3370extern "C" {
3371    pub fn CFURLCreateFromFileSystemRepresentationRelativeToBase(
3372        allocator: CFAllocatorRef,
3373        buffer: *const UInt8,
3374        bufLen: CFIndex,
3375        isDirectory: Boolean,
3376        baseURL: CFURLRef,
3377    ) -> CFURLRef;
3378}
3379extern "C" {
3380    pub fn CFURLGetFileSystemRepresentation(
3381        url: CFURLRef,
3382        resolveAgainstBase: Boolean,
3383        buffer: *mut UInt8,
3384        maxBufLen: CFIndex,
3385    ) -> Boolean;
3386}
3387extern "C" {
3388    pub fn CFURLCopyAbsoluteURL(relativeURL: CFURLRef) -> CFURLRef;
3389}
3390extern "C" {
3391    pub fn CFURLGetString(anURL: CFURLRef) -> CFStringRef;
3392}
3393extern "C" {
3394    pub fn CFURLGetBaseURL(anURL: CFURLRef) -> CFURLRef;
3395}
3396extern "C" {
3397    pub fn CFURLCanBeDecomposed(anURL: CFURLRef) -> Boolean;
3398}
3399extern "C" {
3400    pub fn CFURLCopyScheme(anURL: CFURLRef) -> CFStringRef;
3401}
3402extern "C" {
3403    pub fn CFURLCopyNetLocation(anURL: CFURLRef) -> CFStringRef;
3404}
3405extern "C" {
3406    pub fn CFURLCopyPath(anURL: CFURLRef) -> CFStringRef;
3407}
3408extern "C" {
3409    pub fn CFURLCopyStrictPath(anURL: CFURLRef, isAbsolute: *mut Boolean) -> CFStringRef;
3410}
3411extern "C" {
3412    pub fn CFURLCopyFileSystemPath(anURL: CFURLRef, pathStyle: CFURLPathStyle) -> CFStringRef;
3413}
3414extern "C" {
3415    pub fn CFURLHasDirectoryPath(anURL: CFURLRef) -> Boolean;
3416}
3417extern "C" {
3418    pub fn CFURLCopyResourceSpecifier(anURL: CFURLRef) -> CFStringRef;
3419}
3420extern "C" {
3421    pub fn CFURLCopyHostName(anURL: CFURLRef) -> CFStringRef;
3422}
3423extern "C" {
3424    pub fn CFURLGetPortNumber(anURL: CFURLRef) -> SInt32;
3425}
3426extern "C" {
3427    pub fn CFURLCopyUserName(anURL: CFURLRef) -> CFStringRef;
3428}
3429extern "C" {
3430    pub fn CFURLCopyPassword(anURL: CFURLRef) -> CFStringRef;
3431}
3432extern "C" {
3433    pub fn CFURLCopyParameterString(
3434        anURL: CFURLRef,
3435        charactersToLeaveEscaped: CFStringRef,
3436    ) -> CFStringRef;
3437}
3438extern "C" {
3439    pub fn CFURLCopyQueryString(
3440        anURL: CFURLRef,
3441        charactersToLeaveEscaped: CFStringRef,
3442    ) -> CFStringRef;
3443}
3444extern "C" {
3445    pub fn CFURLCopyFragment(anURL: CFURLRef, charactersToLeaveEscaped: CFStringRef)
3446        -> CFStringRef;
3447}
3448extern "C" {
3449    pub fn CFURLCopyLastPathComponent(url: CFURLRef) -> CFStringRef;
3450}
3451extern "C" {
3452    pub fn CFURLCopyPathExtension(url: CFURLRef) -> CFStringRef;
3453}
3454extern "C" {
3455    pub fn CFURLCreateCopyAppendingPathComponent(
3456        allocator: CFAllocatorRef,
3457        url: CFURLRef,
3458        pathComponent: CFStringRef,
3459        isDirectory: Boolean,
3460    ) -> CFURLRef;
3461}
3462extern "C" {
3463    pub fn CFURLCreateCopyDeletingLastPathComponent(
3464        allocator: CFAllocatorRef,
3465        url: CFURLRef,
3466    ) -> CFURLRef;
3467}
3468extern "C" {
3469    pub fn CFURLCreateCopyAppendingPathExtension(
3470        allocator: CFAllocatorRef,
3471        url: CFURLRef,
3472        extension: CFStringRef,
3473    ) -> CFURLRef;
3474}
3475extern "C" {
3476    pub fn CFURLCreateCopyDeletingPathExtension(
3477        allocator: CFAllocatorRef,
3478        url: CFURLRef,
3479    ) -> CFURLRef;
3480}
3481extern "C" {
3482    pub fn CFURLGetBytes(url: CFURLRef, buffer: *mut UInt8, bufferLength: CFIndex) -> CFIndex;
3483}
3484pub type CFURLComponentType = CFIndex;
3485pub const kCFURLComponentScheme: _bindgen_ty_30 = 1;
3486pub const kCFURLComponentNetLocation: _bindgen_ty_30 = 2;
3487pub const kCFURLComponentPath: _bindgen_ty_30 = 3;
3488pub const kCFURLComponentResourceSpecifier: _bindgen_ty_30 = 4;
3489pub const kCFURLComponentUser: _bindgen_ty_30 = 5;
3490pub const kCFURLComponentPassword: _bindgen_ty_30 = 6;
3491pub const kCFURLComponentUserInfo: _bindgen_ty_30 = 7;
3492pub const kCFURLComponentHost: _bindgen_ty_30 = 8;
3493pub const kCFURLComponentPort: _bindgen_ty_30 = 9;
3494pub const kCFURLComponentParameterString: _bindgen_ty_30 = 10;
3495pub const kCFURLComponentQuery: _bindgen_ty_30 = 11;
3496pub const kCFURLComponentFragment: _bindgen_ty_30 = 12;
3497pub type _bindgen_ty_30 = ::core::ffi::c_uint;
3498extern "C" {
3499    pub fn CFURLGetByteRangeForComponent(
3500        url: CFURLRef,
3501        component: CFURLComponentType,
3502        rangeIncludingSeparators: *mut CFRange,
3503    ) -> CFRange;
3504}
3505extern "C" {
3506    pub fn CFURLCreateStringByReplacingPercentEscapes(
3507        allocator: CFAllocatorRef,
3508        originalString: CFStringRef,
3509        charactersToLeaveEscaped: CFStringRef,
3510    ) -> CFStringRef;
3511}
3512extern "C" {
3513    pub fn CFURLCreateStringByReplacingPercentEscapesUsingEncoding(
3514        allocator: CFAllocatorRef,
3515        origString: CFStringRef,
3516        charsToLeaveEscaped: CFStringRef,
3517        encoding: CFStringEncoding,
3518    ) -> CFStringRef;
3519}
3520extern "C" {
3521    pub fn CFURLCreateStringByAddingPercentEscapes(
3522        allocator: CFAllocatorRef,
3523        originalString: CFStringRef,
3524        charactersToLeaveUnescaped: CFStringRef,
3525        legalURLCharactersToBeEscaped: CFStringRef,
3526        encoding: CFStringEncoding,
3527    ) -> CFStringRef;
3528}
3529extern "C" {
3530    pub fn CFURLIsFileReferenceURL(url: CFURLRef) -> Boolean;
3531}
3532extern "C" {
3533    pub fn CFURLCreateFileReferenceURL(
3534        allocator: CFAllocatorRef,
3535        url: CFURLRef,
3536        error: *mut CFErrorRef,
3537    ) -> CFURLRef;
3538}
3539extern "C" {
3540    pub fn CFURLCreateFilePathURL(
3541        allocator: CFAllocatorRef,
3542        url: CFURLRef,
3543        error: *mut CFErrorRef,
3544    ) -> CFURLRef;
3545}
3546extern "C" {
3547    pub fn CFURLCreateFromFSRef(allocator: CFAllocatorRef, fsRef: *const FSRef) -> CFURLRef;
3548}
3549extern "C" {
3550    pub fn CFURLGetFSRef(url: CFURLRef, fsRef: *mut FSRef) -> Boolean;
3551}
3552extern "C" {
3553    pub fn CFURLCopyResourcePropertyForKey(
3554        url: CFURLRef,
3555        key: CFStringRef,
3556        propertyValueTypeRefPtr: *mut ::core::ffi::c_void,
3557        error: *mut CFErrorRef,
3558    ) -> Boolean;
3559}
3560extern "C" {
3561    pub fn CFURLCopyResourcePropertiesForKeys(
3562        url: CFURLRef,
3563        keys: CFArrayRef,
3564        error: *mut CFErrorRef,
3565    ) -> CFDictionaryRef;
3566}
3567extern "C" {
3568    pub fn CFURLSetResourcePropertyForKey(
3569        url: CFURLRef,
3570        key: CFStringRef,
3571        propertyValue: CFTypeRef,
3572        error: *mut CFErrorRef,
3573    ) -> Boolean;
3574}
3575extern "C" {
3576    pub fn CFURLSetResourcePropertiesForKeys(
3577        url: CFURLRef,
3578        keyedPropertyValues: CFDictionaryRef,
3579        error: *mut CFErrorRef,
3580    ) -> Boolean;
3581}
3582extern "C" {
3583    pub static kCFURLKeysOfUnsetValuesKey: CFStringRef;
3584}
3585extern "C" {
3586    pub fn CFURLClearResourcePropertyCacheForKey(url: CFURLRef, key: CFStringRef);
3587}
3588extern "C" {
3589    pub fn CFURLClearResourcePropertyCache(url: CFURLRef);
3590}
3591extern "C" {
3592    pub fn CFURLSetTemporaryResourcePropertyForKey(
3593        url: CFURLRef,
3594        key: CFStringRef,
3595        propertyValue: CFTypeRef,
3596    );
3597}
3598extern "C" {
3599    pub fn CFURLResourceIsReachable(url: CFURLRef, error: *mut CFErrorRef) -> Boolean;
3600}
3601extern "C" {
3602    pub static kCFURLNameKey: CFStringRef;
3603}
3604extern "C" {
3605    pub static kCFURLLocalizedNameKey: CFStringRef;
3606}
3607extern "C" {
3608    pub static kCFURLIsRegularFileKey: CFStringRef;
3609}
3610extern "C" {
3611    pub static kCFURLIsDirectoryKey: CFStringRef;
3612}
3613extern "C" {
3614    pub static kCFURLIsSymbolicLinkKey: CFStringRef;
3615}
3616extern "C" {
3617    pub static kCFURLIsVolumeKey: CFStringRef;
3618}
3619extern "C" {
3620    pub static kCFURLIsPackageKey: CFStringRef;
3621}
3622extern "C" {
3623    pub static kCFURLIsApplicationKey: CFStringRef;
3624}
3625extern "C" {
3626    pub static kCFURLApplicationIsScriptableKey: CFStringRef;
3627}
3628extern "C" {
3629    pub static kCFURLIsSystemImmutableKey: CFStringRef;
3630}
3631extern "C" {
3632    pub static kCFURLIsUserImmutableKey: CFStringRef;
3633}
3634extern "C" {
3635    pub static kCFURLIsHiddenKey: CFStringRef;
3636}
3637extern "C" {
3638    pub static kCFURLHasHiddenExtensionKey: CFStringRef;
3639}
3640extern "C" {
3641    pub static kCFURLCreationDateKey: CFStringRef;
3642}
3643extern "C" {
3644    pub static kCFURLContentAccessDateKey: CFStringRef;
3645}
3646extern "C" {
3647    pub static kCFURLContentModificationDateKey: CFStringRef;
3648}
3649extern "C" {
3650    pub static kCFURLAttributeModificationDateKey: CFStringRef;
3651}
3652extern "C" {
3653    pub static kCFURLFileIdentifierKey: CFStringRef;
3654}
3655extern "C" {
3656    pub static kCFURLFileContentIdentifierKey: CFStringRef;
3657}
3658extern "C" {
3659    pub static kCFURLMayShareFileContentKey: CFStringRef;
3660}
3661extern "C" {
3662    pub static kCFURLMayHaveExtendedAttributesKey: CFStringRef;
3663}
3664extern "C" {
3665    pub static kCFURLIsPurgeableKey: CFStringRef;
3666}
3667extern "C" {
3668    pub static kCFURLIsSparseKey: CFStringRef;
3669}
3670extern "C" {
3671    pub static kCFURLLinkCountKey: CFStringRef;
3672}
3673extern "C" {
3674    pub static kCFURLParentDirectoryURLKey: CFStringRef;
3675}
3676extern "C" {
3677    pub static kCFURLVolumeURLKey: CFStringRef;
3678}
3679extern "C" {
3680    pub static kCFURLTypeIdentifierKey: CFStringRef;
3681}
3682extern "C" {
3683    pub static kCFURLLocalizedTypeDescriptionKey: CFStringRef;
3684}
3685extern "C" {
3686    pub static kCFURLLabelNumberKey: CFStringRef;
3687}
3688extern "C" {
3689    pub static kCFURLLabelColorKey: CFStringRef;
3690}
3691extern "C" {
3692    pub static kCFURLLocalizedLabelKey: CFStringRef;
3693}
3694extern "C" {
3695    pub static kCFURLEffectiveIconKey: CFStringRef;
3696}
3697extern "C" {
3698    pub static kCFURLCustomIconKey: CFStringRef;
3699}
3700extern "C" {
3701    pub static kCFURLFileResourceIdentifierKey: CFStringRef;
3702}
3703extern "C" {
3704    pub static kCFURLVolumeIdentifierKey: CFStringRef;
3705}
3706extern "C" {
3707    pub static kCFURLPreferredIOBlockSizeKey: CFStringRef;
3708}
3709extern "C" {
3710    pub static kCFURLIsReadableKey: CFStringRef;
3711}
3712extern "C" {
3713    pub static kCFURLIsWritableKey: CFStringRef;
3714}
3715extern "C" {
3716    pub static kCFURLIsExecutableKey: CFStringRef;
3717}
3718extern "C" {
3719    pub static kCFURLFileSecurityKey: CFStringRef;
3720}
3721extern "C" {
3722    pub static kCFURLIsExcludedFromBackupKey: CFStringRef;
3723}
3724extern "C" {
3725    pub static kCFURLTagNamesKey: CFStringRef;
3726}
3727extern "C" {
3728    pub static kCFURLPathKey: CFStringRef;
3729}
3730extern "C" {
3731    pub static kCFURLCanonicalPathKey: CFStringRef;
3732}
3733extern "C" {
3734    pub static kCFURLIsMountTriggerKey: CFStringRef;
3735}
3736extern "C" {
3737    pub static kCFURLGenerationIdentifierKey: CFStringRef;
3738}
3739extern "C" {
3740    pub static kCFURLDocumentIdentifierKey: CFStringRef;
3741}
3742extern "C" {
3743    pub static kCFURLAddedToDirectoryDateKey: CFStringRef;
3744}
3745extern "C" {
3746    pub static kCFURLQuarantinePropertiesKey: CFStringRef;
3747}
3748extern "C" {
3749    pub static kCFURLFileResourceTypeKey: CFStringRef;
3750}
3751extern "C" {
3752    pub static kCFURLFileResourceTypeNamedPipe: CFStringRef;
3753}
3754extern "C" {
3755    pub static kCFURLFileResourceTypeCharacterSpecial: CFStringRef;
3756}
3757extern "C" {
3758    pub static kCFURLFileResourceTypeDirectory: CFStringRef;
3759}
3760extern "C" {
3761    pub static kCFURLFileResourceTypeBlockSpecial: CFStringRef;
3762}
3763extern "C" {
3764    pub static kCFURLFileResourceTypeRegular: CFStringRef;
3765}
3766extern "C" {
3767    pub static kCFURLFileResourceTypeSymbolicLink: CFStringRef;
3768}
3769extern "C" {
3770    pub static kCFURLFileResourceTypeSocket: CFStringRef;
3771}
3772extern "C" {
3773    pub static kCFURLFileResourceTypeUnknown: CFStringRef;
3774}
3775extern "C" {
3776    pub static kCFURLFileSizeKey: CFStringRef;
3777}
3778extern "C" {
3779    pub static kCFURLFileAllocatedSizeKey: CFStringRef;
3780}
3781extern "C" {
3782    pub static kCFURLTotalFileSizeKey: CFStringRef;
3783}
3784extern "C" {
3785    pub static kCFURLTotalFileAllocatedSizeKey: CFStringRef;
3786}
3787extern "C" {
3788    pub static kCFURLIsAliasFileKey: CFStringRef;
3789}
3790extern "C" {
3791    pub static kCFURLFileProtectionKey: CFStringRef;
3792}
3793extern "C" {
3794    pub static kCFURLFileProtectionNone: CFStringRef;
3795}
3796extern "C" {
3797    pub static kCFURLFileProtectionComplete: CFStringRef;
3798}
3799extern "C" {
3800    pub static kCFURLFileProtectionCompleteUnlessOpen: CFStringRef;
3801}
3802extern "C" {
3803    pub static kCFURLFileProtectionCompleteUntilFirstUserAuthentication: CFStringRef;
3804}
3805extern "C" {
3806    pub static kCFURLFileProtectionCompleteWhenUserInactive: CFStringRef;
3807}
3808extern "C" {
3809    pub static kCFURLDirectoryEntryCountKey: CFStringRef;
3810}
3811extern "C" {
3812    pub static kCFURLVolumeLocalizedFormatDescriptionKey: CFStringRef;
3813}
3814extern "C" {
3815    pub static kCFURLVolumeTotalCapacityKey: CFStringRef;
3816}
3817extern "C" {
3818    pub static kCFURLVolumeAvailableCapacityKey: CFStringRef;
3819}
3820extern "C" {
3821    pub static kCFURLVolumeAvailableCapacityForImportantUsageKey: CFStringRef;
3822}
3823extern "C" {
3824    pub static kCFURLVolumeAvailableCapacityForOpportunisticUsageKey: CFStringRef;
3825}
3826extern "C" {
3827    pub static kCFURLVolumeResourceCountKey: CFStringRef;
3828}
3829extern "C" {
3830    pub static kCFURLVolumeSupportsPersistentIDsKey: CFStringRef;
3831}
3832extern "C" {
3833    pub static kCFURLVolumeSupportsSymbolicLinksKey: CFStringRef;
3834}
3835extern "C" {
3836    pub static kCFURLVolumeSupportsHardLinksKey: CFStringRef;
3837}
3838extern "C" {
3839    pub static kCFURLVolumeSupportsJournalingKey: CFStringRef;
3840}
3841extern "C" {
3842    pub static kCFURLVolumeIsJournalingKey: CFStringRef;
3843}
3844extern "C" {
3845    pub static kCFURLVolumeSupportsSparseFilesKey: CFStringRef;
3846}
3847extern "C" {
3848    pub static kCFURLVolumeSupportsZeroRunsKey: CFStringRef;
3849}
3850extern "C" {
3851    pub static kCFURLVolumeSupportsCaseSensitiveNamesKey: CFStringRef;
3852}
3853extern "C" {
3854    pub static kCFURLVolumeSupportsCasePreservedNamesKey: CFStringRef;
3855}
3856extern "C" {
3857    pub static kCFURLVolumeSupportsRootDirectoryDatesKey: CFStringRef;
3858}
3859extern "C" {
3860    pub static kCFURLVolumeSupportsVolumeSizesKey: CFStringRef;
3861}
3862extern "C" {
3863    pub static kCFURLVolumeSupportsRenamingKey: CFStringRef;
3864}
3865extern "C" {
3866    pub static kCFURLVolumeSupportsAdvisoryFileLockingKey: CFStringRef;
3867}
3868extern "C" {
3869    pub static kCFURLVolumeSupportsExtendedSecurityKey: CFStringRef;
3870}
3871extern "C" {
3872    pub static kCFURLVolumeIsBrowsableKey: CFStringRef;
3873}
3874extern "C" {
3875    pub static kCFURLVolumeMaximumFileSizeKey: CFStringRef;
3876}
3877extern "C" {
3878    pub static kCFURLVolumeIsEjectableKey: CFStringRef;
3879}
3880extern "C" {
3881    pub static kCFURLVolumeIsRemovableKey: CFStringRef;
3882}
3883extern "C" {
3884    pub static kCFURLVolumeIsInternalKey: CFStringRef;
3885}
3886extern "C" {
3887    pub static kCFURLVolumeIsAutomountedKey: CFStringRef;
3888}
3889extern "C" {
3890    pub static kCFURLVolumeIsLocalKey: CFStringRef;
3891}
3892extern "C" {
3893    pub static kCFURLVolumeIsReadOnlyKey: CFStringRef;
3894}
3895extern "C" {
3896    pub static kCFURLVolumeCreationDateKey: CFStringRef;
3897}
3898extern "C" {
3899    pub static kCFURLVolumeURLForRemountingKey: CFStringRef;
3900}
3901extern "C" {
3902    pub static kCFURLVolumeUUIDStringKey: CFStringRef;
3903}
3904extern "C" {
3905    pub static kCFURLVolumeNameKey: CFStringRef;
3906}
3907extern "C" {
3908    pub static kCFURLVolumeLocalizedNameKey: CFStringRef;
3909}
3910extern "C" {
3911    pub static kCFURLVolumeIsEncryptedKey: CFStringRef;
3912}
3913extern "C" {
3914    pub static kCFURLVolumeIsRootFileSystemKey: CFStringRef;
3915}
3916extern "C" {
3917    pub static kCFURLVolumeSupportsCompressionKey: CFStringRef;
3918}
3919extern "C" {
3920    pub static kCFURLVolumeSupportsFileCloningKey: CFStringRef;
3921}
3922extern "C" {
3923    pub static kCFURLVolumeSupportsSwapRenamingKey: CFStringRef;
3924}
3925extern "C" {
3926    pub static kCFURLVolumeSupportsExclusiveRenamingKey: CFStringRef;
3927}
3928extern "C" {
3929    pub static kCFURLVolumeSupportsImmutableFilesKey: CFStringRef;
3930}
3931extern "C" {
3932    pub static kCFURLVolumeSupportsAccessPermissionsKey: CFStringRef;
3933}
3934extern "C" {
3935    pub static kCFURLVolumeSupportsFileProtectionKey: CFStringRef;
3936}
3937extern "C" {
3938    pub static kCFURLVolumeTypeNameKey: CFStringRef;
3939}
3940extern "C" {
3941    pub static kCFURLVolumeSubtypeKey: CFStringRef;
3942}
3943extern "C" {
3944    pub static kCFURLVolumeMountFromLocationKey: CFStringRef;
3945}
3946extern "C" {
3947    pub static kCFURLIsUbiquitousItemKey: CFStringRef;
3948}
3949extern "C" {
3950    pub static kCFURLUbiquitousItemHasUnresolvedConflictsKey: CFStringRef;
3951}
3952extern "C" {
3953    pub static kCFURLUbiquitousItemIsDownloadedKey: CFStringRef;
3954}
3955extern "C" {
3956    pub static kCFURLUbiquitousItemIsDownloadingKey: CFStringRef;
3957}
3958extern "C" {
3959    pub static kCFURLUbiquitousItemIsUploadedKey: CFStringRef;
3960}
3961extern "C" {
3962    pub static kCFURLUbiquitousItemIsUploadingKey: CFStringRef;
3963}
3964extern "C" {
3965    pub static kCFURLUbiquitousItemPercentDownloadedKey: CFStringRef;
3966}
3967extern "C" {
3968    pub static kCFURLUbiquitousItemPercentUploadedKey: CFStringRef;
3969}
3970extern "C" {
3971    pub static kCFURLUbiquitousItemDownloadingStatusKey: CFStringRef;
3972}
3973extern "C" {
3974    pub static kCFURLUbiquitousItemDownloadingErrorKey: CFStringRef;
3975}
3976extern "C" {
3977    pub static kCFURLUbiquitousItemUploadingErrorKey: CFStringRef;
3978}
3979extern "C" {
3980    pub static kCFURLUbiquitousItemIsExcludedFromSyncKey: CFStringRef;
3981}
3982extern "C" {
3983    pub static kCFURLUbiquitousItemDownloadingStatusNotDownloaded: CFStringRef;
3984}
3985extern "C" {
3986    pub static kCFURLUbiquitousItemDownloadingStatusDownloaded: CFStringRef;
3987}
3988extern "C" {
3989    pub static kCFURLUbiquitousItemDownloadingStatusCurrent: CFStringRef;
3990}
3991extern "C" {
3992    pub static kCFURLUbiquitousItemSupportedSyncControlsKey: CFStringRef;
3993}
3994extern "C" {
3995    pub static kCFURLUbiquitousItemIsSyncPausedKey: CFStringRef;
3996}
3997pub type CFURLBookmarkCreationOptions = CFOptionFlags;
3998pub const kCFURLBookmarkCreationMinimalBookmarkMask: _bindgen_ty_31 = 512;
3999pub const kCFURLBookmarkCreationSuitableForBookmarkFile: _bindgen_ty_31 = 1024;
4000pub const kCFURLBookmarkCreationWithSecurityScope: _bindgen_ty_31 = 2048;
4001pub const kCFURLBookmarkCreationSecurityScopeAllowOnlyReadAccess: _bindgen_ty_31 = 4096;
4002pub const kCFURLBookmarkCreationWithoutImplicitSecurityScope: _bindgen_ty_31 = 536870912;
4003pub const kCFURLBookmarkCreationPreferFileIDResolutionMask: _bindgen_ty_31 = 256;
4004pub type _bindgen_ty_31 = ::core::ffi::c_uint;
4005pub type CFURLBookmarkResolutionOptions = CFOptionFlags;
4006pub const kCFURLBookmarkResolutionWithoutUIMask: _bindgen_ty_32 = 256;
4007pub const kCFURLBookmarkResolutionWithoutMountingMask: _bindgen_ty_32 = 512;
4008pub const kCFURLBookmarkResolutionWithSecurityScope: _bindgen_ty_32 = 1024;
4009pub const kCFURLBookmarkResolutionWithoutImplicitStartAccessing: _bindgen_ty_32 = 32768;
4010pub const kCFBookmarkResolutionWithoutUIMask: _bindgen_ty_32 = 256;
4011pub const kCFBookmarkResolutionWithoutMountingMask: _bindgen_ty_32 = 512;
4012pub type _bindgen_ty_32 = ::core::ffi::c_uint;
4013pub type CFURLBookmarkFileCreationOptions = CFOptionFlags;
4014extern "C" {
4015    pub fn CFURLCreateBookmarkData(
4016        allocator: CFAllocatorRef,
4017        url: CFURLRef,
4018        options: CFURLBookmarkCreationOptions,
4019        resourcePropertiesToInclude: CFArrayRef,
4020        relativeToURL: CFURLRef,
4021        error: *mut CFErrorRef,
4022    ) -> CFDataRef;
4023}
4024extern "C" {
4025    pub fn CFURLCreateByResolvingBookmarkData(
4026        allocator: CFAllocatorRef,
4027        bookmark: CFDataRef,
4028        options: CFURLBookmarkResolutionOptions,
4029        relativeToURL: CFURLRef,
4030        resourcePropertiesToInclude: CFArrayRef,
4031        isStale: *mut Boolean,
4032        error: *mut CFErrorRef,
4033    ) -> CFURLRef;
4034}
4035extern "C" {
4036    pub fn CFURLCreateResourcePropertiesForKeysFromBookmarkData(
4037        allocator: CFAllocatorRef,
4038        resourcePropertiesToReturn: CFArrayRef,
4039        bookmark: CFDataRef,
4040    ) -> CFDictionaryRef;
4041}
4042extern "C" {
4043    pub fn CFURLCreateResourcePropertyForKeyFromBookmarkData(
4044        allocator: CFAllocatorRef,
4045        resourcePropertyKey: CFStringRef,
4046        bookmark: CFDataRef,
4047    ) -> CFTypeRef;
4048}
4049extern "C" {
4050    pub fn CFURLCreateBookmarkDataFromFile(
4051        allocator: CFAllocatorRef,
4052        fileURL: CFURLRef,
4053        errorRef: *mut CFErrorRef,
4054    ) -> CFDataRef;
4055}
4056extern "C" {
4057    pub fn CFURLWriteBookmarkDataToFile(
4058        bookmarkRef: CFDataRef,
4059        fileURL: CFURLRef,
4060        options: CFURLBookmarkFileCreationOptions,
4061        errorRef: *mut CFErrorRef,
4062    ) -> Boolean;
4063}
4064extern "C" {
4065    pub fn CFURLCreateBookmarkDataFromAliasRecord(
4066        allocatorRef: CFAllocatorRef,
4067        aliasRecordDataRef: CFDataRef,
4068    ) -> CFDataRef;
4069}
4070extern "C" {
4071    pub fn CFURLStartAccessingSecurityScopedResource(url: CFURLRef) -> Boolean;
4072}
4073extern "C" {
4074    pub fn CFURLStopAccessingSecurityScopedResource(url: CFURLRef);
4075}
4076pub type integer_t = ::core::ffi::c_int;
4077pub type mach_port_t = __darwin_mach_port_t;
4078pub type CFRunLoopMode = CFStringRef;
4079#[repr(C)]
4080#[derive(Debug, Copy, Clone)]
4081pub struct __CFRunLoop {
4082    _unused: [u8; 0],
4083}
4084pub type CFRunLoopRef = *mut __CFRunLoop;
4085#[repr(C)]
4086#[derive(Debug, Copy, Clone)]
4087pub struct __CFRunLoopSource {
4088    _unused: [u8; 0],
4089}
4090pub type CFRunLoopSourceRef = *mut __CFRunLoopSource;
4091#[repr(C)]
4092#[derive(Debug, Copy, Clone)]
4093pub struct __CFRunLoopObserver {
4094    _unused: [u8; 0],
4095}
4096pub type CFRunLoopObserverRef = *mut __CFRunLoopObserver;
4097#[repr(C)]
4098#[derive(Debug, Copy, Clone)]
4099pub struct __CFRunLoopTimer {
4100    _unused: [u8; 0],
4101}
4102pub type CFRunLoopTimerRef = *mut __CFRunLoopTimer;
4103pub type CFRunLoopRunResult = SInt32;
4104pub const kCFRunLoopRunFinished: _bindgen_ty_33 = 1;
4105pub const kCFRunLoopRunStopped: _bindgen_ty_33 = 2;
4106pub const kCFRunLoopRunTimedOut: _bindgen_ty_33 = 3;
4107pub const kCFRunLoopRunHandledSource: _bindgen_ty_33 = 4;
4108pub type _bindgen_ty_33 = ::core::ffi::c_uint;
4109pub type CFRunLoopActivity = CFOptionFlags;
4110pub const kCFRunLoopEntry: _bindgen_ty_34 = 1;
4111pub const kCFRunLoopBeforeTimers: _bindgen_ty_34 = 2;
4112pub const kCFRunLoopBeforeSources: _bindgen_ty_34 = 4;
4113pub const kCFRunLoopBeforeWaiting: _bindgen_ty_34 = 32;
4114pub const kCFRunLoopAfterWaiting: _bindgen_ty_34 = 64;
4115pub const kCFRunLoopExit: _bindgen_ty_34 = 128;
4116pub const kCFRunLoopAllActivities: _bindgen_ty_34 = 268435455;
4117pub type _bindgen_ty_34 = ::core::ffi::c_uint;
4118extern "C" {
4119    pub static kCFRunLoopDefaultMode: CFRunLoopMode;
4120}
4121extern "C" {
4122    pub static kCFRunLoopCommonModes: CFRunLoopMode;
4123}
4124extern "C" {
4125    pub fn CFRunLoopGetTypeID() -> CFTypeID;
4126}
4127extern "C" {
4128    pub fn CFRunLoopGetCurrent() -> CFRunLoopRef;
4129}
4130extern "C" {
4131    pub fn CFRunLoopGetMain() -> CFRunLoopRef;
4132}
4133extern "C" {
4134    pub fn CFRunLoopCopyCurrentMode(rl: CFRunLoopRef) -> CFRunLoopMode;
4135}
4136extern "C" {
4137    pub fn CFRunLoopCopyAllModes(rl: CFRunLoopRef) -> CFArrayRef;
4138}
4139extern "C" {
4140    pub fn CFRunLoopAddCommonMode(rl: CFRunLoopRef, mode: CFRunLoopMode);
4141}
4142extern "C" {
4143    pub fn CFRunLoopGetNextTimerFireDate(rl: CFRunLoopRef, mode: CFRunLoopMode) -> CFAbsoluteTime;
4144}
4145extern "C" {
4146    pub fn CFRunLoopRun();
4147}
4148extern "C" {
4149    pub fn CFRunLoopRunInMode(
4150        mode: CFRunLoopMode,
4151        seconds: CFTimeInterval,
4152        returnAfterSourceHandled: Boolean,
4153    ) -> CFRunLoopRunResult;
4154}
4155extern "C" {
4156    pub fn CFRunLoopIsWaiting(rl: CFRunLoopRef) -> Boolean;
4157}
4158extern "C" {
4159    pub fn CFRunLoopWakeUp(rl: CFRunLoopRef);
4160}
4161extern "C" {
4162    pub fn CFRunLoopStop(rl: CFRunLoopRef);
4163}
4164extern "C" {
4165    pub fn CFRunLoopPerformBlock(
4166        rl: CFRunLoopRef,
4167        mode: CFTypeRef,
4168        block: *mut ::core::ffi::c_void,
4169    );
4170}
4171extern "C" {
4172    pub fn CFRunLoopContainsSource(
4173        rl: CFRunLoopRef,
4174        source: CFRunLoopSourceRef,
4175        mode: CFRunLoopMode,
4176    ) -> Boolean;
4177}
4178extern "C" {
4179    pub fn CFRunLoopAddSource(rl: CFRunLoopRef, source: CFRunLoopSourceRef, mode: CFRunLoopMode);
4180}
4181extern "C" {
4182    pub fn CFRunLoopRemoveSource(rl: CFRunLoopRef, source: CFRunLoopSourceRef, mode: CFRunLoopMode);
4183}
4184extern "C" {
4185    pub fn CFRunLoopContainsObserver(
4186        rl: CFRunLoopRef,
4187        observer: CFRunLoopObserverRef,
4188        mode: CFRunLoopMode,
4189    ) -> Boolean;
4190}
4191extern "C" {
4192    pub fn CFRunLoopAddObserver(
4193        rl: CFRunLoopRef,
4194        observer: CFRunLoopObserverRef,
4195        mode: CFRunLoopMode,
4196    );
4197}
4198extern "C" {
4199    pub fn CFRunLoopRemoveObserver(
4200        rl: CFRunLoopRef,
4201        observer: CFRunLoopObserverRef,
4202        mode: CFRunLoopMode,
4203    );
4204}
4205extern "C" {
4206    pub fn CFRunLoopContainsTimer(
4207        rl: CFRunLoopRef,
4208        timer: CFRunLoopTimerRef,
4209        mode: CFRunLoopMode,
4210    ) -> Boolean;
4211}
4212extern "C" {
4213    pub fn CFRunLoopAddTimer(rl: CFRunLoopRef, timer: CFRunLoopTimerRef, mode: CFRunLoopMode);
4214}
4215extern "C" {
4216    pub fn CFRunLoopRemoveTimer(rl: CFRunLoopRef, timer: CFRunLoopTimerRef, mode: CFRunLoopMode);
4217}
4218#[repr(C)]
4219#[derive(Debug, Copy, Clone)]
4220pub struct CFRunLoopSourceContext {
4221    pub version: CFIndex,
4222    pub info: *mut ::core::ffi::c_void,
4223    pub retain: ::core::option::Option<
4224        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
4225    >,
4226    pub release: ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>,
4227    pub copyDescription: ::core::option::Option<
4228        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef,
4229    >,
4230    pub equal: ::core::option::Option<
4231        unsafe extern "C" fn(
4232            info1: *const ::core::ffi::c_void,
4233            info2: *const ::core::ffi::c_void,
4234        ) -> Boolean,
4235    >,
4236    pub hash: ::core::option::Option<
4237        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFHashCode,
4238    >,
4239    pub schedule: ::core::option::Option<
4240        unsafe extern "C" fn(info: *mut ::core::ffi::c_void, rl: CFRunLoopRef, mode: CFRunLoopMode),
4241    >,
4242    pub cancel: ::core::option::Option<
4243        unsafe extern "C" fn(info: *mut ::core::ffi::c_void, rl: CFRunLoopRef, mode: CFRunLoopMode),
4244    >,
4245    pub perform: ::core::option::Option<unsafe extern "C" fn(info: *mut ::core::ffi::c_void)>,
4246}
4247#[repr(C)]
4248#[derive(Debug, Copy, Clone)]
4249pub struct CFRunLoopSourceContext1 {
4250    pub version: CFIndex,
4251    pub info: *mut ::core::ffi::c_void,
4252    pub retain: ::core::option::Option<
4253        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
4254    >,
4255    pub release: ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>,
4256    pub copyDescription: ::core::option::Option<
4257        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef,
4258    >,
4259    pub equal: ::core::option::Option<
4260        unsafe extern "C" fn(
4261            info1: *const ::core::ffi::c_void,
4262            info2: *const ::core::ffi::c_void,
4263        ) -> Boolean,
4264    >,
4265    pub hash: ::core::option::Option<
4266        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFHashCode,
4267    >,
4268    pub getPort:
4269        ::core::option::Option<unsafe extern "C" fn(info: *mut ::core::ffi::c_void) -> mach_port_t>,
4270    pub perform: ::core::option::Option<
4271        unsafe extern "C" fn(
4272            msg: *mut ::core::ffi::c_void,
4273            size: CFIndex,
4274            allocator: CFAllocatorRef,
4275            info: *mut ::core::ffi::c_void,
4276        ) -> *mut ::core::ffi::c_void,
4277    >,
4278}
4279extern "C" {
4280    pub fn CFRunLoopSourceGetTypeID() -> CFTypeID;
4281}
4282extern "C" {
4283    pub fn CFRunLoopSourceCreate(
4284        allocator: CFAllocatorRef,
4285        order: CFIndex,
4286        context: *mut CFRunLoopSourceContext,
4287    ) -> CFRunLoopSourceRef;
4288}
4289extern "C" {
4290    pub fn CFRunLoopSourceGetOrder(source: CFRunLoopSourceRef) -> CFIndex;
4291}
4292extern "C" {
4293    pub fn CFRunLoopSourceInvalidate(source: CFRunLoopSourceRef);
4294}
4295extern "C" {
4296    pub fn CFRunLoopSourceIsValid(source: CFRunLoopSourceRef) -> Boolean;
4297}
4298extern "C" {
4299    pub fn CFRunLoopSourceGetContext(
4300        source: CFRunLoopSourceRef,
4301        context: *mut CFRunLoopSourceContext,
4302    );
4303}
4304extern "C" {
4305    pub fn CFRunLoopSourceSignal(source: CFRunLoopSourceRef);
4306}
4307#[repr(C)]
4308#[derive(Debug, Copy, Clone)]
4309pub struct CFRunLoopObserverContext {
4310    pub version: CFIndex,
4311    pub info: *mut ::core::ffi::c_void,
4312    pub retain: ::core::option::Option<
4313        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
4314    >,
4315    pub release: ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>,
4316    pub copyDescription: ::core::option::Option<
4317        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef,
4318    >,
4319}
4320pub type CFRunLoopObserverCallBack = ::core::option::Option<
4321    unsafe extern "C" fn(
4322        observer: CFRunLoopObserverRef,
4323        activity: CFRunLoopActivity,
4324        info: *mut ::core::ffi::c_void,
4325    ),
4326>;
4327extern "C" {
4328    pub fn CFRunLoopObserverGetTypeID() -> CFTypeID;
4329}
4330extern "C" {
4331    pub fn CFRunLoopObserverCreate(
4332        allocator: CFAllocatorRef,
4333        activities: CFOptionFlags,
4334        repeats: Boolean,
4335        order: CFIndex,
4336        callout: CFRunLoopObserverCallBack,
4337        context: *mut CFRunLoopObserverContext,
4338    ) -> CFRunLoopObserverRef;
4339}
4340extern "C" {
4341    pub fn CFRunLoopObserverCreateWithHandler(
4342        allocator: CFAllocatorRef,
4343        activities: CFOptionFlags,
4344        repeats: Boolean,
4345        order: CFIndex,
4346        block: *mut ::core::ffi::c_void,
4347    ) -> CFRunLoopObserverRef;
4348}
4349extern "C" {
4350    pub fn CFRunLoopObserverGetActivities(observer: CFRunLoopObserverRef) -> CFOptionFlags;
4351}
4352extern "C" {
4353    pub fn CFRunLoopObserverDoesRepeat(observer: CFRunLoopObserverRef) -> Boolean;
4354}
4355extern "C" {
4356    pub fn CFRunLoopObserverGetOrder(observer: CFRunLoopObserverRef) -> CFIndex;
4357}
4358extern "C" {
4359    pub fn CFRunLoopObserverInvalidate(observer: CFRunLoopObserverRef);
4360}
4361extern "C" {
4362    pub fn CFRunLoopObserverIsValid(observer: CFRunLoopObserverRef) -> Boolean;
4363}
4364extern "C" {
4365    pub fn CFRunLoopObserverGetContext(
4366        observer: CFRunLoopObserverRef,
4367        context: *mut CFRunLoopObserverContext,
4368    );
4369}
4370#[repr(C)]
4371#[derive(Debug, Copy, Clone)]
4372pub struct CFRunLoopTimerContext {
4373    pub version: CFIndex,
4374    pub info: *mut ::core::ffi::c_void,
4375    pub retain: ::core::option::Option<
4376        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
4377    >,
4378    pub release: ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>,
4379    pub copyDescription: ::core::option::Option<
4380        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef,
4381    >,
4382}
4383pub type CFRunLoopTimerCallBack = ::core::option::Option<
4384    unsafe extern "C" fn(timer: CFRunLoopTimerRef, info: *mut ::core::ffi::c_void),
4385>;
4386extern "C" {
4387    pub fn CFRunLoopTimerGetTypeID() -> CFTypeID;
4388}
4389extern "C" {
4390    pub fn CFRunLoopTimerCreate(
4391        allocator: CFAllocatorRef,
4392        fireDate: CFAbsoluteTime,
4393        interval: CFTimeInterval,
4394        flags: CFOptionFlags,
4395        order: CFIndex,
4396        callout: CFRunLoopTimerCallBack,
4397        context: *mut CFRunLoopTimerContext,
4398    ) -> CFRunLoopTimerRef;
4399}
4400extern "C" {
4401    pub fn CFRunLoopTimerCreateWithHandler(
4402        allocator: CFAllocatorRef,
4403        fireDate: CFAbsoluteTime,
4404        interval: CFTimeInterval,
4405        flags: CFOptionFlags,
4406        order: CFIndex,
4407        block: *mut ::core::ffi::c_void,
4408    ) -> CFRunLoopTimerRef;
4409}
4410extern "C" {
4411    pub fn CFRunLoopTimerGetNextFireDate(timer: CFRunLoopTimerRef) -> CFAbsoluteTime;
4412}
4413extern "C" {
4414    pub fn CFRunLoopTimerSetNextFireDate(timer: CFRunLoopTimerRef, fireDate: CFAbsoluteTime);
4415}
4416extern "C" {
4417    pub fn CFRunLoopTimerGetInterval(timer: CFRunLoopTimerRef) -> CFTimeInterval;
4418}
4419extern "C" {
4420    pub fn CFRunLoopTimerDoesRepeat(timer: CFRunLoopTimerRef) -> Boolean;
4421}
4422extern "C" {
4423    pub fn CFRunLoopTimerGetOrder(timer: CFRunLoopTimerRef) -> CFIndex;
4424}
4425extern "C" {
4426    pub fn CFRunLoopTimerInvalidate(timer: CFRunLoopTimerRef);
4427}
4428extern "C" {
4429    pub fn CFRunLoopTimerIsValid(timer: CFRunLoopTimerRef) -> Boolean;
4430}
4431extern "C" {
4432    pub fn CFRunLoopTimerGetContext(timer: CFRunLoopTimerRef, context: *mut CFRunLoopTimerContext);
4433}
4434extern "C" {
4435    pub fn CFRunLoopTimerGetTolerance(timer: CFRunLoopTimerRef) -> CFTimeInterval;
4436}
4437extern "C" {
4438    pub fn CFRunLoopTimerSetTolerance(timer: CFRunLoopTimerRef, tolerance: CFTimeInterval);
4439}
4440#[repr(C)]
4441#[derive(Debug, Copy, Clone)]
4442pub struct __CFSocket {
4443    _unused: [u8; 0],
4444}
4445pub type CFSocketRef = *mut __CFSocket;
4446pub type CFSocketError = CFIndex;
4447pub const kCFSocketSuccess: _bindgen_ty_35 = 0;
4448pub const kCFSocketError: _bindgen_ty_35 = -1;
4449pub const kCFSocketTimeout: _bindgen_ty_35 = -2;
4450pub type _bindgen_ty_35 = ::core::ffi::c_int;
4451#[repr(C)]
4452#[derive(Debug, Copy, Clone)]
4453pub struct CFSocketSignature {
4454    pub protocolFamily: SInt32,
4455    pub socketType: SInt32,
4456    pub protocol: SInt32,
4457    pub address: CFDataRef,
4458}
4459pub type CFSocketCallBackType = CFOptionFlags;
4460pub const kCFSocketNoCallBack: _bindgen_ty_36 = 0;
4461pub const kCFSocketReadCallBack: _bindgen_ty_36 = 1;
4462pub const kCFSocketAcceptCallBack: _bindgen_ty_36 = 2;
4463pub const kCFSocketDataCallBack: _bindgen_ty_36 = 3;
4464pub const kCFSocketConnectCallBack: _bindgen_ty_36 = 4;
4465pub const kCFSocketWriteCallBack: _bindgen_ty_36 = 8;
4466pub type _bindgen_ty_36 = ::core::ffi::c_uint;
4467pub const kCFSocketAutomaticallyReenableReadCallBack: _bindgen_ty_37 = 1;
4468pub const kCFSocketAutomaticallyReenableAcceptCallBack: _bindgen_ty_37 = 2;
4469pub const kCFSocketAutomaticallyReenableDataCallBack: _bindgen_ty_37 = 3;
4470pub const kCFSocketAutomaticallyReenableWriteCallBack: _bindgen_ty_37 = 8;
4471pub const kCFSocketLeaveErrors: _bindgen_ty_37 = 64;
4472pub const kCFSocketCloseOnInvalidate: _bindgen_ty_37 = 128;
4473pub type _bindgen_ty_37 = ::core::ffi::c_uint;
4474pub type CFSocketCallBack = ::core::option::Option<
4475    unsafe extern "C" fn(
4476        s: CFSocketRef,
4477        type_: CFSocketCallBackType,
4478        address: CFDataRef,
4479        data: *const ::core::ffi::c_void,
4480        info: *mut ::core::ffi::c_void,
4481    ),
4482>;
4483#[repr(C)]
4484#[derive(Debug, Copy, Clone)]
4485pub struct CFSocketContext {
4486    pub version: CFIndex,
4487    pub info: *mut ::core::ffi::c_void,
4488    pub retain: ::core::option::Option<
4489        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
4490    >,
4491    pub release: ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>,
4492    pub copyDescription: ::core::option::Option<
4493        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef,
4494    >,
4495}
4496pub type CFSocketNativeHandle = ::core::ffi::c_int;
4497extern "C" {
4498    pub fn CFSocketGetTypeID() -> CFTypeID;
4499}
4500extern "C" {
4501    pub fn CFSocketCreate(
4502        allocator: CFAllocatorRef,
4503        protocolFamily: SInt32,
4504        socketType: SInt32,
4505        protocol: SInt32,
4506        callBackTypes: CFOptionFlags,
4507        callout: CFSocketCallBack,
4508        context: *const CFSocketContext,
4509    ) -> CFSocketRef;
4510}
4511extern "C" {
4512    pub fn CFSocketCreateWithNative(
4513        allocator: CFAllocatorRef,
4514        sock: CFSocketNativeHandle,
4515        callBackTypes: CFOptionFlags,
4516        callout: CFSocketCallBack,
4517        context: *const CFSocketContext,
4518    ) -> CFSocketRef;
4519}
4520extern "C" {
4521    pub fn CFSocketCreateWithSocketSignature(
4522        allocator: CFAllocatorRef,
4523        signature: *const CFSocketSignature,
4524        callBackTypes: CFOptionFlags,
4525        callout: CFSocketCallBack,
4526        context: *const CFSocketContext,
4527    ) -> CFSocketRef;
4528}
4529extern "C" {
4530    pub fn CFSocketCreateConnectedToSocketSignature(
4531        allocator: CFAllocatorRef,
4532        signature: *const CFSocketSignature,
4533        callBackTypes: CFOptionFlags,
4534        callout: CFSocketCallBack,
4535        context: *const CFSocketContext,
4536        timeout: CFTimeInterval,
4537    ) -> CFSocketRef;
4538}
4539extern "C" {
4540    pub fn CFSocketSetAddress(s: CFSocketRef, address: CFDataRef) -> CFSocketError;
4541}
4542extern "C" {
4543    pub fn CFSocketConnectToAddress(
4544        s: CFSocketRef,
4545        address: CFDataRef,
4546        timeout: CFTimeInterval,
4547    ) -> CFSocketError;
4548}
4549extern "C" {
4550    pub fn CFSocketInvalidate(s: CFSocketRef);
4551}
4552extern "C" {
4553    pub fn CFSocketIsValid(s: CFSocketRef) -> Boolean;
4554}
4555extern "C" {
4556    pub fn CFSocketCopyAddress(s: CFSocketRef) -> CFDataRef;
4557}
4558extern "C" {
4559    pub fn CFSocketCopyPeerAddress(s: CFSocketRef) -> CFDataRef;
4560}
4561extern "C" {
4562    pub fn CFSocketGetContext(s: CFSocketRef, context: *mut CFSocketContext);
4563}
4564extern "C" {
4565    pub fn CFSocketGetNative(s: CFSocketRef) -> CFSocketNativeHandle;
4566}
4567extern "C" {
4568    pub fn CFSocketCreateRunLoopSource(
4569        allocator: CFAllocatorRef,
4570        s: CFSocketRef,
4571        order: CFIndex,
4572    ) -> CFRunLoopSourceRef;
4573}
4574extern "C" {
4575    pub fn CFSocketGetSocketFlags(s: CFSocketRef) -> CFOptionFlags;
4576}
4577extern "C" {
4578    pub fn CFSocketSetSocketFlags(s: CFSocketRef, flags: CFOptionFlags);
4579}
4580extern "C" {
4581    pub fn CFSocketDisableCallBacks(s: CFSocketRef, callBackTypes: CFOptionFlags);
4582}
4583extern "C" {
4584    pub fn CFSocketEnableCallBacks(s: CFSocketRef, callBackTypes: CFOptionFlags);
4585}
4586extern "C" {
4587    pub fn CFSocketSendData(
4588        s: CFSocketRef,
4589        address: CFDataRef,
4590        data: CFDataRef,
4591        timeout: CFTimeInterval,
4592    ) -> CFSocketError;
4593}
4594extern "C" {
4595    pub fn CFSocketRegisterValue(
4596        nameServerSignature: *const CFSocketSignature,
4597        timeout: CFTimeInterval,
4598        name: CFStringRef,
4599        value: CFPropertyListRef,
4600    ) -> CFSocketError;
4601}
4602extern "C" {
4603    pub fn CFSocketCopyRegisteredValue(
4604        nameServerSignature: *const CFSocketSignature,
4605        timeout: CFTimeInterval,
4606        name: CFStringRef,
4607        value: *mut CFPropertyListRef,
4608        nameServerAddress: *mut CFDataRef,
4609    ) -> CFSocketError;
4610}
4611extern "C" {
4612    pub fn CFSocketRegisterSocketSignature(
4613        nameServerSignature: *const CFSocketSignature,
4614        timeout: CFTimeInterval,
4615        name: CFStringRef,
4616        signature: *const CFSocketSignature,
4617    ) -> CFSocketError;
4618}
4619extern "C" {
4620    pub fn CFSocketCopyRegisteredSocketSignature(
4621        nameServerSignature: *const CFSocketSignature,
4622        timeout: CFTimeInterval,
4623        name: CFStringRef,
4624        signature: *mut CFSocketSignature,
4625        nameServerAddress: *mut CFDataRef,
4626    ) -> CFSocketError;
4627}
4628extern "C" {
4629    pub fn CFSocketUnregister(
4630        nameServerSignature: *const CFSocketSignature,
4631        timeout: CFTimeInterval,
4632        name: CFStringRef,
4633    ) -> CFSocketError;
4634}
4635extern "C" {
4636    pub fn CFSocketSetDefaultNameRegistryPortNumber(port: UInt16);
4637}
4638extern "C" {
4639    pub fn CFSocketGetDefaultNameRegistryPortNumber() -> UInt16;
4640}
4641extern "C" {
4642    pub static kCFSocketCommandKey: CFStringRef;
4643}
4644extern "C" {
4645    pub static kCFSocketNameKey: CFStringRef;
4646}
4647extern "C" {
4648    pub static kCFSocketValueKey: CFStringRef;
4649}
4650extern "C" {
4651    pub static kCFSocketResultKey: CFStringRef;
4652}
4653extern "C" {
4654    pub static kCFSocketErrorKey: CFStringRef;
4655}
4656extern "C" {
4657    pub static kCFSocketRegisterCommand: CFStringRef;
4658}
4659extern "C" {
4660    pub static kCFSocketRetrieveCommand: CFStringRef;
4661}
4662#[repr(C)]
4663#[derive(Debug, Copy, Clone)]
4664pub struct os_workgroup_s {
4665    _unused: [u8; 0],
4666}
4667pub type os_workgroup_t = *mut os_workgroup_s;
4668pub type dispatch_function_t =
4669    ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>;
4670pub type dispatch_time_t = u64;
4671pub const DISPATCH_WALLTIME_NOW: _bindgen_ty_1801 = 18446744073709551614;
4672pub type _bindgen_ty_1801 = ::core::ffi::c_ulong;
4673extern "C" {
4674    pub fn dispatch_time(when: dispatch_time_t, delta: i64) -> dispatch_time_t;
4675}
4676extern "C" {
4677    pub fn dispatch_walltime(when: *const timespec, delta: i64) -> dispatch_time_t;
4678}
4679pub type qos_class_t = ::core::ffi::c_uint;
4680#[repr(C)]
4681#[derive(Copy, Clone)]
4682pub union dispatch_object_t {
4683    pub _os_obj: *mut _os_object_s,
4684    pub _do: *mut dispatch_object_s,
4685    pub _dq: *mut dispatch_queue_s,
4686    pub _dqa: *mut dispatch_queue_attr_s,
4687    pub _dg: *mut dispatch_group_s,
4688    pub _ds: *mut dispatch_source_s,
4689    pub _dch: *mut dispatch_channel_s,
4690    pub _dm: *mut dispatch_mach_s,
4691    pub _dmsg: *mut dispatch_mach_msg_s,
4692    pub _dsema: *mut dispatch_semaphore_s,
4693    pub _ddata: *mut dispatch_data_s,
4694    pub _dchannel: *mut dispatch_io_s,
4695}
4696pub type dispatch_block_t = *mut ::core::ffi::c_void;
4697pub type dispatch_qos_class_t = qos_class_t;
4698extern "C" {
4699    pub fn dispatch_retain(object: dispatch_object_t);
4700}
4701extern "C" {
4702    pub fn dispatch_release(object: dispatch_object_t);
4703}
4704extern "C" {
4705    pub fn dispatch_get_context(object: dispatch_object_t) -> *mut ::core::ffi::c_void;
4706}
4707extern "C" {
4708    pub fn dispatch_set_context(object: dispatch_object_t, context: *mut ::core::ffi::c_void);
4709}
4710extern "C" {
4711    pub fn dispatch_set_finalizer_f(object: dispatch_object_t, finalizer: dispatch_function_t);
4712}
4713extern "C" {
4714    pub fn dispatch_activate(object: dispatch_object_t);
4715}
4716extern "C" {
4717    pub fn dispatch_suspend(object: dispatch_object_t);
4718}
4719extern "C" {
4720    pub fn dispatch_resume(object: dispatch_object_t);
4721}
4722extern "C" {
4723    pub fn dispatch_set_qos_class_floor(
4724        object: dispatch_object_t,
4725        qos_class: dispatch_qos_class_t,
4726        relative_priority: ::core::ffi::c_int,
4727    );
4728}
4729extern "C" {
4730    pub fn dispatch_wait(object: *mut ::core::ffi::c_void, timeout: dispatch_time_t) -> isize;
4731}
4732extern "C" {
4733    pub fn dispatch_notify(
4734        object: *mut ::core::ffi::c_void,
4735        queue: dispatch_object_t,
4736        notification_block: dispatch_block_t,
4737    );
4738}
4739extern "C" {
4740    pub fn dispatch_cancel(object: *mut ::core::ffi::c_void);
4741}
4742extern "C" {
4743    pub fn dispatch_testcancel(object: *mut ::core::ffi::c_void) -> isize;
4744}
4745extern "C" {
4746    pub fn dispatch_debug(object: dispatch_object_t, message: *const ::core::ffi::c_char, ...);
4747}
4748extern "C" {
4749    pub fn dispatch_debugv(
4750        object: dispatch_object_t,
4751        message: *const ::core::ffi::c_char,
4752        ap: va_list,
4753    );
4754}
4755pub type dispatch_queue_t = *mut dispatch_queue_s;
4756pub type dispatch_queue_global_t = dispatch_queue_t;
4757pub type dispatch_queue_serial_executor_t = dispatch_queue_t;
4758pub type dispatch_queue_serial_t = dispatch_queue_t;
4759pub type dispatch_queue_main_t = dispatch_queue_serial_t;
4760pub type dispatch_queue_concurrent_t = dispatch_queue_t;
4761extern "C" {
4762    pub fn dispatch_async(queue: dispatch_queue_t, block: dispatch_block_t);
4763}
4764extern "C" {
4765    pub fn dispatch_async_f(
4766        queue: dispatch_queue_t,
4767        context: *mut ::core::ffi::c_void,
4768        work: dispatch_function_t,
4769    );
4770}
4771extern "C" {
4772    pub fn dispatch_sync(queue: dispatch_queue_t, block: dispatch_block_t);
4773}
4774extern "C" {
4775    pub fn dispatch_sync_f(
4776        queue: dispatch_queue_t,
4777        context: *mut ::core::ffi::c_void,
4778        work: dispatch_function_t,
4779    );
4780}
4781extern "C" {
4782    pub fn dispatch_async_and_wait(queue: dispatch_queue_t, block: dispatch_block_t);
4783}
4784extern "C" {
4785    pub fn dispatch_async_and_wait_f(
4786        queue: dispatch_queue_t,
4787        context: *mut ::core::ffi::c_void,
4788        work: dispatch_function_t,
4789    );
4790}
4791extern "C" {
4792    pub fn dispatch_apply(
4793        iterations: usize,
4794        queue: dispatch_queue_t,
4795        block: *mut ::core::ffi::c_void,
4796    );
4797}
4798extern "C" {
4799    pub fn dispatch_apply_f(
4800        iterations: usize,
4801        queue: dispatch_queue_t,
4802        context: *mut ::core::ffi::c_void,
4803        work: ::core::option::Option<
4804            unsafe extern "C" fn(context: *mut ::core::ffi::c_void, iteration: usize),
4805        >,
4806    );
4807}
4808extern "C" {
4809    pub fn dispatch_get_current_queue() -> dispatch_queue_t;
4810}
4811#[repr(C)]
4812#[derive(Debug, Copy, Clone)]
4813pub struct dispatch_queue_s {
4814    pub _address: u8,
4815}
4816extern "C" {
4817    pub static mut _dispatch_main_q: dispatch_queue_s;
4818}
4819pub type dispatch_queue_priority_t = ::core::ffi::c_long;
4820extern "C" {
4821    pub fn dispatch_get_global_queue(identifier: isize, flags: usize) -> dispatch_queue_global_t;
4822}
4823pub type dispatch_queue_attr_t = *mut dispatch_queue_attr_s;
4824#[repr(C)]
4825#[derive(Debug, Copy, Clone)]
4826pub struct dispatch_queue_attr_s {
4827    pub _address: u8,
4828}
4829extern "C" {
4830    pub static mut _dispatch_queue_attr_concurrent: dispatch_queue_attr_s;
4831}
4832extern "C" {
4833    pub fn dispatch_queue_attr_make_initially_inactive(
4834        attr: dispatch_queue_attr_t,
4835    ) -> dispatch_queue_attr_t;
4836}
4837pub const dispatch_autorelease_frequency_t_DISPATCH_AUTORELEASE_FREQUENCY_INHERIT:
4838    dispatch_autorelease_frequency_t = 0;
4839pub const dispatch_autorelease_frequency_t_DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM:
4840    dispatch_autorelease_frequency_t = 1;
4841pub const dispatch_autorelease_frequency_t_DISPATCH_AUTORELEASE_FREQUENCY_NEVER:
4842    dispatch_autorelease_frequency_t = 2;
4843pub type dispatch_autorelease_frequency_t = ::core::ffi::c_ulong;
4844extern "C" {
4845    pub fn dispatch_queue_attr_make_with_autorelease_frequency(
4846        attr: dispatch_queue_attr_t,
4847        frequency: dispatch_autorelease_frequency_t,
4848    ) -> dispatch_queue_attr_t;
4849}
4850extern "C" {
4851    pub fn dispatch_queue_attr_make_with_qos_class(
4852        attr: dispatch_queue_attr_t,
4853        qos_class: dispatch_qos_class_t,
4854        relative_priority: ::core::ffi::c_int,
4855    ) -> dispatch_queue_attr_t;
4856}
4857extern "C" {
4858    #[link_name = "\u{1}_dispatch_queue_create_with_target$V2"]
4859    pub fn dispatch_queue_create_with_target(
4860        label: *const ::core::ffi::c_char,
4861        attr: dispatch_queue_attr_t,
4862        target: dispatch_queue_t,
4863    ) -> dispatch_queue_t;
4864}
4865extern "C" {
4866    pub fn dispatch_queue_create(
4867        label: *const ::core::ffi::c_char,
4868        attr: dispatch_queue_attr_t,
4869    ) -> dispatch_queue_t;
4870}
4871extern "C" {
4872    pub fn dispatch_queue_get_label(queue: dispatch_queue_t) -> *const ::core::ffi::c_char;
4873}
4874extern "C" {
4875    pub fn dispatch_queue_get_qos_class(
4876        queue: dispatch_queue_t,
4877        relative_priority_ptr: *mut ::core::ffi::c_int,
4878    ) -> dispatch_qos_class_t;
4879}
4880extern "C" {
4881    pub fn dispatch_set_target_queue(object: dispatch_object_t, queue: dispatch_queue_t);
4882}
4883extern "C" {
4884    pub fn dispatch_main() -> !;
4885}
4886extern "C" {
4887    pub fn dispatch_after(when: dispatch_time_t, queue: dispatch_queue_t, block: dispatch_block_t);
4888}
4889extern "C" {
4890    pub fn dispatch_after_f(
4891        when: dispatch_time_t,
4892        queue: dispatch_queue_t,
4893        context: *mut ::core::ffi::c_void,
4894        work: dispatch_function_t,
4895    );
4896}
4897extern "C" {
4898    pub fn dispatch_barrier_async(queue: dispatch_queue_t, block: dispatch_block_t);
4899}
4900extern "C" {
4901    pub fn dispatch_barrier_async_f(
4902        queue: dispatch_queue_t,
4903        context: *mut ::core::ffi::c_void,
4904        work: dispatch_function_t,
4905    );
4906}
4907extern "C" {
4908    pub fn dispatch_barrier_sync(queue: dispatch_queue_t, block: dispatch_block_t);
4909}
4910extern "C" {
4911    pub fn dispatch_barrier_sync_f(
4912        queue: dispatch_queue_t,
4913        context: *mut ::core::ffi::c_void,
4914        work: dispatch_function_t,
4915    );
4916}
4917extern "C" {
4918    pub fn dispatch_barrier_async_and_wait(queue: dispatch_queue_t, block: dispatch_block_t);
4919}
4920extern "C" {
4921    pub fn dispatch_barrier_async_and_wait_f(
4922        queue: dispatch_queue_t,
4923        context: *mut ::core::ffi::c_void,
4924        work: dispatch_function_t,
4925    );
4926}
4927extern "C" {
4928    pub fn dispatch_queue_set_specific(
4929        queue: dispatch_queue_t,
4930        key: *const ::core::ffi::c_void,
4931        context: *mut ::core::ffi::c_void,
4932        destructor: dispatch_function_t,
4933    );
4934}
4935extern "C" {
4936    pub fn dispatch_queue_get_specific(
4937        queue: dispatch_queue_t,
4938        key: *const ::core::ffi::c_void,
4939    ) -> *mut ::core::ffi::c_void;
4940}
4941extern "C" {
4942    pub fn dispatch_get_specific(key: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void;
4943}
4944extern "C" {
4945    #[link_name = "\u{1}_dispatch_assert_queue$V2"]
4946    pub fn dispatch_assert_queue(queue: dispatch_queue_t);
4947}
4948extern "C" {
4949    pub fn dispatch_assert_queue_barrier(queue: dispatch_queue_t);
4950}
4951extern "C" {
4952    #[link_name = "\u{1}_dispatch_assert_queue_not$V2"]
4953    pub fn dispatch_assert_queue_not(queue: dispatch_queue_t);
4954}
4955extern "C" {
4956    pub fn dispatch_allow_send_signals(preserve_signum: ::core::ffi::c_int) -> ::core::ffi::c_int;
4957}
4958pub const dispatch_block_flags_t_DISPATCH_BLOCK_BARRIER: dispatch_block_flags_t = 1;
4959pub const dispatch_block_flags_t_DISPATCH_BLOCK_DETACHED: dispatch_block_flags_t = 2;
4960pub const dispatch_block_flags_t_DISPATCH_BLOCK_ASSIGN_CURRENT: dispatch_block_flags_t = 4;
4961pub const dispatch_block_flags_t_DISPATCH_BLOCK_NO_QOS_CLASS: dispatch_block_flags_t = 8;
4962pub const dispatch_block_flags_t_DISPATCH_BLOCK_INHERIT_QOS_CLASS: dispatch_block_flags_t = 16;
4963pub const dispatch_block_flags_t_DISPATCH_BLOCK_ENFORCE_QOS_CLASS: dispatch_block_flags_t = 32;
4964pub type dispatch_block_flags_t = ::core::ffi::c_ulong;
4965extern "C" {
4966    pub fn dispatch_block_create(
4967        flags: dispatch_block_flags_t,
4968        block: dispatch_block_t,
4969    ) -> dispatch_block_t;
4970}
4971extern "C" {
4972    pub fn dispatch_block_create_with_qos_class(
4973        flags: dispatch_block_flags_t,
4974        qos_class: dispatch_qos_class_t,
4975        relative_priority: ::core::ffi::c_int,
4976        block: dispatch_block_t,
4977    ) -> dispatch_block_t;
4978}
4979extern "C" {
4980    pub fn dispatch_block_perform(flags: dispatch_block_flags_t, block: dispatch_block_t);
4981}
4982extern "C" {
4983    pub fn dispatch_block_wait(block: dispatch_block_t, timeout: dispatch_time_t) -> isize;
4984}
4985extern "C" {
4986    pub fn dispatch_block_notify(
4987        block: dispatch_block_t,
4988        queue: dispatch_queue_t,
4989        notification_block: dispatch_block_t,
4990    );
4991}
4992extern "C" {
4993    pub fn dispatch_block_cancel(block: dispatch_block_t);
4994}
4995extern "C" {
4996    pub fn dispatch_block_testcancel(block: dispatch_block_t) -> isize;
4997}
4998pub type kern_return_t = ::core::ffi::c_int;
4999pub type dispatch_source_t = *mut dispatch_source_s;
5000#[repr(C)]
5001#[derive(Debug, Copy, Clone)]
5002pub struct dispatch_source_type_s {
5003    _unused: [u8; 0],
5004}
5005pub type dispatch_source_type_t = *const dispatch_source_type_s;
5006extern "C" {
5007    pub static _dispatch_source_type_data_add: dispatch_source_type_s;
5008}
5009extern "C" {
5010    pub static _dispatch_source_type_data_or: dispatch_source_type_s;
5011}
5012extern "C" {
5013    pub static _dispatch_source_type_data_replace: dispatch_source_type_s;
5014}
5015extern "C" {
5016    pub static _dispatch_source_type_mach_send: dispatch_source_type_s;
5017}
5018extern "C" {
5019    pub static _dispatch_source_type_mach_recv: dispatch_source_type_s;
5020}
5021extern "C" {
5022    pub static _dispatch_source_type_memorypressure: dispatch_source_type_s;
5023}
5024extern "C" {
5025    pub static _dispatch_source_type_proc: dispatch_source_type_s;
5026}
5027extern "C" {
5028    pub static _dispatch_source_type_read: dispatch_source_type_s;
5029}
5030extern "C" {
5031    pub static _dispatch_source_type_signal: dispatch_source_type_s;
5032}
5033extern "C" {
5034    pub static _dispatch_source_type_timer: dispatch_source_type_s;
5035}
5036extern "C" {
5037    pub static _dispatch_source_type_vnode: dispatch_source_type_s;
5038}
5039extern "C" {
5040    pub static _dispatch_source_type_write: dispatch_source_type_s;
5041}
5042pub type dispatch_source_mach_send_flags_t = ::core::ffi::c_ulong;
5043pub type dispatch_source_mach_recv_flags_t = ::core::ffi::c_ulong;
5044pub type dispatch_source_memorypressure_flags_t = ::core::ffi::c_ulong;
5045pub type dispatch_source_proc_flags_t = ::core::ffi::c_ulong;
5046pub type dispatch_source_vnode_flags_t = ::core::ffi::c_ulong;
5047pub type dispatch_source_timer_flags_t = ::core::ffi::c_ulong;
5048extern "C" {
5049    pub fn dispatch_source_create(
5050        type_: dispatch_source_type_t,
5051        handle: usize,
5052        mask: usize,
5053        queue: dispatch_queue_t,
5054    ) -> dispatch_source_t;
5055}
5056extern "C" {
5057    pub fn dispatch_source_set_event_handler(source: dispatch_source_t, handler: dispatch_block_t);
5058}
5059extern "C" {
5060    pub fn dispatch_source_set_event_handler_f(
5061        source: dispatch_source_t,
5062        handler: dispatch_function_t,
5063    );
5064}
5065extern "C" {
5066    pub fn dispatch_source_set_cancel_handler(source: dispatch_source_t, handler: dispatch_block_t);
5067}
5068extern "C" {
5069    pub fn dispatch_source_set_cancel_handler_f(
5070        source: dispatch_source_t,
5071        handler: dispatch_function_t,
5072    );
5073}
5074extern "C" {
5075    pub fn dispatch_source_cancel(source: dispatch_source_t);
5076}
5077extern "C" {
5078    pub fn dispatch_source_testcancel(source: dispatch_source_t) -> isize;
5079}
5080extern "C" {
5081    pub fn dispatch_source_get_handle(source: dispatch_source_t) -> usize;
5082}
5083extern "C" {
5084    pub fn dispatch_source_get_mask(source: dispatch_source_t) -> usize;
5085}
5086extern "C" {
5087    pub fn dispatch_source_get_data(source: dispatch_source_t) -> usize;
5088}
5089extern "C" {
5090    pub fn dispatch_source_merge_data(source: dispatch_source_t, value: usize);
5091}
5092extern "C" {
5093    pub fn dispatch_source_set_timer(
5094        source: dispatch_source_t,
5095        start: dispatch_time_t,
5096        interval: u64,
5097        leeway: u64,
5098    );
5099}
5100extern "C" {
5101    pub fn dispatch_source_set_registration_handler(
5102        source: dispatch_source_t,
5103        handler: dispatch_block_t,
5104    );
5105}
5106extern "C" {
5107    pub fn dispatch_source_set_registration_handler_f(
5108        source: dispatch_source_t,
5109        handler: dispatch_function_t,
5110    );
5111}
5112pub type dispatch_group_t = *mut dispatch_group_s;
5113extern "C" {
5114    pub fn dispatch_group_create() -> dispatch_group_t;
5115}
5116extern "C" {
5117    pub fn dispatch_group_async(
5118        group: dispatch_group_t,
5119        queue: dispatch_queue_t,
5120        block: dispatch_block_t,
5121    );
5122}
5123extern "C" {
5124    pub fn dispatch_group_async_f(
5125        group: dispatch_group_t,
5126        queue: dispatch_queue_t,
5127        context: *mut ::core::ffi::c_void,
5128        work: dispatch_function_t,
5129    );
5130}
5131extern "C" {
5132    pub fn dispatch_group_wait(group: dispatch_group_t, timeout: dispatch_time_t) -> isize;
5133}
5134extern "C" {
5135    pub fn dispatch_group_notify(
5136        group: dispatch_group_t,
5137        queue: dispatch_queue_t,
5138        block: dispatch_block_t,
5139    );
5140}
5141extern "C" {
5142    pub fn dispatch_group_notify_f(
5143        group: dispatch_group_t,
5144        queue: dispatch_queue_t,
5145        context: *mut ::core::ffi::c_void,
5146        work: dispatch_function_t,
5147    );
5148}
5149extern "C" {
5150    pub fn dispatch_group_enter(group: dispatch_group_t);
5151}
5152extern "C" {
5153    pub fn dispatch_group_leave(group: dispatch_group_t);
5154}
5155pub type dispatch_semaphore_t = *mut dispatch_semaphore_s;
5156extern "C" {
5157    pub fn dispatch_semaphore_create(value: isize) -> dispatch_semaphore_t;
5158}
5159extern "C" {
5160    pub fn dispatch_semaphore_wait(dsema: dispatch_semaphore_t, timeout: dispatch_time_t) -> isize;
5161}
5162extern "C" {
5163    pub fn dispatch_semaphore_signal(dsema: dispatch_semaphore_t) -> isize;
5164}
5165pub type dispatch_once_t = isize;
5166extern "C" {
5167    pub fn dispatch_once(predicate: *mut dispatch_once_t, block: dispatch_block_t);
5168}
5169extern "C" {
5170    pub fn dispatch_once_f(
5171        predicate: *mut dispatch_once_t,
5172        context: *mut ::core::ffi::c_void,
5173        function: dispatch_function_t,
5174    );
5175}
5176pub type dispatch_data_t = *mut dispatch_data_s;
5177#[repr(C)]
5178#[derive(Debug, Copy, Clone)]
5179pub struct dispatch_data_s {
5180    pub _address: u8,
5181}
5182extern "C" {
5183    pub static mut _dispatch_data_empty: dispatch_data_s;
5184}
5185extern "C" {
5186    pub static _dispatch_data_destructor_free: dispatch_block_t;
5187}
5188extern "C" {
5189    pub static _dispatch_data_destructor_munmap: dispatch_block_t;
5190}
5191extern "C" {
5192    pub fn dispatch_data_create(
5193        buffer: *const ::core::ffi::c_void,
5194        size: usize,
5195        queue: dispatch_queue_t,
5196        destructor: dispatch_block_t,
5197    ) -> dispatch_data_t;
5198}
5199extern "C" {
5200    pub fn dispatch_data_get_size(data: dispatch_data_t) -> usize;
5201}
5202extern "C" {
5203    pub fn dispatch_data_create_map(
5204        data: dispatch_data_t,
5205        buffer_ptr: *mut *const ::core::ffi::c_void,
5206        size_ptr: *mut usize,
5207    ) -> dispatch_data_t;
5208}
5209extern "C" {
5210    pub fn dispatch_data_create_concat(
5211        data1: dispatch_data_t,
5212        data2: dispatch_data_t,
5213    ) -> dispatch_data_t;
5214}
5215extern "C" {
5216    pub fn dispatch_data_create_subrange(
5217        data: dispatch_data_t,
5218        offset: usize,
5219        length: usize,
5220    ) -> dispatch_data_t;
5221}
5222pub type dispatch_data_applier_t = *mut ::core::ffi::c_void;
5223extern "C" {
5224    pub fn dispatch_data_apply(data: dispatch_data_t, applier: dispatch_data_applier_t) -> bool;
5225}
5226extern "C" {
5227    pub fn dispatch_data_copy_region(
5228        data: dispatch_data_t,
5229        location: usize,
5230        offset_ptr: *mut usize,
5231    ) -> dispatch_data_t;
5232}
5233pub type dispatch_fd_t = ::core::ffi::c_int;
5234extern "C" {
5235    pub fn dispatch_read(
5236        fd: dispatch_fd_t,
5237        length: usize,
5238        queue: dispatch_queue_t,
5239        handler: *mut ::core::ffi::c_void,
5240    );
5241}
5242extern "C" {
5243    pub fn dispatch_write(
5244        fd: dispatch_fd_t,
5245        data: dispatch_data_t,
5246        queue: dispatch_queue_t,
5247        handler: *mut ::core::ffi::c_void,
5248    );
5249}
5250pub type dispatch_io_t = *mut dispatch_io_s;
5251pub type dispatch_io_type_t = ::core::ffi::c_ulong;
5252extern "C" {
5253    pub fn dispatch_io_create(
5254        type_: dispatch_io_type_t,
5255        fd: dispatch_fd_t,
5256        queue: dispatch_queue_t,
5257        cleanup_handler: *mut ::core::ffi::c_void,
5258    ) -> dispatch_io_t;
5259}
5260extern "C" {
5261    pub fn dispatch_io_create_with_path(
5262        type_: dispatch_io_type_t,
5263        path: *const ::core::ffi::c_char,
5264        oflag: ::core::ffi::c_int,
5265        mode: mode_t,
5266        queue: dispatch_queue_t,
5267        cleanup_handler: *mut ::core::ffi::c_void,
5268    ) -> dispatch_io_t;
5269}
5270extern "C" {
5271    pub fn dispatch_io_create_with_io(
5272        type_: dispatch_io_type_t,
5273        io: dispatch_io_t,
5274        queue: dispatch_queue_t,
5275        cleanup_handler: *mut ::core::ffi::c_void,
5276    ) -> dispatch_io_t;
5277}
5278pub type dispatch_io_handler_t = *mut ::core::ffi::c_void;
5279extern "C" {
5280    pub fn dispatch_io_read(
5281        channel: dispatch_io_t,
5282        offset: off_t,
5283        length: usize,
5284        queue: dispatch_queue_t,
5285        io_handler: dispatch_io_handler_t,
5286    );
5287}
5288extern "C" {
5289    pub fn dispatch_io_write(
5290        channel: dispatch_io_t,
5291        offset: off_t,
5292        data: dispatch_data_t,
5293        queue: dispatch_queue_t,
5294        io_handler: dispatch_io_handler_t,
5295    );
5296}
5297pub type dispatch_io_close_flags_t = ::core::ffi::c_ulong;
5298extern "C" {
5299    pub fn dispatch_io_close(channel: dispatch_io_t, flags: dispatch_io_close_flags_t);
5300}
5301extern "C" {
5302    pub fn dispatch_io_barrier(channel: dispatch_io_t, barrier: dispatch_block_t);
5303}
5304extern "C" {
5305    pub fn dispatch_io_get_descriptor(channel: dispatch_io_t) -> dispatch_fd_t;
5306}
5307extern "C" {
5308    pub fn dispatch_io_set_high_water(channel: dispatch_io_t, high_water: usize);
5309}
5310extern "C" {
5311    pub fn dispatch_io_set_low_water(channel: dispatch_io_t, low_water: usize);
5312}
5313pub type dispatch_io_interval_flags_t = ::core::ffi::c_ulong;
5314extern "C" {
5315    pub fn dispatch_io_set_interval(
5316        channel: dispatch_io_t,
5317        interval: u64,
5318        flags: dispatch_io_interval_flags_t,
5319    );
5320}
5321pub type dispatch_workloop_t = dispatch_queue_t;
5322extern "C" {
5323    pub fn dispatch_workloop_create(label: *const ::core::ffi::c_char) -> dispatch_workloop_t;
5324}
5325extern "C" {
5326    pub fn dispatch_workloop_create_inactive(
5327        label: *const ::core::ffi::c_char,
5328    ) -> dispatch_workloop_t;
5329}
5330extern "C" {
5331    pub fn dispatch_workloop_set_autorelease_frequency(
5332        workloop: dispatch_workloop_t,
5333        frequency: dispatch_autorelease_frequency_t,
5334    );
5335}
5336extern "C" {
5337    pub fn dispatch_workloop_set_os_workgroup(
5338        workloop: dispatch_workloop_t,
5339        workgroup: os_workgroup_t,
5340    );
5341}
5342#[repr(C)]
5343#[derive(Debug, Copy, Clone)]
5344pub struct CFStreamError {
5345    pub domain: CFIndex,
5346    pub error: SInt32,
5347}
5348pub type CFStreamPropertyKey = CFStringRef;
5349pub type CFStreamStatus = CFIndex;
5350pub const kCFStreamStatusNotOpen: _bindgen_ty_39 = 0;
5351pub const kCFStreamStatusOpening: _bindgen_ty_39 = 1;
5352pub const kCFStreamStatusOpen: _bindgen_ty_39 = 2;
5353pub const kCFStreamStatusReading: _bindgen_ty_39 = 3;
5354pub const kCFStreamStatusWriting: _bindgen_ty_39 = 4;
5355pub const kCFStreamStatusAtEnd: _bindgen_ty_39 = 5;
5356pub const kCFStreamStatusClosed: _bindgen_ty_39 = 6;
5357pub const kCFStreamStatusError: _bindgen_ty_39 = 7;
5358pub type _bindgen_ty_39 = ::core::ffi::c_uint;
5359pub type CFStreamEventType = CFOptionFlags;
5360pub const kCFStreamEventNone: _bindgen_ty_40 = 0;
5361pub const kCFStreamEventOpenCompleted: _bindgen_ty_40 = 1;
5362pub const kCFStreamEventHasBytesAvailable: _bindgen_ty_40 = 2;
5363pub const kCFStreamEventCanAcceptBytes: _bindgen_ty_40 = 4;
5364pub const kCFStreamEventErrorOccurred: _bindgen_ty_40 = 8;
5365pub const kCFStreamEventEndEncountered: _bindgen_ty_40 = 16;
5366pub type _bindgen_ty_40 = ::core::ffi::c_uint;
5367#[repr(C)]
5368#[derive(Debug, Copy, Clone)]
5369pub struct CFStreamClientContext {
5370    pub version: CFIndex,
5371    pub info: *mut ::core::ffi::c_void,
5372    pub retain: ::core::option::Option<
5373        unsafe extern "C" fn(info: *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
5374    >,
5375    pub release: ::core::option::Option<unsafe extern "C" fn(info: *mut ::core::ffi::c_void)>,
5376    pub copyDescription:
5377        ::core::option::Option<unsafe extern "C" fn(info: *mut ::core::ffi::c_void) -> CFStringRef>,
5378}
5379#[repr(C)]
5380#[derive(Debug, Copy, Clone)]
5381pub struct __CFReadStream {
5382    _unused: [u8; 0],
5383}
5384pub type CFReadStreamRef = *mut __CFReadStream;
5385#[repr(C)]
5386#[derive(Debug, Copy, Clone)]
5387pub struct __CFWriteStream {
5388    _unused: [u8; 0],
5389}
5390pub type CFWriteStreamRef = *mut __CFWriteStream;
5391pub type CFReadStreamClientCallBack = ::core::option::Option<
5392    unsafe extern "C" fn(
5393        stream: CFReadStreamRef,
5394        type_: CFStreamEventType,
5395        clientCallBackInfo: *mut ::core::ffi::c_void,
5396    ),
5397>;
5398pub type CFWriteStreamClientCallBack = ::core::option::Option<
5399    unsafe extern "C" fn(
5400        stream: CFWriteStreamRef,
5401        type_: CFStreamEventType,
5402        clientCallBackInfo: *mut ::core::ffi::c_void,
5403    ),
5404>;
5405extern "C" {
5406    pub fn CFReadStreamGetTypeID() -> CFTypeID;
5407}
5408extern "C" {
5409    pub fn CFWriteStreamGetTypeID() -> CFTypeID;
5410}
5411extern "C" {
5412    pub static mut kCFStreamPropertyDataWritten: CFStreamPropertyKey;
5413}
5414extern "C" {
5415    pub fn CFReadStreamCreateWithBytesNoCopy(
5416        alloc: CFAllocatorRef,
5417        bytes: *const UInt8,
5418        length: CFIndex,
5419        bytesDeallocator: CFAllocatorRef,
5420    ) -> CFReadStreamRef;
5421}
5422extern "C" {
5423    pub fn CFWriteStreamCreateWithBuffer(
5424        alloc: CFAllocatorRef,
5425        buffer: *mut UInt8,
5426        bufferCapacity: CFIndex,
5427    ) -> CFWriteStreamRef;
5428}
5429extern "C" {
5430    pub fn CFWriteStreamCreateWithAllocatedBuffers(
5431        alloc: CFAllocatorRef,
5432        bufferAllocator: CFAllocatorRef,
5433    ) -> CFWriteStreamRef;
5434}
5435extern "C" {
5436    pub fn CFReadStreamCreateWithFile(alloc: CFAllocatorRef, fileURL: CFURLRef) -> CFReadStreamRef;
5437}
5438extern "C" {
5439    pub fn CFWriteStreamCreateWithFile(
5440        alloc: CFAllocatorRef,
5441        fileURL: CFURLRef,
5442    ) -> CFWriteStreamRef;
5443}
5444extern "C" {
5445    pub fn CFStreamCreateBoundPair(
5446        alloc: CFAllocatorRef,
5447        readStream: *mut CFReadStreamRef,
5448        writeStream: *mut CFWriteStreamRef,
5449        transferBufferSize: CFIndex,
5450    );
5451}
5452extern "C" {
5453    pub static mut kCFStreamPropertyAppendToFile: CFStreamPropertyKey;
5454}
5455extern "C" {
5456    pub static mut kCFStreamPropertyFileCurrentOffset: CFStreamPropertyKey;
5457}
5458extern "C" {
5459    pub static mut kCFStreamPropertySocketNativeHandle: CFStreamPropertyKey;
5460}
5461extern "C" {
5462    pub static mut kCFStreamPropertySocketRemoteHostName: CFStreamPropertyKey;
5463}
5464extern "C" {
5465    pub static mut kCFStreamPropertySocketRemotePortNumber: CFStreamPropertyKey;
5466}
5467extern "C" {
5468    pub static kCFStreamErrorDomainSOCKS: ::core::ffi::c_int;
5469}
5470extern "C" {
5471    pub static mut kCFStreamPropertySOCKSProxy: CFStringRef;
5472}
5473extern "C" {
5474    pub static mut kCFStreamPropertySOCKSProxyHost: CFStringRef;
5475}
5476extern "C" {
5477    pub static mut kCFStreamPropertySOCKSProxyPort: CFStringRef;
5478}
5479extern "C" {
5480    pub static mut kCFStreamPropertySOCKSVersion: CFStringRef;
5481}
5482extern "C" {
5483    pub static mut kCFStreamSocketSOCKSVersion4: CFStringRef;
5484}
5485extern "C" {
5486    pub static mut kCFStreamSocketSOCKSVersion5: CFStringRef;
5487}
5488extern "C" {
5489    pub static mut kCFStreamPropertySOCKSUser: CFStringRef;
5490}
5491extern "C" {
5492    pub static mut kCFStreamPropertySOCKSPassword: CFStringRef;
5493}
5494extern "C" {
5495    pub static kCFStreamErrorDomainSSL: ::core::ffi::c_int;
5496}
5497extern "C" {
5498    pub static mut kCFStreamPropertySocketSecurityLevel: CFStringRef;
5499}
5500extern "C" {
5501    pub static mut kCFStreamSocketSecurityLevelNone: CFStringRef;
5502}
5503extern "C" {
5504    pub static mut kCFStreamSocketSecurityLevelSSLv2: CFStringRef;
5505}
5506extern "C" {
5507    pub static mut kCFStreamSocketSecurityLevelSSLv3: CFStringRef;
5508}
5509extern "C" {
5510    pub static mut kCFStreamSocketSecurityLevelTLSv1: CFStringRef;
5511}
5512extern "C" {
5513    pub static mut kCFStreamSocketSecurityLevelNegotiatedSSL: CFStringRef;
5514}
5515extern "C" {
5516    pub static mut kCFStreamPropertyShouldCloseNativeSocket: CFStringRef;
5517}
5518extern "C" {
5519    pub fn CFStreamCreatePairWithSocket(
5520        alloc: CFAllocatorRef,
5521        sock: CFSocketNativeHandle,
5522        readStream: *mut CFReadStreamRef,
5523        writeStream: *mut CFWriteStreamRef,
5524    );
5525}
5526extern "C" {
5527    pub fn CFStreamCreatePairWithSocketToHost(
5528        alloc: CFAllocatorRef,
5529        host: CFStringRef,
5530        port: UInt32,
5531        readStream: *mut CFReadStreamRef,
5532        writeStream: *mut CFWriteStreamRef,
5533    );
5534}
5535extern "C" {
5536    pub fn CFStreamCreatePairWithPeerSocketSignature(
5537        alloc: CFAllocatorRef,
5538        signature: *const CFSocketSignature,
5539        readStream: *mut CFReadStreamRef,
5540        writeStream: *mut CFWriteStreamRef,
5541    );
5542}
5543extern "C" {
5544    pub fn CFReadStreamGetStatus(stream: CFReadStreamRef) -> CFStreamStatus;
5545}
5546extern "C" {
5547    pub fn CFWriteStreamGetStatus(stream: CFWriteStreamRef) -> CFStreamStatus;
5548}
5549extern "C" {
5550    pub fn CFReadStreamCopyError(stream: CFReadStreamRef) -> CFErrorRef;
5551}
5552extern "C" {
5553    pub fn CFWriteStreamCopyError(stream: CFWriteStreamRef) -> CFErrorRef;
5554}
5555extern "C" {
5556    pub fn CFReadStreamOpen(stream: CFReadStreamRef) -> Boolean;
5557}
5558extern "C" {
5559    pub fn CFWriteStreamOpen(stream: CFWriteStreamRef) -> Boolean;
5560}
5561extern "C" {
5562    pub fn CFReadStreamClose(stream: CFReadStreamRef);
5563}
5564extern "C" {
5565    pub fn CFWriteStreamClose(stream: CFWriteStreamRef);
5566}
5567extern "C" {
5568    pub fn CFReadStreamHasBytesAvailable(stream: CFReadStreamRef) -> Boolean;
5569}
5570extern "C" {
5571    pub fn CFReadStreamRead(
5572        stream: CFReadStreamRef,
5573        buffer: *mut UInt8,
5574        bufferLength: CFIndex,
5575    ) -> CFIndex;
5576}
5577extern "C" {
5578    pub fn CFReadStreamGetBuffer(
5579        stream: CFReadStreamRef,
5580        maxBytesToRead: CFIndex,
5581        numBytesRead: *mut CFIndex,
5582    ) -> *const UInt8;
5583}
5584extern "C" {
5585    pub fn CFWriteStreamCanAcceptBytes(stream: CFWriteStreamRef) -> Boolean;
5586}
5587extern "C" {
5588    pub fn CFWriteStreamWrite(
5589        stream: CFWriteStreamRef,
5590        buffer: *const UInt8,
5591        bufferLength: CFIndex,
5592    ) -> CFIndex;
5593}
5594extern "C" {
5595    pub fn CFReadStreamCopyProperty(
5596        stream: CFReadStreamRef,
5597        propertyName: CFStreamPropertyKey,
5598    ) -> CFTypeRef;
5599}
5600extern "C" {
5601    pub fn CFWriteStreamCopyProperty(
5602        stream: CFWriteStreamRef,
5603        propertyName: CFStreamPropertyKey,
5604    ) -> CFTypeRef;
5605}
5606extern "C" {
5607    pub fn CFReadStreamSetProperty(
5608        stream: CFReadStreamRef,
5609        propertyName: CFStreamPropertyKey,
5610        propertyValue: CFTypeRef,
5611    ) -> Boolean;
5612}
5613extern "C" {
5614    pub fn CFWriteStreamSetProperty(
5615        stream: CFWriteStreamRef,
5616        propertyName: CFStreamPropertyKey,
5617        propertyValue: CFTypeRef,
5618    ) -> Boolean;
5619}
5620extern "C" {
5621    pub fn CFReadStreamSetClient(
5622        stream: CFReadStreamRef,
5623        streamEvents: CFOptionFlags,
5624        clientCB: CFReadStreamClientCallBack,
5625        clientContext: *mut CFStreamClientContext,
5626    ) -> Boolean;
5627}
5628extern "C" {
5629    pub fn CFWriteStreamSetClient(
5630        stream: CFWriteStreamRef,
5631        streamEvents: CFOptionFlags,
5632        clientCB: CFWriteStreamClientCallBack,
5633        clientContext: *mut CFStreamClientContext,
5634    ) -> Boolean;
5635}
5636extern "C" {
5637    pub fn CFReadStreamScheduleWithRunLoop(
5638        stream: CFReadStreamRef,
5639        runLoop: CFRunLoopRef,
5640        runLoopMode: CFRunLoopMode,
5641    );
5642}
5643extern "C" {
5644    pub fn CFWriteStreamScheduleWithRunLoop(
5645        stream: CFWriteStreamRef,
5646        runLoop: CFRunLoopRef,
5647        runLoopMode: CFRunLoopMode,
5648    );
5649}
5650extern "C" {
5651    pub fn CFReadStreamUnscheduleFromRunLoop(
5652        stream: CFReadStreamRef,
5653        runLoop: CFRunLoopRef,
5654        runLoopMode: CFRunLoopMode,
5655    );
5656}
5657extern "C" {
5658    pub fn CFWriteStreamUnscheduleFromRunLoop(
5659        stream: CFWriteStreamRef,
5660        runLoop: CFRunLoopRef,
5661        runLoopMode: CFRunLoopMode,
5662    );
5663}
5664extern "C" {
5665    pub fn CFReadStreamSetDispatchQueue(stream: CFReadStreamRef, q: dispatch_queue_t);
5666}
5667extern "C" {
5668    pub fn CFWriteStreamSetDispatchQueue(stream: CFWriteStreamRef, q: dispatch_queue_t);
5669}
5670extern "C" {
5671    pub fn CFReadStreamCopyDispatchQueue(stream: CFReadStreamRef) -> dispatch_queue_t;
5672}
5673extern "C" {
5674    pub fn CFWriteStreamCopyDispatchQueue(stream: CFWriteStreamRef) -> dispatch_queue_t;
5675}
5676pub type CFStreamErrorDomain = CFIndex;
5677pub const kCFStreamErrorDomainCustom: _bindgen_ty_41 = -1;
5678pub const kCFStreamErrorDomainPOSIX: _bindgen_ty_41 = 1;
5679pub const kCFStreamErrorDomainMacOSStatus: _bindgen_ty_41 = 2;
5680pub type _bindgen_ty_41 = ::core::ffi::c_int;
5681extern "C" {
5682    pub fn CFReadStreamGetError(stream: CFReadStreamRef) -> CFStreamError;
5683}
5684extern "C" {
5685    pub fn CFWriteStreamGetError(stream: CFWriteStreamRef) -> CFStreamError;
5686}
5687pub type CFPropertyListMutabilityOptions = CFOptionFlags;
5688pub const kCFPropertyListImmutable: _bindgen_ty_42 = 0;
5689pub const kCFPropertyListMutableContainers: _bindgen_ty_42 = 1;
5690pub const kCFPropertyListMutableContainersAndLeaves: _bindgen_ty_42 = 2;
5691pub type _bindgen_ty_42 = ::core::ffi::c_uint;
5692extern "C" {
5693    pub fn CFPropertyListCreateFromXMLData(
5694        allocator: CFAllocatorRef,
5695        xmlData: CFDataRef,
5696        mutabilityOption: CFOptionFlags,
5697        errorString: *mut CFStringRef,
5698    ) -> CFPropertyListRef;
5699}
5700extern "C" {
5701    pub fn CFPropertyListCreateXMLData(
5702        allocator: CFAllocatorRef,
5703        propertyList: CFPropertyListRef,
5704    ) -> CFDataRef;
5705}
5706extern "C" {
5707    pub fn CFPropertyListCreateDeepCopy(
5708        allocator: CFAllocatorRef,
5709        propertyList: CFPropertyListRef,
5710        mutabilityOption: CFOptionFlags,
5711    ) -> CFPropertyListRef;
5712}
5713pub type CFPropertyListFormat = CFIndex;
5714pub const kCFPropertyListOpenStepFormat: _bindgen_ty_43 = 1;
5715pub const kCFPropertyListXMLFormat_v1_0: _bindgen_ty_43 = 100;
5716pub const kCFPropertyListBinaryFormat_v1_0: _bindgen_ty_43 = 200;
5717pub type _bindgen_ty_43 = ::core::ffi::c_uint;
5718extern "C" {
5719    pub fn CFPropertyListIsValid(plist: CFPropertyListRef, format: CFPropertyListFormat)
5720        -> Boolean;
5721}
5722extern "C" {
5723    pub fn CFPropertyListWriteToStream(
5724        propertyList: CFPropertyListRef,
5725        stream: CFWriteStreamRef,
5726        format: CFPropertyListFormat,
5727        errorString: *mut CFStringRef,
5728    ) -> CFIndex;
5729}
5730extern "C" {
5731    pub fn CFPropertyListCreateFromStream(
5732        allocator: CFAllocatorRef,
5733        stream: CFReadStreamRef,
5734        streamLength: CFIndex,
5735        mutabilityOption: CFOptionFlags,
5736        format: *mut CFPropertyListFormat,
5737        errorString: *mut CFStringRef,
5738    ) -> CFPropertyListRef;
5739}
5740pub const kCFPropertyListReadCorruptError: _bindgen_ty_44 = 3840;
5741pub const kCFPropertyListReadUnknownVersionError: _bindgen_ty_44 = 3841;
5742pub const kCFPropertyListReadStreamError: _bindgen_ty_44 = 3842;
5743pub const kCFPropertyListWriteStreamError: _bindgen_ty_44 = 3851;
5744pub type _bindgen_ty_44 = ::core::ffi::c_uint;
5745extern "C" {
5746    pub fn CFPropertyListCreateWithData(
5747        allocator: CFAllocatorRef,
5748        data: CFDataRef,
5749        options: CFOptionFlags,
5750        format: *mut CFPropertyListFormat,
5751        error: *mut CFErrorRef,
5752    ) -> CFPropertyListRef;
5753}
5754extern "C" {
5755    pub fn CFPropertyListCreateWithStream(
5756        allocator: CFAllocatorRef,
5757        stream: CFReadStreamRef,
5758        streamLength: CFIndex,
5759        options: CFOptionFlags,
5760        format: *mut CFPropertyListFormat,
5761        error: *mut CFErrorRef,
5762    ) -> CFPropertyListRef;
5763}
5764extern "C" {
5765    pub fn CFPropertyListWrite(
5766        propertyList: CFPropertyListRef,
5767        stream: CFWriteStreamRef,
5768        format: CFPropertyListFormat,
5769        options: CFOptionFlags,
5770        error: *mut CFErrorRef,
5771    ) -> CFIndex;
5772}
5773extern "C" {
5774    pub fn CFPropertyListCreateData(
5775        allocator: CFAllocatorRef,
5776        propertyList: CFPropertyListRef,
5777        format: CFPropertyListFormat,
5778        options: CFOptionFlags,
5779        error: *mut CFErrorRef,
5780    ) -> CFDataRef;
5781}
5782pub type CFSetRetainCallBack = ::core::option::Option<
5783    unsafe extern "C" fn(
5784        allocator: CFAllocatorRef,
5785        value: *const ::core::ffi::c_void,
5786    ) -> *const ::core::ffi::c_void,
5787>;
5788pub type CFSetReleaseCallBack = ::core::option::Option<
5789    unsafe extern "C" fn(allocator: CFAllocatorRef, value: *const ::core::ffi::c_void),
5790>;
5791pub type CFSetCopyDescriptionCallBack =
5792    ::core::option::Option<unsafe extern "C" fn(value: *const ::core::ffi::c_void) -> CFStringRef>;
5793pub type CFSetEqualCallBack = ::core::option::Option<
5794    unsafe extern "C" fn(
5795        value1: *const ::core::ffi::c_void,
5796        value2: *const ::core::ffi::c_void,
5797    ) -> Boolean,
5798>;
5799pub type CFSetHashCallBack =
5800    ::core::option::Option<unsafe extern "C" fn(value: *const ::core::ffi::c_void) -> CFHashCode>;
5801#[repr(C)]
5802#[derive(Debug, Copy, Clone)]
5803pub struct CFSetCallBacks {
5804    pub version: CFIndex,
5805    pub retain: CFSetRetainCallBack,
5806    pub release: CFSetReleaseCallBack,
5807    pub copyDescription: CFSetCopyDescriptionCallBack,
5808    pub equal: CFSetEqualCallBack,
5809    pub hash: CFSetHashCallBack,
5810}
5811extern "C" {
5812    pub static kCFTypeSetCallBacks: CFSetCallBacks;
5813}
5814extern "C" {
5815    pub static kCFCopyStringSetCallBacks: CFSetCallBacks;
5816}
5817pub type CFSetApplierFunction = ::core::option::Option<
5818    unsafe extern "C" fn(value: *const ::core::ffi::c_void, context: *mut ::core::ffi::c_void),
5819>;
5820#[repr(C)]
5821#[derive(Debug, Copy, Clone)]
5822pub struct __CFSet {
5823    _unused: [u8; 0],
5824}
5825pub type CFSetRef = *const __CFSet;
5826pub type CFMutableSetRef = *mut __CFSet;
5827extern "C" {
5828    pub fn CFSetGetTypeID() -> CFTypeID;
5829}
5830extern "C" {
5831    pub fn CFSetCreate(
5832        allocator: CFAllocatorRef,
5833        values: *mut *const ::core::ffi::c_void,
5834        numValues: CFIndex,
5835        callBacks: *const CFSetCallBacks,
5836    ) -> CFSetRef;
5837}
5838extern "C" {
5839    pub fn CFSetCreateCopy(allocator: CFAllocatorRef, theSet: CFSetRef) -> CFSetRef;
5840}
5841extern "C" {
5842    pub fn CFSetCreateMutable(
5843        allocator: CFAllocatorRef,
5844        capacity: CFIndex,
5845        callBacks: *const CFSetCallBacks,
5846    ) -> CFMutableSetRef;
5847}
5848extern "C" {
5849    pub fn CFSetCreateMutableCopy(
5850        allocator: CFAllocatorRef,
5851        capacity: CFIndex,
5852        theSet: CFSetRef,
5853    ) -> CFMutableSetRef;
5854}
5855extern "C" {
5856    pub fn CFSetGetCount(theSet: CFSetRef) -> CFIndex;
5857}
5858extern "C" {
5859    pub fn CFSetGetCountOfValue(theSet: CFSetRef, value: *const ::core::ffi::c_void) -> CFIndex;
5860}
5861extern "C" {
5862    pub fn CFSetContainsValue(theSet: CFSetRef, value: *const ::core::ffi::c_void) -> Boolean;
5863}
5864extern "C" {
5865    pub fn CFSetGetValue(
5866        theSet: CFSetRef,
5867        value: *const ::core::ffi::c_void,
5868    ) -> *const ::core::ffi::c_void;
5869}
5870extern "C" {
5871    pub fn CFSetGetValueIfPresent(
5872        theSet: CFSetRef,
5873        candidate: *const ::core::ffi::c_void,
5874        value: *mut *const ::core::ffi::c_void,
5875    ) -> Boolean;
5876}
5877extern "C" {
5878    pub fn CFSetGetValues(theSet: CFSetRef, values: *mut *const ::core::ffi::c_void);
5879}
5880extern "C" {
5881    pub fn CFSetApplyFunction(
5882        theSet: CFSetRef,
5883        applier: CFSetApplierFunction,
5884        context: *mut ::core::ffi::c_void,
5885    );
5886}
5887extern "C" {
5888    pub fn CFSetAddValue(theSet: CFMutableSetRef, value: *const ::core::ffi::c_void);
5889}
5890extern "C" {
5891    pub fn CFSetReplaceValue(theSet: CFMutableSetRef, value: *const ::core::ffi::c_void);
5892}
5893extern "C" {
5894    pub fn CFSetSetValue(theSet: CFMutableSetRef, value: *const ::core::ffi::c_void);
5895}
5896extern "C" {
5897    pub fn CFSetRemoveValue(theSet: CFMutableSetRef, value: *const ::core::ffi::c_void);
5898}
5899extern "C" {
5900    pub fn CFSetRemoveAllValues(theSet: CFMutableSetRef);
5901}
5902pub type CFStringEncodings = CFIndex;
5903pub const kCFStringEncodingMacJapanese: _bindgen_ty_45 = 1;
5904pub const kCFStringEncodingMacChineseTrad: _bindgen_ty_45 = 2;
5905pub const kCFStringEncodingMacKorean: _bindgen_ty_45 = 3;
5906pub const kCFStringEncodingMacArabic: _bindgen_ty_45 = 4;
5907pub const kCFStringEncodingMacHebrew: _bindgen_ty_45 = 5;
5908pub const kCFStringEncodingMacGreek: _bindgen_ty_45 = 6;
5909pub const kCFStringEncodingMacCyrillic: _bindgen_ty_45 = 7;
5910pub const kCFStringEncodingMacDevanagari: _bindgen_ty_45 = 9;
5911pub const kCFStringEncodingMacGurmukhi: _bindgen_ty_45 = 10;
5912pub const kCFStringEncodingMacGujarati: _bindgen_ty_45 = 11;
5913pub const kCFStringEncodingMacOriya: _bindgen_ty_45 = 12;
5914pub const kCFStringEncodingMacBengali: _bindgen_ty_45 = 13;
5915pub const kCFStringEncodingMacTamil: _bindgen_ty_45 = 14;
5916pub const kCFStringEncodingMacTelugu: _bindgen_ty_45 = 15;
5917pub const kCFStringEncodingMacKannada: _bindgen_ty_45 = 16;
5918pub const kCFStringEncodingMacMalayalam: _bindgen_ty_45 = 17;
5919pub const kCFStringEncodingMacSinhalese: _bindgen_ty_45 = 18;
5920pub const kCFStringEncodingMacBurmese: _bindgen_ty_45 = 19;
5921pub const kCFStringEncodingMacKhmer: _bindgen_ty_45 = 20;
5922pub const kCFStringEncodingMacThai: _bindgen_ty_45 = 21;
5923pub const kCFStringEncodingMacLaotian: _bindgen_ty_45 = 22;
5924pub const kCFStringEncodingMacGeorgian: _bindgen_ty_45 = 23;
5925pub const kCFStringEncodingMacArmenian: _bindgen_ty_45 = 24;
5926pub const kCFStringEncodingMacChineseSimp: _bindgen_ty_45 = 25;
5927pub const kCFStringEncodingMacTibetan: _bindgen_ty_45 = 26;
5928pub const kCFStringEncodingMacMongolian: _bindgen_ty_45 = 27;
5929pub const kCFStringEncodingMacEthiopic: _bindgen_ty_45 = 28;
5930pub const kCFStringEncodingMacCentralEurRoman: _bindgen_ty_45 = 29;
5931pub const kCFStringEncodingMacVietnamese: _bindgen_ty_45 = 30;
5932pub const kCFStringEncodingMacExtArabic: _bindgen_ty_45 = 31;
5933pub const kCFStringEncodingMacSymbol: _bindgen_ty_45 = 33;
5934pub const kCFStringEncodingMacDingbats: _bindgen_ty_45 = 34;
5935pub const kCFStringEncodingMacTurkish: _bindgen_ty_45 = 35;
5936pub const kCFStringEncodingMacCroatian: _bindgen_ty_45 = 36;
5937pub const kCFStringEncodingMacIcelandic: _bindgen_ty_45 = 37;
5938pub const kCFStringEncodingMacRomanian: _bindgen_ty_45 = 38;
5939pub const kCFStringEncodingMacCeltic: _bindgen_ty_45 = 39;
5940pub const kCFStringEncodingMacGaelic: _bindgen_ty_45 = 40;
5941pub const kCFStringEncodingMacFarsi: _bindgen_ty_45 = 140;
5942pub const kCFStringEncodingMacUkrainian: _bindgen_ty_45 = 152;
5943pub const kCFStringEncodingMacInuit: _bindgen_ty_45 = 236;
5944pub const kCFStringEncodingMacVT100: _bindgen_ty_45 = 252;
5945pub const kCFStringEncodingMacHFS: _bindgen_ty_45 = 255;
5946pub const kCFStringEncodingISOLatin2: _bindgen_ty_45 = 514;
5947pub const kCFStringEncodingISOLatin3: _bindgen_ty_45 = 515;
5948pub const kCFStringEncodingISOLatin4: _bindgen_ty_45 = 516;
5949pub const kCFStringEncodingISOLatinCyrillic: _bindgen_ty_45 = 517;
5950pub const kCFStringEncodingISOLatinArabic: _bindgen_ty_45 = 518;
5951pub const kCFStringEncodingISOLatinGreek: _bindgen_ty_45 = 519;
5952pub const kCFStringEncodingISOLatinHebrew: _bindgen_ty_45 = 520;
5953pub const kCFStringEncodingISOLatin5: _bindgen_ty_45 = 521;
5954pub const kCFStringEncodingISOLatin6: _bindgen_ty_45 = 522;
5955pub const kCFStringEncodingISOLatinThai: _bindgen_ty_45 = 523;
5956pub const kCFStringEncodingISOLatin7: _bindgen_ty_45 = 525;
5957pub const kCFStringEncodingISOLatin8: _bindgen_ty_45 = 526;
5958pub const kCFStringEncodingISOLatin9: _bindgen_ty_45 = 527;
5959pub const kCFStringEncodingISOLatin10: _bindgen_ty_45 = 528;
5960pub const kCFStringEncodingDOSLatinUS: _bindgen_ty_45 = 1024;
5961pub const kCFStringEncodingDOSGreek: _bindgen_ty_45 = 1029;
5962pub const kCFStringEncodingDOSBalticRim: _bindgen_ty_45 = 1030;
5963pub const kCFStringEncodingDOSLatin1: _bindgen_ty_45 = 1040;
5964pub const kCFStringEncodingDOSGreek1: _bindgen_ty_45 = 1041;
5965pub const kCFStringEncodingDOSLatin2: _bindgen_ty_45 = 1042;
5966pub const kCFStringEncodingDOSCyrillic: _bindgen_ty_45 = 1043;
5967pub const kCFStringEncodingDOSTurkish: _bindgen_ty_45 = 1044;
5968pub const kCFStringEncodingDOSPortuguese: _bindgen_ty_45 = 1045;
5969pub const kCFStringEncodingDOSIcelandic: _bindgen_ty_45 = 1046;
5970pub const kCFStringEncodingDOSHebrew: _bindgen_ty_45 = 1047;
5971pub const kCFStringEncodingDOSCanadianFrench: _bindgen_ty_45 = 1048;
5972pub const kCFStringEncodingDOSArabic: _bindgen_ty_45 = 1049;
5973pub const kCFStringEncodingDOSNordic: _bindgen_ty_45 = 1050;
5974pub const kCFStringEncodingDOSRussian: _bindgen_ty_45 = 1051;
5975pub const kCFStringEncodingDOSGreek2: _bindgen_ty_45 = 1052;
5976pub const kCFStringEncodingDOSThai: _bindgen_ty_45 = 1053;
5977pub const kCFStringEncodingDOSJapanese: _bindgen_ty_45 = 1056;
5978pub const kCFStringEncodingDOSChineseSimplif: _bindgen_ty_45 = 1057;
5979pub const kCFStringEncodingDOSKorean: _bindgen_ty_45 = 1058;
5980pub const kCFStringEncodingDOSChineseTrad: _bindgen_ty_45 = 1059;
5981pub const kCFStringEncodingWindowsLatin2: _bindgen_ty_45 = 1281;
5982pub const kCFStringEncodingWindowsCyrillic: _bindgen_ty_45 = 1282;
5983pub const kCFStringEncodingWindowsGreek: _bindgen_ty_45 = 1283;
5984pub const kCFStringEncodingWindowsLatin5: _bindgen_ty_45 = 1284;
5985pub const kCFStringEncodingWindowsHebrew: _bindgen_ty_45 = 1285;
5986pub const kCFStringEncodingWindowsArabic: _bindgen_ty_45 = 1286;
5987pub const kCFStringEncodingWindowsBalticRim: _bindgen_ty_45 = 1287;
5988pub const kCFStringEncodingWindowsVietnamese: _bindgen_ty_45 = 1288;
5989pub const kCFStringEncodingWindowsKoreanJohab: _bindgen_ty_45 = 1296;
5990pub const kCFStringEncodingANSEL: _bindgen_ty_45 = 1537;
5991pub const kCFStringEncodingJIS_X0201_76: _bindgen_ty_45 = 1568;
5992pub const kCFStringEncodingJIS_X0208_83: _bindgen_ty_45 = 1569;
5993pub const kCFStringEncodingJIS_X0208_90: _bindgen_ty_45 = 1570;
5994pub const kCFStringEncodingJIS_X0212_90: _bindgen_ty_45 = 1571;
5995pub const kCFStringEncodingJIS_C6226_78: _bindgen_ty_45 = 1572;
5996pub const kCFStringEncodingShiftJIS_X0213: _bindgen_ty_45 = 1576;
5997pub const kCFStringEncodingShiftJIS_X0213_MenKuTen: _bindgen_ty_45 = 1577;
5998pub const kCFStringEncodingGB_2312_80: _bindgen_ty_45 = 1584;
5999pub const kCFStringEncodingGBK_95: _bindgen_ty_45 = 1585;
6000pub const kCFStringEncodingGB_18030_2000: _bindgen_ty_45 = 1586;
6001pub const kCFStringEncodingKSC_5601_87: _bindgen_ty_45 = 1600;
6002pub const kCFStringEncodingKSC_5601_92_Johab: _bindgen_ty_45 = 1601;
6003pub const kCFStringEncodingCNS_11643_92_P1: _bindgen_ty_45 = 1617;
6004pub const kCFStringEncodingCNS_11643_92_P2: _bindgen_ty_45 = 1618;
6005pub const kCFStringEncodingCNS_11643_92_P3: _bindgen_ty_45 = 1619;
6006pub const kCFStringEncodingISO_2022_JP: _bindgen_ty_45 = 2080;
6007pub const kCFStringEncodingISO_2022_JP_2: _bindgen_ty_45 = 2081;
6008pub const kCFStringEncodingISO_2022_JP_1: _bindgen_ty_45 = 2082;
6009pub const kCFStringEncodingISO_2022_JP_3: _bindgen_ty_45 = 2083;
6010pub const kCFStringEncodingISO_2022_CN: _bindgen_ty_45 = 2096;
6011pub const kCFStringEncodingISO_2022_CN_EXT: _bindgen_ty_45 = 2097;
6012pub const kCFStringEncodingISO_2022_KR: _bindgen_ty_45 = 2112;
6013pub const kCFStringEncodingEUC_JP: _bindgen_ty_45 = 2336;
6014pub const kCFStringEncodingEUC_CN: _bindgen_ty_45 = 2352;
6015pub const kCFStringEncodingEUC_TW: _bindgen_ty_45 = 2353;
6016pub const kCFStringEncodingEUC_KR: _bindgen_ty_45 = 2368;
6017pub const kCFStringEncodingShiftJIS: _bindgen_ty_45 = 2561;
6018pub const kCFStringEncodingKOI8_R: _bindgen_ty_45 = 2562;
6019pub const kCFStringEncodingBig5: _bindgen_ty_45 = 2563;
6020pub const kCFStringEncodingMacRomanLatin1: _bindgen_ty_45 = 2564;
6021pub const kCFStringEncodingHZ_GB_2312: _bindgen_ty_45 = 2565;
6022pub const kCFStringEncodingBig5_HKSCS_1999: _bindgen_ty_45 = 2566;
6023pub const kCFStringEncodingVISCII: _bindgen_ty_45 = 2567;
6024pub const kCFStringEncodingKOI8_U: _bindgen_ty_45 = 2568;
6025pub const kCFStringEncodingBig5_E: _bindgen_ty_45 = 2569;
6026pub const kCFStringEncodingNextStepJapanese: _bindgen_ty_45 = 2818;
6027pub const kCFStringEncodingEBCDIC_US: _bindgen_ty_45 = 3073;
6028pub const kCFStringEncodingEBCDIC_CP037: _bindgen_ty_45 = 3074;
6029pub const kCFStringEncodingUTF7: _bindgen_ty_45 = 67109120;
6030pub const kCFStringEncodingUTF7_IMAP: _bindgen_ty_45 = 2576;
6031pub const kCFStringEncodingShiftJIS_X0213_00: _bindgen_ty_45 = 1576;
6032pub type _bindgen_ty_45 = ::core::ffi::c_uint;
6033pub type CFTreeRetainCallBack = ::core::option::Option<
6034    unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
6035>;
6036pub type CFTreeReleaseCallBack =
6037    ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>;
6038pub type CFTreeCopyDescriptionCallBack =
6039    ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef>;
6040#[repr(C)]
6041#[derive(Debug, Copy, Clone)]
6042pub struct CFTreeContext {
6043    pub version: CFIndex,
6044    pub info: *mut ::core::ffi::c_void,
6045    pub retain: CFTreeRetainCallBack,
6046    pub release: CFTreeReleaseCallBack,
6047    pub copyDescription: CFTreeCopyDescriptionCallBack,
6048}
6049pub type CFTreeApplierFunction = ::core::option::Option<
6050    unsafe extern "C" fn(value: *const ::core::ffi::c_void, context: *mut ::core::ffi::c_void),
6051>;
6052#[repr(C)]
6053#[derive(Debug, Copy, Clone)]
6054pub struct __CFTree {
6055    _unused: [u8; 0],
6056}
6057pub type CFTreeRef = *mut __CFTree;
6058extern "C" {
6059    pub fn CFTreeGetTypeID() -> CFTypeID;
6060}
6061extern "C" {
6062    pub fn CFTreeCreate(allocator: CFAllocatorRef, context: *const CFTreeContext) -> CFTreeRef;
6063}
6064extern "C" {
6065    pub fn CFTreeGetParent(tree: CFTreeRef) -> CFTreeRef;
6066}
6067extern "C" {
6068    pub fn CFTreeGetNextSibling(tree: CFTreeRef) -> CFTreeRef;
6069}
6070extern "C" {
6071    pub fn CFTreeGetFirstChild(tree: CFTreeRef) -> CFTreeRef;
6072}
6073extern "C" {
6074    pub fn CFTreeGetContext(tree: CFTreeRef, context: *mut CFTreeContext);
6075}
6076extern "C" {
6077    pub fn CFTreeGetChildCount(tree: CFTreeRef) -> CFIndex;
6078}
6079extern "C" {
6080    pub fn CFTreeGetChildAtIndex(tree: CFTreeRef, idx: CFIndex) -> CFTreeRef;
6081}
6082extern "C" {
6083    pub fn CFTreeGetChildren(tree: CFTreeRef, children: *mut CFTreeRef);
6084}
6085extern "C" {
6086    pub fn CFTreeApplyFunctionToChildren(
6087        tree: CFTreeRef,
6088        applier: CFTreeApplierFunction,
6089        context: *mut ::core::ffi::c_void,
6090    );
6091}
6092extern "C" {
6093    pub fn CFTreeFindRoot(tree: CFTreeRef) -> CFTreeRef;
6094}
6095extern "C" {
6096    pub fn CFTreeSetContext(tree: CFTreeRef, context: *const CFTreeContext);
6097}
6098extern "C" {
6099    pub fn CFTreePrependChild(tree: CFTreeRef, newChild: CFTreeRef);
6100}
6101extern "C" {
6102    pub fn CFTreeAppendChild(tree: CFTreeRef, newChild: CFTreeRef);
6103}
6104extern "C" {
6105    pub fn CFTreeInsertSibling(tree: CFTreeRef, newSibling: CFTreeRef);
6106}
6107extern "C" {
6108    pub fn CFTreeRemove(tree: CFTreeRef);
6109}
6110extern "C" {
6111    pub fn CFTreeRemoveAllChildren(tree: CFTreeRef);
6112}
6113extern "C" {
6114    pub fn CFTreeSortChildren(
6115        tree: CFTreeRef,
6116        comparator: CFComparatorFunction,
6117        context: *mut ::core::ffi::c_void,
6118    );
6119}
6120extern "C" {
6121    pub fn CFURLCreateDataAndPropertiesFromResource(
6122        alloc: CFAllocatorRef,
6123        url: CFURLRef,
6124        resourceData: *mut CFDataRef,
6125        properties: *mut CFDictionaryRef,
6126        desiredProperties: CFArrayRef,
6127        errorCode: *mut SInt32,
6128    ) -> Boolean;
6129}
6130extern "C" {
6131    pub fn CFURLWriteDataAndPropertiesToResource(
6132        url: CFURLRef,
6133        dataToWrite: CFDataRef,
6134        propertiesToWrite: CFDictionaryRef,
6135        errorCode: *mut SInt32,
6136    ) -> Boolean;
6137}
6138extern "C" {
6139    pub fn CFURLDestroyResource(url: CFURLRef, errorCode: *mut SInt32) -> Boolean;
6140}
6141extern "C" {
6142    pub fn CFURLCreatePropertyFromResource(
6143        alloc: CFAllocatorRef,
6144        url: CFURLRef,
6145        property: CFStringRef,
6146        errorCode: *mut SInt32,
6147    ) -> CFTypeRef;
6148}
6149pub type CFURLError = CFIndex;
6150pub const kCFURLUnknownError: _bindgen_ty_46 = -10;
6151pub const kCFURLUnknownSchemeError: _bindgen_ty_46 = -11;
6152pub const kCFURLResourceNotFoundError: _bindgen_ty_46 = -12;
6153pub const kCFURLResourceAccessViolationError: _bindgen_ty_46 = -13;
6154pub const kCFURLRemoteHostUnavailableError: _bindgen_ty_46 = -14;
6155pub const kCFURLImproperArgumentsError: _bindgen_ty_46 = -15;
6156pub const kCFURLUnknownPropertyKeyError: _bindgen_ty_46 = -16;
6157pub const kCFURLPropertyKeyUnavailableError: _bindgen_ty_46 = -17;
6158pub const kCFURLTimeoutError: _bindgen_ty_46 = -18;
6159pub type _bindgen_ty_46 = ::core::ffi::c_int;
6160extern "C" {
6161    pub static kCFURLFileExists: CFStringRef;
6162}
6163extern "C" {
6164    pub static kCFURLFileDirectoryContents: CFStringRef;
6165}
6166extern "C" {
6167    pub static kCFURLFileLength: CFStringRef;
6168}
6169extern "C" {
6170    pub static kCFURLFileLastModificationTime: CFStringRef;
6171}
6172extern "C" {
6173    pub static kCFURLFilePOSIXMode: CFStringRef;
6174}
6175extern "C" {
6176    pub static kCFURLFileOwnerID: CFStringRef;
6177}
6178extern "C" {
6179    pub static kCFURLHTTPStatusCode: CFStringRef;
6180}
6181extern "C" {
6182    pub static kCFURLHTTPStatusLine: CFStringRef;
6183}
6184#[repr(C)]
6185#[derive(Debug, Copy, Clone)]
6186pub struct __CFUUID {
6187    _unused: [u8; 0],
6188}
6189pub type CFUUIDRef = *const __CFUUID;
6190#[repr(C)]
6191#[derive(Debug, Copy, Clone)]
6192pub struct CFUUIDBytes {
6193    pub byte0: UInt8,
6194    pub byte1: UInt8,
6195    pub byte2: UInt8,
6196    pub byte3: UInt8,
6197    pub byte4: UInt8,
6198    pub byte5: UInt8,
6199    pub byte6: UInt8,
6200    pub byte7: UInt8,
6201    pub byte8: UInt8,
6202    pub byte9: UInt8,
6203    pub byte10: UInt8,
6204    pub byte11: UInt8,
6205    pub byte12: UInt8,
6206    pub byte13: UInt8,
6207    pub byte14: UInt8,
6208    pub byte15: UInt8,
6209}
6210extern "C" {
6211    pub fn CFUUIDGetTypeID() -> CFTypeID;
6212}
6213extern "C" {
6214    pub fn CFUUIDCreate(alloc: CFAllocatorRef) -> CFUUIDRef;
6215}
6216extern "C" {
6217    pub fn CFUUIDCreateWithBytes(
6218        alloc: CFAllocatorRef,
6219        byte0: UInt8,
6220        byte1: UInt8,
6221        byte2: UInt8,
6222        byte3: UInt8,
6223        byte4: UInt8,
6224        byte5: UInt8,
6225        byte6: UInt8,
6226        byte7: UInt8,
6227        byte8: UInt8,
6228        byte9: UInt8,
6229        byte10: UInt8,
6230        byte11: UInt8,
6231        byte12: UInt8,
6232        byte13: UInt8,
6233        byte14: UInt8,
6234        byte15: UInt8,
6235    ) -> CFUUIDRef;
6236}
6237extern "C" {
6238    pub fn CFUUIDCreateFromString(alloc: CFAllocatorRef, uuidStr: CFStringRef) -> CFUUIDRef;
6239}
6240extern "C" {
6241    pub fn CFUUIDCreateString(alloc: CFAllocatorRef, uuid: CFUUIDRef) -> CFStringRef;
6242}
6243extern "C" {
6244    pub fn CFUUIDGetConstantUUIDWithBytes(
6245        alloc: CFAllocatorRef,
6246        byte0: UInt8,
6247        byte1: UInt8,
6248        byte2: UInt8,
6249        byte3: UInt8,
6250        byte4: UInt8,
6251        byte5: UInt8,
6252        byte6: UInt8,
6253        byte7: UInt8,
6254        byte8: UInt8,
6255        byte9: UInt8,
6256        byte10: UInt8,
6257        byte11: UInt8,
6258        byte12: UInt8,
6259        byte13: UInt8,
6260        byte14: UInt8,
6261        byte15: UInt8,
6262    ) -> CFUUIDRef;
6263}
6264extern "C" {
6265    pub fn CFUUIDGetUUIDBytes(uuid: CFUUIDRef) -> CFUUIDBytes;
6266}
6267extern "C" {
6268    pub fn CFUUIDCreateFromUUIDBytes(alloc: CFAllocatorRef, bytes: CFUUIDBytes) -> CFUUIDRef;
6269}
6270extern "C" {
6271    pub fn CFCopyHomeDirectoryURL() -> CFURLRef;
6272}
6273pub type cpu_type_t = integer_t;
6274#[repr(C)]
6275#[derive(Debug, Copy, Clone)]
6276pub struct __CFBundle {
6277    _unused: [u8; 0],
6278}
6279pub type CFBundleRef = *mut __CFBundle;
6280pub type CFPlugInRef = *mut __CFBundle;
6281extern "C" {
6282    pub static kCFBundleInfoDictionaryVersionKey: CFStringRef;
6283}
6284extern "C" {
6285    pub static kCFBundleExecutableKey: CFStringRef;
6286}
6287extern "C" {
6288    pub static kCFBundleIdentifierKey: CFStringRef;
6289}
6290extern "C" {
6291    pub static kCFBundleVersionKey: CFStringRef;
6292}
6293extern "C" {
6294    pub static kCFBundleDevelopmentRegionKey: CFStringRef;
6295}
6296extern "C" {
6297    pub static kCFBundleNameKey: CFStringRef;
6298}
6299extern "C" {
6300    pub static kCFBundleLocalizationsKey: CFStringRef;
6301}
6302extern "C" {
6303    pub fn CFBundleGetMainBundle() -> CFBundleRef;
6304}
6305extern "C" {
6306    pub fn CFBundleGetBundleWithIdentifier(bundleID: CFStringRef) -> CFBundleRef;
6307}
6308extern "C" {
6309    pub fn CFBundleGetAllBundles() -> CFArrayRef;
6310}
6311extern "C" {
6312    pub fn CFBundleGetTypeID() -> CFTypeID;
6313}
6314extern "C" {
6315    pub fn CFBundleCreate(allocator: CFAllocatorRef, bundleURL: CFURLRef) -> CFBundleRef;
6316}
6317extern "C" {
6318    pub fn CFBundleCreateBundlesFromDirectory(
6319        allocator: CFAllocatorRef,
6320        directoryURL: CFURLRef,
6321        bundleType: CFStringRef,
6322    ) -> CFArrayRef;
6323}
6324extern "C" {
6325    pub fn CFBundleCopyBundleURL(bundle: CFBundleRef) -> CFURLRef;
6326}
6327extern "C" {
6328    pub fn CFBundleGetValueForInfoDictionaryKey(bundle: CFBundleRef, key: CFStringRef)
6329        -> CFTypeRef;
6330}
6331extern "C" {
6332    pub fn CFBundleGetInfoDictionary(bundle: CFBundleRef) -> CFDictionaryRef;
6333}
6334extern "C" {
6335    pub fn CFBundleGetLocalInfoDictionary(bundle: CFBundleRef) -> CFDictionaryRef;
6336}
6337extern "C" {
6338    pub fn CFBundleGetPackageInfo(
6339        bundle: CFBundleRef,
6340        packageType: *mut UInt32,
6341        packageCreator: *mut UInt32,
6342    );
6343}
6344extern "C" {
6345    pub fn CFBundleGetIdentifier(bundle: CFBundleRef) -> CFStringRef;
6346}
6347extern "C" {
6348    pub fn CFBundleGetVersionNumber(bundle: CFBundleRef) -> UInt32;
6349}
6350extern "C" {
6351    pub fn CFBundleGetDevelopmentRegion(bundle: CFBundleRef) -> CFStringRef;
6352}
6353extern "C" {
6354    pub fn CFBundleCopySupportFilesDirectoryURL(bundle: CFBundleRef) -> CFURLRef;
6355}
6356extern "C" {
6357    pub fn CFBundleCopyResourcesDirectoryURL(bundle: CFBundleRef) -> CFURLRef;
6358}
6359extern "C" {
6360    pub fn CFBundleCopyPrivateFrameworksURL(bundle: CFBundleRef) -> CFURLRef;
6361}
6362extern "C" {
6363    pub fn CFBundleCopySharedFrameworksURL(bundle: CFBundleRef) -> CFURLRef;
6364}
6365extern "C" {
6366    pub fn CFBundleCopySharedSupportURL(bundle: CFBundleRef) -> CFURLRef;
6367}
6368extern "C" {
6369    pub fn CFBundleCopyBuiltInPlugInsURL(bundle: CFBundleRef) -> CFURLRef;
6370}
6371extern "C" {
6372    pub fn CFBundleCopyInfoDictionaryInDirectory(bundleURL: CFURLRef) -> CFDictionaryRef;
6373}
6374extern "C" {
6375    pub fn CFBundleGetPackageInfoInDirectory(
6376        url: CFURLRef,
6377        packageType: *mut UInt32,
6378        packageCreator: *mut UInt32,
6379    ) -> Boolean;
6380}
6381extern "C" {
6382    pub fn CFBundleCopyResourceURL(
6383        bundle: CFBundleRef,
6384        resourceName: CFStringRef,
6385        resourceType: CFStringRef,
6386        subDirName: CFStringRef,
6387    ) -> CFURLRef;
6388}
6389extern "C" {
6390    pub fn CFBundleCopyResourceURLsOfType(
6391        bundle: CFBundleRef,
6392        resourceType: CFStringRef,
6393        subDirName: CFStringRef,
6394    ) -> CFArrayRef;
6395}
6396extern "C" {
6397    pub fn CFBundleCopyLocalizedString(
6398        bundle: CFBundleRef,
6399        key: CFStringRef,
6400        value: CFStringRef,
6401        tableName: CFStringRef,
6402    ) -> CFStringRef;
6403}
6404extern "C" {
6405    pub fn CFBundleCopyLocalizedStringForLocalizations(
6406        bundle: CFBundleRef,
6407        key: CFStringRef,
6408        value: CFStringRef,
6409        tableName: CFStringRef,
6410        localizations: CFArrayRef,
6411    ) -> CFStringRef;
6412}
6413extern "C" {
6414    pub fn CFBundleCopyResourceURLInDirectory(
6415        bundleURL: CFURLRef,
6416        resourceName: CFStringRef,
6417        resourceType: CFStringRef,
6418        subDirName: CFStringRef,
6419    ) -> CFURLRef;
6420}
6421extern "C" {
6422    pub fn CFBundleCopyResourceURLsOfTypeInDirectory(
6423        bundleURL: CFURLRef,
6424        resourceType: CFStringRef,
6425        subDirName: CFStringRef,
6426    ) -> CFArrayRef;
6427}
6428extern "C" {
6429    pub fn CFBundleCopyBundleLocalizations(bundle: CFBundleRef) -> CFArrayRef;
6430}
6431extern "C" {
6432    pub fn CFBundleCopyPreferredLocalizationsFromArray(locArray: CFArrayRef) -> CFArrayRef;
6433}
6434extern "C" {
6435    pub fn CFBundleCopyLocalizationsForPreferences(
6436        locArray: CFArrayRef,
6437        prefArray: CFArrayRef,
6438    ) -> CFArrayRef;
6439}
6440extern "C" {
6441    pub fn CFBundleCopyResourceURLForLocalization(
6442        bundle: CFBundleRef,
6443        resourceName: CFStringRef,
6444        resourceType: CFStringRef,
6445        subDirName: CFStringRef,
6446        localizationName: CFStringRef,
6447    ) -> CFURLRef;
6448}
6449extern "C" {
6450    pub fn CFBundleCopyResourceURLsOfTypeForLocalization(
6451        bundle: CFBundleRef,
6452        resourceType: CFStringRef,
6453        subDirName: CFStringRef,
6454        localizationName: CFStringRef,
6455    ) -> CFArrayRef;
6456}
6457extern "C" {
6458    pub fn CFBundleCopyInfoDictionaryForURL(url: CFURLRef) -> CFDictionaryRef;
6459}
6460extern "C" {
6461    pub fn CFBundleCopyLocalizationsForURL(url: CFURLRef) -> CFArrayRef;
6462}
6463extern "C" {
6464    pub fn CFBundleCopyExecutableArchitecturesForURL(url: CFURLRef) -> CFArrayRef;
6465}
6466extern "C" {
6467    pub fn CFBundleCopyExecutableURL(bundle: CFBundleRef) -> CFURLRef;
6468}
6469pub const kCFBundleExecutableArchitectureI386: _bindgen_ty_47 = 7;
6470pub const kCFBundleExecutableArchitecturePPC: _bindgen_ty_47 = 18;
6471pub const kCFBundleExecutableArchitectureX86_64: _bindgen_ty_47 = 16777223;
6472pub const kCFBundleExecutableArchitecturePPC64: _bindgen_ty_47 = 16777234;
6473pub const kCFBundleExecutableArchitectureARM64: _bindgen_ty_47 = 16777228;
6474pub type _bindgen_ty_47 = ::core::ffi::c_uint;
6475extern "C" {
6476    pub fn CFBundleCopyExecutableArchitectures(bundle: CFBundleRef) -> CFArrayRef;
6477}
6478extern "C" {
6479    pub fn CFBundlePreflightExecutable(bundle: CFBundleRef, error: *mut CFErrorRef) -> Boolean;
6480}
6481extern "C" {
6482    pub fn CFBundleLoadExecutableAndReturnError(
6483        bundle: CFBundleRef,
6484        error: *mut CFErrorRef,
6485    ) -> Boolean;
6486}
6487extern "C" {
6488    pub fn CFBundleLoadExecutable(bundle: CFBundleRef) -> Boolean;
6489}
6490extern "C" {
6491    pub fn CFBundleIsExecutableLoaded(bundle: CFBundleRef) -> Boolean;
6492}
6493extern "C" {
6494    pub fn CFBundleUnloadExecutable(bundle: CFBundleRef);
6495}
6496extern "C" {
6497    pub fn CFBundleGetFunctionPointerForName(
6498        bundle: CFBundleRef,
6499        functionName: CFStringRef,
6500    ) -> *mut ::core::ffi::c_void;
6501}
6502extern "C" {
6503    pub fn CFBundleGetFunctionPointersForNames(
6504        bundle: CFBundleRef,
6505        functionNames: CFArrayRef,
6506        ftbl: *mut *mut ::core::ffi::c_void,
6507    );
6508}
6509extern "C" {
6510    pub fn CFBundleGetDataPointerForName(
6511        bundle: CFBundleRef,
6512        symbolName: CFStringRef,
6513    ) -> *mut ::core::ffi::c_void;
6514}
6515extern "C" {
6516    pub fn CFBundleGetDataPointersForNames(
6517        bundle: CFBundleRef,
6518        symbolNames: CFArrayRef,
6519        stbl: *mut *mut ::core::ffi::c_void,
6520    );
6521}
6522extern "C" {
6523    pub fn CFBundleCopyAuxiliaryExecutableURL(
6524        bundle: CFBundleRef,
6525        executableName: CFStringRef,
6526    ) -> CFURLRef;
6527}
6528extern "C" {
6529    pub fn CFBundleIsExecutableLoadable(bundle: CFBundleRef) -> Boolean;
6530}
6531extern "C" {
6532    pub fn CFBundleIsExecutableLoadableForURL(url: CFURLRef) -> Boolean;
6533}
6534extern "C" {
6535    pub fn CFBundleIsArchitectureLoadable(arch: cpu_type_t) -> Boolean;
6536}
6537extern "C" {
6538    pub fn CFBundleGetPlugIn(bundle: CFBundleRef) -> CFPlugInRef;
6539}
6540pub type CFBundleRefNum = ::core::ffi::c_int;
6541extern "C" {
6542    pub fn CFBundleOpenBundleResourceMap(bundle: CFBundleRef) -> CFBundleRefNum;
6543}
6544extern "C" {
6545    pub fn CFBundleOpenBundleResourceFiles(
6546        bundle: CFBundleRef,
6547        refNum: *mut CFBundleRefNum,
6548        localizedRefNum: *mut CFBundleRefNum,
6549    ) -> SInt32;
6550}
6551extern "C" {
6552    pub fn CFBundleCloseBundleResourceMap(bundle: CFBundleRef, refNum: CFBundleRefNum);
6553}
6554#[repr(C)]
6555#[derive(Debug, Copy, Clone)]
6556pub struct __CFMessagePort {
6557    _unused: [u8; 0],
6558}
6559pub type CFMessagePortRef = *mut __CFMessagePort;
6560pub const kCFMessagePortSuccess: _bindgen_ty_48 = 0;
6561pub const kCFMessagePortSendTimeout: _bindgen_ty_48 = -1;
6562pub const kCFMessagePortReceiveTimeout: _bindgen_ty_48 = -2;
6563pub const kCFMessagePortIsInvalid: _bindgen_ty_48 = -3;
6564pub const kCFMessagePortTransportError: _bindgen_ty_48 = -4;
6565pub const kCFMessagePortBecameInvalidError: _bindgen_ty_48 = -5;
6566pub type _bindgen_ty_48 = ::core::ffi::c_int;
6567#[repr(C)]
6568#[derive(Debug, Copy, Clone)]
6569pub struct CFMessagePortContext {
6570    pub version: CFIndex,
6571    pub info: *mut ::core::ffi::c_void,
6572    pub retain: ::core::option::Option<
6573        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
6574    >,
6575    pub release: ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>,
6576    pub copyDescription: ::core::option::Option<
6577        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef,
6578    >,
6579}
6580pub type CFMessagePortCallBack = ::core::option::Option<
6581    unsafe extern "C" fn(
6582        local: CFMessagePortRef,
6583        msgid: SInt32,
6584        data: CFDataRef,
6585        info: *mut ::core::ffi::c_void,
6586    ) -> CFDataRef,
6587>;
6588pub type CFMessagePortInvalidationCallBack = ::core::option::Option<
6589    unsafe extern "C" fn(ms: CFMessagePortRef, info: *mut ::core::ffi::c_void),
6590>;
6591extern "C" {
6592    pub fn CFMessagePortGetTypeID() -> CFTypeID;
6593}
6594extern "C" {
6595    pub fn CFMessagePortCreateLocal(
6596        allocator: CFAllocatorRef,
6597        name: CFStringRef,
6598        callout: CFMessagePortCallBack,
6599        context: *mut CFMessagePortContext,
6600        shouldFreeInfo: *mut Boolean,
6601    ) -> CFMessagePortRef;
6602}
6603extern "C" {
6604    pub fn CFMessagePortCreateRemote(
6605        allocator: CFAllocatorRef,
6606        name: CFStringRef,
6607    ) -> CFMessagePortRef;
6608}
6609extern "C" {
6610    pub fn CFMessagePortIsRemote(ms: CFMessagePortRef) -> Boolean;
6611}
6612extern "C" {
6613    pub fn CFMessagePortGetName(ms: CFMessagePortRef) -> CFStringRef;
6614}
6615extern "C" {
6616    pub fn CFMessagePortSetName(ms: CFMessagePortRef, newName: CFStringRef) -> Boolean;
6617}
6618extern "C" {
6619    pub fn CFMessagePortGetContext(ms: CFMessagePortRef, context: *mut CFMessagePortContext);
6620}
6621extern "C" {
6622    pub fn CFMessagePortInvalidate(ms: CFMessagePortRef);
6623}
6624extern "C" {
6625    pub fn CFMessagePortIsValid(ms: CFMessagePortRef) -> Boolean;
6626}
6627extern "C" {
6628    pub fn CFMessagePortGetInvalidationCallBack(
6629        ms: CFMessagePortRef,
6630    ) -> CFMessagePortInvalidationCallBack;
6631}
6632extern "C" {
6633    pub fn CFMessagePortSetInvalidationCallBack(
6634        ms: CFMessagePortRef,
6635        callout: CFMessagePortInvalidationCallBack,
6636    );
6637}
6638extern "C" {
6639    pub fn CFMessagePortSendRequest(
6640        remote: CFMessagePortRef,
6641        msgid: SInt32,
6642        data: CFDataRef,
6643        sendTimeout: CFTimeInterval,
6644        rcvTimeout: CFTimeInterval,
6645        replyMode: CFStringRef,
6646        returnData: *mut CFDataRef,
6647    ) -> SInt32;
6648}
6649extern "C" {
6650    pub fn CFMessagePortCreateRunLoopSource(
6651        allocator: CFAllocatorRef,
6652        local: CFMessagePortRef,
6653        order: CFIndex,
6654    ) -> CFRunLoopSourceRef;
6655}
6656extern "C" {
6657    pub fn CFMessagePortSetDispatchQueue(ms: CFMessagePortRef, queue: dispatch_queue_t);
6658}
6659extern "C" {
6660    pub static kCFPlugInDynamicRegistrationKey: CFStringRef;
6661}
6662extern "C" {
6663    pub static kCFPlugInDynamicRegisterFunctionKey: CFStringRef;
6664}
6665extern "C" {
6666    pub static kCFPlugInUnloadFunctionKey: CFStringRef;
6667}
6668extern "C" {
6669    pub static kCFPlugInFactoriesKey: CFStringRef;
6670}
6671extern "C" {
6672    pub static kCFPlugInTypesKey: CFStringRef;
6673}
6674pub type CFPlugInDynamicRegisterFunction =
6675    ::core::option::Option<unsafe extern "C" fn(plugIn: CFPlugInRef)>;
6676pub type CFPlugInUnloadFunction = ::core::option::Option<unsafe extern "C" fn(plugIn: CFPlugInRef)>;
6677pub type CFPlugInFactoryFunction = ::core::option::Option<
6678    unsafe extern "C" fn(
6679        allocator: CFAllocatorRef,
6680        typeUUID: CFUUIDRef,
6681    ) -> *mut ::core::ffi::c_void,
6682>;
6683extern "C" {
6684    pub fn CFPlugInGetTypeID() -> CFTypeID;
6685}
6686extern "C" {
6687    pub fn CFPlugInCreate(allocator: CFAllocatorRef, plugInURL: CFURLRef) -> CFPlugInRef;
6688}
6689extern "C" {
6690    pub fn CFPlugInGetBundle(plugIn: CFPlugInRef) -> CFBundleRef;
6691}
6692extern "C" {
6693    pub fn CFPlugInSetLoadOnDemand(plugIn: CFPlugInRef, flag: Boolean);
6694}
6695extern "C" {
6696    pub fn CFPlugInIsLoadOnDemand(plugIn: CFPlugInRef) -> Boolean;
6697}
6698extern "C" {
6699    pub fn CFPlugInFindFactoriesForPlugInType(typeUUID: CFUUIDRef) -> CFArrayRef;
6700}
6701extern "C" {
6702    pub fn CFPlugInFindFactoriesForPlugInTypeInPlugIn(
6703        typeUUID: CFUUIDRef,
6704        plugIn: CFPlugInRef,
6705    ) -> CFArrayRef;
6706}
6707extern "C" {
6708    pub fn CFPlugInInstanceCreate(
6709        allocator: CFAllocatorRef,
6710        factoryUUID: CFUUIDRef,
6711        typeUUID: CFUUIDRef,
6712    ) -> *mut ::core::ffi::c_void;
6713}
6714extern "C" {
6715    pub fn CFPlugInRegisterFactoryFunction(
6716        factoryUUID: CFUUIDRef,
6717        func: CFPlugInFactoryFunction,
6718    ) -> Boolean;
6719}
6720extern "C" {
6721    pub fn CFPlugInRegisterFactoryFunctionByName(
6722        factoryUUID: CFUUIDRef,
6723        plugIn: CFPlugInRef,
6724        functionName: CFStringRef,
6725    ) -> Boolean;
6726}
6727extern "C" {
6728    pub fn CFPlugInUnregisterFactory(factoryUUID: CFUUIDRef) -> Boolean;
6729}
6730extern "C" {
6731    pub fn CFPlugInRegisterPlugInType(factoryUUID: CFUUIDRef, typeUUID: CFUUIDRef) -> Boolean;
6732}
6733extern "C" {
6734    pub fn CFPlugInUnregisterPlugInType(factoryUUID: CFUUIDRef, typeUUID: CFUUIDRef) -> Boolean;
6735}
6736extern "C" {
6737    pub fn CFPlugInAddInstanceForFactory(factoryID: CFUUIDRef);
6738}
6739extern "C" {
6740    pub fn CFPlugInRemoveInstanceForFactory(factoryID: CFUUIDRef);
6741}
6742#[repr(C)]
6743#[derive(Debug, Copy, Clone)]
6744pub struct __CFPlugInInstance {
6745    _unused: [u8; 0],
6746}
6747pub type CFPlugInInstanceRef = *mut __CFPlugInInstance;
6748pub type CFPlugInInstanceGetInterfaceFunction = ::core::option::Option<
6749    unsafe extern "C" fn(
6750        instance: CFPlugInInstanceRef,
6751        interfaceName: CFStringRef,
6752        ftbl: *mut *mut ::core::ffi::c_void,
6753    ) -> Boolean,
6754>;
6755pub type CFPlugInInstanceDeallocateInstanceDataFunction =
6756    ::core::option::Option<unsafe extern "C" fn(instanceData: *mut ::core::ffi::c_void)>;
6757extern "C" {
6758    pub fn CFPlugInInstanceGetInterfaceFunctionTable(
6759        instance: CFPlugInInstanceRef,
6760        interfaceName: CFStringRef,
6761        ftbl: *mut *mut ::core::ffi::c_void,
6762    ) -> Boolean;
6763}
6764extern "C" {
6765    pub fn CFPlugInInstanceGetFactoryName(instance: CFPlugInInstanceRef) -> CFStringRef;
6766}
6767extern "C" {
6768    pub fn CFPlugInInstanceGetInstanceData(
6769        instance: CFPlugInInstanceRef,
6770    ) -> *mut ::core::ffi::c_void;
6771}
6772extern "C" {
6773    pub fn CFPlugInInstanceGetTypeID() -> CFTypeID;
6774}
6775extern "C" {
6776    pub fn CFPlugInInstanceCreateWithInstanceDataSize(
6777        allocator: CFAllocatorRef,
6778        instanceDataSize: CFIndex,
6779        deallocateInstanceFunction: CFPlugInInstanceDeallocateInstanceDataFunction,
6780        factoryName: CFStringRef,
6781        getInterfaceFunction: CFPlugInInstanceGetInterfaceFunction,
6782    ) -> CFPlugInInstanceRef;
6783}
6784#[repr(C)]
6785#[derive(Debug, Copy, Clone)]
6786pub struct __CFMachPort {
6787    _unused: [u8; 0],
6788}
6789pub type CFMachPortRef = *mut __CFMachPort;
6790#[repr(C)]
6791#[derive(Debug, Copy, Clone)]
6792pub struct CFMachPortContext {
6793    pub version: CFIndex,
6794    pub info: *mut ::core::ffi::c_void,
6795    pub retain: ::core::option::Option<
6796        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
6797    >,
6798    pub release: ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>,
6799    pub copyDescription: ::core::option::Option<
6800        unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef,
6801    >,
6802}
6803pub type CFMachPortCallBack = ::core::option::Option<
6804    unsafe extern "C" fn(
6805        port: CFMachPortRef,
6806        msg: *mut ::core::ffi::c_void,
6807        size: CFIndex,
6808        info: *mut ::core::ffi::c_void,
6809    ),
6810>;
6811pub type CFMachPortInvalidationCallBack = ::core::option::Option<
6812    unsafe extern "C" fn(port: CFMachPortRef, info: *mut ::core::ffi::c_void),
6813>;
6814extern "C" {
6815    pub fn CFMachPortGetTypeID() -> CFTypeID;
6816}
6817extern "C" {
6818    pub fn CFMachPortCreate(
6819        allocator: CFAllocatorRef,
6820        callout: CFMachPortCallBack,
6821        context: *mut CFMachPortContext,
6822        shouldFreeInfo: *mut Boolean,
6823    ) -> CFMachPortRef;
6824}
6825extern "C" {
6826    pub fn CFMachPortCreateWithPort(
6827        allocator: CFAllocatorRef,
6828        portNum: mach_port_t,
6829        callout: CFMachPortCallBack,
6830        context: *mut CFMachPortContext,
6831        shouldFreeInfo: *mut Boolean,
6832    ) -> CFMachPortRef;
6833}
6834extern "C" {
6835    pub fn CFMachPortGetPort(port: CFMachPortRef) -> mach_port_t;
6836}
6837extern "C" {
6838    pub fn CFMachPortGetContext(port: CFMachPortRef, context: *mut CFMachPortContext);
6839}
6840extern "C" {
6841    pub fn CFMachPortInvalidate(port: CFMachPortRef);
6842}
6843extern "C" {
6844    pub fn CFMachPortIsValid(port: CFMachPortRef) -> Boolean;
6845}
6846extern "C" {
6847    pub fn CFMachPortGetInvalidationCallBack(port: CFMachPortRef)
6848        -> CFMachPortInvalidationCallBack;
6849}
6850extern "C" {
6851    pub fn CFMachPortSetInvalidationCallBack(
6852        port: CFMachPortRef,
6853        callout: CFMachPortInvalidationCallBack,
6854    );
6855}
6856extern "C" {
6857    pub fn CFMachPortCreateRunLoopSource(
6858        allocator: CFAllocatorRef,
6859        port: CFMachPortRef,
6860        order: CFIndex,
6861    ) -> CFRunLoopSourceRef;
6862}
6863#[repr(C)]
6864#[derive(Debug, Copy, Clone)]
6865pub struct __CFAttributedString {
6866    _unused: [u8; 0],
6867}
6868pub type CFAttributedStringRef = *const __CFAttributedString;
6869pub type CFMutableAttributedStringRef = *mut __CFAttributedString;
6870extern "C" {
6871    pub fn CFAttributedStringGetTypeID() -> CFTypeID;
6872}
6873extern "C" {
6874    pub fn CFAttributedStringCreate(
6875        alloc: CFAllocatorRef,
6876        str_: CFStringRef,
6877        attributes: CFDictionaryRef,
6878    ) -> CFAttributedStringRef;
6879}
6880extern "C" {
6881    pub fn CFAttributedStringCreateWithSubstring(
6882        alloc: CFAllocatorRef,
6883        aStr: CFAttributedStringRef,
6884        range: CFRange,
6885    ) -> CFAttributedStringRef;
6886}
6887extern "C" {
6888    pub fn CFAttributedStringCreateCopy(
6889        alloc: CFAllocatorRef,
6890        aStr: CFAttributedStringRef,
6891    ) -> CFAttributedStringRef;
6892}
6893extern "C" {
6894    pub fn CFAttributedStringGetString(aStr: CFAttributedStringRef) -> CFStringRef;
6895}
6896extern "C" {
6897    pub fn CFAttributedStringGetLength(aStr: CFAttributedStringRef) -> CFIndex;
6898}
6899extern "C" {
6900    pub fn CFAttributedStringGetAttributes(
6901        aStr: CFAttributedStringRef,
6902        loc: CFIndex,
6903        effectiveRange: *mut CFRange,
6904    ) -> CFDictionaryRef;
6905}
6906extern "C" {
6907    pub fn CFAttributedStringGetAttribute(
6908        aStr: CFAttributedStringRef,
6909        loc: CFIndex,
6910        attrName: CFStringRef,
6911        effectiveRange: *mut CFRange,
6912    ) -> CFTypeRef;
6913}
6914extern "C" {
6915    pub fn CFAttributedStringGetAttributesAndLongestEffectiveRange(
6916        aStr: CFAttributedStringRef,
6917        loc: CFIndex,
6918        inRange: CFRange,
6919        longestEffectiveRange: *mut CFRange,
6920    ) -> CFDictionaryRef;
6921}
6922extern "C" {
6923    pub fn CFAttributedStringGetAttributeAndLongestEffectiveRange(
6924        aStr: CFAttributedStringRef,
6925        loc: CFIndex,
6926        attrName: CFStringRef,
6927        inRange: CFRange,
6928        longestEffectiveRange: *mut CFRange,
6929    ) -> CFTypeRef;
6930}
6931extern "C" {
6932    pub fn CFAttributedStringCreateMutableCopy(
6933        alloc: CFAllocatorRef,
6934        maxLength: CFIndex,
6935        aStr: CFAttributedStringRef,
6936    ) -> CFMutableAttributedStringRef;
6937}
6938extern "C" {
6939    pub fn CFAttributedStringCreateMutable(
6940        alloc: CFAllocatorRef,
6941        maxLength: CFIndex,
6942    ) -> CFMutableAttributedStringRef;
6943}
6944extern "C" {
6945    pub fn CFAttributedStringReplaceString(
6946        aStr: CFMutableAttributedStringRef,
6947        range: CFRange,
6948        replacement: CFStringRef,
6949    );
6950}
6951extern "C" {
6952    pub fn CFAttributedStringGetMutableString(
6953        aStr: CFMutableAttributedStringRef,
6954    ) -> CFMutableStringRef;
6955}
6956extern "C" {
6957    pub fn CFAttributedStringSetAttributes(
6958        aStr: CFMutableAttributedStringRef,
6959        range: CFRange,
6960        replacement: CFDictionaryRef,
6961        clearOtherAttributes: Boolean,
6962    );
6963}
6964extern "C" {
6965    pub fn CFAttributedStringSetAttribute(
6966        aStr: CFMutableAttributedStringRef,
6967        range: CFRange,
6968        attrName: CFStringRef,
6969        value: CFTypeRef,
6970    );
6971}
6972extern "C" {
6973    pub fn CFAttributedStringRemoveAttribute(
6974        aStr: CFMutableAttributedStringRef,
6975        range: CFRange,
6976        attrName: CFStringRef,
6977    );
6978}
6979extern "C" {
6980    pub fn CFAttributedStringReplaceAttributedString(
6981        aStr: CFMutableAttributedStringRef,
6982        range: CFRange,
6983        replacement: CFAttributedStringRef,
6984    );
6985}
6986extern "C" {
6987    pub fn CFAttributedStringBeginEditing(aStr: CFMutableAttributedStringRef);
6988}
6989extern "C" {
6990    pub fn CFAttributedStringEndEditing(aStr: CFMutableAttributedStringRef);
6991}
6992extern "C" {
6993    pub fn CFAttributedStringGetBidiLevelsAndResolvedDirections(
6994        attributedString: CFAttributedStringRef,
6995        range: CFRange,
6996        baseDirection: i8,
6997        bidiLevels: *mut u8,
6998        baseDirections: *mut u8,
6999    ) -> bool;
7000}
7001extern "C" {
7002    pub fn CFAttributedStringGetStatisticalWritingDirections(
7003        attributedString: CFAttributedStringRef,
7004        range: CFRange,
7005        baseDirection: i8,
7006        bidiLevels: *mut u8,
7007        baseDirections: *mut u8,
7008    ) -> bool;
7009}
7010#[repr(C)]
7011#[derive(Debug, Copy, Clone)]
7012pub struct __CFURLEnumerator {
7013    _unused: [u8; 0],
7014}
7015pub type CFURLEnumeratorRef = *const __CFURLEnumerator;
7016extern "C" {
7017    pub fn CFURLEnumeratorGetTypeID() -> CFTypeID;
7018}
7019pub type CFURLEnumeratorOptions = CFOptionFlags;
7020pub const kCFURLEnumeratorDefaultBehavior: _bindgen_ty_49 = 0;
7021pub const kCFURLEnumeratorDescendRecursively: _bindgen_ty_49 = 1;
7022pub const kCFURLEnumeratorSkipInvisibles: _bindgen_ty_49 = 2;
7023pub const kCFURLEnumeratorGenerateFileReferenceURLs: _bindgen_ty_49 = 4;
7024pub const kCFURLEnumeratorSkipPackageContents: _bindgen_ty_49 = 8;
7025pub const kCFURLEnumeratorIncludeDirectoriesPreOrder: _bindgen_ty_49 = 16;
7026pub const kCFURLEnumeratorIncludeDirectoriesPostOrder: _bindgen_ty_49 = 32;
7027pub const kCFURLEnumeratorGenerateRelativePathURLs: _bindgen_ty_49 = 64;
7028pub type _bindgen_ty_49 = ::core::ffi::c_uint;
7029extern "C" {
7030    pub fn CFURLEnumeratorCreateForDirectoryURL(
7031        alloc: CFAllocatorRef,
7032        directoryURL: CFURLRef,
7033        option: CFURLEnumeratorOptions,
7034        propertyKeys: CFArrayRef,
7035    ) -> CFURLEnumeratorRef;
7036}
7037extern "C" {
7038    pub fn CFURLEnumeratorCreateForMountedVolumes(
7039        alloc: CFAllocatorRef,
7040        option: CFURLEnumeratorOptions,
7041        propertyKeys: CFArrayRef,
7042    ) -> CFURLEnumeratorRef;
7043}
7044pub type CFURLEnumeratorResult = CFIndex;
7045pub const kCFURLEnumeratorSuccess: _bindgen_ty_50 = 1;
7046pub const kCFURLEnumeratorEnd: _bindgen_ty_50 = 2;
7047pub const kCFURLEnumeratorError: _bindgen_ty_50 = 3;
7048pub const kCFURLEnumeratorDirectoryPostOrderSuccess: _bindgen_ty_50 = 4;
7049pub type _bindgen_ty_50 = ::core::ffi::c_uint;
7050extern "C" {
7051    pub fn CFURLEnumeratorGetNextURL(
7052        enumerator: CFURLEnumeratorRef,
7053        url: *mut CFURLRef,
7054        error: *mut CFErrorRef,
7055    ) -> CFURLEnumeratorResult;
7056}
7057extern "C" {
7058    pub fn CFURLEnumeratorSkipDescendents(enumerator: CFURLEnumeratorRef);
7059}
7060extern "C" {
7061    pub fn CFURLEnumeratorGetDescendentLevel(enumerator: CFURLEnumeratorRef) -> CFIndex;
7062}
7063extern "C" {
7064    pub fn CFURLEnumeratorGetSourceDidChange(enumerator: CFURLEnumeratorRef) -> Boolean;
7065}
7066#[repr(C)]
7067#[derive(Debug, Copy, Clone)]
7068pub struct _acl {
7069    _unused: [u8; 0],
7070}
7071pub type acl_t = *mut _acl;
7072#[repr(C)]
7073#[derive(Debug, Copy, Clone)]
7074pub struct __CFFileSecurity {
7075    _unused: [u8; 0],
7076}
7077pub type CFFileSecurityRef = *mut __CFFileSecurity;
7078extern "C" {
7079    pub fn CFFileSecurityGetTypeID() -> CFTypeID;
7080}
7081extern "C" {
7082    pub fn CFFileSecurityCreate(allocator: CFAllocatorRef) -> CFFileSecurityRef;
7083}
7084extern "C" {
7085    pub fn CFFileSecurityCreateCopy(
7086        allocator: CFAllocatorRef,
7087        fileSec: CFFileSecurityRef,
7088    ) -> CFFileSecurityRef;
7089}
7090extern "C" {
7091    pub fn CFFileSecurityCopyOwnerUUID(
7092        fileSec: CFFileSecurityRef,
7093        ownerUUID: *mut CFUUIDRef,
7094    ) -> Boolean;
7095}
7096extern "C" {
7097    pub fn CFFileSecuritySetOwnerUUID(fileSec: CFFileSecurityRef, ownerUUID: CFUUIDRef) -> Boolean;
7098}
7099extern "C" {
7100    pub fn CFFileSecurityCopyGroupUUID(
7101        fileSec: CFFileSecurityRef,
7102        groupUUID: *mut CFUUIDRef,
7103    ) -> Boolean;
7104}
7105extern "C" {
7106    pub fn CFFileSecuritySetGroupUUID(fileSec: CFFileSecurityRef, groupUUID: CFUUIDRef) -> Boolean;
7107}
7108extern "C" {
7109    pub fn CFFileSecurityCopyAccessControlList(
7110        fileSec: CFFileSecurityRef,
7111        accessControlList: *mut acl_t,
7112    ) -> Boolean;
7113}
7114extern "C" {
7115    pub fn CFFileSecuritySetAccessControlList(
7116        fileSec: CFFileSecurityRef,
7117        accessControlList: acl_t,
7118    ) -> Boolean;
7119}
7120extern "C" {
7121    pub fn CFFileSecurityGetOwner(fileSec: CFFileSecurityRef, owner: *mut uid_t) -> Boolean;
7122}
7123extern "C" {
7124    pub fn CFFileSecuritySetOwner(fileSec: CFFileSecurityRef, owner: uid_t) -> Boolean;
7125}
7126extern "C" {
7127    pub fn CFFileSecurityGetGroup(fileSec: CFFileSecurityRef, group: *mut gid_t) -> Boolean;
7128}
7129extern "C" {
7130    pub fn CFFileSecuritySetGroup(fileSec: CFFileSecurityRef, group: gid_t) -> Boolean;
7131}
7132extern "C" {
7133    pub fn CFFileSecurityGetMode(fileSec: CFFileSecurityRef, mode: *mut mode_t) -> Boolean;
7134}
7135extern "C" {
7136    pub fn CFFileSecuritySetMode(fileSec: CFFileSecurityRef, mode: mode_t) -> Boolean;
7137}
7138pub type CFFileSecurityClearOptions = CFOptionFlags;
7139pub const kCFFileSecurityClearOwner: _bindgen_ty_51 = 1;
7140pub const kCFFileSecurityClearGroup: _bindgen_ty_51 = 2;
7141pub const kCFFileSecurityClearMode: _bindgen_ty_51 = 4;
7142pub const kCFFileSecurityClearOwnerUUID: _bindgen_ty_51 = 8;
7143pub const kCFFileSecurityClearGroupUUID: _bindgen_ty_51 = 16;
7144pub const kCFFileSecurityClearAccessControlList: _bindgen_ty_51 = 32;
7145pub type _bindgen_ty_51 = ::core::ffi::c_uint;
7146extern "C" {
7147    pub fn CFFileSecurityClearProperties(
7148        fileSec: CFFileSecurityRef,
7149        clearPropertyMask: CFFileSecurityClearOptions,
7150    ) -> Boolean;
7151}
7152extern "C" {
7153    pub fn CFStringTokenizerCopyBestStringLanguage(
7154        string: CFStringRef,
7155        range: CFRange,
7156    ) -> CFStringRef;
7157}
7158#[repr(C)]
7159#[derive(Debug, Copy, Clone)]
7160pub struct __CFStringTokenizer {
7161    _unused: [u8; 0],
7162}
7163pub type CFStringTokenizerRef = *mut __CFStringTokenizer;
7164pub const kCFStringTokenizerUnitWord: _bindgen_ty_52 = 0;
7165pub const kCFStringTokenizerUnitSentence: _bindgen_ty_52 = 1;
7166pub const kCFStringTokenizerUnitParagraph: _bindgen_ty_52 = 2;
7167pub const kCFStringTokenizerUnitLineBreak: _bindgen_ty_52 = 3;
7168pub const kCFStringTokenizerUnitWordBoundary: _bindgen_ty_52 = 4;
7169pub const kCFStringTokenizerAttributeLatinTranscription: _bindgen_ty_52 = 65536;
7170pub const kCFStringTokenizerAttributeLanguage: _bindgen_ty_52 = 131072;
7171pub type _bindgen_ty_52 = ::core::ffi::c_uint;
7172pub type CFStringTokenizerTokenType = CFOptionFlags;
7173pub const kCFStringTokenizerTokenNone: _bindgen_ty_53 = 0;
7174pub const kCFStringTokenizerTokenNormal: _bindgen_ty_53 = 1;
7175pub const kCFStringTokenizerTokenHasSubTokensMask: _bindgen_ty_53 = 2;
7176pub const kCFStringTokenizerTokenHasDerivedSubTokensMask: _bindgen_ty_53 = 4;
7177pub const kCFStringTokenizerTokenHasHasNumbersMask: _bindgen_ty_53 = 8;
7178pub const kCFStringTokenizerTokenHasNonLettersMask: _bindgen_ty_53 = 16;
7179pub const kCFStringTokenizerTokenIsCJWordMask: _bindgen_ty_53 = 32;
7180pub type _bindgen_ty_53 = ::core::ffi::c_uint;
7181extern "C" {
7182    pub fn CFStringTokenizerGetTypeID() -> CFTypeID;
7183}
7184extern "C" {
7185    pub fn CFStringTokenizerCreate(
7186        alloc: CFAllocatorRef,
7187        string: CFStringRef,
7188        range: CFRange,
7189        options: CFOptionFlags,
7190        locale: CFLocaleRef,
7191    ) -> CFStringTokenizerRef;
7192}
7193extern "C" {
7194    pub fn CFStringTokenizerSetString(
7195        tokenizer: CFStringTokenizerRef,
7196        string: CFStringRef,
7197        range: CFRange,
7198    );
7199}
7200extern "C" {
7201    pub fn CFStringTokenizerGoToTokenAtIndex(
7202        tokenizer: CFStringTokenizerRef,
7203        index: CFIndex,
7204    ) -> CFStringTokenizerTokenType;
7205}
7206extern "C" {
7207    pub fn CFStringTokenizerAdvanceToNextToken(
7208        tokenizer: CFStringTokenizerRef,
7209    ) -> CFStringTokenizerTokenType;
7210}
7211extern "C" {
7212    pub fn CFStringTokenizerGetCurrentTokenRange(tokenizer: CFStringTokenizerRef) -> CFRange;
7213}
7214extern "C" {
7215    pub fn CFStringTokenizerCopyCurrentTokenAttribute(
7216        tokenizer: CFStringTokenizerRef,
7217        attribute: CFOptionFlags,
7218    ) -> CFTypeRef;
7219}
7220extern "C" {
7221    pub fn CFStringTokenizerGetCurrentSubTokens(
7222        tokenizer: CFStringTokenizerRef,
7223        ranges: *mut CFRange,
7224        maxRangeLength: CFIndex,
7225        derivedSubTokens: CFMutableArrayRef,
7226    ) -> CFIndex;
7227}
7228pub type CFFileDescriptorNativeDescriptor = ::core::ffi::c_int;
7229#[repr(C)]
7230#[derive(Debug, Copy, Clone)]
7231pub struct __CFFileDescriptor {
7232    _unused: [u8; 0],
7233}
7234pub type CFFileDescriptorRef = *mut __CFFileDescriptor;
7235pub const kCFFileDescriptorReadCallBack: _bindgen_ty_54 = 1;
7236pub const kCFFileDescriptorWriteCallBack: _bindgen_ty_54 = 2;
7237pub type _bindgen_ty_54 = ::core::ffi::c_uint;
7238pub type CFFileDescriptorCallBack = ::core::option::Option<
7239    unsafe extern "C" fn(
7240        f: CFFileDescriptorRef,
7241        callBackTypes: CFOptionFlags,
7242        info: *mut ::core::ffi::c_void,
7243    ),
7244>;
7245#[repr(C)]
7246#[derive(Debug, Copy, Clone)]
7247pub struct CFFileDescriptorContext {
7248    pub version: CFIndex,
7249    pub info: *mut ::core::ffi::c_void,
7250    pub retain: ::core::option::Option<
7251        unsafe extern "C" fn(info: *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
7252    >,
7253    pub release: ::core::option::Option<unsafe extern "C" fn(info: *mut ::core::ffi::c_void)>,
7254    pub copyDescription:
7255        ::core::option::Option<unsafe extern "C" fn(info: *mut ::core::ffi::c_void) -> CFStringRef>,
7256}
7257extern "C" {
7258    pub fn CFFileDescriptorGetTypeID() -> CFTypeID;
7259}
7260extern "C" {
7261    pub fn CFFileDescriptorCreate(
7262        allocator: CFAllocatorRef,
7263        fd: CFFileDescriptorNativeDescriptor,
7264        closeOnInvalidate: Boolean,
7265        callout: CFFileDescriptorCallBack,
7266        context: *const CFFileDescriptorContext,
7267    ) -> CFFileDescriptorRef;
7268}
7269extern "C" {
7270    pub fn CFFileDescriptorGetNativeDescriptor(
7271        f: CFFileDescriptorRef,
7272    ) -> CFFileDescriptorNativeDescriptor;
7273}
7274extern "C" {
7275    pub fn CFFileDescriptorGetContext(
7276        f: CFFileDescriptorRef,
7277        context: *mut CFFileDescriptorContext,
7278    );
7279}
7280extern "C" {
7281    pub fn CFFileDescriptorEnableCallBacks(f: CFFileDescriptorRef, callBackTypes: CFOptionFlags);
7282}
7283extern "C" {
7284    pub fn CFFileDescriptorDisableCallBacks(f: CFFileDescriptorRef, callBackTypes: CFOptionFlags);
7285}
7286extern "C" {
7287    pub fn CFFileDescriptorInvalidate(f: CFFileDescriptorRef);
7288}
7289extern "C" {
7290    pub fn CFFileDescriptorIsValid(f: CFFileDescriptorRef) -> Boolean;
7291}
7292extern "C" {
7293    pub fn CFFileDescriptorCreateRunLoopSource(
7294        allocator: CFAllocatorRef,
7295        f: CFFileDescriptorRef,
7296        order: CFIndex,
7297    ) -> CFRunLoopSourceRef;
7298}
7299#[repr(C)]
7300#[derive(Debug, Copy, Clone)]
7301pub struct __CFUserNotification {
7302    _unused: [u8; 0],
7303}
7304pub type CFUserNotificationRef = *mut __CFUserNotification;
7305pub type CFUserNotificationCallBack = ::core::option::Option<
7306    unsafe extern "C" fn(userNotification: CFUserNotificationRef, responseFlags: CFOptionFlags),
7307>;
7308extern "C" {
7309    pub fn CFUserNotificationGetTypeID() -> CFTypeID;
7310}
7311extern "C" {
7312    pub fn CFUserNotificationCreate(
7313        allocator: CFAllocatorRef,
7314        timeout: CFTimeInterval,
7315        flags: CFOptionFlags,
7316        error: *mut SInt32,
7317        dictionary: CFDictionaryRef,
7318    ) -> CFUserNotificationRef;
7319}
7320extern "C" {
7321    pub fn CFUserNotificationReceiveResponse(
7322        userNotification: CFUserNotificationRef,
7323        timeout: CFTimeInterval,
7324        responseFlags: *mut CFOptionFlags,
7325    ) -> SInt32;
7326}
7327extern "C" {
7328    pub fn CFUserNotificationGetResponseValue(
7329        userNotification: CFUserNotificationRef,
7330        key: CFStringRef,
7331        idx: CFIndex,
7332    ) -> CFStringRef;
7333}
7334extern "C" {
7335    pub fn CFUserNotificationGetResponseDictionary(
7336        userNotification: CFUserNotificationRef,
7337    ) -> CFDictionaryRef;
7338}
7339extern "C" {
7340    pub fn CFUserNotificationUpdate(
7341        userNotification: CFUserNotificationRef,
7342        timeout: CFTimeInterval,
7343        flags: CFOptionFlags,
7344        dictionary: CFDictionaryRef,
7345    ) -> SInt32;
7346}
7347extern "C" {
7348    pub fn CFUserNotificationCancel(userNotification: CFUserNotificationRef) -> SInt32;
7349}
7350extern "C" {
7351    pub fn CFUserNotificationCreateRunLoopSource(
7352        allocator: CFAllocatorRef,
7353        userNotification: CFUserNotificationRef,
7354        callout: CFUserNotificationCallBack,
7355        order: CFIndex,
7356    ) -> CFRunLoopSourceRef;
7357}
7358extern "C" {
7359    pub fn CFUserNotificationDisplayNotice(
7360        timeout: CFTimeInterval,
7361        flags: CFOptionFlags,
7362        iconURL: CFURLRef,
7363        soundURL: CFURLRef,
7364        localizationURL: CFURLRef,
7365        alertHeader: CFStringRef,
7366        alertMessage: CFStringRef,
7367        defaultButtonTitle: CFStringRef,
7368    ) -> SInt32;
7369}
7370extern "C" {
7371    pub fn CFUserNotificationDisplayAlert(
7372        timeout: CFTimeInterval,
7373        flags: CFOptionFlags,
7374        iconURL: CFURLRef,
7375        soundURL: CFURLRef,
7376        localizationURL: CFURLRef,
7377        alertHeader: CFStringRef,
7378        alertMessage: CFStringRef,
7379        defaultButtonTitle: CFStringRef,
7380        alternateButtonTitle: CFStringRef,
7381        otherButtonTitle: CFStringRef,
7382        responseFlags: *mut CFOptionFlags,
7383    ) -> SInt32;
7384}
7385pub const kCFUserNotificationStopAlertLevel: _bindgen_ty_55 = 0;
7386pub const kCFUserNotificationNoteAlertLevel: _bindgen_ty_55 = 1;
7387pub const kCFUserNotificationCautionAlertLevel: _bindgen_ty_55 = 2;
7388pub const kCFUserNotificationPlainAlertLevel: _bindgen_ty_55 = 3;
7389pub type _bindgen_ty_55 = ::core::ffi::c_uint;
7390pub const kCFUserNotificationDefaultResponse: _bindgen_ty_56 = 0;
7391pub const kCFUserNotificationAlternateResponse: _bindgen_ty_56 = 1;
7392pub const kCFUserNotificationOtherResponse: _bindgen_ty_56 = 2;
7393pub const kCFUserNotificationCancelResponse: _bindgen_ty_56 = 3;
7394pub type _bindgen_ty_56 = ::core::ffi::c_uint;
7395pub const kCFUserNotificationNoDefaultButtonFlag: _bindgen_ty_57 = 32;
7396pub const kCFUserNotificationUseRadioButtonsFlag: _bindgen_ty_57 = 64;
7397pub type _bindgen_ty_57 = ::core::ffi::c_uint;
7398extern "C" {
7399    pub static kCFUserNotificationIconURLKey: CFStringRef;
7400}
7401extern "C" {
7402    pub static kCFUserNotificationSoundURLKey: CFStringRef;
7403}
7404extern "C" {
7405    pub static kCFUserNotificationLocalizationURLKey: CFStringRef;
7406}
7407extern "C" {
7408    pub static kCFUserNotificationAlertHeaderKey: CFStringRef;
7409}
7410extern "C" {
7411    pub static kCFUserNotificationAlertMessageKey: CFStringRef;
7412}
7413extern "C" {
7414    pub static kCFUserNotificationDefaultButtonTitleKey: CFStringRef;
7415}
7416extern "C" {
7417    pub static kCFUserNotificationAlternateButtonTitleKey: CFStringRef;
7418}
7419extern "C" {
7420    pub static kCFUserNotificationOtherButtonTitleKey: CFStringRef;
7421}
7422extern "C" {
7423    pub static kCFUserNotificationProgressIndicatorValueKey: CFStringRef;
7424}
7425extern "C" {
7426    pub static kCFUserNotificationPopUpTitlesKey: CFStringRef;
7427}
7428extern "C" {
7429    pub static kCFUserNotificationTextFieldTitlesKey: CFStringRef;
7430}
7431extern "C" {
7432    pub static kCFUserNotificationCheckBoxTitlesKey: CFStringRef;
7433}
7434extern "C" {
7435    pub static kCFUserNotificationTextFieldValuesKey: CFStringRef;
7436}
7437extern "C" {
7438    pub static kCFUserNotificationPopUpSelectionKey: CFStringRef;
7439}
7440extern "C" {
7441    pub static kCFUserNotificationAlertTopMostKey: CFStringRef;
7442}
7443extern "C" {
7444    pub static kCFUserNotificationKeyboardTypesKey: CFStringRef;
7445}
7446extern "C" {
7447    pub static kCFUserNotificationAlertAccessibilityIdentifierKey: CFStringRef;
7448}
7449extern "C" {
7450    pub static kCFUserNotificationDefaultButtonAccessibilityIdentifierKey: CFStringRef;
7451}
7452extern "C" {
7453    pub static kCFUserNotificationAlternateButtonAccessibilityIdentifierKey: CFStringRef;
7454}
7455extern "C" {
7456    pub static kCFUserNotificationOtherButtonAccessibilityIdentifierKey: CFStringRef;
7457}
7458pub const kCFXMLNodeCurrentVersion: _bindgen_ty_58 = 1;
7459pub type _bindgen_ty_58 = ::core::ffi::c_uint;
7460#[repr(C)]
7461#[derive(Debug, Copy, Clone)]
7462pub struct __CFXMLNode {
7463    _unused: [u8; 0],
7464}
7465pub type CFXMLNodeRef = *const __CFXMLNode;
7466pub type CFXMLTreeRef = CFTreeRef;
7467pub type CFXMLNodeTypeCode = CFIndex;
7468pub const kCFXMLNodeTypeDocument: _bindgen_ty_59 = 1;
7469pub const kCFXMLNodeTypeElement: _bindgen_ty_59 = 2;
7470pub const kCFXMLNodeTypeAttribute: _bindgen_ty_59 = 3;
7471pub const kCFXMLNodeTypeProcessingInstruction: _bindgen_ty_59 = 4;
7472pub const kCFXMLNodeTypeComment: _bindgen_ty_59 = 5;
7473pub const kCFXMLNodeTypeText: _bindgen_ty_59 = 6;
7474pub const kCFXMLNodeTypeCDATASection: _bindgen_ty_59 = 7;
7475pub const kCFXMLNodeTypeDocumentFragment: _bindgen_ty_59 = 8;
7476pub const kCFXMLNodeTypeEntity: _bindgen_ty_59 = 9;
7477pub const kCFXMLNodeTypeEntityReference: _bindgen_ty_59 = 10;
7478pub const kCFXMLNodeTypeDocumentType: _bindgen_ty_59 = 11;
7479pub const kCFXMLNodeTypeWhitespace: _bindgen_ty_59 = 12;
7480pub const kCFXMLNodeTypeNotation: _bindgen_ty_59 = 13;
7481pub const kCFXMLNodeTypeElementTypeDeclaration: _bindgen_ty_59 = 14;
7482pub const kCFXMLNodeTypeAttributeListDeclaration: _bindgen_ty_59 = 15;
7483pub type _bindgen_ty_59 = ::core::ffi::c_uint;
7484#[repr(C)]
7485#[derive(Debug, Copy, Clone)]
7486pub struct CFXMLElementInfo {
7487    pub attributes: CFDictionaryRef,
7488    pub attributeOrder: CFArrayRef,
7489    pub isEmpty: Boolean,
7490    pub _reserved: [::core::ffi::c_char; 3usize],
7491}
7492#[repr(C)]
7493#[derive(Debug, Copy, Clone)]
7494pub struct CFXMLProcessingInstructionInfo {
7495    pub dataString: CFStringRef,
7496}
7497#[repr(C)]
7498#[derive(Debug, Copy, Clone)]
7499pub struct CFXMLDocumentInfo {
7500    pub sourceURL: CFURLRef,
7501    pub encoding: CFStringEncoding,
7502}
7503#[repr(C)]
7504#[derive(Debug, Copy, Clone)]
7505pub struct CFXMLExternalID {
7506    pub systemID: CFURLRef,
7507    pub publicID: CFStringRef,
7508}
7509#[repr(C)]
7510#[derive(Debug, Copy, Clone)]
7511pub struct CFXMLDocumentTypeInfo {
7512    pub externalID: CFXMLExternalID,
7513}
7514#[repr(C)]
7515#[derive(Debug, Copy, Clone)]
7516pub struct CFXMLNotationInfo {
7517    pub externalID: CFXMLExternalID,
7518}
7519#[repr(C)]
7520#[derive(Debug, Copy, Clone)]
7521pub struct CFXMLElementTypeDeclarationInfo {
7522    pub contentDescription: CFStringRef,
7523}
7524#[repr(C)]
7525#[derive(Debug, Copy, Clone)]
7526pub struct CFXMLAttributeDeclarationInfo {
7527    pub attributeName: CFStringRef,
7528    pub typeString: CFStringRef,
7529    pub defaultString: CFStringRef,
7530}
7531#[repr(C)]
7532#[derive(Debug, Copy, Clone)]
7533pub struct CFXMLAttributeListDeclarationInfo {
7534    pub numberOfAttributes: CFIndex,
7535    pub attributes: *mut CFXMLAttributeDeclarationInfo,
7536}
7537pub type CFXMLEntityTypeCode = CFIndex;
7538pub const kCFXMLEntityTypeParameter: _bindgen_ty_60 = 0;
7539pub const kCFXMLEntityTypeParsedInternal: _bindgen_ty_60 = 1;
7540pub const kCFXMLEntityTypeParsedExternal: _bindgen_ty_60 = 2;
7541pub const kCFXMLEntityTypeUnparsed: _bindgen_ty_60 = 3;
7542pub const kCFXMLEntityTypeCharacter: _bindgen_ty_60 = 4;
7543pub type _bindgen_ty_60 = ::core::ffi::c_uint;
7544#[repr(C)]
7545#[derive(Debug, Copy, Clone)]
7546pub struct CFXMLEntityInfo {
7547    pub entityType: CFXMLEntityTypeCode,
7548    pub replacementText: CFStringRef,
7549    pub entityID: CFXMLExternalID,
7550    pub notationName: CFStringRef,
7551}
7552#[repr(C)]
7553#[derive(Debug, Copy, Clone)]
7554pub struct CFXMLEntityReferenceInfo {
7555    pub entityType: CFXMLEntityTypeCode,
7556}
7557extern "C" {
7558    pub fn CFXMLNodeGetTypeID() -> CFTypeID;
7559}
7560extern "C" {
7561    pub fn CFXMLNodeCreate(
7562        alloc: CFAllocatorRef,
7563        xmlType: CFXMLNodeTypeCode,
7564        dataString: CFStringRef,
7565        additionalInfoPtr: *const ::core::ffi::c_void,
7566        version: CFIndex,
7567    ) -> CFXMLNodeRef;
7568}
7569extern "C" {
7570    pub fn CFXMLNodeCreateCopy(alloc: CFAllocatorRef, origNode: CFXMLNodeRef) -> CFXMLNodeRef;
7571}
7572extern "C" {
7573    pub fn CFXMLNodeGetTypeCode(node: CFXMLNodeRef) -> CFXMLNodeTypeCode;
7574}
7575extern "C" {
7576    pub fn CFXMLNodeGetString(node: CFXMLNodeRef) -> CFStringRef;
7577}
7578extern "C" {
7579    pub fn CFXMLNodeGetInfoPtr(node: CFXMLNodeRef) -> *const ::core::ffi::c_void;
7580}
7581extern "C" {
7582    pub fn CFXMLNodeGetVersion(node: CFXMLNodeRef) -> CFIndex;
7583}
7584extern "C" {
7585    pub fn CFXMLTreeCreateWithNode(allocator: CFAllocatorRef, node: CFXMLNodeRef) -> CFXMLTreeRef;
7586}
7587extern "C" {
7588    pub fn CFXMLTreeGetNode(xmlTree: CFXMLTreeRef) -> CFXMLNodeRef;
7589}
7590#[repr(C)]
7591#[derive(Debug, Copy, Clone)]
7592pub struct __CFXMLParser {
7593    _unused: [u8; 0],
7594}
7595pub type CFXMLParserRef = *mut __CFXMLParser;
7596pub type CFXMLParserOptions = CFOptionFlags;
7597pub const kCFXMLParserValidateDocument: _bindgen_ty_61 = 1;
7598pub const kCFXMLParserSkipMetaData: _bindgen_ty_61 = 2;
7599pub const kCFXMLParserReplacePhysicalEntities: _bindgen_ty_61 = 4;
7600pub const kCFXMLParserSkipWhitespace: _bindgen_ty_61 = 8;
7601pub const kCFXMLParserResolveExternalEntities: _bindgen_ty_61 = 16;
7602pub const kCFXMLParserAddImpliedAttributes: _bindgen_ty_61 = 32;
7603pub const kCFXMLParserAllOptions: _bindgen_ty_61 = 16777215;
7604pub const kCFXMLParserNoOptions: _bindgen_ty_61 = 0;
7605pub type _bindgen_ty_61 = ::core::ffi::c_uint;
7606pub type CFXMLParserStatusCode = CFIndex;
7607pub const kCFXMLStatusParseNotBegun: _bindgen_ty_62 = -2;
7608pub const kCFXMLStatusParseInProgress: _bindgen_ty_62 = -1;
7609pub const kCFXMLStatusParseSuccessful: _bindgen_ty_62 = 0;
7610pub const kCFXMLErrorUnexpectedEOF: _bindgen_ty_62 = 1;
7611pub const kCFXMLErrorUnknownEncoding: _bindgen_ty_62 = 2;
7612pub const kCFXMLErrorEncodingConversionFailure: _bindgen_ty_62 = 3;
7613pub const kCFXMLErrorMalformedProcessingInstruction: _bindgen_ty_62 = 4;
7614pub const kCFXMLErrorMalformedDTD: _bindgen_ty_62 = 5;
7615pub const kCFXMLErrorMalformedName: _bindgen_ty_62 = 6;
7616pub const kCFXMLErrorMalformedCDSect: _bindgen_ty_62 = 7;
7617pub const kCFXMLErrorMalformedCloseTag: _bindgen_ty_62 = 8;
7618pub const kCFXMLErrorMalformedStartTag: _bindgen_ty_62 = 9;
7619pub const kCFXMLErrorMalformedDocument: _bindgen_ty_62 = 10;
7620pub const kCFXMLErrorElementlessDocument: _bindgen_ty_62 = 11;
7621pub const kCFXMLErrorMalformedComment: _bindgen_ty_62 = 12;
7622pub const kCFXMLErrorMalformedCharacterReference: _bindgen_ty_62 = 13;
7623pub const kCFXMLErrorMalformedParsedCharacterData: _bindgen_ty_62 = 14;
7624pub const kCFXMLErrorNoData: _bindgen_ty_62 = 15;
7625pub type _bindgen_ty_62 = ::core::ffi::c_int;
7626pub type CFXMLParserCreateXMLStructureCallBack = ::core::option::Option<
7627    unsafe extern "C" fn(
7628        parser: CFXMLParserRef,
7629        nodeDesc: CFXMLNodeRef,
7630        info: *mut ::core::ffi::c_void,
7631    ) -> *mut ::core::ffi::c_void,
7632>;
7633pub type CFXMLParserAddChildCallBack = ::core::option::Option<
7634    unsafe extern "C" fn(
7635        parser: CFXMLParserRef,
7636        parent: *mut ::core::ffi::c_void,
7637        child: *mut ::core::ffi::c_void,
7638        info: *mut ::core::ffi::c_void,
7639    ),
7640>;
7641pub type CFXMLParserEndXMLStructureCallBack = ::core::option::Option<
7642    unsafe extern "C" fn(
7643        parser: CFXMLParserRef,
7644        xmlType: *mut ::core::ffi::c_void,
7645        info: *mut ::core::ffi::c_void,
7646    ),
7647>;
7648pub type CFXMLParserResolveExternalEntityCallBack = ::core::option::Option<
7649    unsafe extern "C" fn(
7650        parser: CFXMLParserRef,
7651        extID: *mut CFXMLExternalID,
7652        info: *mut ::core::ffi::c_void,
7653    ) -> CFDataRef,
7654>;
7655pub type CFXMLParserHandleErrorCallBack = ::core::option::Option<
7656    unsafe extern "C" fn(
7657        parser: CFXMLParserRef,
7658        error: CFXMLParserStatusCode,
7659        info: *mut ::core::ffi::c_void,
7660    ) -> Boolean,
7661>;
7662#[repr(C)]
7663#[derive(Debug, Copy, Clone)]
7664pub struct CFXMLParserCallBacks {
7665    pub version: CFIndex,
7666    pub createXMLStructure: CFXMLParserCreateXMLStructureCallBack,
7667    pub addChild: CFXMLParserAddChildCallBack,
7668    pub endXMLStructure: CFXMLParserEndXMLStructureCallBack,
7669    pub resolveExternalEntity: CFXMLParserResolveExternalEntityCallBack,
7670    pub handleError: CFXMLParserHandleErrorCallBack,
7671}
7672pub type CFXMLParserRetainCallBack = ::core::option::Option<
7673    unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void,
7674>;
7675pub type CFXMLParserReleaseCallBack =
7676    ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void)>;
7677pub type CFXMLParserCopyDescriptionCallBack =
7678    ::core::option::Option<unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> CFStringRef>;
7679#[repr(C)]
7680#[derive(Debug, Copy, Clone)]
7681pub struct CFXMLParserContext {
7682    pub version: CFIndex,
7683    pub info: *mut ::core::ffi::c_void,
7684    pub retain: CFXMLParserRetainCallBack,
7685    pub release: CFXMLParserReleaseCallBack,
7686    pub copyDescription: CFXMLParserCopyDescriptionCallBack,
7687}
7688extern "C" {
7689    pub fn CFXMLParserGetTypeID() -> CFTypeID;
7690}
7691extern "C" {
7692    pub fn CFXMLParserCreate(
7693        allocator: CFAllocatorRef,
7694        xmlData: CFDataRef,
7695        dataSource: CFURLRef,
7696        parseOptions: CFOptionFlags,
7697        versionOfNodes: CFIndex,
7698        callBacks: *mut CFXMLParserCallBacks,
7699        context: *mut CFXMLParserContext,
7700    ) -> CFXMLParserRef;
7701}
7702extern "C" {
7703    pub fn CFXMLParserCreateWithDataFromURL(
7704        allocator: CFAllocatorRef,
7705        dataSource: CFURLRef,
7706        parseOptions: CFOptionFlags,
7707        versionOfNodes: CFIndex,
7708        callBacks: *mut CFXMLParserCallBacks,
7709        context: *mut CFXMLParserContext,
7710    ) -> CFXMLParserRef;
7711}
7712extern "C" {
7713    pub fn CFXMLParserGetContext(parser: CFXMLParserRef, context: *mut CFXMLParserContext);
7714}
7715extern "C" {
7716    pub fn CFXMLParserGetCallBacks(parser: CFXMLParserRef, callBacks: *mut CFXMLParserCallBacks);
7717}
7718extern "C" {
7719    pub fn CFXMLParserGetSourceURL(parser: CFXMLParserRef) -> CFURLRef;
7720}
7721extern "C" {
7722    pub fn CFXMLParserGetLocation(parser: CFXMLParserRef) -> CFIndex;
7723}
7724extern "C" {
7725    pub fn CFXMLParserGetLineNumber(parser: CFXMLParserRef) -> CFIndex;
7726}
7727extern "C" {
7728    pub fn CFXMLParserGetDocument(parser: CFXMLParserRef) -> *mut ::core::ffi::c_void;
7729}
7730extern "C" {
7731    pub fn CFXMLParserGetStatusCode(parser: CFXMLParserRef) -> CFXMLParserStatusCode;
7732}
7733extern "C" {
7734    pub fn CFXMLParserCopyErrorDescription(parser: CFXMLParserRef) -> CFStringRef;
7735}
7736extern "C" {
7737    pub fn CFXMLParserAbort(
7738        parser: CFXMLParserRef,
7739        errorCode: CFXMLParserStatusCode,
7740        errorDescription: CFStringRef,
7741    );
7742}
7743extern "C" {
7744    pub fn CFXMLParserParse(parser: CFXMLParserRef) -> Boolean;
7745}
7746extern "C" {
7747    pub fn CFXMLTreeCreateFromData(
7748        allocator: CFAllocatorRef,
7749        xmlData: CFDataRef,
7750        dataSource: CFURLRef,
7751        parseOptions: CFOptionFlags,
7752        versionOfNodes: CFIndex,
7753    ) -> CFXMLTreeRef;
7754}
7755extern "C" {
7756    pub fn CFXMLTreeCreateFromDataWithError(
7757        allocator: CFAllocatorRef,
7758        xmlData: CFDataRef,
7759        dataSource: CFURLRef,
7760        parseOptions: CFOptionFlags,
7761        versionOfNodes: CFIndex,
7762        errorDict: *mut CFDictionaryRef,
7763    ) -> CFXMLTreeRef;
7764}
7765extern "C" {
7766    pub fn CFXMLTreeCreateWithDataFromURL(
7767        allocator: CFAllocatorRef,
7768        dataSource: CFURLRef,
7769        parseOptions: CFOptionFlags,
7770        versionOfNodes: CFIndex,
7771    ) -> CFXMLTreeRef;
7772}
7773extern "C" {
7774    pub fn CFXMLTreeCreateXMLData(allocator: CFAllocatorRef, xmlTree: CFXMLTreeRef) -> CFDataRef;
7775}
7776extern "C" {
7777    pub fn CFXMLCreateStringByEscapingEntities(
7778        allocator: CFAllocatorRef,
7779        string: CFStringRef,
7780        entitiesDictionary: CFDictionaryRef,
7781    ) -> CFStringRef;
7782}
7783extern "C" {
7784    pub fn CFXMLCreateStringByUnescapingEntities(
7785        allocator: CFAllocatorRef,
7786        string: CFStringRef,
7787        entitiesDictionary: CFDictionaryRef,
7788    ) -> CFStringRef;
7789}
7790extern "C" {
7791    pub static kCFXMLTreeErrorDescription: CFStringRef;
7792}
7793extern "C" {
7794    pub static kCFXMLTreeErrorLineNumber: CFStringRef;
7795}
7796extern "C" {
7797    pub static kCFXMLTreeErrorLocation: CFStringRef;
7798}
7799extern "C" {
7800    pub static kCFXMLTreeErrorStatusCode: CFStringRef;
7801}
7802pub type CMItemCount = CFIndex;
7803pub type CMItemIndex = CFIndex;
7804pub type CMBaseClassVersion = usize;
7805pub type CMStructVersion = usize;
7806pub type CMPersistentTrackID = i32;
7807pub const kCMPersistentTrackID_Invalid: _bindgen_ty_63 = 0;
7808pub type _bindgen_ty_63 = ::core::ffi::c_uint;
7809pub type CMTimeValue = i64;
7810pub type CMTimeScale = i32;
7811pub type CMTimeEpoch = i64;
7812pub type CMTimeFlags = u32;
7813pub const kCMTimeFlags_Valid: _bindgen_ty_64 = 1;
7814pub const kCMTimeFlags_HasBeenRounded: _bindgen_ty_64 = 2;
7815pub const kCMTimeFlags_PositiveInfinity: _bindgen_ty_64 = 4;
7816pub const kCMTimeFlags_NegativeInfinity: _bindgen_ty_64 = 8;
7817pub const kCMTimeFlags_Indefinite: _bindgen_ty_64 = 16;
7818pub const kCMTimeFlags_ImpliedValueFlagsMask: _bindgen_ty_64 = 28;
7819pub type _bindgen_ty_64 = ::core::ffi::c_uint;
7820#[repr(C, packed(4))]
7821#[derive(Debug, Copy, Clone)]
7822pub struct CMTime {
7823    pub value: CMTimeValue,
7824    pub timescale: CMTimeScale,
7825    pub flags: CMTimeFlags,
7826    pub epoch: CMTimeEpoch,
7827}
7828extern "C" {
7829    pub static kCMTimeInvalid: CMTime;
7830}
7831extern "C" {
7832    pub static kCMTimeIndefinite: CMTime;
7833}
7834extern "C" {
7835    pub static kCMTimePositiveInfinity: CMTime;
7836}
7837extern "C" {
7838    pub static kCMTimeNegativeInfinity: CMTime;
7839}
7840extern "C" {
7841    pub static kCMTimeZero: CMTime;
7842}
7843extern "C" {
7844    pub fn CMTimeMake(value: i64, timescale: i32) -> CMTime;
7845}
7846extern "C" {
7847    pub fn CMTimeMakeWithEpoch(value: i64, timescale: i32, epoch: i64) -> CMTime;
7848}
7849extern "C" {
7850    pub fn CMTimeMakeWithSeconds(seconds: Float64, preferredTimescale: i32) -> CMTime;
7851}
7852extern "C" {
7853    pub fn CMTimeGetSeconds(time: CMTime) -> Float64;
7854}
7855pub type CMTimeRoundingMethod = u32;
7856pub const kCMTimeRoundingMethod_RoundHalfAwayFromZero: _bindgen_ty_65 = 1;
7857pub const kCMTimeRoundingMethod_RoundTowardZero: _bindgen_ty_65 = 2;
7858pub const kCMTimeRoundingMethod_RoundAwayFromZero: _bindgen_ty_65 = 3;
7859pub const kCMTimeRoundingMethod_QuickTime: _bindgen_ty_65 = 4;
7860pub const kCMTimeRoundingMethod_RoundTowardPositiveInfinity: _bindgen_ty_65 = 5;
7861pub const kCMTimeRoundingMethod_RoundTowardNegativeInfinity: _bindgen_ty_65 = 6;
7862pub const kCMTimeRoundingMethod_Default: _bindgen_ty_65 = 1;
7863pub type _bindgen_ty_65 = ::core::ffi::c_uint;
7864extern "C" {
7865    pub fn CMTimeConvertScale(
7866        time: CMTime,
7867        newTimescale: i32,
7868        method: CMTimeRoundingMethod,
7869    ) -> CMTime;
7870}
7871extern "C" {
7872    pub fn CMTimeAdd(lhs: CMTime, rhs: CMTime) -> CMTime;
7873}
7874extern "C" {
7875    pub fn CMTimeSubtract(lhs: CMTime, rhs: CMTime) -> CMTime;
7876}
7877extern "C" {
7878    pub fn CMTimeMultiply(time: CMTime, multiplier: i32) -> CMTime;
7879}
7880extern "C" {
7881    pub fn CMTimeMultiplyByFloat64(time: CMTime, multiplier: Float64) -> CMTime;
7882}
7883extern "C" {
7884    pub fn CMTimeMultiplyByRatio(time: CMTime, multiplier: i32, divisor: i32) -> CMTime;
7885}
7886extern "C" {
7887    pub fn CMTimeCompare(time1: CMTime, time2: CMTime) -> i32;
7888}
7889extern "C" {
7890    pub fn CMTimeMinimum(time1: CMTime, time2: CMTime) -> CMTime;
7891}
7892extern "C" {
7893    pub fn CMTimeMaximum(time1: CMTime, time2: CMTime) -> CMTime;
7894}
7895extern "C" {
7896    pub fn CMTimeAbsoluteValue(time: CMTime) -> CMTime;
7897}
7898extern "C" {
7899    pub fn CMTimeCopyAsDictionary(time: CMTime, allocator: CFAllocatorRef) -> CFDictionaryRef;
7900}
7901extern "C" {
7902    pub fn CMTimeMakeFromDictionary(dictionaryRepresentation: CFDictionaryRef) -> CMTime;
7903}
7904extern "C" {
7905    pub static kCMTimeValueKey: CFStringRef;
7906}
7907extern "C" {
7908    pub static kCMTimeScaleKey: CFStringRef;
7909}
7910extern "C" {
7911    pub static kCMTimeEpochKey: CFStringRef;
7912}
7913extern "C" {
7914    pub static kCMTimeFlagsKey: CFStringRef;
7915}
7916extern "C" {
7917    pub fn CMTimeCopyDescription(allocator: CFAllocatorRef, time: CMTime) -> CFStringRef;
7918}
7919extern "C" {
7920    pub fn CMTimeShow(time: CMTime);
7921}
7922#[repr(C)]
7923#[derive(Debug, Copy, Clone)]
7924pub struct CMTimeRange {
7925    pub start: CMTime,
7926    pub duration: CMTime,
7927}
7928extern "C" {
7929    pub static kCMTimeRangeZero: CMTimeRange;
7930}
7931extern "C" {
7932    pub static kCMTimeRangeInvalid: CMTimeRange;
7933}
7934extern "C" {
7935    pub fn CMTimeRangeMake(start: CMTime, duration: CMTime) -> CMTimeRange;
7936}
7937extern "C" {
7938    pub fn CMTimeRangeGetUnion(range: CMTimeRange, otherRange: CMTimeRange) -> CMTimeRange;
7939}
7940extern "C" {
7941    pub fn CMTimeRangeGetIntersection(range: CMTimeRange, otherRange: CMTimeRange) -> CMTimeRange;
7942}
7943extern "C" {
7944    pub fn CMTimeRangeEqual(range1: CMTimeRange, range2: CMTimeRange) -> Boolean;
7945}
7946extern "C" {
7947    pub fn CMTimeRangeContainsTime(range: CMTimeRange, time: CMTime) -> Boolean;
7948}
7949extern "C" {
7950    pub fn CMTimeRangeContainsTimeRange(range: CMTimeRange, otherRange: CMTimeRange) -> Boolean;
7951}
7952extern "C" {
7953    pub fn CMTimeRangeGetEnd(range: CMTimeRange) -> CMTime;
7954}
7955extern "C" {
7956    pub fn CMTimeMapTimeFromRangeToRange(
7957        t: CMTime,
7958        fromRange: CMTimeRange,
7959        toRange: CMTimeRange,
7960    ) -> CMTime;
7961}
7962extern "C" {
7963    pub fn CMTimeClampToRange(time: CMTime, range: CMTimeRange) -> CMTime;
7964}
7965extern "C" {
7966    pub fn CMTimeMapDurationFromRangeToRange(
7967        dur: CMTime,
7968        fromRange: CMTimeRange,
7969        toRange: CMTimeRange,
7970    ) -> CMTime;
7971}
7972extern "C" {
7973    pub fn CMTimeFoldIntoRange(time: CMTime, foldRange: CMTimeRange) -> CMTime;
7974}
7975extern "C" {
7976    pub fn CMTimeRangeFromTimeToTime(start: CMTime, end: CMTime) -> CMTimeRange;
7977}
7978extern "C" {
7979    pub fn CMTimeRangeCopyAsDictionary(
7980        range: CMTimeRange,
7981        allocator: CFAllocatorRef,
7982    ) -> CFDictionaryRef;
7983}
7984extern "C" {
7985    pub fn CMTimeRangeMakeFromDictionary(dictionaryRepresentation: CFDictionaryRef) -> CMTimeRange;
7986}
7987extern "C" {
7988    pub static kCMTimeRangeStartKey: CFStringRef;
7989}
7990extern "C" {
7991    pub static kCMTimeRangeDurationKey: CFStringRef;
7992}
7993extern "C" {
7994    pub fn CMTimeRangeCopyDescription(allocator: CFAllocatorRef, range: CMTimeRange)
7995        -> CFStringRef;
7996}
7997extern "C" {
7998    pub fn CMTimeRangeShow(range: CMTimeRange);
7999}
8000#[repr(C)]
8001#[derive(Debug, Copy, Clone)]
8002pub struct CMTimeMapping {
8003    pub source: CMTimeRange,
8004    pub target: CMTimeRange,
8005}
8006extern "C" {
8007    pub static kCMTimeMappingInvalid: CMTimeMapping;
8008}
8009extern "C" {
8010    pub fn CMTimeMappingMake(source: CMTimeRange, target: CMTimeRange) -> CMTimeMapping;
8011}
8012extern "C" {
8013    pub fn CMTimeMappingMakeEmpty(target: CMTimeRange) -> CMTimeMapping;
8014}
8015extern "C" {
8016    pub fn CMTimeMappingCopyAsDictionary(
8017        mapping: CMTimeMapping,
8018        allocator: CFAllocatorRef,
8019    ) -> CFDictionaryRef;
8020}
8021extern "C" {
8022    pub fn CMTimeMappingMakeFromDictionary(
8023        dictionaryRepresentation: CFDictionaryRef,
8024    ) -> CMTimeMapping;
8025}
8026extern "C" {
8027    pub static kCMTimeMappingSourceKey: CFStringRef;
8028}
8029extern "C" {
8030    pub static kCMTimeMappingTargetKey: CFStringRef;
8031}
8032extern "C" {
8033    pub fn CMTimeMappingCopyDescription(
8034        allocator: CFAllocatorRef,
8035        mapping: CMTimeMapping,
8036    ) -> CFStringRef;
8037}
8038extern "C" {
8039    pub fn CMTimeMappingShow(mapping: CMTimeMapping);
8040}
8041#[repr(C)]
8042#[derive(Debug, Copy, Clone)]
8043pub struct AudioBuffer {
8044    pub mNumberChannels: UInt32,
8045    pub mDataByteSize: UInt32,
8046    pub mData: *mut ::core::ffi::c_void,
8047}
8048#[repr(C)]
8049#[derive(Debug, Copy, Clone)]
8050pub struct AudioBufferList {
8051    pub mNumberBuffers: UInt32,
8052    pub mBuffers: [AudioBuffer; 1usize],
8053}
8054pub type AudioFormatID = UInt32;
8055pub type AudioFormatFlags = UInt32;
8056#[repr(C)]
8057#[derive(Debug, Copy, Clone)]
8058pub struct AudioStreamBasicDescription {
8059    pub mSampleRate: Float64,
8060    pub mFormatID: AudioFormatID,
8061    pub mFormatFlags: AudioFormatFlags,
8062    pub mBytesPerPacket: UInt32,
8063    pub mFramesPerPacket: UInt32,
8064    pub mBytesPerFrame: UInt32,
8065    pub mChannelsPerFrame: UInt32,
8066    pub mBitsPerChannel: UInt32,
8067    pub mReserved: UInt32,
8068}
8069#[repr(C)]
8070#[derive(Debug, Copy, Clone)]
8071pub struct AudioStreamPacketDescription {
8072    pub mStartOffset: SInt64,
8073    pub mVariableFramesInPacket: UInt32,
8074    pub mDataByteSize: UInt32,
8075}
8076pub type AudioChannelLabel = UInt32;
8077pub type AudioChannelLayoutTag = UInt32;
8078pub type AudioChannelBitmap = UInt32;
8079pub type AudioChannelFlags = UInt32;
8080#[repr(C)]
8081#[derive(Debug, Copy, Clone)]
8082pub struct AudioChannelDescription {
8083    pub mChannelLabel: AudioChannelLabel,
8084    pub mChannelFlags: AudioChannelFlags,
8085    pub mCoordinates: [Float32; 3usize],
8086}
8087#[repr(C)]
8088#[derive(Debug, Copy, Clone)]
8089pub struct AudioChannelLayout {
8090    pub mChannelLayoutTag: AudioChannelLayoutTag,
8091    pub mChannelBitmap: AudioChannelBitmap,
8092    pub mNumberChannelDescriptions: UInt32,
8093    pub mChannelDescriptions: [AudioChannelDescription; 1usize],
8094}
8095#[repr(C)]
8096#[derive(Debug, Copy, Clone)]
8097pub struct AudioFormatListItem {
8098    pub mASBD: AudioStreamBasicDescription,
8099    pub mChannelLayoutTag: AudioChannelLayoutTag,
8100}
8101#[repr(C)]
8102#[derive(Debug, Copy, Clone)]
8103pub struct __IOSurface {
8104    _unused: [u8; 0],
8105}
8106pub type IOSurfaceRef = *mut __IOSurface;
8107pub type CVOptionFlags = u64;
8108#[repr(C)]
8109#[derive(Debug, Copy, Clone)]
8110pub struct CVSMPTETime {
8111    pub subframes: SInt16,
8112    pub subframeDivisor: SInt16,
8113    pub counter: UInt32,
8114    pub type_: UInt32,
8115    pub flags: UInt32,
8116    pub hours: SInt16,
8117    pub minutes: SInt16,
8118    pub seconds: SInt16,
8119    pub frames: SInt16,
8120}
8121pub type CVSMPTETimeType = u32;
8122pub const kCVSMPTETimeType24: _bindgen_ty_81 = 0;
8123pub const kCVSMPTETimeType25: _bindgen_ty_81 = 1;
8124pub const kCVSMPTETimeType30Drop: _bindgen_ty_81 = 2;
8125pub const kCVSMPTETimeType30: _bindgen_ty_81 = 3;
8126pub const kCVSMPTETimeType2997: _bindgen_ty_81 = 4;
8127pub const kCVSMPTETimeType2997Drop: _bindgen_ty_81 = 5;
8128pub const kCVSMPTETimeType60: _bindgen_ty_81 = 6;
8129pub const kCVSMPTETimeType5994: _bindgen_ty_81 = 7;
8130pub type _bindgen_ty_81 = ::core::ffi::c_uint;
8131pub type CVSMPTETimeFlags = u32;
8132pub const kCVSMPTETimeValid: _bindgen_ty_82 = 1;
8133pub const kCVSMPTETimeRunning: _bindgen_ty_82 = 2;
8134pub type _bindgen_ty_82 = ::core::ffi::c_uint;
8135pub type CVTimeFlags = i32;
8136pub const kCVTimeIsIndefinite: _bindgen_ty_83 = 1;
8137pub type _bindgen_ty_83 = ::core::ffi::c_uint;
8138#[repr(C)]
8139#[derive(Debug, Copy, Clone)]
8140pub struct CVTime {
8141    pub timeValue: i64,
8142    pub timeScale: i32,
8143    pub flags: i32,
8144}
8145extern "C" {
8146    pub static kCVZeroTime: CVTime;
8147}
8148extern "C" {
8149    pub static kCVIndefiniteTime: CVTime;
8150}
8151#[repr(C)]
8152#[derive(Debug, Copy, Clone)]
8153pub struct CVTimeStamp {
8154    pub version: u32,
8155    pub videoTimeScale: i32,
8156    pub videoTime: i64,
8157    pub hostTime: u64,
8158    pub rateScalar: f64,
8159    pub videoRefreshPeriod: i64,
8160    pub smpteTime: CVSMPTETime,
8161    pub flags: u64,
8162    pub reserved: u64,
8163}
8164pub type CVTimeStampFlags = u64;
8165pub const kCVTimeStampVideoTimeValid: _bindgen_ty_84 = 1;
8166pub const kCVTimeStampHostTimeValid: _bindgen_ty_84 = 2;
8167pub const kCVTimeStampSMPTETimeValid: _bindgen_ty_84 = 4;
8168pub const kCVTimeStampVideoRefreshPeriodValid: _bindgen_ty_84 = 8;
8169pub const kCVTimeStampRateScalarValid: _bindgen_ty_84 = 16;
8170pub const kCVTimeStampTopField: _bindgen_ty_84 = 65536;
8171pub const kCVTimeStampBottomField: _bindgen_ty_84 = 131072;
8172pub const kCVTimeStampVideoHostTimeValid: _bindgen_ty_84 = 3;
8173pub const kCVTimeStampIsInterlaced: _bindgen_ty_84 = 196608;
8174pub type _bindgen_ty_84 = ::core::ffi::c_uint;
8175pub type CVReturn = i32;
8176extern "C" {
8177    pub fn CVGetCurrentHostTime() -> u64;
8178}
8179extern "C" {
8180    pub fn CVGetHostClockFrequency() -> f64;
8181}
8182extern "C" {
8183    pub fn CVGetHostClockMinimumTimeDelta() -> u32;
8184}
8185#[repr(C)]
8186#[derive(Debug, Copy, Clone)]
8187pub struct CGColorSpace {
8188    _unused: [u8; 0],
8189}
8190pub type CGColorSpaceRef = *mut CGColorSpace;
8191#[repr(C)]
8192#[derive(Debug, Copy, Clone)]
8193pub struct ColorSyncProfile {
8194    _unused: [u8; 0],
8195}
8196pub type CGDirectDisplayID = u32;
8197pub type CGOpenGLDisplayMask = u32;
8198pub type task_id_token_t = mach_port_t;
8199#[repr(C)]
8200#[derive(Debug, Copy, Clone)]
8201pub struct _CGLContextObject {
8202    _unused: [u8; 0],
8203}
8204pub type CGLContextObj = *mut _CGLContextObject;
8205#[repr(C)]
8206#[derive(Debug, Copy, Clone)]
8207pub struct _CGLPixelFormatObject {
8208    _unused: [u8; 0],
8209}
8210pub type CGLPixelFormatObj = *mut _CGLPixelFormatObject;
8211pub type GLenum = u32;
8212pub type GLfloat = f32;
8213pub type GLint = i32;
8214pub type GLuint = u32;
8215#[repr(C)]
8216#[derive(Debug, Copy, Clone)]
8217pub struct __CVDisplayLink {
8218    _unused: [u8; 0],
8219}
8220pub type CVDisplayLinkRef = *mut __CVDisplayLink;
8221pub type CVDisplayLinkOutputCallback = ::core::option::Option<
8222    unsafe extern "C" fn(
8223        displayLink: CVDisplayLinkRef,
8224        inNow: *const CVTimeStamp,
8225        inOutputTime: *const CVTimeStamp,
8226        flagsIn: CVOptionFlags,
8227        flagsOut: *mut CVOptionFlags,
8228        displayLinkContext: *mut ::core::ffi::c_void,
8229    ) -> CVReturn,
8230>;
8231pub type CVDisplayLinkOutputHandler = *mut ::core::ffi::c_void;
8232extern "C" {
8233    pub fn CVDisplayLinkGetTypeID() -> CFTypeID;
8234}
8235extern "C" {
8236    pub fn CVDisplayLinkCreateWithCGDisplays(
8237        displayArray: *mut CGDirectDisplayID,
8238        count: CFIndex,
8239        displayLinkOut: *mut CVDisplayLinkRef,
8240    ) -> CVReturn;
8241}
8242extern "C" {
8243    pub fn CVDisplayLinkCreateWithOpenGLDisplayMask(
8244        mask: CGOpenGLDisplayMask,
8245        displayLinkOut: *mut CVDisplayLinkRef,
8246    ) -> CVReturn;
8247}
8248extern "C" {
8249    pub fn CVDisplayLinkCreateWithCGDisplay(
8250        displayID: CGDirectDisplayID,
8251        displayLinkOut: *mut CVDisplayLinkRef,
8252    ) -> CVReturn;
8253}
8254extern "C" {
8255    pub fn CVDisplayLinkCreateWithActiveCGDisplays(
8256        displayLinkOut: *mut CVDisplayLinkRef,
8257    ) -> CVReturn;
8258}
8259extern "C" {
8260    pub fn CVDisplayLinkSetCurrentCGDisplay(
8261        displayLink: CVDisplayLinkRef,
8262        displayID: CGDirectDisplayID,
8263    ) -> CVReturn;
8264}
8265extern "C" {
8266    pub fn CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext(
8267        displayLink: CVDisplayLinkRef,
8268        cglContext: CGLContextObj,
8269        cglPixelFormat: CGLPixelFormatObj,
8270    ) -> CVReturn;
8271}
8272extern "C" {
8273    pub fn CVDisplayLinkGetCurrentCGDisplay(displayLink: CVDisplayLinkRef) -> CGDirectDisplayID;
8274}
8275extern "C" {
8276    pub fn CVDisplayLinkSetOutputCallback(
8277        displayLink: CVDisplayLinkRef,
8278        callback: CVDisplayLinkOutputCallback,
8279        userInfo: *mut ::core::ffi::c_void,
8280    ) -> CVReturn;
8281}
8282extern "C" {
8283    pub fn CVDisplayLinkSetOutputHandler(
8284        displayLink: CVDisplayLinkRef,
8285        handler: CVDisplayLinkOutputHandler,
8286    ) -> CVReturn;
8287}
8288extern "C" {
8289    pub fn CVDisplayLinkStart(displayLink: CVDisplayLinkRef) -> CVReturn;
8290}
8291extern "C" {
8292    pub fn CVDisplayLinkStop(displayLink: CVDisplayLinkRef) -> CVReturn;
8293}
8294extern "C" {
8295    pub fn CVDisplayLinkGetNominalOutputVideoRefreshPeriod(displayLink: CVDisplayLinkRef)
8296        -> CVTime;
8297}
8298extern "C" {
8299    pub fn CVDisplayLinkGetOutputVideoLatency(displayLink: CVDisplayLinkRef) -> CVTime;
8300}
8301extern "C" {
8302    pub fn CVDisplayLinkGetActualOutputVideoRefreshPeriod(displayLink: CVDisplayLinkRef) -> f64;
8303}
8304extern "C" {
8305    pub fn CVDisplayLinkIsRunning(displayLink: CVDisplayLinkRef) -> Boolean;
8306}
8307extern "C" {
8308    pub fn CVDisplayLinkGetCurrentTime(
8309        displayLink: CVDisplayLinkRef,
8310        outTime: *mut CVTimeStamp,
8311    ) -> CVReturn;
8312}
8313extern "C" {
8314    pub fn CVDisplayLinkTranslateTime(
8315        displayLink: CVDisplayLinkRef,
8316        inTime: *const CVTimeStamp,
8317        outTime: *mut CVTimeStamp,
8318    ) -> CVReturn;
8319}
8320extern "C" {
8321    pub fn CVDisplayLinkRetain(displayLink: CVDisplayLinkRef) -> CVDisplayLinkRef;
8322}
8323extern "C" {
8324    pub fn CVDisplayLinkRelease(displayLink: CVDisplayLinkRef);
8325}
8326extern "C" {
8327    pub static mut kCVBufferPropagatedAttachmentsKey: CFStringRef;
8328}
8329extern "C" {
8330    pub static mut kCVBufferNonPropagatedAttachmentsKey: CFStringRef;
8331}
8332extern "C" {
8333    pub static mut kCVBufferMovieTimeKey: CFStringRef;
8334}
8335extern "C" {
8336    pub static mut kCVBufferTimeValueKey: CFStringRef;
8337}
8338extern "C" {
8339    pub static mut kCVBufferTimeScaleKey: CFStringRef;
8340}
8341pub type CVAttachmentMode = u32;
8342pub const kCVAttachmentMode_ShouldNotPropagate: _bindgen_ty_218 = 0;
8343pub const kCVAttachmentMode_ShouldPropagate: _bindgen_ty_218 = 1;
8344pub type _bindgen_ty_218 = ::core::ffi::c_uint;
8345#[repr(C)]
8346#[derive(Debug, Copy, Clone)]
8347pub struct __CVBuffer {
8348    _unused: [u8; 0],
8349}
8350pub type CVBufferRef = *mut __CVBuffer;
8351extern "C" {
8352    pub fn CVBufferRetain(buffer: CVBufferRef) -> CVBufferRef;
8353}
8354extern "C" {
8355    pub fn CVBufferRelease(buffer: CVBufferRef);
8356}
8357extern "C" {
8358    pub fn CVBufferSetAttachment(
8359        buffer: CVBufferRef,
8360        key: CFStringRef,
8361        value: CFTypeRef,
8362        attachmentMode: CVAttachmentMode,
8363    );
8364}
8365extern "C" {
8366    pub fn CVBufferGetAttachment(
8367        buffer: CVBufferRef,
8368        key: CFStringRef,
8369        attachmentMode: *mut CVAttachmentMode,
8370    ) -> CFTypeRef;
8371}
8372extern "C" {
8373    pub fn CVBufferRemoveAttachment(buffer: CVBufferRef, key: CFStringRef);
8374}
8375extern "C" {
8376    pub fn CVBufferRemoveAllAttachments(buffer: CVBufferRef);
8377}
8378extern "C" {
8379    pub fn CVBufferGetAttachments(
8380        buffer: CVBufferRef,
8381        attachmentMode: CVAttachmentMode,
8382    ) -> CFDictionaryRef;
8383}
8384extern "C" {
8385    pub fn CVBufferSetAttachments(
8386        buffer: CVBufferRef,
8387        theAttachments: CFDictionaryRef,
8388        attachmentMode: CVAttachmentMode,
8389    );
8390}
8391extern "C" {
8392    pub fn CVBufferPropagateAttachments(sourceBuffer: CVBufferRef, destinationBuffer: CVBufferRef);
8393}
8394extern "C" {
8395    pub fn CVBufferCopyAttachments(
8396        buffer: CVBufferRef,
8397        attachmentMode: CVAttachmentMode,
8398    ) -> CFDictionaryRef;
8399}
8400extern "C" {
8401    pub fn CVBufferCopyAttachment(
8402        buffer: CVBufferRef,
8403        key: CFStringRef,
8404        attachmentMode: *mut CVAttachmentMode,
8405    ) -> CFTypeRef;
8406}
8407extern "C" {
8408    pub fn CVBufferHasAttachment(buffer: CVBufferRef, key: CFStringRef) -> Boolean;
8409}
8410pub const kOld68kRTA: _bindgen_ty_492 = 0;
8411pub const kPowerPCRTA: _bindgen_ty_492 = 0;
8412pub const kCFM68kRTA: _bindgen_ty_492 = 16;
8413pub type _bindgen_ty_492 = ::core::ffi::c_uint;
8414#[repr(C)]
8415#[derive(Debug, Copy, Clone)]
8416pub struct FSRef {
8417    pub hidden: [UInt8; 80usize],
8418}
8419extern "C" {
8420    pub static kCFErrorDomainCFNetwork: CFStringRef;
8421}
8422extern "C" {
8423    pub static kCFErrorDomainWinSock: CFStringRef;
8424}
8425pub type CFNetworkErrors = ::core::ffi::c_int;
8426pub const kCFHostErrorHostNotFound: _bindgen_ty_1057 = 1;
8427pub const kCFHostErrorUnknown: _bindgen_ty_1057 = 2;
8428pub const kCFSOCKSErrorUnknownClientVersion: _bindgen_ty_1057 = 100;
8429pub const kCFSOCKSErrorUnsupportedServerVersion: _bindgen_ty_1057 = 101;
8430pub const kCFSOCKS4ErrorRequestFailed: _bindgen_ty_1057 = 110;
8431pub const kCFSOCKS4ErrorIdentdFailed: _bindgen_ty_1057 = 111;
8432pub const kCFSOCKS4ErrorIdConflict: _bindgen_ty_1057 = 112;
8433pub const kCFSOCKS4ErrorUnknownStatusCode: _bindgen_ty_1057 = 113;
8434pub const kCFSOCKS5ErrorBadState: _bindgen_ty_1057 = 120;
8435pub const kCFSOCKS5ErrorBadResponseAddr: _bindgen_ty_1057 = 121;
8436pub const kCFSOCKS5ErrorBadCredentials: _bindgen_ty_1057 = 122;
8437pub const kCFSOCKS5ErrorUnsupportedNegotiationMethod: _bindgen_ty_1057 = 123;
8438pub const kCFSOCKS5ErrorNoAcceptableMethod: _bindgen_ty_1057 = 124;
8439pub const kCFFTPErrorUnexpectedStatusCode: _bindgen_ty_1057 = 200;
8440pub const kCFErrorHTTPAuthenticationTypeUnsupported: _bindgen_ty_1057 = 300;
8441pub const kCFErrorHTTPBadCredentials: _bindgen_ty_1057 = 301;
8442pub const kCFErrorHTTPConnectionLost: _bindgen_ty_1057 = 302;
8443pub const kCFErrorHTTPParseFailure: _bindgen_ty_1057 = 303;
8444pub const kCFErrorHTTPRedirectionLoopDetected: _bindgen_ty_1057 = 304;
8445pub const kCFErrorHTTPBadURL: _bindgen_ty_1057 = 305;
8446pub const kCFErrorHTTPProxyConnectionFailure: _bindgen_ty_1057 = 306;
8447pub const kCFErrorHTTPBadProxyCredentials: _bindgen_ty_1057 = 307;
8448pub const kCFErrorPACFileError: _bindgen_ty_1057 = 308;
8449pub const kCFErrorPACFileAuth: _bindgen_ty_1057 = 309;
8450pub const kCFErrorHTTPSProxyConnectionFailure: _bindgen_ty_1057 = 310;
8451pub const kCFStreamErrorHTTPSProxyFailureUnexpectedResponseToCONNECTMethod: _bindgen_ty_1057 = 311;
8452pub const kCFURLErrorBackgroundSessionInUseByAnotherProcess: _bindgen_ty_1057 = -996;
8453pub const kCFURLErrorBackgroundSessionWasDisconnected: _bindgen_ty_1057 = -997;
8454pub const kCFURLErrorUnknown: _bindgen_ty_1057 = -998;
8455pub const kCFURLErrorCancelled: _bindgen_ty_1057 = -999;
8456pub const kCFURLErrorBadURL: _bindgen_ty_1057 = -1000;
8457pub const kCFURLErrorTimedOut: _bindgen_ty_1057 = -1001;
8458pub const kCFURLErrorUnsupportedURL: _bindgen_ty_1057 = -1002;
8459pub const kCFURLErrorCannotFindHost: _bindgen_ty_1057 = -1003;
8460pub const kCFURLErrorCannotConnectToHost: _bindgen_ty_1057 = -1004;
8461pub const kCFURLErrorNetworkConnectionLost: _bindgen_ty_1057 = -1005;
8462pub const kCFURLErrorDNSLookupFailed: _bindgen_ty_1057 = -1006;
8463pub const kCFURLErrorHTTPTooManyRedirects: _bindgen_ty_1057 = -1007;
8464pub const kCFURLErrorResourceUnavailable: _bindgen_ty_1057 = -1008;
8465pub const kCFURLErrorNotConnectedToInternet: _bindgen_ty_1057 = -1009;
8466pub const kCFURLErrorRedirectToNonExistentLocation: _bindgen_ty_1057 = -1010;
8467pub const kCFURLErrorBadServerResponse: _bindgen_ty_1057 = -1011;
8468pub const kCFURLErrorUserCancelledAuthentication: _bindgen_ty_1057 = -1012;
8469pub const kCFURLErrorUserAuthenticationRequired: _bindgen_ty_1057 = -1013;
8470pub const kCFURLErrorZeroByteResource: _bindgen_ty_1057 = -1014;
8471pub const kCFURLErrorCannotDecodeRawData: _bindgen_ty_1057 = -1015;
8472pub const kCFURLErrorCannotDecodeContentData: _bindgen_ty_1057 = -1016;
8473pub const kCFURLErrorCannotParseResponse: _bindgen_ty_1057 = -1017;
8474pub const kCFURLErrorInternationalRoamingOff: _bindgen_ty_1057 = -1018;
8475pub const kCFURLErrorCallIsActive: _bindgen_ty_1057 = -1019;
8476pub const kCFURLErrorDataNotAllowed: _bindgen_ty_1057 = -1020;
8477pub const kCFURLErrorRequestBodyStreamExhausted: _bindgen_ty_1057 = -1021;
8478pub const kCFURLErrorAppTransportSecurityRequiresSecureConnection: _bindgen_ty_1057 = -1022;
8479pub const kCFURLErrorFileDoesNotExist: _bindgen_ty_1057 = -1100;
8480pub const kCFURLErrorFileIsDirectory: _bindgen_ty_1057 = -1101;
8481pub const kCFURLErrorNoPermissionsToReadFile: _bindgen_ty_1057 = -1102;
8482pub const kCFURLErrorDataLengthExceedsMaximum: _bindgen_ty_1057 = -1103;
8483pub const kCFURLErrorFileOutsideSafeArea: _bindgen_ty_1057 = -1104;
8484pub const kCFURLErrorSecureConnectionFailed: _bindgen_ty_1057 = -1200;
8485pub const kCFURLErrorServerCertificateHasBadDate: _bindgen_ty_1057 = -1201;
8486pub const kCFURLErrorServerCertificateUntrusted: _bindgen_ty_1057 = -1202;
8487pub const kCFURLErrorServerCertificateHasUnknownRoot: _bindgen_ty_1057 = -1203;
8488pub const kCFURLErrorServerCertificateNotYetValid: _bindgen_ty_1057 = -1204;
8489pub const kCFURLErrorClientCertificateRejected: _bindgen_ty_1057 = -1205;
8490pub const kCFURLErrorClientCertificateRequired: _bindgen_ty_1057 = -1206;
8491pub const kCFURLErrorCannotLoadFromNetwork: _bindgen_ty_1057 = -2000;
8492pub const kCFURLErrorCannotCreateFile: _bindgen_ty_1057 = -3000;
8493pub const kCFURLErrorCannotOpenFile: _bindgen_ty_1057 = -3001;
8494pub const kCFURLErrorCannotCloseFile: _bindgen_ty_1057 = -3002;
8495pub const kCFURLErrorCannotWriteToFile: _bindgen_ty_1057 = -3003;
8496pub const kCFURLErrorCannotRemoveFile: _bindgen_ty_1057 = -3004;
8497pub const kCFURLErrorCannotMoveFile: _bindgen_ty_1057 = -3005;
8498pub const kCFURLErrorDownloadDecodingFailedMidStream: _bindgen_ty_1057 = -3006;
8499pub const kCFURLErrorDownloadDecodingFailedToComplete: _bindgen_ty_1057 = -3007;
8500pub const kCFHTTPCookieCannotParseCookieFile: _bindgen_ty_1057 = -4000;
8501pub const kCFNetServiceErrorUnknown: _bindgen_ty_1057 = -72000;
8502pub const kCFNetServiceErrorCollision: _bindgen_ty_1057 = -72001;
8503pub const kCFNetServiceErrorNotFound: _bindgen_ty_1057 = -72002;
8504pub const kCFNetServiceErrorInProgress: _bindgen_ty_1057 = -72003;
8505pub const kCFNetServiceErrorBadArgument: _bindgen_ty_1057 = -72004;
8506pub const kCFNetServiceErrorCancel: _bindgen_ty_1057 = -72005;
8507pub const kCFNetServiceErrorInvalid: _bindgen_ty_1057 = -72006;
8508pub const kCFNetServiceErrorTimeout: _bindgen_ty_1057 = -72007;
8509pub const kCFNetServiceErrorDNSServiceFailure: _bindgen_ty_1057 = -73000;
8510pub type _bindgen_ty_1057 = ::core::ffi::c_int;
8511extern "C" {
8512    pub static kCFURLErrorFailingURLErrorKey: CFStringRef;
8513}
8514extern "C" {
8515    pub static kCFURLErrorFailingURLStringErrorKey: CFStringRef;
8516}
8517extern "C" {
8518    pub static kCFGetAddrInfoFailureKey: CFStringRef;
8519}
8520extern "C" {
8521    pub static kCFSOCKSStatusCodeKey: CFStringRef;
8522}
8523extern "C" {
8524    pub static kCFSOCKSVersionKey: CFStringRef;
8525}
8526extern "C" {
8527    pub static kCFSOCKSNegotiationMethodKey: CFStringRef;
8528}
8529extern "C" {
8530    pub static kCFDNSServiceFailureKey: CFStringRef;
8531}
8532extern "C" {
8533    pub static kCFFTPStatusCodeKey: CFStringRef;
8534}
8535#[repr(C)]
8536#[derive(Debug, Copy, Clone)]
8537pub struct __CFHost {
8538    _unused: [u8; 0],
8539}
8540pub type CFHostRef = *mut __CFHost;
8541extern "C" {
8542    pub static kCFStreamErrorDomainNetDB: SInt32;
8543}
8544extern "C" {
8545    pub static kCFStreamErrorDomainSystemConfiguration: SInt32;
8546}
8547pub type CFHostInfoType = ::core::ffi::c_int;
8548pub const kCFHostAddresses: _bindgen_ty_1058 = 0;
8549pub const kCFHostNames: _bindgen_ty_1058 = 1;
8550pub const kCFHostReachability: _bindgen_ty_1058 = 2;
8551pub type _bindgen_ty_1058 = ::core::ffi::c_uint;
8552#[repr(C, packed(2))]
8553#[derive(Debug, Copy, Clone)]
8554pub struct CFHostClientContext {
8555    pub version: CFIndex,
8556    pub info: *mut ::core::ffi::c_void,
8557    pub retain: CFAllocatorRetainCallBack,
8558    pub release: CFAllocatorReleaseCallBack,
8559    pub copyDescription: CFAllocatorCopyDescriptionCallBack,
8560}
8561pub type CFHostClientCallBack = ::core::option::Option<
8562    unsafe extern "C" fn(
8563        theHost: CFHostRef,
8564        typeInfo: CFHostInfoType,
8565        error: *const CFStreamError,
8566        info: *mut ::core::ffi::c_void,
8567    ),
8568>;
8569extern "C" {
8570    pub fn CFHostGetTypeID() -> CFTypeID;
8571}
8572extern "C" {
8573    pub fn CFHostCreateWithName(allocator: CFAllocatorRef, hostname: CFStringRef) -> CFHostRef;
8574}
8575extern "C" {
8576    pub fn CFHostCreateWithAddress(allocator: CFAllocatorRef, addr: CFDataRef) -> CFHostRef;
8577}
8578extern "C" {
8579    pub fn CFHostCreateCopy(alloc: CFAllocatorRef, host: CFHostRef) -> CFHostRef;
8580}
8581extern "C" {
8582    pub fn CFHostStartInfoResolution(
8583        theHost: CFHostRef,
8584        info: CFHostInfoType,
8585        error: *mut CFStreamError,
8586    ) -> Boolean;
8587}
8588extern "C" {
8589    pub fn CFHostGetAddressing(theHost: CFHostRef, hasBeenResolved: *mut Boolean) -> CFArrayRef;
8590}
8591extern "C" {
8592    pub fn CFHostGetNames(theHost: CFHostRef, hasBeenResolved: *mut Boolean) -> CFArrayRef;
8593}
8594extern "C" {
8595    pub fn CFHostGetReachability(theHost: CFHostRef, hasBeenResolved: *mut Boolean) -> CFDataRef;
8596}
8597extern "C" {
8598    pub fn CFHostCancelInfoResolution(theHost: CFHostRef, info: CFHostInfoType);
8599}
8600extern "C" {
8601    pub fn CFHostSetClient(
8602        theHost: CFHostRef,
8603        clientCB: CFHostClientCallBack,
8604        clientContext: *mut CFHostClientContext,
8605    ) -> Boolean;
8606}
8607extern "C" {
8608    pub fn CFHostScheduleWithRunLoop(
8609        theHost: CFHostRef,
8610        runLoop: CFRunLoopRef,
8611        runLoopMode: CFStringRef,
8612    );
8613}
8614extern "C" {
8615    pub fn CFHostUnscheduleFromRunLoop(
8616        theHost: CFHostRef,
8617        runLoop: CFRunLoopRef,
8618        runLoopMode: CFStringRef,
8619    );
8620}
8621#[repr(C)]
8622#[derive(Debug, Copy, Clone)]
8623pub struct __CFNetService {
8624    _unused: [u8; 0],
8625}
8626pub type CFNetServiceRef = *mut __CFNetService;
8627#[repr(C)]
8628#[derive(Debug, Copy, Clone)]
8629pub struct __CFNetServiceMonitor {
8630    _unused: [u8; 0],
8631}
8632pub type CFNetServiceMonitorRef = *mut __CFNetServiceMonitor;
8633#[repr(C)]
8634#[derive(Debug, Copy, Clone)]
8635pub struct __CFNetServiceBrowser {
8636    _unused: [u8; 0],
8637}
8638pub type CFNetServiceBrowserRef = *mut __CFNetServiceBrowser;
8639extern "C" {
8640    pub static kCFStreamErrorDomainMach: SInt32;
8641}
8642extern "C" {
8643    pub static kCFStreamErrorDomainNetServices: SInt32;
8644}
8645pub type CFNetServicesError = ::core::ffi::c_int;
8646pub const kCFNetServicesErrorUnknown: _bindgen_ty_1059 = -72000;
8647pub const kCFNetServicesErrorCollision: _bindgen_ty_1059 = -72001;
8648pub const kCFNetServicesErrorNotFound: _bindgen_ty_1059 = -72002;
8649pub const kCFNetServicesErrorInProgress: _bindgen_ty_1059 = -72003;
8650pub const kCFNetServicesErrorBadArgument: _bindgen_ty_1059 = -72004;
8651pub const kCFNetServicesErrorCancel: _bindgen_ty_1059 = -72005;
8652pub const kCFNetServicesErrorInvalid: _bindgen_ty_1059 = -72006;
8653pub const kCFNetServicesErrorTimeout: _bindgen_ty_1059 = -72007;
8654pub const kCFNetServicesErrorMissingRequiredConfiguration: _bindgen_ty_1059 = -72008;
8655pub type _bindgen_ty_1059 = ::core::ffi::c_int;
8656pub type CFNetServiceMonitorType = ::core::ffi::c_int;
8657pub const kCFNetServiceMonitorTXT: _bindgen_ty_1060 = 1;
8658pub type _bindgen_ty_1060 = ::core::ffi::c_uint;
8659pub type CFNetServiceRegisterFlags = CFOptionFlags;
8660pub const kCFNetServiceFlagNoAutoRename: _bindgen_ty_1061 = 1;
8661pub type _bindgen_ty_1061 = ::core::ffi::c_uint;
8662pub type CFNetServiceBrowserFlags = CFOptionFlags;
8663pub const kCFNetServiceFlagMoreComing: _bindgen_ty_1062 = 1;
8664pub const kCFNetServiceFlagIsDomain: _bindgen_ty_1062 = 2;
8665pub const kCFNetServiceFlagIsDefault: _bindgen_ty_1062 = 4;
8666pub const kCFNetServiceFlagIsRegistrationDomain: _bindgen_ty_1062 = 4;
8667pub const kCFNetServiceFlagRemove: _bindgen_ty_1062 = 8;
8668pub type _bindgen_ty_1062 = ::core::ffi::c_uint;
8669#[repr(C, packed(2))]
8670#[derive(Debug, Copy, Clone)]
8671pub struct CFNetServiceClientContext {
8672    pub version: CFIndex,
8673    pub info: *mut ::core::ffi::c_void,
8674    pub retain: CFAllocatorRetainCallBack,
8675    pub release: CFAllocatorReleaseCallBack,
8676    pub copyDescription: CFAllocatorCopyDescriptionCallBack,
8677}
8678pub type CFNetServiceClientCallBack = ::core::option::Option<
8679    unsafe extern "C" fn(
8680        theService: CFNetServiceRef,
8681        error: *mut CFStreamError,
8682        info: *mut ::core::ffi::c_void,
8683    ),
8684>;
8685pub type CFNetServiceMonitorClientCallBack = ::core::option::Option<
8686    unsafe extern "C" fn(
8687        theMonitor: CFNetServiceMonitorRef,
8688        theService: CFNetServiceRef,
8689        typeInfo: CFNetServiceMonitorType,
8690        rdata: CFDataRef,
8691        error: *mut CFStreamError,
8692        info: *mut ::core::ffi::c_void,
8693    ),
8694>;
8695pub type CFNetServiceBrowserClientCallBack = ::core::option::Option<
8696    unsafe extern "C" fn(
8697        browser: CFNetServiceBrowserRef,
8698        flags: CFOptionFlags,
8699        domainOrService: CFTypeRef,
8700        error: *mut CFStreamError,
8701        info: *mut ::core::ffi::c_void,
8702    ),
8703>;
8704extern "C" {
8705    pub fn CFNetServiceGetTypeID() -> CFTypeID;
8706}
8707extern "C" {
8708    pub fn CFNetServiceMonitorGetTypeID() -> CFTypeID;
8709}
8710extern "C" {
8711    pub fn CFNetServiceBrowserGetTypeID() -> CFTypeID;
8712}
8713extern "C" {
8714    pub fn CFNetServiceCreate(
8715        alloc: CFAllocatorRef,
8716        domain: CFStringRef,
8717        serviceType: CFStringRef,
8718        name: CFStringRef,
8719        port: SInt32,
8720    ) -> CFNetServiceRef;
8721}
8722extern "C" {
8723    pub fn CFNetServiceCreateCopy(
8724        alloc: CFAllocatorRef,
8725        service: CFNetServiceRef,
8726    ) -> CFNetServiceRef;
8727}
8728extern "C" {
8729    pub fn CFNetServiceGetDomain(theService: CFNetServiceRef) -> CFStringRef;
8730}
8731extern "C" {
8732    pub fn CFNetServiceGetType(theService: CFNetServiceRef) -> CFStringRef;
8733}
8734extern "C" {
8735    pub fn CFNetServiceGetName(theService: CFNetServiceRef) -> CFStringRef;
8736}
8737extern "C" {
8738    pub fn CFNetServiceRegisterWithOptions(
8739        theService: CFNetServiceRef,
8740        options: CFOptionFlags,
8741        error: *mut CFStreamError,
8742    ) -> Boolean;
8743}
8744extern "C" {
8745    pub fn CFNetServiceResolveWithTimeout(
8746        theService: CFNetServiceRef,
8747        timeout: CFTimeInterval,
8748        error: *mut CFStreamError,
8749    ) -> Boolean;
8750}
8751extern "C" {
8752    pub fn CFNetServiceCancel(theService: CFNetServiceRef);
8753}
8754extern "C" {
8755    pub fn CFNetServiceGetTargetHost(theService: CFNetServiceRef) -> CFStringRef;
8756}
8757extern "C" {
8758    pub fn CFNetServiceGetPortNumber(theService: CFNetServiceRef) -> SInt32;
8759}
8760extern "C" {
8761    pub fn CFNetServiceGetAddressing(theService: CFNetServiceRef) -> CFArrayRef;
8762}
8763extern "C" {
8764    pub fn CFNetServiceGetTXTData(theService: CFNetServiceRef) -> CFDataRef;
8765}
8766extern "C" {
8767    pub fn CFNetServiceSetTXTData(theService: CFNetServiceRef, txtRecord: CFDataRef) -> Boolean;
8768}
8769extern "C" {
8770    pub fn CFNetServiceCreateDictionaryWithTXTData(
8771        alloc: CFAllocatorRef,
8772        txtRecord: CFDataRef,
8773    ) -> CFDictionaryRef;
8774}
8775extern "C" {
8776    pub fn CFNetServiceCreateTXTDataWithDictionary(
8777        alloc: CFAllocatorRef,
8778        keyValuePairs: CFDictionaryRef,
8779    ) -> CFDataRef;
8780}
8781extern "C" {
8782    pub fn CFNetServiceSetClient(
8783        theService: CFNetServiceRef,
8784        clientCB: CFNetServiceClientCallBack,
8785        clientContext: *mut CFNetServiceClientContext,
8786    ) -> Boolean;
8787}
8788extern "C" {
8789    pub fn CFNetServiceScheduleWithRunLoop(
8790        theService: CFNetServiceRef,
8791        runLoop: CFRunLoopRef,
8792        runLoopMode: CFStringRef,
8793    );
8794}
8795extern "C" {
8796    pub fn CFNetServiceUnscheduleFromRunLoop(
8797        theService: CFNetServiceRef,
8798        runLoop: CFRunLoopRef,
8799        runLoopMode: CFStringRef,
8800    );
8801}
8802extern "C" {
8803    pub fn CFNetServiceMonitorCreate(
8804        alloc: CFAllocatorRef,
8805        theService: CFNetServiceRef,
8806        clientCB: CFNetServiceMonitorClientCallBack,
8807        clientContext: *mut CFNetServiceClientContext,
8808    ) -> CFNetServiceMonitorRef;
8809}
8810extern "C" {
8811    pub fn CFNetServiceMonitorInvalidate(monitor: CFNetServiceMonitorRef);
8812}
8813extern "C" {
8814    pub fn CFNetServiceMonitorStart(
8815        monitor: CFNetServiceMonitorRef,
8816        recordType: CFNetServiceMonitorType,
8817        error: *mut CFStreamError,
8818    ) -> Boolean;
8819}
8820extern "C" {
8821    pub fn CFNetServiceMonitorStop(monitor: CFNetServiceMonitorRef, error: *mut CFStreamError);
8822}
8823extern "C" {
8824    pub fn CFNetServiceMonitorScheduleWithRunLoop(
8825        monitor: CFNetServiceMonitorRef,
8826        runLoop: CFRunLoopRef,
8827        runLoopMode: CFStringRef,
8828    );
8829}
8830extern "C" {
8831    pub fn CFNetServiceMonitorUnscheduleFromRunLoop(
8832        monitor: CFNetServiceMonitorRef,
8833        runLoop: CFRunLoopRef,
8834        runLoopMode: CFStringRef,
8835    );
8836}
8837extern "C" {
8838    pub fn CFNetServiceBrowserCreate(
8839        alloc: CFAllocatorRef,
8840        clientCB: CFNetServiceBrowserClientCallBack,
8841        clientContext: *mut CFNetServiceClientContext,
8842    ) -> CFNetServiceBrowserRef;
8843}
8844extern "C" {
8845    pub fn CFNetServiceBrowserInvalidate(browser: CFNetServiceBrowserRef);
8846}
8847extern "C" {
8848    pub fn CFNetServiceBrowserSearchForDomains(
8849        browser: CFNetServiceBrowserRef,
8850        registrationDomains: Boolean,
8851        error: *mut CFStreamError,
8852    ) -> Boolean;
8853}
8854extern "C" {
8855    pub fn CFNetServiceBrowserSearchForServices(
8856        browser: CFNetServiceBrowserRef,
8857        domain: CFStringRef,
8858        serviceType: CFStringRef,
8859        error: *mut CFStreamError,
8860    ) -> Boolean;
8861}
8862extern "C" {
8863    pub fn CFNetServiceBrowserStopSearch(
8864        browser: CFNetServiceBrowserRef,
8865        error: *mut CFStreamError,
8866    );
8867}
8868extern "C" {
8869    pub fn CFNetServiceBrowserScheduleWithRunLoop(
8870        browser: CFNetServiceBrowserRef,
8871        runLoop: CFRunLoopRef,
8872        runLoopMode: CFStringRef,
8873    );
8874}
8875extern "C" {
8876    pub fn CFNetServiceBrowserUnscheduleFromRunLoop(
8877        browser: CFNetServiceBrowserRef,
8878        runLoop: CFRunLoopRef,
8879        runLoopMode: CFStringRef,
8880    );
8881}
8882extern "C" {
8883    pub fn CFNetServiceRegister(theService: CFNetServiceRef, error: *mut CFStreamError) -> Boolean;
8884}
8885extern "C" {
8886    pub fn CFNetServiceResolve(theService: CFNetServiceRef, error: *mut CFStreamError) -> Boolean;
8887}
8888extern "C" {
8889    pub static kCFStreamPropertySSLContext: CFStringRef;
8890}
8891extern "C" {
8892    pub static kCFStreamPropertySSLPeerTrust: CFStringRef;
8893}
8894extern "C" {
8895    pub static kCFStreamSSLValidatesCertificateChain: CFStringRef;
8896}
8897extern "C" {
8898    pub static kCFStreamPropertySSLSettings: CFStringRef;
8899}
8900extern "C" {
8901    pub static kCFStreamSSLLevel: CFStringRef;
8902}
8903extern "C" {
8904    pub static kCFStreamSSLPeerName: CFStringRef;
8905}
8906extern "C" {
8907    pub static kCFStreamSSLCertificates: CFStringRef;
8908}
8909extern "C" {
8910    pub static kCFStreamSSLIsServer: CFStringRef;
8911}
8912extern "C" {
8913    pub static kCFStreamNetworkServiceType: CFStringRef;
8914}
8915extern "C" {
8916    pub static kCFStreamNetworkServiceTypeVideo: CFStringRef;
8917}
8918extern "C" {
8919    pub static kCFStreamNetworkServiceTypeVoice: CFStringRef;
8920}
8921extern "C" {
8922    pub static kCFStreamNetworkServiceTypeBackground: CFStringRef;
8923}
8924extern "C" {
8925    pub static kCFStreamNetworkServiceTypeResponsiveData: CFStringRef;
8926}
8927extern "C" {
8928    pub static kCFStreamNetworkServiceTypeCallSignaling: CFStringRef;
8929}
8930extern "C" {
8931    pub static kCFStreamNetworkServiceTypeAVStreaming: CFStringRef;
8932}
8933extern "C" {
8934    pub static kCFStreamNetworkServiceTypeResponsiveAV: CFStringRef;
8935}
8936extern "C" {
8937    pub static kCFStreamNetworkServiceTypeVoIP: CFStringRef;
8938}
8939extern "C" {
8940    pub static kCFStreamPropertyNoCellular: CFStringRef;
8941}
8942extern "C" {
8943    pub static kCFStreamPropertyConnectionIsCellular: CFStringRef;
8944}
8945extern "C" {
8946    pub static kCFStreamPropertyAllowExpensiveNetworkAccess: CFStringRef;
8947}
8948extern "C" {
8949    pub static kCFStreamPropertyConnectionIsExpensive: CFStringRef;
8950}
8951extern "C" {
8952    pub static kCFStreamPropertyAllowConstrainedNetworkAccess: CFStringRef;
8953}
8954extern "C" {
8955    pub static kCFStreamErrorDomainWinSock: CFIndex;
8956}
8957pub const kCFStreamErrorSOCKSSubDomainNone: _bindgen_ty_1063 = 0;
8958pub const kCFStreamErrorSOCKSSubDomainVersionCode: _bindgen_ty_1063 = 1;
8959pub const kCFStreamErrorSOCKS4SubDomainResponse: _bindgen_ty_1063 = 2;
8960pub const kCFStreamErrorSOCKS5SubDomainUserPass: _bindgen_ty_1063 = 3;
8961pub const kCFStreamErrorSOCKS5SubDomainMethod: _bindgen_ty_1063 = 4;
8962pub const kCFStreamErrorSOCKS5SubDomainResponse: _bindgen_ty_1063 = 5;
8963pub type _bindgen_ty_1063 = ::core::ffi::c_uint;
8964pub const kCFStreamErrorSOCKS5BadResponseAddr: _bindgen_ty_1064 = 1;
8965pub const kCFStreamErrorSOCKS5BadState: _bindgen_ty_1064 = 2;
8966pub const kCFStreamErrorSOCKSUnknownClientVersion: _bindgen_ty_1064 = 3;
8967pub type _bindgen_ty_1064 = ::core::ffi::c_uint;
8968pub const kCFStreamErrorSOCKS4RequestFailed: _bindgen_ty_1065 = 91;
8969pub const kCFStreamErrorSOCKS4IdentdFailed: _bindgen_ty_1065 = 92;
8970pub const kCFStreamErrorSOCKS4IdConflict: _bindgen_ty_1065 = 93;
8971pub type _bindgen_ty_1065 = ::core::ffi::c_uint;
8972extern "C" {
8973    pub static kCFStreamPropertyProxyLocalBypass: CFStringRef;
8974}
8975extern "C" {
8976    pub static kCFStreamPropertySocketRemoteHost: CFStringRef;
8977}
8978extern "C" {
8979    pub static kCFStreamPropertySocketRemoteNetService: CFStringRef;
8980}
8981extern "C" {
8982    pub static kCFStreamPropertySocketExtendedBackgroundIdleMode: CFStringRef;
8983}
8984extern "C" {
8985    pub fn CFStreamCreatePairWithSocketToCFHost(
8986        alloc: CFAllocatorRef,
8987        host: CFHostRef,
8988        port: SInt32,
8989        readStream: *mut CFReadStreamRef,
8990        writeStream: *mut CFWriteStreamRef,
8991    );
8992}
8993extern "C" {
8994    pub fn CFStreamCreatePairWithSocketToNetService(
8995        alloc: CFAllocatorRef,
8996        service: CFNetServiceRef,
8997        readStream: *mut CFReadStreamRef,
8998        writeStream: *mut CFWriteStreamRef,
8999    );
9000}
9001extern "C" {
9002    pub static kCFStreamPropertySSLPeerCertificates: CFStringRef;
9003}
9004extern "C" {
9005    pub static kCFStreamSSLAllowsExpiredCertificates: CFStringRef;
9006}
9007extern "C" {
9008    pub static kCFStreamSSLAllowsExpiredRoots: CFStringRef;
9009}
9010extern "C" {
9011    pub static kCFStreamSSLAllowsAnyRoot: CFStringRef;
9012}
9013extern "C" {
9014    pub static kCFStreamErrorDomainFTP: SInt32;
9015}
9016extern "C" {
9017    pub static kCFStreamPropertyFTPUserName: CFStringRef;
9018}
9019extern "C" {
9020    pub static kCFStreamPropertyFTPPassword: CFStringRef;
9021}
9022extern "C" {
9023    pub static kCFStreamPropertyFTPUsePassiveMode: CFStringRef;
9024}
9025extern "C" {
9026    pub static kCFStreamPropertyFTPResourceSize: CFStringRef;
9027}
9028extern "C" {
9029    pub static kCFStreamPropertyFTPFetchResourceInfo: CFStringRef;
9030}
9031extern "C" {
9032    pub static kCFStreamPropertyFTPFileTransferOffset: CFStringRef;
9033}
9034extern "C" {
9035    pub static kCFStreamPropertyFTPAttemptPersistentConnection: CFStringRef;
9036}
9037extern "C" {
9038    pub static kCFStreamPropertyFTPProxy: CFStringRef;
9039}
9040extern "C" {
9041    pub static kCFStreamPropertyFTPProxyHost: CFStringRef;
9042}
9043extern "C" {
9044    pub static kCFStreamPropertyFTPProxyPort: CFStringRef;
9045}
9046extern "C" {
9047    pub static kCFStreamPropertyFTPProxyUser: CFStringRef;
9048}
9049extern "C" {
9050    pub static kCFStreamPropertyFTPProxyPassword: CFStringRef;
9051}
9052extern "C" {
9053    pub static kCFFTPResourceMode: CFStringRef;
9054}
9055extern "C" {
9056    pub static kCFFTPResourceName: CFStringRef;
9057}
9058extern "C" {
9059    pub static kCFFTPResourceOwner: CFStringRef;
9060}
9061extern "C" {
9062    pub static kCFFTPResourceGroup: CFStringRef;
9063}
9064extern "C" {
9065    pub static kCFFTPResourceLink: CFStringRef;
9066}
9067extern "C" {
9068    pub static kCFFTPResourceSize: CFStringRef;
9069}
9070extern "C" {
9071    pub static kCFFTPResourceType: CFStringRef;
9072}
9073extern "C" {
9074    pub static kCFFTPResourceModDate: CFStringRef;
9075}
9076extern "C" {
9077    pub fn CFReadStreamCreateWithFTPURL(alloc: CFAllocatorRef, ftpURL: CFURLRef)
9078        -> CFReadStreamRef;
9079}
9080extern "C" {
9081    pub fn CFFTPCreateParsedResourceListing(
9082        alloc: CFAllocatorRef,
9083        buffer: *const UInt8,
9084        bufferLength: CFIndex,
9085        parsed: *mut CFDictionaryRef,
9086    ) -> CFIndex;
9087}
9088extern "C" {
9089    pub fn CFWriteStreamCreateWithFTPURL(
9090        alloc: CFAllocatorRef,
9091        ftpURL: CFURLRef,
9092    ) -> CFWriteStreamRef;
9093}
9094extern "C" {
9095    pub static kCFHTTPVersion1_0: CFStringRef;
9096}
9097extern "C" {
9098    pub static kCFHTTPVersion1_1: CFStringRef;
9099}
9100extern "C" {
9101    pub static kCFHTTPVersion2_0: CFStringRef;
9102}
9103extern "C" {
9104    pub static kCFHTTPVersion3_0: CFStringRef;
9105}
9106extern "C" {
9107    pub static kCFHTTPAuthenticationSchemeBasic: CFStringRef;
9108}
9109extern "C" {
9110    pub static kCFHTTPAuthenticationSchemeDigest: CFStringRef;
9111}
9112extern "C" {
9113    pub static kCFHTTPAuthenticationSchemeNTLM: CFStringRef;
9114}
9115extern "C" {
9116    pub static kCFHTTPAuthenticationSchemeKerberos: CFStringRef;
9117}
9118extern "C" {
9119    pub static kCFHTTPAuthenticationSchemeNegotiate: CFStringRef;
9120}
9121extern "C" {
9122    pub static kCFHTTPAuthenticationSchemeNegotiate2: CFStringRef;
9123}
9124extern "C" {
9125    pub static kCFHTTPAuthenticationSchemeXMobileMeAuthToken: CFStringRef;
9126}
9127#[repr(C)]
9128#[derive(Debug, Copy, Clone)]
9129pub struct __CFHTTPMessage {
9130    _unused: [u8; 0],
9131}
9132pub type CFHTTPMessageRef = *mut __CFHTTPMessage;
9133extern "C" {
9134    pub fn CFHTTPMessageGetTypeID() -> CFTypeID;
9135}
9136extern "C" {
9137    pub fn CFHTTPMessageCreateRequest(
9138        alloc: CFAllocatorRef,
9139        requestMethod: CFStringRef,
9140        url: CFURLRef,
9141        httpVersion: CFStringRef,
9142    ) -> CFHTTPMessageRef;
9143}
9144extern "C" {
9145    pub fn CFHTTPMessageCreateResponse(
9146        alloc: CFAllocatorRef,
9147        statusCode: CFIndex,
9148        statusDescription: CFStringRef,
9149        httpVersion: CFStringRef,
9150    ) -> CFHTTPMessageRef;
9151}
9152extern "C" {
9153    pub fn CFHTTPMessageCreateEmpty(alloc: CFAllocatorRef, isRequest: Boolean) -> CFHTTPMessageRef;
9154}
9155extern "C" {
9156    pub fn CFHTTPMessageCreateCopy(
9157        alloc: CFAllocatorRef,
9158        message: CFHTTPMessageRef,
9159    ) -> CFHTTPMessageRef;
9160}
9161extern "C" {
9162    pub fn CFHTTPMessageIsRequest(message: CFHTTPMessageRef) -> Boolean;
9163}
9164extern "C" {
9165    pub fn CFHTTPMessageCopyVersion(message: CFHTTPMessageRef) -> CFStringRef;
9166}
9167extern "C" {
9168    pub fn CFHTTPMessageCopyBody(message: CFHTTPMessageRef) -> CFDataRef;
9169}
9170extern "C" {
9171    pub fn CFHTTPMessageSetBody(message: CFHTTPMessageRef, bodyData: CFDataRef);
9172}
9173extern "C" {
9174    pub fn CFHTTPMessageCopyHeaderFieldValue(
9175        message: CFHTTPMessageRef,
9176        headerField: CFStringRef,
9177    ) -> CFStringRef;
9178}
9179extern "C" {
9180    pub fn CFHTTPMessageCopyAllHeaderFields(message: CFHTTPMessageRef) -> CFDictionaryRef;
9181}
9182extern "C" {
9183    pub fn CFHTTPMessageSetHeaderFieldValue(
9184        message: CFHTTPMessageRef,
9185        headerField: CFStringRef,
9186        value: CFStringRef,
9187    );
9188}
9189extern "C" {
9190    pub fn CFHTTPMessageAppendBytes(
9191        message: CFHTTPMessageRef,
9192        newBytes: *const UInt8,
9193        numBytes: CFIndex,
9194    ) -> Boolean;
9195}
9196extern "C" {
9197    pub fn CFHTTPMessageIsHeaderComplete(message: CFHTTPMessageRef) -> Boolean;
9198}
9199extern "C" {
9200    pub fn CFHTTPMessageCopySerializedMessage(message: CFHTTPMessageRef) -> CFDataRef;
9201}
9202extern "C" {
9203    pub fn CFHTTPMessageCopyRequestURL(request: CFHTTPMessageRef) -> CFURLRef;
9204}
9205extern "C" {
9206    pub fn CFHTTPMessageCopyRequestMethod(request: CFHTTPMessageRef) -> CFStringRef;
9207}
9208extern "C" {
9209    pub fn CFHTTPMessageAddAuthentication(
9210        request: CFHTTPMessageRef,
9211        authenticationFailureResponse: CFHTTPMessageRef,
9212        username: CFStringRef,
9213        password: CFStringRef,
9214        authenticationScheme: CFStringRef,
9215        forProxy: Boolean,
9216    ) -> Boolean;
9217}
9218extern "C" {
9219    pub fn CFHTTPMessageGetResponseStatusCode(response: CFHTTPMessageRef) -> CFIndex;
9220}
9221extern "C" {
9222    pub fn CFHTTPMessageCopyResponseStatusLine(response: CFHTTPMessageRef) -> CFStringRef;
9223}
9224extern "C" {
9225    pub static kCFStreamErrorDomainHTTP: SInt32;
9226}
9227pub type CFStreamErrorHTTP = ::core::ffi::c_int;
9228pub const kCFStreamErrorHTTPParseFailure: _bindgen_ty_1067 = -1;
9229pub const kCFStreamErrorHTTPRedirectionLoop: _bindgen_ty_1067 = -2;
9230pub const kCFStreamErrorHTTPBadURL: _bindgen_ty_1067 = -3;
9231pub type _bindgen_ty_1067 = ::core::ffi::c_int;
9232extern "C" {
9233    pub static kCFStreamPropertyHTTPResponseHeader: CFStringRef;
9234}
9235extern "C" {
9236    pub static kCFStreamPropertyHTTPFinalURL: CFStringRef;
9237}
9238extern "C" {
9239    pub static kCFStreamPropertyHTTPFinalRequest: CFStringRef;
9240}
9241extern "C" {
9242    pub static kCFStreamPropertyHTTPProxy: CFStringRef;
9243}
9244extern "C" {
9245    pub static kCFStreamPropertyHTTPProxyHost: CFStringRef;
9246}
9247extern "C" {
9248    pub static kCFStreamPropertyHTTPProxyPort: CFStringRef;
9249}
9250extern "C" {
9251    pub static kCFStreamPropertyHTTPSProxyHost: CFStringRef;
9252}
9253extern "C" {
9254    pub static kCFStreamPropertyHTTPSProxyPort: CFStringRef;
9255}
9256extern "C" {
9257    pub static kCFStreamPropertyHTTPShouldAutoredirect: CFStringRef;
9258}
9259extern "C" {
9260    pub static kCFStreamPropertyHTTPAttemptPersistentConnection: CFStringRef;
9261}
9262extern "C" {
9263    pub static kCFStreamPropertyHTTPRequestBytesWrittenCount: CFStringRef;
9264}
9265extern "C" {
9266    pub fn CFReadStreamCreateForHTTPRequest(
9267        alloc: CFAllocatorRef,
9268        request: CFHTTPMessageRef,
9269    ) -> CFReadStreamRef;
9270}
9271extern "C" {
9272    pub fn CFReadStreamCreateForStreamedHTTPRequest(
9273        alloc: CFAllocatorRef,
9274        requestHeaders: CFHTTPMessageRef,
9275        requestBody: CFReadStreamRef,
9276    ) -> CFReadStreamRef;
9277}
9278#[repr(C)]
9279#[derive(Debug, Copy, Clone)]
9280pub struct _CFHTTPAuthentication {
9281    _unused: [u8; 0],
9282}
9283pub type CFHTTPAuthenticationRef = *mut _CFHTTPAuthentication;
9284pub type CFStreamErrorHTTPAuthentication = ::core::ffi::c_int;
9285pub const kCFStreamErrorHTTPAuthenticationTypeUnsupported: _bindgen_ty_1068 = -1000;
9286pub const kCFStreamErrorHTTPAuthenticationBadUserName: _bindgen_ty_1068 = -1001;
9287pub const kCFStreamErrorHTTPAuthenticationBadPassword: _bindgen_ty_1068 = -1002;
9288pub type _bindgen_ty_1068 = ::core::ffi::c_int;
9289extern "C" {
9290    pub static kCFHTTPAuthenticationUsername: CFStringRef;
9291}
9292extern "C" {
9293    pub static kCFHTTPAuthenticationPassword: CFStringRef;
9294}
9295extern "C" {
9296    pub static kCFHTTPAuthenticationAccountDomain: CFStringRef;
9297}
9298extern "C" {
9299    pub fn CFHTTPAuthenticationGetTypeID() -> CFTypeID;
9300}
9301extern "C" {
9302    pub fn CFHTTPAuthenticationCreateFromResponse(
9303        alloc: CFAllocatorRef,
9304        response: CFHTTPMessageRef,
9305    ) -> CFHTTPAuthenticationRef;
9306}
9307extern "C" {
9308    pub fn CFHTTPAuthenticationIsValid(
9309        auth: CFHTTPAuthenticationRef,
9310        error: *mut CFStreamError,
9311    ) -> Boolean;
9312}
9313extern "C" {
9314    pub fn CFHTTPAuthenticationAppliesToRequest(
9315        auth: CFHTTPAuthenticationRef,
9316        request: CFHTTPMessageRef,
9317    ) -> Boolean;
9318}
9319extern "C" {
9320    pub fn CFHTTPAuthenticationRequiresOrderedRequests(auth: CFHTTPAuthenticationRef) -> Boolean;
9321}
9322extern "C" {
9323    pub fn CFHTTPMessageApplyCredentials(
9324        request: CFHTTPMessageRef,
9325        auth: CFHTTPAuthenticationRef,
9326        username: CFStringRef,
9327        password: CFStringRef,
9328        error: *mut CFStreamError,
9329    ) -> Boolean;
9330}
9331extern "C" {
9332    pub fn CFHTTPMessageApplyCredentialDictionary(
9333        request: CFHTTPMessageRef,
9334        auth: CFHTTPAuthenticationRef,
9335        dict: CFDictionaryRef,
9336        error: *mut CFStreamError,
9337    ) -> Boolean;
9338}
9339extern "C" {
9340    pub fn CFHTTPAuthenticationCopyRealm(auth: CFHTTPAuthenticationRef) -> CFStringRef;
9341}
9342extern "C" {
9343    pub fn CFHTTPAuthenticationCopyDomains(auth: CFHTTPAuthenticationRef) -> CFArrayRef;
9344}
9345extern "C" {
9346    pub fn CFHTTPAuthenticationCopyMethod(auth: CFHTTPAuthenticationRef) -> CFStringRef;
9347}
9348extern "C" {
9349    pub fn CFHTTPAuthenticationRequiresUserNameAndPassword(
9350        auth: CFHTTPAuthenticationRef,
9351    ) -> Boolean;
9352}
9353extern "C" {
9354    pub fn CFHTTPAuthenticationRequiresAccountDomain(auth: CFHTTPAuthenticationRef) -> Boolean;
9355}
9356#[repr(C)]
9357#[derive(Debug, Copy, Clone)]
9358pub struct __CFNetDiagnostic {
9359    _unused: [u8; 0],
9360}
9361pub type CFNetDiagnosticRef = *mut __CFNetDiagnostic;
9362pub type CFNetDiagnosticStatusValues = ::core::ffi::c_int;
9363pub const kCFNetDiagnosticNoErr: _bindgen_ty_1069 = 0;
9364pub const kCFNetDiagnosticErr: _bindgen_ty_1069 = -66560;
9365pub const kCFNetDiagnosticConnectionUp: _bindgen_ty_1069 = -66559;
9366pub const kCFNetDiagnosticConnectionIndeterminate: _bindgen_ty_1069 = -66558;
9367pub const kCFNetDiagnosticConnectionDown: _bindgen_ty_1069 = -66557;
9368pub type _bindgen_ty_1069 = ::core::ffi::c_int;
9369pub type CFNetDiagnosticStatus = CFIndex;
9370extern "C" {
9371    pub fn CFNetDiagnosticCreateWithStreams(
9372        alloc: CFAllocatorRef,
9373        readStream: CFReadStreamRef,
9374        writeStream: CFWriteStreamRef,
9375    ) -> CFNetDiagnosticRef;
9376}
9377extern "C" {
9378    pub fn CFNetDiagnosticCreateWithURL(alloc: CFAllocatorRef, url: CFURLRef)
9379        -> CFNetDiagnosticRef;
9380}
9381extern "C" {
9382    pub fn CFNetDiagnosticSetName(details: CFNetDiagnosticRef, name: CFStringRef);
9383}
9384extern "C" {
9385    pub fn CFNetDiagnosticDiagnoseProblemInteractively(
9386        details: CFNetDiagnosticRef,
9387    ) -> CFNetDiagnosticStatus;
9388}
9389extern "C" {
9390    pub fn CFNetDiagnosticCopyNetworkStatusPassively(
9391        details: CFNetDiagnosticRef,
9392        description: *mut CFStringRef,
9393    ) -> CFNetDiagnosticStatus;
9394}
9395extern "C" {
9396    pub fn CFNetworkCopySystemProxySettings() -> CFDictionaryRef;
9397}
9398extern "C" {
9399    pub fn CFNetworkCopyProxiesForURL(url: CFURLRef, proxySettings: CFDictionaryRef) -> CFArrayRef;
9400}
9401pub type CFProxyAutoConfigurationResultCallback = ::core::option::Option<
9402    unsafe extern "C" fn(
9403        client: *mut ::core::ffi::c_void,
9404        proxyList: CFArrayRef,
9405        error: CFErrorRef,
9406    ),
9407>;
9408extern "C" {
9409    pub fn CFNetworkCopyProxiesForAutoConfigurationScript(
9410        proxyAutoConfigurationScript: CFStringRef,
9411        targetURL: CFURLRef,
9412        error: *mut CFErrorRef,
9413    ) -> CFArrayRef;
9414}
9415extern "C" {
9416    pub fn CFNetworkExecuteProxyAutoConfigurationScript(
9417        proxyAutoConfigurationScript: CFStringRef,
9418        targetURL: CFURLRef,
9419        cb: CFProxyAutoConfigurationResultCallback,
9420        clientContext: *mut CFStreamClientContext,
9421    ) -> CFRunLoopSourceRef;
9422}
9423extern "C" {
9424    pub fn CFNetworkExecuteProxyAutoConfigurationURL(
9425        proxyAutoConfigURL: CFURLRef,
9426        targetURL: CFURLRef,
9427        cb: CFProxyAutoConfigurationResultCallback,
9428        clientContext: *mut CFStreamClientContext,
9429    ) -> CFRunLoopSourceRef;
9430}
9431extern "C" {
9432    pub static kCFProxyTypeKey: CFStringRef;
9433}
9434extern "C" {
9435    pub static kCFProxyHostNameKey: CFStringRef;
9436}
9437extern "C" {
9438    pub static kCFProxyPortNumberKey: CFStringRef;
9439}
9440extern "C" {
9441    pub static kCFProxyAutoConfigurationURLKey: CFStringRef;
9442}
9443extern "C" {
9444    pub static kCFProxyAutoConfigurationJavaScriptKey: CFStringRef;
9445}
9446extern "C" {
9447    pub static kCFProxyUsernameKey: CFStringRef;
9448}
9449extern "C" {
9450    pub static kCFProxyPasswordKey: CFStringRef;
9451}
9452extern "C" {
9453    pub static kCFProxyTypeNone: CFStringRef;
9454}
9455extern "C" {
9456    pub static kCFProxyTypeHTTP: CFStringRef;
9457}
9458extern "C" {
9459    pub static kCFProxyTypeHTTPS: CFStringRef;
9460}
9461extern "C" {
9462    pub static kCFProxyTypeSOCKS: CFStringRef;
9463}
9464extern "C" {
9465    pub static kCFProxyTypeFTP: CFStringRef;
9466}
9467extern "C" {
9468    pub static kCFProxyTypeAutoConfigurationURL: CFStringRef;
9469}
9470extern "C" {
9471    pub static kCFProxyTypeAutoConfigurationJavaScript: CFStringRef;
9472}
9473extern "C" {
9474    pub static kCFProxyAutoConfigurationHTTPResponseKey: CFStringRef;
9475}
9476extern "C" {
9477    pub static kCFNetworkProxiesExceptionsList: CFStringRef;
9478}
9479extern "C" {
9480    pub static kCFNetworkProxiesExcludeSimpleHostnames: CFStringRef;
9481}
9482extern "C" {
9483    pub static kCFNetworkProxiesFTPEnable: CFStringRef;
9484}
9485extern "C" {
9486    pub static kCFNetworkProxiesFTPPassive: CFStringRef;
9487}
9488extern "C" {
9489    pub static kCFNetworkProxiesFTPPort: CFStringRef;
9490}
9491extern "C" {
9492    pub static kCFNetworkProxiesFTPProxy: CFStringRef;
9493}
9494extern "C" {
9495    pub static kCFNetworkProxiesGopherEnable: CFStringRef;
9496}
9497extern "C" {
9498    pub static kCFNetworkProxiesGopherPort: CFStringRef;
9499}
9500extern "C" {
9501    pub static kCFNetworkProxiesGopherProxy: CFStringRef;
9502}
9503extern "C" {
9504    pub static kCFNetworkProxiesHTTPEnable: CFStringRef;
9505}
9506extern "C" {
9507    pub static kCFNetworkProxiesHTTPPort: CFStringRef;
9508}
9509extern "C" {
9510    pub static kCFNetworkProxiesHTTPProxy: CFStringRef;
9511}
9512extern "C" {
9513    pub static kCFNetworkProxiesHTTPSEnable: CFStringRef;
9514}
9515extern "C" {
9516    pub static kCFNetworkProxiesHTTPSPort: CFStringRef;
9517}
9518extern "C" {
9519    pub static kCFNetworkProxiesHTTPSProxy: CFStringRef;
9520}
9521extern "C" {
9522    pub static kCFNetworkProxiesRTSPEnable: CFStringRef;
9523}
9524extern "C" {
9525    pub static kCFNetworkProxiesRTSPPort: CFStringRef;
9526}
9527extern "C" {
9528    pub static kCFNetworkProxiesRTSPProxy: CFStringRef;
9529}
9530extern "C" {
9531    pub static kCFNetworkProxiesSOCKSEnable: CFStringRef;
9532}
9533extern "C" {
9534    pub static kCFNetworkProxiesSOCKSPort: CFStringRef;
9535}
9536extern "C" {
9537    pub static kCFNetworkProxiesSOCKSProxy: CFStringRef;
9538}
9539extern "C" {
9540    pub static kCFNetworkProxiesProxyAutoConfigEnable: CFStringRef;
9541}
9542extern "C" {
9543    pub static kCFNetworkProxiesProxyAutoConfigURLString: CFStringRef;
9544}
9545extern "C" {
9546    pub static kCFNetworkProxiesProxyAutoConfigJavaScript: CFStringRef;
9547}
9548extern "C" {
9549    pub static kCFNetworkProxiesProxyAutoDiscoveryEnable: CFStringRef;
9550}
9551#[repr(C)]
9552#[derive(Debug, Copy, Clone)]
9553pub struct __SecCertificate {
9554    _unused: [u8; 0],
9555}
9556pub type SecCertificateRef = *mut __SecCertificate;
9557#[repr(C)]
9558#[derive(Debug, Copy, Clone)]
9559pub struct cssm_data {
9560    pub Length: usize,
9561    pub Data: *mut u8,
9562}
9563pub type SecAsn1Oid = cssm_data;
9564#[repr(C)]
9565#[derive(Debug, Copy, Clone)]
9566pub struct __SecTrust {
9567    _unused: [u8; 0],
9568}
9569pub type SecTrustRef = *mut __SecTrust;
9570pub type xpc_object_t = *mut ::core::ffi::c_void;
9571#[repr(C)]
9572#[derive(Debug, Copy, Clone)]
9573pub struct _CMSDecoder {
9574    _unused: [u8; 0],
9575}
9576pub type CMSDecoderRef = *mut _CMSDecoder;
9577extern "C" {
9578    pub fn CMSDecoderGetTypeID() -> CFTypeID;
9579}
9580pub type CMSSignerStatus = u32;
9581pub const kCMSSignerUnsigned: _bindgen_ty_1276 = 0;
9582pub const kCMSSignerValid: _bindgen_ty_1276 = 1;
9583pub const kCMSSignerNeedsDetachedContent: _bindgen_ty_1276 = 2;
9584pub const kCMSSignerInvalidSignature: _bindgen_ty_1276 = 3;
9585pub const kCMSSignerInvalidCert: _bindgen_ty_1276 = 4;
9586pub const kCMSSignerInvalidIndex: _bindgen_ty_1276 = 5;
9587pub type _bindgen_ty_1276 = ::core::ffi::c_uint;
9588extern "C" {
9589    pub fn CMSDecoderCreate(cmsDecoderOut: *mut CMSDecoderRef) -> OSStatus;
9590}
9591extern "C" {
9592    pub fn CMSDecoderUpdateMessage(
9593        cmsDecoder: CMSDecoderRef,
9594        msgBytes: *const ::core::ffi::c_void,
9595        msgBytesLen: usize,
9596    ) -> OSStatus;
9597}
9598extern "C" {
9599    pub fn CMSDecoderFinalizeMessage(cmsDecoder: CMSDecoderRef) -> OSStatus;
9600}
9601extern "C" {
9602    pub fn CMSDecoderSetDetachedContent(
9603        cmsDecoder: CMSDecoderRef,
9604        detachedContent: CFDataRef,
9605    ) -> OSStatus;
9606}
9607extern "C" {
9608    pub fn CMSDecoderCopyDetachedContent(
9609        cmsDecoder: CMSDecoderRef,
9610        detachedContentOut: *mut CFDataRef,
9611    ) -> OSStatus;
9612}
9613extern "C" {
9614    pub fn CMSDecoderSetSearchKeychain(
9615        cmsDecoder: CMSDecoderRef,
9616        keychainOrArray: CFTypeRef,
9617    ) -> OSStatus;
9618}
9619extern "C" {
9620    pub fn CMSDecoderGetNumSigners(
9621        cmsDecoder: CMSDecoderRef,
9622        numSignersOut: *mut usize,
9623    ) -> OSStatus;
9624}
9625extern "C" {
9626    pub fn CMSDecoderCopySignerStatus(
9627        cmsDecoder: CMSDecoderRef,
9628        signerIndex: usize,
9629        policyOrArray: CFTypeRef,
9630        evaluateSecTrust: Boolean,
9631        signerStatusOut: *mut CMSSignerStatus,
9632        secTrustOut: *mut SecTrustRef,
9633        certVerifyResultCodeOut: *mut OSStatus,
9634    ) -> OSStatus;
9635}
9636extern "C" {
9637    pub fn CMSDecoderCopySignerEmailAddress(
9638        cmsDecoder: CMSDecoderRef,
9639        signerIndex: usize,
9640        signerEmailAddressOut: *mut CFStringRef,
9641    ) -> OSStatus;
9642}
9643extern "C" {
9644    pub fn CMSDecoderCopySignerCert(
9645        cmsDecoder: CMSDecoderRef,
9646        signerIndex: usize,
9647        signerCertOut: *mut SecCertificateRef,
9648    ) -> OSStatus;
9649}
9650extern "C" {
9651    pub fn CMSDecoderIsContentEncrypted(
9652        cmsDecoder: CMSDecoderRef,
9653        isEncryptedOut: *mut Boolean,
9654    ) -> OSStatus;
9655}
9656extern "C" {
9657    pub fn CMSDecoderCopyEncapsulatedContentType(
9658        cmsDecoder: CMSDecoderRef,
9659        eContentTypeOut: *mut CFDataRef,
9660    ) -> OSStatus;
9661}
9662extern "C" {
9663    pub fn CMSDecoderCopyAllCerts(cmsDecoder: CMSDecoderRef, certsOut: *mut CFArrayRef)
9664        -> OSStatus;
9665}
9666extern "C" {
9667    pub fn CMSDecoderCopyContent(cmsDecoder: CMSDecoderRef, contentOut: *mut CFDataRef)
9668        -> OSStatus;
9669}
9670extern "C" {
9671    pub fn CMSDecoderCopySignerSigningTime(
9672        cmsDecoder: CMSDecoderRef,
9673        signerIndex: usize,
9674        signingTime: *mut CFAbsoluteTime,
9675    ) -> OSStatus;
9676}
9677extern "C" {
9678    pub fn CMSDecoderCopySignerTimestamp(
9679        cmsDecoder: CMSDecoderRef,
9680        signerIndex: usize,
9681        timestamp: *mut CFAbsoluteTime,
9682    ) -> OSStatus;
9683}
9684extern "C" {
9685    pub fn CMSDecoderCopySignerTimestampWithPolicy(
9686        cmsDecoder: CMSDecoderRef,
9687        timeStampPolicy: CFTypeRef,
9688        signerIndex: usize,
9689        timestamp: *mut CFAbsoluteTime,
9690    ) -> OSStatus;
9691}
9692extern "C" {
9693    pub fn CMSDecoderCopySignerTimestampCertificates(
9694        cmsDecoder: CMSDecoderRef,
9695        signerIndex: usize,
9696        certificateRefs: *mut CFArrayRef,
9697    ) -> OSStatus;
9698}
9699#[repr(C)]
9700#[derive(Debug, Copy, Clone)]
9701pub struct _CMSEncoder {
9702    _unused: [u8; 0],
9703}
9704pub type CMSEncoderRef = *mut _CMSEncoder;
9705extern "C" {
9706    pub fn CMSEncoderGetTypeID() -> CFTypeID;
9707}
9708extern "C" {
9709    pub fn CMSEncoderCreate(cmsEncoderOut: *mut CMSEncoderRef) -> OSStatus;
9710}
9711extern "C" {
9712    pub static kCMSEncoderDigestAlgorithmSHA1: CFStringRef;
9713}
9714extern "C" {
9715    pub static kCMSEncoderDigestAlgorithmSHA256: CFStringRef;
9716}
9717extern "C" {
9718    pub fn CMSEncoderSetSignerAlgorithm(
9719        cmsEncoder: CMSEncoderRef,
9720        digestAlgorithm: CFStringRef,
9721    ) -> OSStatus;
9722}
9723extern "C" {
9724    pub fn CMSEncoderAddSigners(cmsEncoder: CMSEncoderRef, signerOrArray: CFTypeRef) -> OSStatus;
9725}
9726extern "C" {
9727    pub fn CMSEncoderCopySigners(
9728        cmsEncoder: CMSEncoderRef,
9729        signersOut: *mut CFArrayRef,
9730    ) -> OSStatus;
9731}
9732extern "C" {
9733    pub fn CMSEncoderAddRecipients(
9734        cmsEncoder: CMSEncoderRef,
9735        recipientOrArray: CFTypeRef,
9736    ) -> OSStatus;
9737}
9738extern "C" {
9739    pub fn CMSEncoderCopyRecipients(
9740        cmsEncoder: CMSEncoderRef,
9741        recipientsOut: *mut CFArrayRef,
9742    ) -> OSStatus;
9743}
9744extern "C" {
9745    pub fn CMSEncoderSetHasDetachedContent(
9746        cmsEncoder: CMSEncoderRef,
9747        detachedContent: Boolean,
9748    ) -> OSStatus;
9749}
9750extern "C" {
9751    pub fn CMSEncoderGetHasDetachedContent(
9752        cmsEncoder: CMSEncoderRef,
9753        detachedContentOut: *mut Boolean,
9754    ) -> OSStatus;
9755}
9756extern "C" {
9757    pub fn CMSEncoderSetEncapsulatedContentType(
9758        cmsEncoder: CMSEncoderRef,
9759        eContentType: *const SecAsn1Oid,
9760    ) -> OSStatus;
9761}
9762extern "C" {
9763    pub fn CMSEncoderSetEncapsulatedContentTypeOID(
9764        cmsEncoder: CMSEncoderRef,
9765        eContentTypeOID: CFTypeRef,
9766    ) -> OSStatus;
9767}
9768extern "C" {
9769    pub fn CMSEncoderCopyEncapsulatedContentType(
9770        cmsEncoder: CMSEncoderRef,
9771        eContentTypeOut: *mut CFDataRef,
9772    ) -> OSStatus;
9773}
9774extern "C" {
9775    pub fn CMSEncoderAddSupportingCerts(
9776        cmsEncoder: CMSEncoderRef,
9777        certOrArray: CFTypeRef,
9778    ) -> OSStatus;
9779}
9780extern "C" {
9781    pub fn CMSEncoderCopySupportingCerts(
9782        cmsEncoder: CMSEncoderRef,
9783        certsOut: *mut CFArrayRef,
9784    ) -> OSStatus;
9785}
9786pub type CMSSignedAttributes = u32;
9787pub const kCMSAttrNone: _bindgen_ty_1277 = 0;
9788pub const kCMSAttrSmimeCapabilities: _bindgen_ty_1277 = 1;
9789pub const kCMSAttrSmimeEncryptionKeyPrefs: _bindgen_ty_1277 = 2;
9790pub const kCMSAttrSmimeMSEncryptionKeyPrefs: _bindgen_ty_1277 = 4;
9791pub const kCMSAttrSigningTime: _bindgen_ty_1277 = 8;
9792pub const kCMSAttrAppleCodesigningHashAgility: _bindgen_ty_1277 = 16;
9793pub const kCMSAttrAppleCodesigningHashAgilityV2: _bindgen_ty_1277 = 32;
9794pub const kCMSAttrAppleExpirationTime: _bindgen_ty_1277 = 64;
9795pub type _bindgen_ty_1277 = ::core::ffi::c_uint;
9796extern "C" {
9797    pub fn CMSEncoderAddSignedAttributes(
9798        cmsEncoder: CMSEncoderRef,
9799        signedAttributes: CMSSignedAttributes,
9800    ) -> OSStatus;
9801}
9802pub type CMSCertificateChainMode = u32;
9803pub const kCMSCertificateNone: _bindgen_ty_1278 = 0;
9804pub const kCMSCertificateSignerOnly: _bindgen_ty_1278 = 1;
9805pub const kCMSCertificateChain: _bindgen_ty_1278 = 2;
9806pub const kCMSCertificateChainWithRoot: _bindgen_ty_1278 = 3;
9807pub const kCMSCertificateChainWithRootOrFail: _bindgen_ty_1278 = 4;
9808pub type _bindgen_ty_1278 = ::core::ffi::c_uint;
9809extern "C" {
9810    pub fn CMSEncoderSetCertificateChainMode(
9811        cmsEncoder: CMSEncoderRef,
9812        chainMode: CMSCertificateChainMode,
9813    ) -> OSStatus;
9814}
9815extern "C" {
9816    pub fn CMSEncoderGetCertificateChainMode(
9817        cmsEncoder: CMSEncoderRef,
9818        chainModeOut: *mut CMSCertificateChainMode,
9819    ) -> OSStatus;
9820}
9821extern "C" {
9822    pub fn CMSEncoderUpdateContent(
9823        cmsEncoder: CMSEncoderRef,
9824        content: *const ::core::ffi::c_void,
9825        contentLen: usize,
9826    ) -> OSStatus;
9827}
9828extern "C" {
9829    pub fn CMSEncoderCopyEncodedContent(
9830        cmsEncoder: CMSEncoderRef,
9831        encodedContentOut: *mut CFDataRef,
9832    ) -> OSStatus;
9833}
9834extern "C" {
9835    pub fn CMSEncode(
9836        signers: CFTypeRef,
9837        recipients: CFTypeRef,
9838        eContentType: *const SecAsn1Oid,
9839        detachedContent: Boolean,
9840        signedAttributes: CMSSignedAttributes,
9841        content: *const ::core::ffi::c_void,
9842        contentLen: usize,
9843        encodedContentOut: *mut CFDataRef,
9844    ) -> OSStatus;
9845}
9846extern "C" {
9847    pub fn CMSEncodeContent(
9848        signers: CFTypeRef,
9849        recipients: CFTypeRef,
9850        eContentTypeOID: CFTypeRef,
9851        detachedContent: Boolean,
9852        signedAttributes: CMSSignedAttributes,
9853        content: *const ::core::ffi::c_void,
9854        contentLen: usize,
9855        encodedContentOut: *mut CFDataRef,
9856    ) -> OSStatus;
9857}
9858extern "C" {
9859    pub fn CMSEncoderCopySignerTimestamp(
9860        cmsEncoder: CMSEncoderRef,
9861        signerIndex: usize,
9862        timestamp: *mut CFAbsoluteTime,
9863    ) -> OSStatus;
9864}
9865extern "C" {
9866    pub fn CMSEncoderCopySignerTimestampWithPolicy(
9867        cmsEncoder: CMSEncoderRef,
9868        timeStampPolicy: CFTypeRef,
9869        signerIndex: usize,
9870        timestamp: *mut CFAbsoluteTime,
9871    ) -> OSStatus;
9872}
9873pub type ColorSyncMutableProfileRef = *mut ColorSyncProfile;
9874#[repr(C)]
9875#[derive(Debug, Copy, Clone)]
9876pub struct ColorSyncTransform {
9877    _unused: [u8; 0],
9878}
9879pub type ColorSyncTransformRef = *mut ColorSyncTransform;
9880pub const ColorSyncDataDepth_kColorSync1BitGamut: ColorSyncDataDepth = 1;
9881pub const ColorSyncDataDepth_kColorSync8BitInteger: ColorSyncDataDepth = 2;
9882pub const ColorSyncDataDepth_kColorSync16BitInteger: ColorSyncDataDepth = 3;
9883pub const ColorSyncDataDepth_kColorSync16BitFloat: ColorSyncDataDepth = 4;
9884pub const ColorSyncDataDepth_kColorSync32BitInteger: ColorSyncDataDepth = 5;
9885pub const ColorSyncDataDepth_kColorSync32BitNamedColorIndex: ColorSyncDataDepth = 6;
9886pub const ColorSyncDataDepth_kColorSync32BitFloat: ColorSyncDataDepth = 7;
9887pub const ColorSyncDataDepth_kColorSync10BitInteger: ColorSyncDataDepth = 8;
9888pub type ColorSyncDataDepth = ::core::ffi::c_uint;
9889pub type ColorSyncDataLayout = u32;
9890pub type CMMInitializeLinkProfileProc = ::core::option::Option<
9891    unsafe extern "C" fn(
9892        arg1: ColorSyncMutableProfileRef,
9893        profileInfo: CFArrayRef,
9894        options: CFDictionaryRef,
9895    ) -> bool,
9896>;
9897pub type CMMInitializeTransformProc = ::core::option::Option<
9898    unsafe extern "C" fn(
9899        arg1: ColorSyncTransformRef,
9900        profileInfo: CFArrayRef,
9901        options: CFDictionaryRef,
9902    ) -> bool,
9903>;
9904pub type CMMApplyTransformProc = ::core::option::Option<
9905    unsafe extern "C" fn(
9906        transform: ColorSyncTransformRef,
9907        width: usize,
9908        height: usize,
9909        dstPlanes: usize,
9910        dst: *mut *mut ::core::ffi::c_void,
9911        dstDepth: ColorSyncDataDepth,
9912        dstFormat: ColorSyncDataLayout,
9913        dstBytesPerRow: usize,
9914        srcPlanes: usize,
9915        src: *mut *const ::core::ffi::c_void,
9916        srcDepth: ColorSyncDataDepth,
9917        srcFormat: ColorSyncDataLayout,
9918        srcBytesPerRow: usize,
9919        options: CFDictionaryRef,
9920    ) -> bool,
9921>;
9922pub type CMMCreateTransformPropertyProc = ::core::option::Option<
9923    unsafe extern "C" fn(
9924        transform: ColorSyncTransformRef,
9925        key: CFTypeRef,
9926        options: CFDictionaryRef,
9927    ) -> CFTypeRef,
9928>;
9929extern "C" {
9930    pub static mut kCMMInitializeLinkProfileProcName: CFStringRef;
9931}
9932extern "C" {
9933    pub static mut kCMMInitializeTransformProcName: CFStringRef;
9934}
9935extern "C" {
9936    pub static mut kCMMApplyTransformProcName: CFStringRef;
9937}
9938extern "C" {
9939    pub static mut kCMMCreateTransformPropertyProcName: CFStringRef;
9940}
9941#[repr(C)]
9942#[derive(Debug, Copy, Clone)]
9943pub struct CMDateTime {
9944    pub year: UInt16,
9945    pub month: UInt16,
9946    pub dayOfTheMonth: UInt16,
9947    pub hours: UInt16,
9948    pub minutes: UInt16,
9949    pub seconds: UInt16,
9950}
9951#[repr(C, packed(2))]
9952#[derive(Debug, Copy, Clone)]
9953pub struct CMFixedXYColor {
9954    pub x: Fixed,
9955    pub y: Fixed,
9956}
9957#[repr(C, packed(2))]
9958#[derive(Debug, Copy, Clone)]
9959pub struct CMFixedXYZColor {
9960    pub X: Fixed,
9961    pub Y: Fixed,
9962    pub Z: Fixed,
9963}
9964pub type CMXYZComponent = UInt16;
9965#[repr(C)]
9966#[derive(Debug, Copy, Clone)]
9967pub struct CMXYZColor {
9968    pub X: CMXYZComponent,
9969    pub Y: CMXYZComponent,
9970    pub Z: CMXYZComponent,
9971}
9972pub type CMProfileMD5 = [::core::ffi::c_uchar; 16usize];
9973pub type CMProfileMD5Ptr = *mut CMProfileMD5;
9974#[repr(C, packed(2))]
9975#[derive(Debug, Copy, Clone)]
9976pub struct CM2Header {
9977    pub size: UInt32,
9978    pub CMMType: OSType,
9979    pub profileVersion: UInt32,
9980    pub profileClass: OSType,
9981    pub dataColorSpace: OSType,
9982    pub profileConnectionSpace: OSType,
9983    pub dateTime: CMDateTime,
9984    pub CS2profileSignature: OSType,
9985    pub platform: OSType,
9986    pub flags: UInt32,
9987    pub deviceManufacturer: OSType,
9988    pub deviceModel: UInt32,
9989    pub deviceAttributes: [UInt32; 2usize],
9990    pub renderingIntent: UInt32,
9991    pub white: CMFixedXYZColor,
9992    pub creator: OSType,
9993    pub reserved: [::core::ffi::c_char; 44usize],
9994}
9995#[repr(C, packed(2))]
9996#[derive(Debug, Copy, Clone)]
9997pub struct CM4Header {
9998    pub size: UInt32,
9999    pub CMMType: OSType,
10000    pub profileVersion: UInt32,
10001    pub profileClass: OSType,
10002    pub dataColorSpace: OSType,
10003    pub profileConnectionSpace: OSType,
10004    pub dateTime: CMDateTime,
10005    pub CS2profileSignature: OSType,
10006    pub platform: OSType,
10007    pub flags: UInt32,
10008    pub deviceManufacturer: OSType,
10009    pub deviceModel: UInt32,
10010    pub deviceAttributes: [UInt32; 2usize],
10011    pub renderingIntent: UInt32,
10012    pub white: CMFixedXYZColor,
10013    pub creator: OSType,
10014    pub digest: CMProfileMD5,
10015    pub reserved: [::core::ffi::c_char; 28usize],
10016}
10017#[repr(C, packed(2))]
10018#[derive(Debug, Copy, Clone)]
10019pub struct CMTagRecord {
10020    pub tag: OSType,
10021    pub elementOffset: UInt32,
10022    pub elementSize: UInt32,
10023}
10024#[repr(C, packed(2))]
10025#[derive(Debug, Copy, Clone)]
10026pub struct CMTagElemTable {
10027    pub count: UInt32,
10028    pub tagList: [CMTagRecord; 1usize],
10029}
10030#[repr(C)]
10031#[derive(Debug, Copy, Clone)]
10032pub struct CM2Profile {
10033    pub header: CM2Header,
10034    pub tagTable: CMTagElemTable,
10035    pub elemData: [::core::ffi::c_char; 1usize],
10036}
10037pub type CM2ProfilePtr = *mut CM2Profile;
10038pub type CM2ProfileHandle = *mut *mut CM2Profile;
10039#[repr(C, packed(2))]
10040#[derive(Debug, Copy, Clone)]
10041pub struct CMAdaptationMatrixType {
10042    pub typeDescriptor: OSType,
10043    pub reserved: UInt32,
10044    pub adaptationMatrix: [Fixed; 9usize],
10045}
10046#[repr(C, packed(2))]
10047#[derive(Debug, Copy, Clone)]
10048pub struct CMCurveType {
10049    pub typeDescriptor: OSType,
10050    pub reserved: UInt32,
10051    pub countValue: UInt32,
10052    pub data: [UInt16; 1usize],
10053}
10054#[repr(C, packed(2))]
10055#[derive(Debug, Copy, Clone)]
10056pub struct CMDataType {
10057    pub typeDescriptor: OSType,
10058    pub reserved: UInt32,
10059    pub dataFlag: UInt32,
10060    pub data: [::core::ffi::c_char; 1usize],
10061}
10062#[repr(C, packed(2))]
10063#[derive(Debug, Copy, Clone)]
10064pub struct CMDateTimeType {
10065    pub typeDescriptor: OSType,
10066    pub reserved: UInt32,
10067    pub dateTime: CMDateTime,
10068}
10069#[repr(C, packed(2))]
10070#[derive(Debug, Copy, Clone)]
10071pub struct CMLut16Type {
10072    pub typeDescriptor: OSType,
10073    pub reserved: UInt32,
10074    pub inputChannels: UInt8,
10075    pub outputChannels: UInt8,
10076    pub gridPoints: UInt8,
10077    pub reserved2: UInt8,
10078    pub matrix: [[Fixed; 3usize]; 3usize],
10079    pub inputTableEntries: UInt16,
10080    pub outputTableEntries: UInt16,
10081    pub inputTable: [UInt16; 1usize],
10082}
10083#[repr(C, packed(2))]
10084#[derive(Debug, Copy, Clone)]
10085pub struct CMLut8Type {
10086    pub typeDescriptor: OSType,
10087    pub reserved: UInt32,
10088    pub inputChannels: UInt8,
10089    pub outputChannels: UInt8,
10090    pub gridPoints: UInt8,
10091    pub reserved2: UInt8,
10092    pub matrix: [[Fixed; 3usize]; 3usize],
10093    pub inputTable: [UInt8; 1usize],
10094}
10095#[repr(C, packed(2))]
10096#[derive(Debug, Copy, Clone)]
10097pub struct CMMultiFunctLutType {
10098    pub typeDescriptor: OSType,
10099    pub reserved: UInt32,
10100    pub inputChannels: UInt8,
10101    pub outputChannels: UInt8,
10102    pub reserved2: UInt16,
10103    pub offsetBcurves: UInt32,
10104    pub offsetMatrix: UInt32,
10105    pub offsetMcurves: UInt32,
10106    pub offsetCLUT: UInt32,
10107    pub offsetAcurves: UInt32,
10108    pub data: [UInt8; 1usize],
10109}
10110pub type CMMultiFunctLutA2BType = CMMultiFunctLutType;
10111pub type CMMultiFunctLutB2AType = CMMultiFunctLutType;
10112#[repr(C)]
10113#[derive(Debug, Copy, Clone)]
10114pub struct CMMultiFunctCLUTType {
10115    pub gridPoints: [UInt8; 16usize],
10116    pub entrySize: UInt8,
10117    pub reserved: [UInt8; 3usize],
10118    pub data: [UInt8; 2usize],
10119}
10120#[repr(C, packed(2))]
10121#[derive(Debug, Copy, Clone)]
10122pub struct CMMeasurementType {
10123    pub typeDescriptor: OSType,
10124    pub reserved: UInt32,
10125    pub standardObserver: UInt32,
10126    pub backingXYZ: CMFixedXYZColor,
10127    pub geometry: UInt32,
10128    pub flare: UInt32,
10129    pub illuminant: UInt32,
10130}
10131#[repr(C, packed(2))]
10132#[derive(Debug, Copy, Clone)]
10133pub struct CMNamedColorType {
10134    pub typeDescriptor: OSType,
10135    pub reserved: UInt32,
10136    pub vendorFlag: UInt32,
10137    pub count: UInt32,
10138    pub prefixName: [UInt8; 1usize],
10139}
10140#[repr(C)]
10141#[derive(Debug, Copy, Clone)]
10142pub struct CMNamedColor2EntryType {
10143    pub rootName: [UInt8; 32usize],
10144    pub PCSColorCoords: [UInt16; 3usize],
10145    pub DeviceColorCoords: [UInt16; 1usize],
10146}
10147#[repr(C, packed(2))]
10148#[derive(Debug, Copy, Clone)]
10149pub struct CMNamedColor2Type {
10150    pub typeDescriptor: OSType,
10151    pub reserved: UInt32,
10152    pub vendorFlag: UInt32,
10153    pub count: UInt32,
10154    pub deviceChannelCount: UInt32,
10155    pub prefixName: [UInt8; 32usize],
10156    pub suffixName: [UInt8; 32usize],
10157    pub data: [::core::ffi::c_char; 1usize],
10158}
10159#[repr(C, packed(2))]
10160#[derive(Debug, Copy, Clone)]
10161pub struct CMNativeDisplayInfo {
10162    pub dataSize: UInt32,
10163    pub redPhosphor: CMFixedXYColor,
10164    pub greenPhosphor: CMFixedXYColor,
10165    pub bluePhosphor: CMFixedXYColor,
10166    pub whitePoint: CMFixedXYColor,
10167    pub redGammaValue: Fixed,
10168    pub greenGammaValue: Fixed,
10169    pub blueGammaValue: Fixed,
10170    pub gammaChannels: UInt16,
10171    pub gammaEntryCount: UInt16,
10172    pub gammaEntrySize: UInt16,
10173    pub gammaData: [::core::ffi::c_char; 1usize],
10174}
10175#[repr(C, packed(2))]
10176#[derive(Debug, Copy, Clone)]
10177pub struct CMNativeDisplayInfoType {
10178    pub typeDescriptor: OSType,
10179    pub reserved: UInt32,
10180    pub nativeDisplayInfo: CMNativeDisplayInfo,
10181}
10182#[repr(C, packed(2))]
10183#[derive(Debug, Copy, Clone)]
10184pub struct CMParametricCurveType {
10185    pub typeDescriptor: OSType,
10186    pub reserved: UInt32,
10187    pub functionType: UInt16,
10188    pub reserved2: UInt16,
10189    pub value: [Fixed; 1usize],
10190}
10191#[repr(C, packed(2))]
10192#[derive(Debug, Copy, Clone)]
10193pub struct CMTextDescriptionType {
10194    pub typeDescriptor: OSType,
10195    pub reserved: UInt32,
10196    pub ASCIICount: UInt32,
10197    pub ASCIIName: [UInt8; 2usize],
10198}
10199#[repr(C, packed(2))]
10200#[derive(Debug, Copy, Clone)]
10201pub struct CMTextType {
10202    pub typeDescriptor: OSType,
10203    pub reserved: UInt32,
10204    pub text: [UInt8; 1usize],
10205}
10206#[repr(C, packed(2))]
10207#[derive(Debug, Copy, Clone)]
10208pub struct CMUnicodeTextType {
10209    pub typeDescriptor: OSType,
10210    pub reserved: UInt32,
10211    pub text: [UniChar; 1usize],
10212}
10213#[repr(C, packed(2))]
10214#[derive(Debug, Copy, Clone)]
10215pub struct CMScreeningChannelRec {
10216    pub frequency: Fixed,
10217    pub angle: Fixed,
10218    pub spotFunction: UInt32,
10219}
10220#[repr(C, packed(2))]
10221#[derive(Debug, Copy, Clone)]
10222pub struct CMScreeningType {
10223    pub typeDescriptor: OSType,
10224    pub reserved: UInt32,
10225    pub screeningFlag: UInt32,
10226    pub channelCount: UInt32,
10227    pub channelInfo: [CMScreeningChannelRec; 1usize],
10228}
10229#[repr(C, packed(2))]
10230#[derive(Debug, Copy, Clone)]
10231pub struct CMSignatureType {
10232    pub typeDescriptor: OSType,
10233    pub reserved: UInt32,
10234    pub signature: OSType,
10235}
10236#[repr(C, packed(2))]
10237#[derive(Debug, Copy, Clone)]
10238pub struct CMS15Fixed16ArrayType {
10239    pub typeDescriptor: OSType,
10240    pub reserved: UInt32,
10241    pub value: [Fixed; 1usize],
10242}
10243#[repr(C, packed(2))]
10244#[derive(Debug, Copy, Clone)]
10245pub struct CMU16Fixed16ArrayType {
10246    pub typeDescriptor: OSType,
10247    pub reserved: UInt32,
10248    pub value: [UInt32; 1usize],
10249}
10250#[repr(C, packed(2))]
10251#[derive(Debug, Copy, Clone)]
10252pub struct CMUInt8ArrayType {
10253    pub typeDescriptor: OSType,
10254    pub reserved: UInt32,
10255    pub value: [UInt8; 1usize],
10256}
10257#[repr(C, packed(2))]
10258#[derive(Debug, Copy, Clone)]
10259pub struct CMUInt16ArrayType {
10260    pub typeDescriptor: OSType,
10261    pub reserved: UInt32,
10262    pub value: [UInt16; 1usize],
10263}
10264#[repr(C, packed(2))]
10265#[derive(Debug, Copy, Clone)]
10266pub struct CMUInt32ArrayType {
10267    pub typeDescriptor: OSType,
10268    pub reserved: UInt32,
10269    pub value: [UInt32; 1usize],
10270}
10271#[repr(C, packed(2))]
10272#[derive(Debug, Copy, Clone)]
10273pub struct CMUInt64ArrayType {
10274    pub typeDescriptor: OSType,
10275    pub reserved: UInt32,
10276    pub value: [UInt32; 1usize],
10277}
10278#[repr(C, packed(2))]
10279#[derive(Debug, Copy, Clone)]
10280pub struct CMViewingConditionsType {
10281    pub typeDescriptor: OSType,
10282    pub reserved: UInt32,
10283    pub illuminant: CMFixedXYZColor,
10284    pub surround: CMFixedXYZColor,
10285    pub stdIlluminant: UInt32,
10286}
10287#[repr(C, packed(2))]
10288#[derive(Debug, Copy, Clone)]
10289pub struct CMXYZType {
10290    pub typeDescriptor: OSType,
10291    pub reserved: UInt32,
10292    pub XYZ: [CMFixedXYZColor; 1usize],
10293}
10294#[repr(C, packed(2))]
10295#[derive(Debug, Copy, Clone)]
10296pub struct CMProfileSequenceDescType {
10297    pub typeDescriptor: OSType,
10298    pub reserved: UInt32,
10299    pub count: UInt32,
10300    pub data: [::core::ffi::c_char; 1usize],
10301}
10302#[repr(C, packed(2))]
10303#[derive(Debug, Copy, Clone)]
10304pub struct CMUcrBgType {
10305    pub typeDescriptor: OSType,
10306    pub reserved: UInt32,
10307    pub ucrCount: UInt32,
10308    pub ucrValues: [UInt16; 1usize],
10309}
10310#[repr(C, packed(2))]
10311#[derive(Debug, Copy, Clone)]
10312pub struct CMIntentCRDVMSize {
10313    pub renderingIntent: UInt32,
10314    pub VMSize: UInt32,
10315}
10316#[repr(C, packed(2))]
10317#[derive(Debug, Copy, Clone)]
10318pub struct CMPS2CRDVMSizeType {
10319    pub typeDescriptor: OSType,
10320    pub reserved: UInt32,
10321    pub count: UInt32,
10322    pub intentCRD: [CMIntentCRDVMSize; 1usize],
10323}
10324#[repr(C)]
10325#[derive(Debug, Copy, Clone)]
10326pub struct CMVideoCardGammaTable {
10327    pub channels: UInt16,
10328    pub entryCount: UInt16,
10329    pub entrySize: UInt16,
10330    pub data: [::core::ffi::c_char; 1usize],
10331}
10332#[repr(C, packed(2))]
10333#[derive(Debug, Copy, Clone)]
10334pub struct CMVideoCardGammaFormula {
10335    pub redGamma: Fixed,
10336    pub redMin: Fixed,
10337    pub redMax: Fixed,
10338    pub greenGamma: Fixed,
10339    pub greenMin: Fixed,
10340    pub greenMax: Fixed,
10341    pub blueGamma: Fixed,
10342    pub blueMin: Fixed,
10343    pub blueMax: Fixed,
10344}
10345#[repr(C, packed(2))]
10346#[derive(Copy, Clone)]
10347pub struct CMVideoCardGamma {
10348    pub tagType: UInt32,
10349    pub u: CMVideoCardGamma__bindgen_ty_1,
10350}
10351#[repr(C)]
10352#[derive(Copy, Clone)]
10353pub union CMVideoCardGamma__bindgen_ty_1 {
10354    pub table: CMVideoCardGammaTable,
10355    pub formula: CMVideoCardGammaFormula,
10356}
10357#[repr(C, packed(2))]
10358#[derive(Copy, Clone)]
10359pub struct CMVideoCardGammaType {
10360    pub typeDescriptor: OSType,
10361    pub reserved: UInt32,
10362    pub gamma: CMVideoCardGamma,
10363}
10364#[repr(C, packed(2))]
10365#[derive(Debug, Copy, Clone)]
10366pub struct CMMakeAndModel {
10367    pub manufacturer: OSType,
10368    pub model: UInt32,
10369    pub serialNumber: UInt32,
10370    pub manufactureDate: UInt32,
10371    pub reserved1: UInt32,
10372    pub reserved2: UInt32,
10373    pub reserved3: UInt32,
10374    pub reserved4: UInt32,
10375}
10376#[repr(C, packed(2))]
10377#[derive(Debug, Copy, Clone)]
10378pub struct CMMakeAndModelType {
10379    pub typeDescriptor: OSType,
10380    pub reserved: UInt32,
10381    pub makeAndModel: CMMakeAndModel,
10382}
10383#[repr(C, packed(2))]
10384#[derive(Debug, Copy, Clone)]
10385pub struct CMMultiLocalizedUniCodeEntryRec {
10386    pub languageCode: [::core::ffi::c_char; 2usize],
10387    pub regionCode: [::core::ffi::c_char; 2usize],
10388    pub textLength: UInt32,
10389    pub textOffset: UInt32,
10390}
10391#[repr(C, packed(2))]
10392#[derive(Debug, Copy, Clone)]
10393pub struct CMMultiLocalizedUniCodeType {
10394    pub typeDescriptor: OSType,
10395    pub reserved: UInt32,
10396    pub entryCount: UInt32,
10397    pub entrySize: UInt32,
10398}
10399#[repr(C)]
10400#[derive(Debug, Copy, Clone)]
10401pub struct OpaqueCMProfileRef {
10402    _unused: [u8; 0],
10403}
10404pub type CMProfileRef = *mut OpaqueCMProfileRef;
10405#[repr(C)]
10406#[derive(Debug, Copy, Clone)]
10407pub struct OpaqueCMWorldRef {
10408    _unused: [u8; 0],
10409}
10410pub type CMWorldRef = *mut OpaqueCMWorldRef;
10411pub type CMDisplayIDType = UInt32;
10412pub type CMChromaticAdaptation = UInt32;
10413pub type CMFlattenProcPtr = ::core::option::Option<
10414    unsafe extern "C" fn(
10415        command: SInt32,
10416        size: *mut ::core::ffi::c_long,
10417        data: *mut ::core::ffi::c_void,
10418        refCon: *mut ::core::ffi::c_void,
10419    ) -> OSErr,
10420>;
10421pub type CMFlattenUPP = CMFlattenProcPtr;
10422pub type CMBitmapCallBackProcPtr = ::core::option::Option<
10423    unsafe extern "C" fn(progress: SInt32, refCon: *mut ::core::ffi::c_void) -> Boolean,
10424>;
10425pub type CMBitmapCallBackUPP = CMBitmapCallBackProcPtr;
10426pub type CMConcatCallBackProcPtr = ::core::option::Option<
10427    unsafe extern "C" fn(progress: SInt32, refCon: *mut ::core::ffi::c_void) -> Boolean,
10428>;
10429pub type CMConcatCallBackUPP = CMConcatCallBackProcPtr;
10430#[repr(C)]
10431#[derive(Copy, Clone)]
10432pub union CMAppleProfileHeader {
10433    pub cm2: CM2Header,
10434    pub cm4: CM4Header,
10435}
10436#[repr(C)]
10437#[derive(Debug, Copy, Clone)]
10438pub struct CMConcatProfileSet {
10439    pub keyIndex: UInt16,
10440    pub count: UInt16,
10441    pub profileSet: [CMProfileRef; 1usize],
10442}
10443#[repr(C)]
10444#[derive(Debug, Copy, Clone)]
10445pub struct CMRGBColor {
10446    pub red: UInt16,
10447    pub green: UInt16,
10448    pub blue: UInt16,
10449}
10450#[repr(C)]
10451#[derive(Debug, Copy, Clone)]
10452pub struct CMCMYKColor {
10453    pub cyan: UInt16,
10454    pub magenta: UInt16,
10455    pub yellow: UInt16,
10456    pub black: UInt16,
10457}
10458#[repr(C)]
10459#[derive(Debug, Copy, Clone)]
10460pub struct CMCMYColor {
10461    pub cyan: UInt16,
10462    pub magenta: UInt16,
10463    pub yellow: UInt16,
10464}
10465#[repr(C)]
10466#[derive(Debug, Copy, Clone)]
10467pub struct CMHLSColor {
10468    pub hue: UInt16,
10469    pub lightness: UInt16,
10470    pub saturation: UInt16,
10471}
10472#[repr(C)]
10473#[derive(Debug, Copy, Clone)]
10474pub struct CMHSVColor {
10475    pub hue: UInt16,
10476    pub saturation: UInt16,
10477    pub value: UInt16,
10478}
10479#[repr(C)]
10480#[derive(Debug, Copy, Clone)]
10481pub struct CMLabColor {
10482    pub L: UInt16,
10483    pub a: UInt16,
10484    pub b: UInt16,
10485}
10486#[repr(C)]
10487#[derive(Debug, Copy, Clone)]
10488pub struct CMLuvColor {
10489    pub L: UInt16,
10490    pub u: UInt16,
10491    pub v: UInt16,
10492}
10493#[repr(C)]
10494#[derive(Debug, Copy, Clone)]
10495pub struct CMYxyColor {
10496    pub capY: UInt16,
10497    pub x: UInt16,
10498    pub y: UInt16,
10499}
10500#[repr(C)]
10501#[derive(Debug, Copy, Clone)]
10502pub struct CMGrayColor {
10503    pub gray: UInt16,
10504}
10505#[repr(C)]
10506#[derive(Debug, Copy, Clone)]
10507pub struct CMMultichannel5Color {
10508    pub components: [UInt8; 5usize],
10509}
10510#[repr(C)]
10511#[derive(Debug, Copy, Clone)]
10512pub struct CMMultichannel6Color {
10513    pub components: [UInt8; 6usize],
10514}
10515#[repr(C)]
10516#[derive(Debug, Copy, Clone)]
10517pub struct CMMultichannel7Color {
10518    pub components: [UInt8; 7usize],
10519}
10520#[repr(C)]
10521#[derive(Debug, Copy, Clone)]
10522pub struct CMMultichannel8Color {
10523    pub components: [UInt8; 8usize],
10524}
10525#[repr(C)]
10526#[derive(Debug, Copy, Clone)]
10527pub struct CMNamedColor {
10528    pub namedColorIndex: UInt32,
10529}
10530#[repr(C)]
10531#[derive(Copy, Clone)]
10532pub union CMColor {
10533    pub rgb: CMRGBColor,
10534    pub hsv: CMHSVColor,
10535    pub hls: CMHLSColor,
10536    pub XYZ: CMXYZColor,
10537    pub Lab: CMLabColor,
10538    pub Luv: CMLuvColor,
10539    pub Yxy: CMYxyColor,
10540    pub cmyk: CMCMYKColor,
10541    pub cmy: CMCMYColor,
10542    pub gray: CMGrayColor,
10543    pub mc5: CMMultichannel5Color,
10544    pub mc6: CMMultichannel6Color,
10545    pub mc7: CMMultichannel7Color,
10546    pub mc8: CMMultichannel8Color,
10547    pub namedColor: CMNamedColor,
10548}
10549#[repr(C)]
10550#[derive(Debug, Copy, Clone)]
10551pub struct CMMInfo {
10552    pub dataSize: usize,
10553    pub CMMType: OSType,
10554    pub CMMMfr: OSType,
10555    pub CMMVersion: UInt32,
10556    pub ASCIIName: [::core::ffi::c_uchar; 32usize],
10557    pub ASCIIDesc: [::core::ffi::c_uchar; 256usize],
10558    pub UniCodeNameCount: UniCharCount,
10559    pub UniCodeName: [UniChar; 32usize],
10560    pub UniCodeDescCount: UniCharCount,
10561    pub UniCodeDesc: [UniChar; 256usize],
10562}
10563pub type CMBitmapColorSpace = UInt32;
10564#[repr(C)]
10565#[derive(Debug, Copy, Clone)]
10566pub struct CMBitmap {
10567    pub image: *mut ::core::ffi::c_char,
10568    pub width: usize,
10569    pub height: usize,
10570    pub rowBytes: usize,
10571    pub pixelSize: usize,
10572    pub space: CMBitmapColorSpace,
10573    pub user1: UInt32,
10574    pub user2: UInt32,
10575}
10576#[repr(C)]
10577#[derive(Debug, Copy, Clone)]
10578pub struct CMHandleLocation {
10579    pub h: Handle,
10580}
10581#[repr(C)]
10582#[derive(Debug, Copy, Clone)]
10583pub struct CMPathLocation {
10584    pub path: [::core::ffi::c_char; 1024usize],
10585}
10586#[repr(C)]
10587#[derive(Debug, Copy, Clone)]
10588pub struct CMBufferLocation {
10589    pub buffer: *mut ::core::ffi::c_void,
10590    pub size: UInt32,
10591}
10592#[repr(C)]
10593#[derive(Copy, Clone)]
10594pub union CMProfLoc {
10595    pub handleLoc: CMHandleLocation,
10596    pub pathLoc: CMPathLocation,
10597    pub bufferLoc: CMBufferLocation,
10598}
10599#[repr(C)]
10600#[derive(Copy, Clone)]
10601pub struct CMProfileLocation {
10602    pub locType: ::core::ffi::c_short,
10603    pub u: CMProfLoc,
10604}
10605#[repr(C)]
10606#[derive(Copy, Clone)]
10607pub struct CMProfileIterateData {
10608    pub dataVersion: UInt32,
10609    pub header: CM2Header,
10610    pub code: ScriptCode,
10611    pub name: Str255,
10612    pub location: CMProfileLocation,
10613    pub uniCodeNameCount: UniCharCount,
10614    pub uniCodeName: *mut UniChar,
10615    pub asciiName: *mut ::core::ffi::c_uchar,
10616    pub makeAndModel: *mut CMMakeAndModel,
10617    pub digest: *mut CMProfileMD5,
10618}
10619pub type CMProfileIterateProcPtr = ::core::option::Option<
10620    unsafe extern "C" fn(
10621        iterateData: *mut CMProfileIterateData,
10622        refCon: *mut ::core::ffi::c_void,
10623    ) -> OSErr,
10624>;
10625pub type CMProfileIterateUPP = CMProfileIterateProcPtr;
10626pub type CMMIterateProcPtr = ::core::option::Option<
10627    unsafe extern "C" fn(iterateData: *mut CMMInfo, refCon: *mut ::core::ffi::c_void) -> OSErr,
10628>;
10629pub type CMMIterateUPP = CMMIterateProcPtr;
10630pub type CMLabToLabProcPtr = ::core::option::Option<
10631    unsafe extern "C" fn(L: *mut f32, a: *mut f32, b: *mut f32, refcon: *mut ::core::ffi::c_void),
10632>;
10633pub const CMFloatBitmapFlags_kCMFloatBitmapFlagsNone: CMFloatBitmapFlags = 0;
10634pub const CMFloatBitmapFlags_kCMFloatBitmapFlagsAlpha: CMFloatBitmapFlags = 1;
10635pub const CMFloatBitmapFlags_kCMFloatBitmapFlagsAlphaPremul: CMFloatBitmapFlags = 2;
10636pub const CMFloatBitmapFlags_kCMFloatBitmapFlagsRangeClipped: CMFloatBitmapFlags = 4;
10637pub type CMFloatBitmapFlags = ::core::ffi::c_uint;
10638#[repr(C)]
10639#[derive(Debug, Copy, Clone)]
10640pub struct CMFloatBitmap {
10641    pub version: ::core::ffi::c_ulong,
10642    pub buffers: [*mut f32; 16usize],
10643    pub height: usize,
10644    pub width: usize,
10645    pub rowStride: isize,
10646    pub colStride: isize,
10647    pub space: OSType,
10648    pub flags: CMFloatBitmapFlags,
10649}
10650pub type CMDeviceState = UInt32;
10651pub type CMDeviceID = UInt32;
10652pub type CMDeviceProfileID = UInt32;
10653pub type CMDeviceClass = OSType;
10654#[repr(C)]
10655#[derive(Debug, Copy, Clone)]
10656pub struct CMDeviceScope {
10657    pub deviceUser: CFStringRef,
10658    pub deviceHost: CFStringRef,
10659}
10660pub type CMDeviceProfileScope = CMDeviceScope;
10661#[repr(C)]
10662#[derive(Debug, Copy, Clone)]
10663pub struct CMDeviceInfo {
10664    pub dataVersion: UInt32,
10665    pub deviceClass: CMDeviceClass,
10666    pub deviceID: CMDeviceID,
10667    pub deviceScope: CMDeviceScope,
10668    pub deviceState: CMDeviceState,
10669    pub defaultProfileID: CMDeviceProfileID,
10670    pub deviceName: *mut CFDictionaryRef,
10671    pub profileCount: UInt32,
10672    pub reserved: UInt32,
10673}
10674pub type CMDeviceInfoPtr = *mut CMDeviceInfo;
10675#[repr(C)]
10676#[derive(Copy, Clone)]
10677pub struct CMDeviceProfileInfo {
10678    pub dataVersion: UInt32,
10679    pub profileID: CMDeviceProfileID,
10680    pub profileLoc: CMProfileLocation,
10681    pub profileName: CFDictionaryRef,
10682    pub reserved: UInt32,
10683}
10684#[repr(C)]
10685#[derive(Copy, Clone)]
10686pub struct NCMDeviceProfileInfo {
10687    pub dataVersion: UInt32,
10688    pub profileID: CMDeviceProfileID,
10689    pub profileLoc: CMProfileLocation,
10690    pub profileName: CFDictionaryRef,
10691    pub profileScope: CMDeviceProfileScope,
10692    pub reserved: UInt32,
10693}
10694#[repr(C)]
10695#[derive(Copy, Clone)]
10696pub struct CMDeviceProfileArray {
10697    pub profileCount: UInt32,
10698    pub profiles: [CMDeviceProfileInfo; 1usize],
10699}
10700pub type CMDeviceProfileArrayPtr = *mut CMDeviceProfileArray;
10701pub type CMIterateDeviceInfoProcPtr = ::core::option::Option<
10702    unsafe extern "C" fn(
10703        deviceInfo: *const CMDeviceInfo,
10704        refCon: *mut ::core::ffi::c_void,
10705    ) -> OSErr,
10706>;
10707pub type CMIterateDeviceProfileProcPtr = ::core::option::Option<
10708    unsafe extern "C" fn(
10709        deviceInfo: *const CMDeviceInfo,
10710        profileInfo: *const NCMDeviceProfileInfo,
10711        refCon: *mut ::core::ffi::c_void,
10712    ) -> OSErr,
10713>;
10714extern "C" {
10715    pub static mut kCFErrorDomainCGImageMetadata: CFStringRef;
10716}
10717extern "C" {
10718    pub static mut kCVImageBufferCGColorSpaceKey: CFStringRef;
10719}
10720extern "C" {
10721    pub static mut kCVImageBufferCleanApertureKey: CFStringRef;
10722}
10723extern "C" {
10724    pub static mut kCVImageBufferCleanApertureWidthKey: CFStringRef;
10725}
10726extern "C" {
10727    pub static mut kCVImageBufferCleanApertureHeightKey: CFStringRef;
10728}
10729extern "C" {
10730    pub static mut kCVImageBufferCleanApertureHorizontalOffsetKey: CFStringRef;
10731}
10732extern "C" {
10733    pub static mut kCVImageBufferCleanApertureVerticalOffsetKey: CFStringRef;
10734}
10735extern "C" {
10736    pub static mut kCVImageBufferPreferredCleanApertureKey: CFStringRef;
10737}
10738extern "C" {
10739    pub static mut kCVImageBufferFieldCountKey: CFStringRef;
10740}
10741extern "C" {
10742    pub static mut kCVImageBufferFieldDetailKey: CFStringRef;
10743}
10744extern "C" {
10745    pub static mut kCVImageBufferFieldDetailTemporalTopFirst: CFStringRef;
10746}
10747extern "C" {
10748    pub static mut kCVImageBufferFieldDetailTemporalBottomFirst: CFStringRef;
10749}
10750extern "C" {
10751    pub static mut kCVImageBufferFieldDetailSpatialFirstLineEarly: CFStringRef;
10752}
10753extern "C" {
10754    pub static mut kCVImageBufferFieldDetailSpatialFirstLineLate: CFStringRef;
10755}
10756extern "C" {
10757    pub static mut kCVImageBufferPixelAspectRatioKey: CFStringRef;
10758}
10759extern "C" {
10760    pub static mut kCVImageBufferPixelAspectRatioHorizontalSpacingKey: CFStringRef;
10761}
10762extern "C" {
10763    pub static mut kCVImageBufferPixelAspectRatioVerticalSpacingKey: CFStringRef;
10764}
10765extern "C" {
10766    pub static mut kCVImageBufferDisplayDimensionsKey: CFStringRef;
10767}
10768extern "C" {
10769    pub static mut kCVImageBufferDisplayWidthKey: CFStringRef;
10770}
10771extern "C" {
10772    pub static mut kCVImageBufferDisplayHeightKey: CFStringRef;
10773}
10774extern "C" {
10775    pub static mut kCVImageBufferGammaLevelKey: CFStringRef;
10776}
10777extern "C" {
10778    pub static mut kCVImageBufferICCProfileKey: CFStringRef;
10779}
10780extern "C" {
10781    pub static mut kCVImageBufferYCbCrMatrixKey: CFStringRef;
10782}
10783extern "C" {
10784    pub static mut kCVImageBufferYCbCrMatrix_ITU_R_709_2: CFStringRef;
10785}
10786extern "C" {
10787    pub static mut kCVImageBufferYCbCrMatrix_ITU_R_601_4: CFStringRef;
10788}
10789extern "C" {
10790    pub static mut kCVImageBufferYCbCrMatrix_SMPTE_240M_1995: CFStringRef;
10791}
10792extern "C" {
10793    pub static mut kCVImageBufferYCbCrMatrix_DCI_P3: CFStringRef;
10794}
10795extern "C" {
10796    pub static mut kCVImageBufferYCbCrMatrix_P3_D65: CFStringRef;
10797}
10798extern "C" {
10799    pub static mut kCVImageBufferYCbCrMatrix_ITU_R_2020: CFStringRef;
10800}
10801extern "C" {
10802    pub static mut kCVImageBufferColorPrimariesKey: CFStringRef;
10803}
10804extern "C" {
10805    pub static mut kCVImageBufferColorPrimaries_ITU_R_709_2: CFStringRef;
10806}
10807extern "C" {
10808    pub static mut kCVImageBufferColorPrimaries_EBU_3213: CFStringRef;
10809}
10810extern "C" {
10811    pub static mut kCVImageBufferColorPrimaries_SMPTE_C: CFStringRef;
10812}
10813extern "C" {
10814    pub static mut kCVImageBufferColorPrimaries_P22: CFStringRef;
10815}
10816extern "C" {
10817    pub static mut kCVImageBufferColorPrimaries_DCI_P3: CFStringRef;
10818}
10819extern "C" {
10820    pub static mut kCVImageBufferColorPrimaries_P3_D65: CFStringRef;
10821}
10822extern "C" {
10823    pub static mut kCVImageBufferColorPrimaries_ITU_R_2020: CFStringRef;
10824}
10825extern "C" {
10826    pub static mut kCVImageBufferTransferFunctionKey: CFStringRef;
10827}
10828extern "C" {
10829    pub static mut kCVImageBufferTransferFunction_ITU_R_709_2: CFStringRef;
10830}
10831extern "C" {
10832    pub static mut kCVImageBufferTransferFunction_SMPTE_240M_1995: CFStringRef;
10833}
10834extern "C" {
10835    pub static mut kCVImageBufferTransferFunction_UseGamma: CFStringRef;
10836}
10837extern "C" {
10838    pub static mut kCVImageBufferTransferFunction_EBU_3213: CFStringRef;
10839}
10840extern "C" {
10841    pub static mut kCVImageBufferTransferFunction_SMPTE_C: CFStringRef;
10842}
10843extern "C" {
10844    pub static mut kCVImageBufferTransferFunction_sRGB: CFStringRef;
10845}
10846extern "C" {
10847    pub static mut kCVImageBufferTransferFunction_ITU_R_2020: CFStringRef;
10848}
10849extern "C" {
10850    pub static mut kCVImageBufferTransferFunction_SMPTE_ST_428_1: CFStringRef;
10851}
10852extern "C" {
10853    pub static mut kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ: CFStringRef;
10854}
10855extern "C" {
10856    pub static mut kCVImageBufferTransferFunction_ITU_R_2100_HLG: CFStringRef;
10857}
10858extern "C" {
10859    pub static mut kCVImageBufferTransferFunction_Linear: CFStringRef;
10860}
10861extern "C" {
10862    pub static mut kCVImageBufferChromaLocationTopFieldKey: CFStringRef;
10863}
10864extern "C" {
10865    pub static mut kCVImageBufferChromaLocationBottomFieldKey: CFStringRef;
10866}
10867extern "C" {
10868    pub static mut kCVImageBufferChromaLocation_Left: CFStringRef;
10869}
10870extern "C" {
10871    pub static mut kCVImageBufferChromaLocation_Center: CFStringRef;
10872}
10873extern "C" {
10874    pub static mut kCVImageBufferChromaLocation_TopLeft: CFStringRef;
10875}
10876extern "C" {
10877    pub static mut kCVImageBufferChromaLocation_Top: CFStringRef;
10878}
10879extern "C" {
10880    pub static mut kCVImageBufferChromaLocation_BottomLeft: CFStringRef;
10881}
10882extern "C" {
10883    pub static mut kCVImageBufferChromaLocation_Bottom: CFStringRef;
10884}
10885extern "C" {
10886    pub static mut kCVImageBufferChromaLocation_DV420: CFStringRef;
10887}
10888extern "C" {
10889    pub static mut kCVImageBufferChromaSubsamplingKey: CFStringRef;
10890}
10891extern "C" {
10892    pub static mut kCVImageBufferChromaSubsampling_420: CFStringRef;
10893}
10894extern "C" {
10895    pub static mut kCVImageBufferChromaSubsampling_422: CFStringRef;
10896}
10897extern "C" {
10898    pub static mut kCVImageBufferChromaSubsampling_411: CFStringRef;
10899}
10900extern "C" {
10901    pub static mut kCVImageBufferAlphaChannelIsOpaque: CFStringRef;
10902}
10903extern "C" {
10904    pub static mut kCVImageBufferAlphaChannelModeKey: CFStringRef;
10905}
10906extern "C" {
10907    pub static mut kCVImageBufferAlphaChannelMode_StraightAlpha: CFStringRef;
10908}
10909extern "C" {
10910    pub static mut kCVImageBufferAlphaChannelMode_PremultipliedAlpha: CFStringRef;
10911}
10912extern "C" {
10913    pub static mut kCVImageBufferPostDecodeProcessingSequenceMetadataKey: CFStringRef;
10914}
10915extern "C" {
10916    pub static mut kCVImageBufferPostDecodeProcessingFrameMetadataKey: CFStringRef;
10917}
10918extern "C" {
10919    pub fn CVYCbCrMatrixGetIntegerCodePointForString(
10920        yCbCrMatrixString: CFStringRef,
10921    ) -> ::core::ffi::c_int;
10922}
10923extern "C" {
10924    pub fn CVColorPrimariesGetIntegerCodePointForString(
10925        colorPrimariesString: CFStringRef,
10926    ) -> ::core::ffi::c_int;
10927}
10928extern "C" {
10929    pub fn CVTransferFunctionGetIntegerCodePointForString(
10930        transferFunctionString: CFStringRef,
10931    ) -> ::core::ffi::c_int;
10932}
10933extern "C" {
10934    pub fn CVYCbCrMatrixGetStringForIntegerCodePoint(
10935        yCbCrMatrixCodePoint: ::core::ffi::c_int,
10936    ) -> CFStringRef;
10937}
10938extern "C" {
10939    pub fn CVColorPrimariesGetStringForIntegerCodePoint(
10940        colorPrimariesCodePoint: ::core::ffi::c_int,
10941    ) -> CFStringRef;
10942}
10943extern "C" {
10944    pub fn CVTransferFunctionGetStringForIntegerCodePoint(
10945        transferFunctionCodePoint: ::core::ffi::c_int,
10946    ) -> CFStringRef;
10947}
10948pub type CVImageBufferRef = CVBufferRef;
10949extern "C" {
10950    pub fn CVImageBufferGetEncodedSize(imageBuffer: CVImageBufferRef) -> CGSize;
10951}
10952extern "C" {
10953    pub fn CVImageBufferGetDisplaySize(imageBuffer: CVImageBufferRef) -> CGSize;
10954}
10955extern "C" {
10956    pub fn CVImageBufferGetCleanRect(imageBuffer: CVImageBufferRef) -> CGRect;
10957}
10958extern "C" {
10959    pub fn CVImageBufferIsFlipped(imageBuffer: CVImageBufferRef) -> Boolean;
10960}
10961extern "C" {
10962    pub fn CVImageBufferGetColorSpace(imageBuffer: CVImageBufferRef) -> CGColorSpaceRef;
10963}
10964extern "C" {
10965    pub fn CVImageBufferCreateColorSpaceFromAttachments(
10966        attachments: CFDictionaryRef,
10967    ) -> CGColorSpaceRef;
10968}
10969extern "C" {
10970    pub static mut kCVImageBufferMasteringDisplayColorVolumeKey: CFStringRef;
10971}
10972extern "C" {
10973    pub static mut kCVImageBufferContentLightLevelInfoKey: CFStringRef;
10974}
10975extern "C" {
10976    pub static mut kCVImageBufferAmbientViewingEnvironmentKey: CFStringRef;
10977}
10978extern "C" {
10979    pub static mut kCVImageBufferSceneIlluminationKey: CFStringRef;
10980}
10981extern "C" {
10982    pub static mut kCVImageBufferRegionOfInterestKey: CFStringRef;
10983}
10984extern "C" {
10985    pub static mut kCVImageBufferLogTransferFunctionKey: CFStringRef;
10986}
10987extern "C" {
10988    pub static mut kCVImageBufferLogTransferFunction_AppleLog: CFStringRef;
10989}
10990extern "C" {
10991    pub static mut kCVImageBufferLogTransferFunction_AppleLog2: CFStringRef;
10992}
10993extern "C" {
10994    pub static mut kCVImageBufferDisplayMaskRectangleKey: CFStringRef;
10995}
10996extern "C" {
10997    pub static mut kCVImageBufferDisplayMaskRectangle_ReferenceRasterWidthKey: CFStringRef;
10998}
10999extern "C" {
11000    pub static mut kCVImageBufferDisplayMaskRectangle_ReferenceRasterHeightKey: CFStringRef;
11001}
11002extern "C" {
11003    pub static mut kCVImageBufferDisplayMaskRectangle_RectangleLeftKey: CFStringRef;
11004}
11005extern "C" {
11006    pub static mut kCVImageBufferDisplayMaskRectangle_RectangleWidthKey: CFStringRef;
11007}
11008extern "C" {
11009    pub static mut kCVImageBufferDisplayMaskRectangle_RectangleTopKey: CFStringRef;
11010}
11011extern "C" {
11012    pub static mut kCVImageBufferDisplayMaskRectangle_RectangleHeightKey: CFStringRef;
11013}
11014extern "C" {
11015    pub static mut kCVImageBufferDisplayMaskRectangleStereoLeftKey: CFStringRef;
11016}
11017extern "C" {
11018    pub static mut kCVImageBufferDisplayMaskRectangleStereoRightKey: CFStringRef;
11019}
11020extern "C" {
11021    pub static mut kCVImageBufferDisplayMaskRectangle_LeftEdgePointsKey: CFStringRef;
11022}
11023extern "C" {
11024    pub static mut kCVImageBufferDisplayMaskRectangle_RightEdgePointsKey: CFStringRef;
11025}
11026pub const kCVPixelFormatType_1Monochrome: _bindgen_ty_1661 = 1;
11027pub const kCVPixelFormatType_2Indexed: _bindgen_ty_1661 = 2;
11028pub const kCVPixelFormatType_4Indexed: _bindgen_ty_1661 = 4;
11029pub const kCVPixelFormatType_8Indexed: _bindgen_ty_1661 = 8;
11030pub const kCVPixelFormatType_1IndexedGray_WhiteIsZero: _bindgen_ty_1661 = 33;
11031pub const kCVPixelFormatType_2IndexedGray_WhiteIsZero: _bindgen_ty_1661 = 34;
11032pub const kCVPixelFormatType_4IndexedGray_WhiteIsZero: _bindgen_ty_1661 = 36;
11033pub const kCVPixelFormatType_8IndexedGray_WhiteIsZero: _bindgen_ty_1661 = 40;
11034pub const kCVPixelFormatType_16BE555: _bindgen_ty_1661 = 16;
11035pub const kCVPixelFormatType_16LE555: _bindgen_ty_1661 = 1278555445;
11036pub const kCVPixelFormatType_16LE5551: _bindgen_ty_1661 = 892679473;
11037pub const kCVPixelFormatType_16BE565: _bindgen_ty_1661 = 1110783541;
11038pub const kCVPixelFormatType_16LE565: _bindgen_ty_1661 = 1278555701;
11039pub const kCVPixelFormatType_24RGB: _bindgen_ty_1661 = 24;
11040pub const kCVPixelFormatType_24BGR: _bindgen_ty_1661 = 842285639;
11041pub const kCVPixelFormatType_32ARGB: _bindgen_ty_1661 = 32;
11042pub const kCVPixelFormatType_32BGRA: _bindgen_ty_1661 = 1111970369;
11043pub const kCVPixelFormatType_32ABGR: _bindgen_ty_1661 = 1094862674;
11044pub const kCVPixelFormatType_32RGBA: _bindgen_ty_1661 = 1380401729;
11045pub const kCVPixelFormatType_64ARGB: _bindgen_ty_1661 = 1647719521;
11046pub const kCVPixelFormatType_64RGBALE: _bindgen_ty_1661 = 1815491698;
11047pub const kCVPixelFormatType_48RGB: _bindgen_ty_1661 = 1647589490;
11048pub const kCVPixelFormatType_32AlphaGray: _bindgen_ty_1661 = 1647522401;
11049pub const kCVPixelFormatType_16Gray: _bindgen_ty_1661 = 1647392359;
11050pub const kCVPixelFormatType_30RGB: _bindgen_ty_1661 = 1378955371;
11051pub const kCVPixelFormatType_30RGB_r210: _bindgen_ty_1661 = 1915892016;
11052pub const kCVPixelFormatType_422YpCbCr8: _bindgen_ty_1661 = 846624121;
11053pub const kCVPixelFormatType_4444YpCbCrA8: _bindgen_ty_1661 = 1983131704;
11054pub const kCVPixelFormatType_4444YpCbCrA8R: _bindgen_ty_1661 = 1916022840;
11055pub const kCVPixelFormatType_4444AYpCbCr8: _bindgen_ty_1661 = 2033463352;
11056pub const kCVPixelFormatType_4444AYpCbCr16: _bindgen_ty_1661 = 2033463606;
11057pub const kCVPixelFormatType_4444AYpCbCrFloat: _bindgen_ty_1661 = 1916036716;
11058pub const kCVPixelFormatType_444YpCbCr8: _bindgen_ty_1661 = 1983066168;
11059pub const kCVPixelFormatType_422YpCbCr16: _bindgen_ty_1661 = 1983000886;
11060pub const kCVPixelFormatType_422YpCbCr10: _bindgen_ty_1661 = 1983000880;
11061pub const kCVPixelFormatType_444YpCbCr10: _bindgen_ty_1661 = 1983131952;
11062pub const kCVPixelFormatType_420YpCbCr8Planar: _bindgen_ty_1661 = 2033463856;
11063pub const kCVPixelFormatType_420YpCbCr8PlanarFullRange: _bindgen_ty_1661 = 1714696752;
11064pub const kCVPixelFormatType_422YpCbCr_4A_8BiPlanar: _bindgen_ty_1661 = 1630697081;
11065pub const kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange: _bindgen_ty_1661 = 875704438;
11066pub const kCVPixelFormatType_420YpCbCr8BiPlanarFullRange: _bindgen_ty_1661 = 875704422;
11067pub const kCVPixelFormatType_422YpCbCr8BiPlanarVideoRange: _bindgen_ty_1661 = 875704950;
11068pub const kCVPixelFormatType_422YpCbCr8BiPlanarFullRange: _bindgen_ty_1661 = 875704934;
11069pub const kCVPixelFormatType_444YpCbCr8BiPlanarVideoRange: _bindgen_ty_1661 = 875836534;
11070pub const kCVPixelFormatType_444YpCbCr8BiPlanarFullRange: _bindgen_ty_1661 = 875836518;
11071pub const kCVPixelFormatType_422YpCbCr8_yuvs: _bindgen_ty_1661 = 2037741171;
11072pub const kCVPixelFormatType_422YpCbCr8FullRange: _bindgen_ty_1661 = 2037741158;
11073pub const kCVPixelFormatType_OneComponent8: _bindgen_ty_1661 = 1278226488;
11074pub const kCVPixelFormatType_TwoComponent8: _bindgen_ty_1661 = 843264056;
11075pub const kCVPixelFormatType_30RGBLEPackedWideGamut: _bindgen_ty_1661 = 1999843442;
11076pub const kCVPixelFormatType_ARGB2101010LEPacked: _bindgen_ty_1661 = 1815162994;
11077pub const kCVPixelFormatType_40ARGBLEWideGamut: _bindgen_ty_1661 = 1999908961;
11078pub const kCVPixelFormatType_40ARGBLEWideGamutPremultiplied: _bindgen_ty_1661 = 1999908973;
11079pub const kCVPixelFormatType_OneComponent10: _bindgen_ty_1661 = 1278226736;
11080pub const kCVPixelFormatType_OneComponent12: _bindgen_ty_1661 = 1278226738;
11081pub const kCVPixelFormatType_OneComponent16: _bindgen_ty_1661 = 1278226742;
11082pub const kCVPixelFormatType_TwoComponent16: _bindgen_ty_1661 = 843264310;
11083pub const kCVPixelFormatType_OneComponent16Half: _bindgen_ty_1661 = 1278226536;
11084pub const kCVPixelFormatType_OneComponent32Float: _bindgen_ty_1661 = 1278226534;
11085pub const kCVPixelFormatType_TwoComponent16Half: _bindgen_ty_1661 = 843264104;
11086pub const kCVPixelFormatType_TwoComponent32Float: _bindgen_ty_1661 = 843264102;
11087pub const kCVPixelFormatType_64RGBAHalf: _bindgen_ty_1661 = 1380411457;
11088pub const kCVPixelFormatType_128RGBAFloat: _bindgen_ty_1661 = 1380410945;
11089pub const kCVPixelFormatType_14Bayer_GRBG: _bindgen_ty_1661 = 1735549492;
11090pub const kCVPixelFormatType_14Bayer_RGGB: _bindgen_ty_1661 = 1919379252;
11091pub const kCVPixelFormatType_14Bayer_BGGR: _bindgen_ty_1661 = 1650943796;
11092pub const kCVPixelFormatType_14Bayer_GBRG: _bindgen_ty_1661 = 1734505012;
11093pub const kCVPixelFormatType_DisparityFloat16: _bindgen_ty_1661 = 1751411059;
11094pub const kCVPixelFormatType_DisparityFloat32: _bindgen_ty_1661 = 1717856627;
11095pub const kCVPixelFormatType_DepthFloat16: _bindgen_ty_1661 = 1751410032;
11096pub const kCVPixelFormatType_DepthFloat32: _bindgen_ty_1661 = 1717855600;
11097pub const kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange: _bindgen_ty_1661 = 2016686640;
11098pub const kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange: _bindgen_ty_1661 = 2016686642;
11099pub const kCVPixelFormatType_444YpCbCr10BiPlanarVideoRange: _bindgen_ty_1661 = 2016687156;
11100pub const kCVPixelFormatType_420YpCbCr10BiPlanarFullRange: _bindgen_ty_1661 = 2019963440;
11101pub const kCVPixelFormatType_422YpCbCr10BiPlanarFullRange: _bindgen_ty_1661 = 2019963442;
11102pub const kCVPixelFormatType_444YpCbCr10BiPlanarFullRange: _bindgen_ty_1661 = 2019963956;
11103pub const kCVPixelFormatType_420YpCbCr8VideoRange_8A_TriPlanar: _bindgen_ty_1661 = 1982882104;
11104pub const kCVPixelFormatType_16VersatileBayer: _bindgen_ty_1661 = 1651519798;
11105pub const kCVPixelFormatType_96VersatileBayerPacked12: _bindgen_ty_1661 = 1651798066;
11106pub const kCVPixelFormatType_64RGBA_DownscaledProResRAW: _bindgen_ty_1661 = 1651521076;
11107pub const kCVPixelFormatType_422YpCbCr16BiPlanarVideoRange: _bindgen_ty_1661 = 1937125938;
11108pub const kCVPixelFormatType_444YpCbCr16BiPlanarVideoRange: _bindgen_ty_1661 = 1937126452;
11109pub const kCVPixelFormatType_444YpCbCr16VideoRange_16A_TriPlanar: _bindgen_ty_1661 = 1932812659;
11110pub const kCVPixelFormatType_30RGBLE_8A_BiPlanar: _bindgen_ty_1661 = 1647534392;
11111pub type _bindgen_ty_1661 = ::core::ffi::c_uint;
11112pub const kCVPixelFormatType_Lossless_32BGRA: _bindgen_ty_1662 = 641877825;
11113pub const kCVPixelFormatType_Lossless_64RGBAHalf: _bindgen_ty_1662 = 642934849;
11114pub const kCVPixelFormatType_Lossless_420YpCbCr8BiPlanarVideoRange: _bindgen_ty_1662 = 641234480;
11115pub const kCVPixelFormatType_Lossless_420YpCbCr8BiPlanarFullRange: _bindgen_ty_1662 = 641230384;
11116pub const kCVPixelFormatType_Lossless_420YpCbCr10PackedBiPlanarVideoRange: _bindgen_ty_1662 =
11117    645428784;
11118pub const kCVPixelFormatType_Lossless_422YpCbCr10PackedBiPlanarVideoRange: _bindgen_ty_1662 =
11119    645428786;
11120pub const kCVPixelFormatType_Lossless_420YpCbCr10PackedBiPlanarFullRange: _bindgen_ty_1662 =
11121    645424688;
11122pub const kCVPixelFormatType_Lossless_30RGBLE_8A_BiPlanar: _bindgen_ty_1662 = 643969848;
11123pub const kCVPixelFormatType_Lossless_30RGBLEPackedWideGamut: _bindgen_ty_1662 = 645346162;
11124pub type _bindgen_ty_1662 = ::core::ffi::c_uint;
11125pub const kCVPixelFormatType_Lossy_32BGRA: _bindgen_ty_1663 = 759318337;
11126pub const kCVPixelFormatType_Lossy_420YpCbCr8BiPlanarVideoRange: _bindgen_ty_1663 = 758674992;
11127pub const kCVPixelFormatType_Lossy_420YpCbCr8BiPlanarFullRange: _bindgen_ty_1663 = 758670896;
11128pub const kCVPixelFormatType_Lossy_420YpCbCr10PackedBiPlanarVideoRange: _bindgen_ty_1663 =
11129    762869296;
11130pub const kCVPixelFormatType_Lossy_422YpCbCr10PackedBiPlanarVideoRange: _bindgen_ty_1663 =
11131    762869298;
11132pub type _bindgen_ty_1663 = ::core::ffi::c_uint;
11133pub type CVPixelBufferLockFlags = CVOptionFlags;
11134pub const kCVPixelBufferLock_ReadOnly: _bindgen_ty_1664 = 1;
11135pub type _bindgen_ty_1664 = ::core::ffi::c_uint;
11136#[repr(C)]
11137#[derive(Debug, Copy, Clone)]
11138pub struct CVPlanarComponentInfo {
11139    pub offset: i32,
11140    pub rowBytes: u32,
11141}
11142#[repr(C)]
11143#[derive(Debug, Copy, Clone)]
11144pub struct CVPlanarPixelBufferInfo {
11145    pub componentInfo: [CVPlanarComponentInfo; 1usize],
11146}
11147#[repr(C)]
11148#[derive(Debug, Copy, Clone)]
11149pub struct CVPlanarPixelBufferInfo_YCbCrPlanar {
11150    pub componentInfoY: CVPlanarComponentInfo,
11151    pub componentInfoCb: CVPlanarComponentInfo,
11152    pub componentInfoCr: CVPlanarComponentInfo,
11153}
11154#[repr(C)]
11155#[derive(Debug, Copy, Clone)]
11156pub struct CVPlanarPixelBufferInfo_YCbCrBiPlanar {
11157    pub componentInfoY: CVPlanarComponentInfo,
11158    pub componentInfoCbCr: CVPlanarComponentInfo,
11159}
11160extern "C" {
11161    pub static mut kCVPixelBufferPixelFormatTypeKey: CFStringRef;
11162}
11163extern "C" {
11164    pub static mut kCVPixelBufferMemoryAllocatorKey: CFStringRef;
11165}
11166extern "C" {
11167    pub static mut kCVPixelBufferWidthKey: CFStringRef;
11168}
11169extern "C" {
11170    pub static mut kCVPixelBufferHeightKey: CFStringRef;
11171}
11172extern "C" {
11173    pub static mut kCVPixelBufferExtendedPixelsLeftKey: CFStringRef;
11174}
11175extern "C" {
11176    pub static mut kCVPixelBufferExtendedPixelsTopKey: CFStringRef;
11177}
11178extern "C" {
11179    pub static mut kCVPixelBufferExtendedPixelsRightKey: CFStringRef;
11180}
11181extern "C" {
11182    pub static mut kCVPixelBufferExtendedPixelsBottomKey: CFStringRef;
11183}
11184extern "C" {
11185    pub static mut kCVPixelBufferBytesPerRowAlignmentKey: CFStringRef;
11186}
11187extern "C" {
11188    pub static mut kCVPixelBufferCGBitmapContextCompatibilityKey: CFStringRef;
11189}
11190extern "C" {
11191    pub static mut kCVPixelBufferCGImageCompatibilityKey: CFStringRef;
11192}
11193extern "C" {
11194    pub static mut kCVPixelBufferOpenGLCompatibilityKey: CFStringRef;
11195}
11196extern "C" {
11197    pub static mut kCVPixelBufferPlaneAlignmentKey: CFStringRef;
11198}
11199extern "C" {
11200    pub static mut kCVPixelBufferIOSurfacePropertiesKey: CFStringRef;
11201}
11202extern "C" {
11203    pub static mut kCVPixelBufferOpenGLESCompatibilityKey: CFStringRef;
11204}
11205extern "C" {
11206    pub static mut kCVPixelBufferMetalCompatibilityKey: CFStringRef;
11207}
11208extern "C" {
11209    pub static mut kCVPixelBufferOpenGLTextureCacheCompatibilityKey: CFStringRef;
11210}
11211extern "C" {
11212    pub static mut kCVPixelBufferOpenGLESTextureCacheCompatibilityKey: CFStringRef;
11213}
11214extern "C" {
11215    pub static mut kCVPixelBufferVersatileBayerKey_BayerPattern: CFStringRef;
11216}
11217pub const kCVVersatileBayer_BayerPattern_RGGB: _bindgen_ty_1665 = 0;
11218pub const kCVVersatileBayer_BayerPattern_GRBG: _bindgen_ty_1665 = 1;
11219pub const kCVVersatileBayer_BayerPattern_GBRG: _bindgen_ty_1665 = 2;
11220pub const kCVVersatileBayer_BayerPattern_BGGR: _bindgen_ty_1665 = 3;
11221pub type _bindgen_ty_1665 = ::core::ffi::c_uint;
11222extern "C" {
11223    pub static mut kCVPixelBufferProResRAWKey_SenselSitingOffsets: CFStringRef;
11224}
11225extern "C" {
11226    pub static mut kCVPixelBufferProResRAWKey_BlackLevel: CFStringRef;
11227}
11228extern "C" {
11229    pub static mut kCVPixelBufferProResRAWKey_WhiteLevel: CFStringRef;
11230}
11231extern "C" {
11232    pub static mut kCVPixelBufferProResRAWKey_WhiteBalanceCCT: CFStringRef;
11233}
11234extern "C" {
11235    pub static mut kCVPixelBufferProResRAWKey_WhiteBalanceRedFactor: CFStringRef;
11236}
11237extern "C" {
11238    pub static mut kCVPixelBufferProResRAWKey_WhiteBalanceBlueFactor: CFStringRef;
11239}
11240extern "C" {
11241    pub static mut kCVPixelBufferProResRAWKey_ColorMatrix: CFStringRef;
11242}
11243extern "C" {
11244    pub static mut kCVPixelBufferProResRAWKey_GainFactor: CFStringRef;
11245}
11246extern "C" {
11247    pub static mut kCVPixelBufferProResRAWKey_RecommendedCrop: CFStringRef;
11248}
11249extern "C" {
11250    pub static mut kCVPixelBufferProResRAWKey_MetadataExtension: CFStringRef;
11251}
11252extern "C" {
11253    pub static mut kCVPixelBufferIOSurfacePurgeableKey: CFStringRef;
11254}
11255pub type CVPixelBufferRef = CVImageBufferRef;
11256extern "C" {
11257    pub fn CVPixelBufferGetTypeID() -> CFTypeID;
11258}
11259extern "C" {
11260    pub fn CVPixelBufferRetain(texture: CVPixelBufferRef) -> CVPixelBufferRef;
11261}
11262extern "C" {
11263    pub fn CVPixelBufferRelease(texture: CVPixelBufferRef);
11264}
11265extern "C" {
11266    pub fn CVPixelBufferCreateResolvedAttributesDictionary(
11267        allocator: CFAllocatorRef,
11268        attributes: CFArrayRef,
11269        resolvedDictionaryOut: *mut CFDictionaryRef,
11270    ) -> CVReturn;
11271}
11272extern "C" {
11273    pub fn CVPixelBufferCreate(
11274        allocator: CFAllocatorRef,
11275        width: usize,
11276        height: usize,
11277        pixelFormatType: OSType,
11278        pixelBufferAttributes: CFDictionaryRef,
11279        pixelBufferOut: *mut CVPixelBufferRef,
11280    ) -> CVReturn;
11281}
11282pub type CVPixelBufferReleaseBytesCallback = ::core::option::Option<
11283    unsafe extern "C" fn(
11284        releaseRefCon: *mut ::core::ffi::c_void,
11285        baseAddress: *const ::core::ffi::c_void,
11286    ),
11287>;
11288extern "C" {
11289    pub fn CVPixelBufferCreateWithBytes(
11290        allocator: CFAllocatorRef,
11291        width: usize,
11292        height: usize,
11293        pixelFormatType: OSType,
11294        baseAddress: *mut ::core::ffi::c_void,
11295        bytesPerRow: usize,
11296        releaseCallback: CVPixelBufferReleaseBytesCallback,
11297        releaseRefCon: *mut ::core::ffi::c_void,
11298        pixelBufferAttributes: CFDictionaryRef,
11299        pixelBufferOut: *mut CVPixelBufferRef,
11300    ) -> CVReturn;
11301}
11302pub type CVPixelBufferReleasePlanarBytesCallback = ::core::option::Option<
11303    unsafe extern "C" fn(
11304        releaseRefCon: *mut ::core::ffi::c_void,
11305        dataPtr: *const ::core::ffi::c_void,
11306        dataSize: usize,
11307        numberOfPlanes: usize,
11308        planeAddresses: *mut *const ::core::ffi::c_void,
11309    ),
11310>;
11311extern "C" {
11312    pub fn CVPixelBufferCreateWithPlanarBytes(
11313        allocator: CFAllocatorRef,
11314        width: usize,
11315        height: usize,
11316        pixelFormatType: OSType,
11317        dataPtr: *mut ::core::ffi::c_void,
11318        dataSize: usize,
11319        numberOfPlanes: usize,
11320        planeBaseAddress: *mut *mut ::core::ffi::c_void,
11321        planeWidth: *mut usize,
11322        planeHeight: *mut usize,
11323        planeBytesPerRow: *mut usize,
11324        releaseCallback: CVPixelBufferReleasePlanarBytesCallback,
11325        releaseRefCon: *mut ::core::ffi::c_void,
11326        pixelBufferAttributes: CFDictionaryRef,
11327        pixelBufferOut: *mut CVPixelBufferRef,
11328    ) -> CVReturn;
11329}
11330extern "C" {
11331    pub fn CVPixelBufferLockBaseAddress(
11332        pixelBuffer: CVPixelBufferRef,
11333        lockFlags: CVPixelBufferLockFlags,
11334    ) -> CVReturn;
11335}
11336extern "C" {
11337    pub fn CVPixelBufferUnlockBaseAddress(
11338        pixelBuffer: CVPixelBufferRef,
11339        unlockFlags: CVPixelBufferLockFlags,
11340    ) -> CVReturn;
11341}
11342extern "C" {
11343    pub fn CVPixelBufferGetWidth(pixelBuffer: CVPixelBufferRef) -> usize;
11344}
11345extern "C" {
11346    pub fn CVPixelBufferGetHeight(pixelBuffer: CVPixelBufferRef) -> usize;
11347}
11348extern "C" {
11349    pub fn CVPixelBufferGetPixelFormatType(pixelBuffer: CVPixelBufferRef) -> OSType;
11350}
11351extern "C" {
11352    pub fn CVPixelBufferGetBaseAddress(pixelBuffer: CVPixelBufferRef) -> *mut ::core::ffi::c_void;
11353}
11354extern "C" {
11355    pub fn CVPixelBufferGetBytesPerRow(pixelBuffer: CVPixelBufferRef) -> usize;
11356}
11357extern "C" {
11358    pub fn CVPixelBufferGetDataSize(pixelBuffer: CVPixelBufferRef) -> usize;
11359}
11360extern "C" {
11361    pub fn CVPixelBufferIsPlanar(pixelBuffer: CVPixelBufferRef) -> Boolean;
11362}
11363extern "C" {
11364    pub fn CVPixelBufferGetPlaneCount(pixelBuffer: CVPixelBufferRef) -> usize;
11365}
11366extern "C" {
11367    pub fn CVPixelBufferGetWidthOfPlane(pixelBuffer: CVPixelBufferRef, planeIndex: usize) -> usize;
11368}
11369extern "C" {
11370    pub fn CVPixelBufferGetHeightOfPlane(pixelBuffer: CVPixelBufferRef, planeIndex: usize)
11371        -> usize;
11372}
11373extern "C" {
11374    pub fn CVPixelBufferGetBaseAddressOfPlane(
11375        pixelBuffer: CVPixelBufferRef,
11376        planeIndex: usize,
11377    ) -> *mut ::core::ffi::c_void;
11378}
11379extern "C" {
11380    pub fn CVPixelBufferGetBytesPerRowOfPlane(
11381        pixelBuffer: CVPixelBufferRef,
11382        planeIndex: usize,
11383    ) -> usize;
11384}
11385extern "C" {
11386    pub fn CVPixelBufferGetExtendedPixels(
11387        pixelBuffer: CVPixelBufferRef,
11388        extraColumnsOnLeft: *mut usize,
11389        extraColumnsOnRight: *mut usize,
11390        extraRowsOnTop: *mut usize,
11391        extraRowsOnBottom: *mut usize,
11392    );
11393}
11394extern "C" {
11395    pub fn CVPixelBufferFillExtendedPixels(pixelBuffer: CVPixelBufferRef) -> CVReturn;
11396}
11397extern "C" {
11398    pub fn CVPixelBufferCopyCreationAttributes(pixelBuffer: CVPixelBufferRef) -> CFDictionaryRef;
11399}
11400extern "C" {
11401    pub fn CVPixelBufferIsCompatibleWithAttributes(
11402        pixelBuffer: CVPixelBufferRef,
11403        attributes: CFDictionaryRef,
11404    ) -> Boolean;
11405}
11406pub type IOSurfaceID = u32;
11407pub type IOSurfaceLockOptions = u32;
11408pub const kIOSurfaceLockReadOnly: _bindgen_ty_1666 = 1;
11409pub const kIOSurfaceLockAvoidSync: _bindgen_ty_1666 = 2;
11410pub type _bindgen_ty_1666 = ::core::ffi::c_uint;
11411pub type IOSurfacePurgeabilityState = u32;
11412pub const kIOSurfacePurgeableNonVolatile: _bindgen_ty_1667 = 0;
11413pub const kIOSurfacePurgeableVolatile: _bindgen_ty_1667 = 1;
11414pub const kIOSurfacePurgeableEmpty: _bindgen_ty_1667 = 2;
11415pub const kIOSurfacePurgeableKeepCurrent: _bindgen_ty_1667 = 3;
11416pub type _bindgen_ty_1667 = ::core::ffi::c_uint;
11417pub const kIOSurfaceDefaultCache: _bindgen_ty_1668 = 0;
11418pub const kIOSurfaceInhibitCache: _bindgen_ty_1668 = 1;
11419pub const kIOSurfaceWriteThruCache: _bindgen_ty_1668 = 2;
11420pub const kIOSurfaceCopybackCache: _bindgen_ty_1668 = 3;
11421pub const kIOSurfaceWriteCombineCache: _bindgen_ty_1668 = 4;
11422pub const kIOSurfaceCopybackInnerCache: _bindgen_ty_1668 = 5;
11423pub type _bindgen_ty_1668 = ::core::ffi::c_uint;
11424pub const kIOSurfaceMapCacheShift: _bindgen_ty_1669 = 8;
11425pub const kIOSurfaceMapDefaultCache: _bindgen_ty_1669 = 0;
11426pub const kIOSurfaceMapInhibitCache: _bindgen_ty_1669 = 256;
11427pub const kIOSurfaceMapWriteThruCache: _bindgen_ty_1669 = 512;
11428pub const kIOSurfaceMapCopybackCache: _bindgen_ty_1669 = 768;
11429pub const kIOSurfaceMapWriteCombineCache: _bindgen_ty_1669 = 1024;
11430pub const kIOSurfaceMapCopybackInnerCache: _bindgen_ty_1669 = 1280;
11431pub type _bindgen_ty_1669 = ::core::ffi::c_uint;
11432extern "C" {
11433    pub static kIOSurfaceAllocSize: CFStringRef;
11434}
11435extern "C" {
11436    pub static kIOSurfaceWidth: CFStringRef;
11437}
11438extern "C" {
11439    pub static kIOSurfaceHeight: CFStringRef;
11440}
11441extern "C" {
11442    pub static kIOSurfaceBytesPerRow: CFStringRef;
11443}
11444extern "C" {
11445    pub static kIOSurfaceBytesPerElement: CFStringRef;
11446}
11447extern "C" {
11448    pub static kIOSurfaceElementWidth: CFStringRef;
11449}
11450extern "C" {
11451    pub static kIOSurfaceElementHeight: CFStringRef;
11452}
11453extern "C" {
11454    pub static kIOSurfaceOffset: CFStringRef;
11455}
11456extern "C" {
11457    pub static kIOSurfacePlaneInfo: CFStringRef;
11458}
11459extern "C" {
11460    pub static kIOSurfacePlaneWidth: CFStringRef;
11461}
11462extern "C" {
11463    pub static kIOSurfacePlaneHeight: CFStringRef;
11464}
11465extern "C" {
11466    pub static kIOSurfacePlaneBytesPerRow: CFStringRef;
11467}
11468extern "C" {
11469    pub static kIOSurfacePlaneOffset: CFStringRef;
11470}
11471extern "C" {
11472    pub static kIOSurfacePlaneSize: CFStringRef;
11473}
11474extern "C" {
11475    pub static kIOSurfacePlaneBase: CFStringRef;
11476}
11477extern "C" {
11478    pub static kIOSurfacePlaneBitsPerElement: CFStringRef;
11479}
11480extern "C" {
11481    pub static kIOSurfacePlaneBytesPerElement: CFStringRef;
11482}
11483extern "C" {
11484    pub static kIOSurfacePlaneElementWidth: CFStringRef;
11485}
11486extern "C" {
11487    pub static kIOSurfacePlaneElementHeight: CFStringRef;
11488}
11489extern "C" {
11490    pub static kIOSurfaceCacheMode: CFStringRef;
11491}
11492extern "C" {
11493    pub static kIOSurfaceIsGlobal: CFStringRef;
11494}
11495extern "C" {
11496    pub static kIOSurfacePixelFormat: CFStringRef;
11497}
11498extern "C" {
11499    pub static kIOSurfacePixelSizeCastingAllowed: CFStringRef;
11500}
11501extern "C" {
11502    pub static kIOSurfacePlaneComponentBitDepths: CFStringRef;
11503}
11504extern "C" {
11505    pub static kIOSurfacePlaneComponentBitOffsets: CFStringRef;
11506}
11507extern "C" {
11508    pub static kIOSurfaceName: CFStringRef;
11509}
11510pub type IOSurfaceComponentName = i32;
11511pub const kIOSurfaceComponentNameUnknown: _bindgen_ty_1670 = 0;
11512pub const kIOSurfaceComponentNameAlpha: _bindgen_ty_1670 = 1;
11513pub const kIOSurfaceComponentNameRed: _bindgen_ty_1670 = 2;
11514pub const kIOSurfaceComponentNameGreen: _bindgen_ty_1670 = 3;
11515pub const kIOSurfaceComponentNameBlue: _bindgen_ty_1670 = 4;
11516pub const kIOSurfaceComponentNameLuma: _bindgen_ty_1670 = 5;
11517pub const kIOSurfaceComponentNameChromaRed: _bindgen_ty_1670 = 6;
11518pub const kIOSurfaceComponentNameChromaBlue: _bindgen_ty_1670 = 7;
11519pub type _bindgen_ty_1670 = ::core::ffi::c_uint;
11520extern "C" {
11521    pub static kIOSurfacePlaneComponentNames: CFStringRef;
11522}
11523pub type IOSurfaceComponentType = i32;
11524pub const kIOSurfaceComponentTypeUnknown: _bindgen_ty_1671 = 0;
11525pub const kIOSurfaceComponentTypeUnsignedInteger: _bindgen_ty_1671 = 1;
11526pub const kIOSurfaceComponentTypeSignedInteger: _bindgen_ty_1671 = 2;
11527pub const kIOSurfaceComponentTypeFloat: _bindgen_ty_1671 = 3;
11528pub const kIOSurfaceComponentTypeSignedNormalized: _bindgen_ty_1671 = 4;
11529pub type _bindgen_ty_1671 = ::core::ffi::c_uint;
11530extern "C" {
11531    pub static kIOSurfacePlaneComponentTypes: CFStringRef;
11532}
11533pub type IOSurfaceComponentRange = i32;
11534pub const kIOSurfaceComponentRangeUnknown: _bindgen_ty_1672 = 0;
11535pub const kIOSurfaceComponentRangeFullRange: _bindgen_ty_1672 = 1;
11536pub const kIOSurfaceComponentRangeVideoRange: _bindgen_ty_1672 = 2;
11537pub const kIOSurfaceComponentRangeWideRange: _bindgen_ty_1672 = 3;
11538pub type _bindgen_ty_1672 = ::core::ffi::c_uint;
11539extern "C" {
11540    pub static kIOSurfacePlaneComponentRanges: CFStringRef;
11541}
11542pub type IOSurfaceSubsampling = i32;
11543pub const kIOSurfaceSubsamplingUnknown: _bindgen_ty_1673 = 0;
11544pub const kIOSurfaceSubsamplingNone: _bindgen_ty_1673 = 1;
11545pub const kIOSurfaceSubsampling422: _bindgen_ty_1673 = 2;
11546pub const kIOSurfaceSubsampling420: _bindgen_ty_1673 = 3;
11547pub const kIOSurfaceSubsampling411: _bindgen_ty_1673 = 4;
11548pub type _bindgen_ty_1673 = ::core::ffi::c_uint;
11549extern "C" {
11550    pub static kIOSurfaceSubsampling: CFStringRef;
11551}
11552extern "C" {
11553    pub fn IOSurfaceGetTypeID() -> CFTypeID;
11554}
11555extern "C" {
11556    pub fn IOSurfaceCreate(properties: CFDictionaryRef) -> IOSurfaceRef;
11557}
11558extern "C" {
11559    pub fn IOSurfaceLookup(csid: IOSurfaceID) -> IOSurfaceRef;
11560}
11561extern "C" {
11562    pub fn IOSurfaceGetID(buffer: IOSurfaceRef) -> IOSurfaceID;
11563}
11564extern "C" {
11565    pub fn IOSurfaceLock(
11566        buffer: IOSurfaceRef,
11567        options: IOSurfaceLockOptions,
11568        seed: *mut u32,
11569    ) -> kern_return_t;
11570}
11571extern "C" {
11572    pub fn IOSurfaceUnlock(
11573        buffer: IOSurfaceRef,
11574        options: IOSurfaceLockOptions,
11575        seed: *mut u32,
11576    ) -> kern_return_t;
11577}
11578extern "C" {
11579    pub fn IOSurfaceGetAllocSize(buffer: IOSurfaceRef) -> usize;
11580}
11581extern "C" {
11582    pub fn IOSurfaceGetWidth(buffer: IOSurfaceRef) -> usize;
11583}
11584extern "C" {
11585    pub fn IOSurfaceGetHeight(buffer: IOSurfaceRef) -> usize;
11586}
11587extern "C" {
11588    pub fn IOSurfaceGetBytesPerElement(buffer: IOSurfaceRef) -> usize;
11589}
11590extern "C" {
11591    pub fn IOSurfaceGetBytesPerRow(buffer: IOSurfaceRef) -> usize;
11592}
11593extern "C" {
11594    pub fn IOSurfaceGetBaseAddress(buffer: IOSurfaceRef) -> *mut ::core::ffi::c_void;
11595}
11596extern "C" {
11597    pub fn IOSurfaceGetElementWidth(buffer: IOSurfaceRef) -> usize;
11598}
11599extern "C" {
11600    pub fn IOSurfaceGetElementHeight(buffer: IOSurfaceRef) -> usize;
11601}
11602extern "C" {
11603    pub fn IOSurfaceGetPixelFormat(buffer: IOSurfaceRef) -> OSType;
11604}
11605extern "C" {
11606    pub fn IOSurfaceGetSeed(buffer: IOSurfaceRef) -> u32;
11607}
11608extern "C" {
11609    pub fn IOSurfaceGetPlaneCount(buffer: IOSurfaceRef) -> usize;
11610}
11611extern "C" {
11612    pub fn IOSurfaceGetWidthOfPlane(buffer: IOSurfaceRef, planeIndex: usize) -> usize;
11613}
11614extern "C" {
11615    pub fn IOSurfaceGetHeightOfPlane(buffer: IOSurfaceRef, planeIndex: usize) -> usize;
11616}
11617extern "C" {
11618    pub fn IOSurfaceGetBytesPerElementOfPlane(buffer: IOSurfaceRef, planeIndex: usize) -> usize;
11619}
11620extern "C" {
11621    pub fn IOSurfaceGetBytesPerRowOfPlane(buffer: IOSurfaceRef, planeIndex: usize) -> usize;
11622}
11623extern "C" {
11624    pub fn IOSurfaceGetBaseAddressOfPlane(
11625        buffer: IOSurfaceRef,
11626        planeIndex: usize,
11627    ) -> *mut ::core::ffi::c_void;
11628}
11629extern "C" {
11630    pub fn IOSurfaceGetElementWidthOfPlane(buffer: IOSurfaceRef, planeIndex: usize) -> usize;
11631}
11632extern "C" {
11633    pub fn IOSurfaceGetElementHeightOfPlane(buffer: IOSurfaceRef, planeIndex: usize) -> usize;
11634}
11635extern "C" {
11636    pub fn IOSurfaceGetNumberOfComponentsOfPlane(buffer: IOSurfaceRef, planeIndex: usize) -> usize;
11637}
11638extern "C" {
11639    pub fn IOSurfaceGetNameOfComponentOfPlane(
11640        buffer: IOSurfaceRef,
11641        planeIndex: usize,
11642        componentIndex: usize,
11643    ) -> IOSurfaceComponentName;
11644}
11645extern "C" {
11646    pub fn IOSurfaceGetTypeOfComponentOfPlane(
11647        buffer: IOSurfaceRef,
11648        planeIndex: usize,
11649        componentIndex: usize,
11650    ) -> IOSurfaceComponentType;
11651}
11652extern "C" {
11653    pub fn IOSurfaceGetRangeOfComponentOfPlane(
11654        buffer: IOSurfaceRef,
11655        planeIndex: usize,
11656        componentIndex: usize,
11657    ) -> IOSurfaceComponentRange;
11658}
11659extern "C" {
11660    pub fn IOSurfaceGetBitDepthOfComponentOfPlane(
11661        buffer: IOSurfaceRef,
11662        planeIndex: usize,
11663        componentIndex: usize,
11664    ) -> usize;
11665}
11666extern "C" {
11667    pub fn IOSurfaceGetBitOffsetOfComponentOfPlane(
11668        buffer: IOSurfaceRef,
11669        planeIndex: usize,
11670        componentIndex: usize,
11671    ) -> usize;
11672}
11673extern "C" {
11674    pub fn IOSurfaceGetSubsampling(buffer: IOSurfaceRef) -> IOSurfaceSubsampling;
11675}
11676extern "C" {
11677    pub static kIOSurfaceColorSpace: CFStringRef;
11678}
11679extern "C" {
11680    pub static kIOSurfaceICCProfile: CFStringRef;
11681}
11682extern "C" {
11683    pub static kIOSurfaceContentHeadroom: CFStringRef;
11684}
11685extern "C" {
11686    pub fn IOSurfaceSetValue(buffer: IOSurfaceRef, key: CFStringRef, value: CFTypeRef);
11687}
11688extern "C" {
11689    pub fn IOSurfaceCopyValue(buffer: IOSurfaceRef, key: CFStringRef) -> CFTypeRef;
11690}
11691extern "C" {
11692    pub fn IOSurfaceRemoveValue(buffer: IOSurfaceRef, key: CFStringRef);
11693}
11694extern "C" {
11695    pub fn IOSurfaceSetValues(buffer: IOSurfaceRef, keysAndValues: CFDictionaryRef);
11696}
11697extern "C" {
11698    pub fn IOSurfaceCopyAllValues(buffer: IOSurfaceRef) -> CFDictionaryRef;
11699}
11700extern "C" {
11701    pub fn IOSurfaceRemoveAllValues(buffer: IOSurfaceRef);
11702}
11703extern "C" {
11704    pub fn IOSurfaceCreateMachPort(buffer: IOSurfaceRef) -> mach_port_t;
11705}
11706extern "C" {
11707    pub fn IOSurfaceLookupFromMachPort(port: mach_port_t) -> IOSurfaceRef;
11708}
11709extern "C" {
11710    pub fn IOSurfaceGetPropertyMaximum(property: CFStringRef) -> usize;
11711}
11712extern "C" {
11713    pub fn IOSurfaceGetPropertyAlignment(property: CFStringRef) -> usize;
11714}
11715extern "C" {
11716    pub fn IOSurfaceAlignProperty(property: CFStringRef, value: usize) -> usize;
11717}
11718extern "C" {
11719    pub fn IOSurfaceIncrementUseCount(buffer: IOSurfaceRef);
11720}
11721extern "C" {
11722    pub fn IOSurfaceDecrementUseCount(buffer: IOSurfaceRef);
11723}
11724extern "C" {
11725    pub fn IOSurfaceGetUseCount(buffer: IOSurfaceRef) -> i32;
11726}
11727extern "C" {
11728    pub fn IOSurfaceIsInUse(buffer: IOSurfaceRef) -> Boolean;
11729}
11730extern "C" {
11731    pub fn IOSurfaceAllowsPixelSizeCasting(buffer: IOSurfaceRef) -> Boolean;
11732}
11733extern "C" {
11734    pub fn IOSurfaceSetPurgeable(
11735        buffer: IOSurfaceRef,
11736        newState: u32,
11737        oldState: *mut u32,
11738    ) -> kern_return_t;
11739}
11740pub type IOSurfaceMemoryLedgerTags = ::core::ffi::c_int;
11741pub const kIOSurfaceMemoryLedgerTagDefault: _bindgen_ty_1674 = 1;
11742pub const kIOSurfaceMemoryLedgerTagNetwork: _bindgen_ty_1674 = 2;
11743pub const kIOSurfaceMemoryLedgerTagMedia: _bindgen_ty_1674 = 3;
11744pub const kIOSurfaceMemoryLedgerTagGraphics: _bindgen_ty_1674 = 4;
11745pub const kIOSurfaceMemoryLedgerTagNeural: _bindgen_ty_1674 = 5;
11746pub type _bindgen_ty_1674 = ::core::ffi::c_uint;
11747pub type IOSurfaceMemoryLedgerFlags = u32;
11748pub const kIOSurfaceMemoryLedgerFlagNoFootprint: _bindgen_ty_1675 = 1;
11749pub type _bindgen_ty_1675 = ::core::ffi::c_uint;
11750extern "C" {
11751    pub fn IOSurfaceSetOwnershipIdentity(
11752        buffer: IOSurfaceRef,
11753        task_id_token: task_id_token_t,
11754        newLedgerTag: ::core::ffi::c_int,
11755        newLedgerOptions: u32,
11756    ) -> kern_return_t;
11757}
11758extern "C" {
11759    pub fn IOSurfaceCreateXPCObject(aSurface: IOSurfaceRef) -> xpc_object_t;
11760}
11761extern "C" {
11762    pub fn IOSurfaceLookupFromXPCObject(xobj: xpc_object_t) -> IOSurfaceRef;
11763}
11764extern "C" {
11765    pub static mut kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey: CFStringRef;
11766}
11767extern "C" {
11768    pub static mut kCVPixelBufferIOSurfaceOpenGLFBOCompatibilityKey: CFStringRef;
11769}
11770extern "C" {
11771    pub static mut kCVPixelBufferIOSurfaceCoreAnimationCompatibilityKey: CFStringRef;
11772}
11773extern "C" {
11774    pub static mut kCVPixelBufferIOSurfaceOpenGLESTextureCompatibilityKey: CFStringRef;
11775}
11776extern "C" {
11777    pub static mut kCVPixelBufferIOSurfaceOpenGLESFBOCompatibilityKey: CFStringRef;
11778}
11779extern "C" {
11780    pub fn CVPixelBufferGetIOSurface(pixelBuffer: CVPixelBufferRef) -> IOSurfaceRef;
11781}
11782extern "C" {
11783    pub fn CVPixelBufferCreateWithIOSurface(
11784        allocator: CFAllocatorRef,
11785        surface: IOSurfaceRef,
11786        pixelBufferAttributes: CFDictionaryRef,
11787        pixelBufferOut: *mut CVPixelBufferRef,
11788    ) -> CVReturn;
11789}
11790#[repr(C)]
11791#[derive(Debug, Copy, Clone)]
11792pub struct __CVPixelBufferPool {
11793    _unused: [u8; 0],
11794}
11795pub type CVPixelBufferPoolRef = *mut __CVPixelBufferPool;
11796extern "C" {
11797    pub static mut kCVPixelBufferPoolMinimumBufferCountKey: CFStringRef;
11798}
11799extern "C" {
11800    pub static mut kCVPixelBufferPoolMaximumBufferAgeKey: CFStringRef;
11801}
11802extern "C" {
11803    pub fn CVPixelBufferPoolGetTypeID() -> CFTypeID;
11804}
11805extern "C" {
11806    pub fn CVPixelBufferPoolRetain(pixelBufferPool: CVPixelBufferPoolRef) -> CVPixelBufferPoolRef;
11807}
11808extern "C" {
11809    pub fn CVPixelBufferPoolRelease(pixelBufferPool: CVPixelBufferPoolRef);
11810}
11811extern "C" {
11812    pub fn CVPixelBufferPoolCreate(
11813        allocator: CFAllocatorRef,
11814        poolAttributes: CFDictionaryRef,
11815        pixelBufferAttributes: CFDictionaryRef,
11816        poolOut: *mut CVPixelBufferPoolRef,
11817    ) -> CVReturn;
11818}
11819extern "C" {
11820    pub fn CVPixelBufferPoolGetAttributes(pool: CVPixelBufferPoolRef) -> CFDictionaryRef;
11821}
11822extern "C" {
11823    pub fn CVPixelBufferPoolGetPixelBufferAttributes(pool: CVPixelBufferPoolRef)
11824        -> CFDictionaryRef;
11825}
11826extern "C" {
11827    pub fn CVPixelBufferPoolCreatePixelBuffer(
11828        allocator: CFAllocatorRef,
11829        pixelBufferPool: CVPixelBufferPoolRef,
11830        pixelBufferOut: *mut CVPixelBufferRef,
11831    ) -> CVReturn;
11832}
11833extern "C" {
11834    pub fn CVPixelBufferPoolCreatePixelBufferWithAuxAttributes(
11835        allocator: CFAllocatorRef,
11836        pixelBufferPool: CVPixelBufferPoolRef,
11837        auxAttributes: CFDictionaryRef,
11838        pixelBufferOut: *mut CVPixelBufferRef,
11839    ) -> CVReturn;
11840}
11841extern "C" {
11842    pub static mut kCVPixelBufferPoolAllocationThresholdKey: CFStringRef;
11843}
11844extern "C" {
11845    pub static mut kCVPixelBufferPoolFreeBufferNotification: CFStringRef;
11846}
11847pub type CVPixelBufferPoolFlushFlags = CVOptionFlags;
11848pub const kCVPixelBufferPoolFlushExcessBuffers: _bindgen_ty_1676 = 1;
11849pub type _bindgen_ty_1676 = ::core::ffi::c_uint;
11850extern "C" {
11851    pub fn CVPixelBufferPoolFlush(pool: CVPixelBufferPoolRef, options: CVPixelBufferPoolFlushFlags);
11852}
11853extern "C" {
11854    pub static mut kCVOpenGLBufferWidth: CFStringRef;
11855}
11856extern "C" {
11857    pub static mut kCVOpenGLBufferHeight: CFStringRef;
11858}
11859extern "C" {
11860    pub static mut kCVOpenGLBufferTarget: CFStringRef;
11861}
11862extern "C" {
11863    pub static mut kCVOpenGLBufferInternalFormat: CFStringRef;
11864}
11865extern "C" {
11866    pub static mut kCVOpenGLBufferMaximumMipmapLevel: CFStringRef;
11867}
11868pub type CVOpenGLBufferRef = CVImageBufferRef;
11869extern "C" {
11870    pub fn CVOpenGLBufferGetTypeID() -> CFTypeID;
11871}
11872extern "C" {
11873    pub fn CVOpenGLBufferRetain(buffer: CVOpenGLBufferRef) -> CVOpenGLBufferRef;
11874}
11875extern "C" {
11876    pub fn CVOpenGLBufferRelease(buffer: CVOpenGLBufferRef);
11877}
11878extern "C" {
11879    pub fn CVOpenGLBufferCreate(
11880        allocator: CFAllocatorRef,
11881        width: usize,
11882        height: usize,
11883        attributes: CFDictionaryRef,
11884        bufferOut: *mut CVOpenGLBufferRef,
11885    ) -> CVReturn;
11886}
11887extern "C" {
11888    pub fn CVOpenGLBufferGetAttributes(openGLBuffer: CVOpenGLBufferRef) -> CFDictionaryRef;
11889}
11890extern "C" {
11891    pub fn CVOpenGLBufferAttach(
11892        openGLBuffer: CVOpenGLBufferRef,
11893        cglContext: CGLContextObj,
11894        face: GLenum,
11895        level: GLint,
11896        screen: GLint,
11897    ) -> CVReturn;
11898}
11899#[repr(C)]
11900#[derive(Debug, Copy, Clone)]
11901pub struct __CVOpenGLBufferPool {
11902    _unused: [u8; 0],
11903}
11904pub type CVOpenGLBufferPoolRef = *mut __CVOpenGLBufferPool;
11905extern "C" {
11906    pub static mut kCVOpenGLBufferPoolMinimumBufferCountKey: CFStringRef;
11907}
11908extern "C" {
11909    pub static mut kCVOpenGLBufferPoolMaximumBufferAgeKey: CFStringRef;
11910}
11911extern "C" {
11912    pub fn CVOpenGLBufferPoolGetTypeID() -> CFTypeID;
11913}
11914extern "C" {
11915    pub fn CVOpenGLBufferPoolRetain(
11916        openGLBufferPool: CVOpenGLBufferPoolRef,
11917    ) -> CVOpenGLBufferPoolRef;
11918}
11919extern "C" {
11920    pub fn CVOpenGLBufferPoolRelease(openGLBufferPool: CVOpenGLBufferPoolRef);
11921}
11922extern "C" {
11923    pub fn CVOpenGLBufferPoolCreate(
11924        allocator: CFAllocatorRef,
11925        poolAttributes: CFDictionaryRef,
11926        openGLBufferAttributes: CFDictionaryRef,
11927        poolOut: *mut CVOpenGLBufferPoolRef,
11928    ) -> CVReturn;
11929}
11930extern "C" {
11931    pub fn CVOpenGLBufferPoolGetAttributes(pool: CVOpenGLBufferPoolRef) -> CFDictionaryRef;
11932}
11933extern "C" {
11934    pub fn CVOpenGLBufferPoolGetOpenGLBufferAttributes(
11935        pool: CVOpenGLBufferPoolRef,
11936    ) -> CFDictionaryRef;
11937}
11938extern "C" {
11939    pub fn CVOpenGLBufferPoolCreateOpenGLBuffer(
11940        allocator: CFAllocatorRef,
11941        openGLBufferPool: CVOpenGLBufferPoolRef,
11942        openGLBufferOut: *mut CVOpenGLBufferRef,
11943    ) -> CVReturn;
11944}
11945pub type CVOpenGLTextureRef = CVImageBufferRef;
11946extern "C" {
11947    pub fn CVOpenGLTextureGetTypeID() -> CFTypeID;
11948}
11949extern "C" {
11950    pub fn CVOpenGLTextureRetain(texture: CVOpenGLTextureRef) -> CVOpenGLTextureRef;
11951}
11952extern "C" {
11953    pub fn CVOpenGLTextureRelease(texture: CVOpenGLTextureRef);
11954}
11955extern "C" {
11956    pub fn CVOpenGLTextureGetTarget(image: CVOpenGLTextureRef) -> GLenum;
11957}
11958extern "C" {
11959    pub fn CVOpenGLTextureGetName(image: CVOpenGLTextureRef) -> GLuint;
11960}
11961extern "C" {
11962    pub fn CVOpenGLTextureIsFlipped(image: CVOpenGLTextureRef) -> Boolean;
11963}
11964extern "C" {
11965    pub fn CVOpenGLTextureGetCleanTexCoords(
11966        image: CVOpenGLTextureRef,
11967        lowerLeft: *mut GLfloat,
11968        lowerRight: *mut GLfloat,
11969        upperRight: *mut GLfloat,
11970        upperLeft: *mut GLfloat,
11971    );
11972}
11973#[repr(C)]
11974#[derive(Debug, Copy, Clone)]
11975pub struct __CVOpenGLTextureCache {
11976    _unused: [u8; 0],
11977}
11978pub type CVOpenGLTextureCacheRef = *mut __CVOpenGLTextureCache;
11979extern "C" {
11980    pub static mut kCVOpenGLTextureCacheChromaSamplingModeKey: CFStringRef;
11981}
11982extern "C" {
11983    pub static mut kCVOpenGLTextureCacheChromaSamplingModeAutomatic: CFStringRef;
11984}
11985extern "C" {
11986    pub static mut kCVOpenGLTextureCacheChromaSamplingModeHighestQuality: CFStringRef;
11987}
11988extern "C" {
11989    pub static mut kCVOpenGLTextureCacheChromaSamplingModeBestPerformance: CFStringRef;
11990}
11991extern "C" {
11992    pub fn CVOpenGLTextureCacheGetTypeID() -> CFTypeID;
11993}
11994extern "C" {
11995    pub fn CVOpenGLTextureCacheRetain(
11996        textureCache: CVOpenGLTextureCacheRef,
11997    ) -> CVOpenGLTextureCacheRef;
11998}
11999extern "C" {
12000    pub fn CVOpenGLTextureCacheRelease(textureCache: CVOpenGLTextureCacheRef);
12001}
12002extern "C" {
12003    pub fn CVOpenGLTextureCacheCreate(
12004        allocator: CFAllocatorRef,
12005        cacheAttributes: CFDictionaryRef,
12006        cglContext: CGLContextObj,
12007        cglPixelFormat: CGLPixelFormatObj,
12008        textureAttributes: CFDictionaryRef,
12009        cacheOut: *mut CVOpenGLTextureCacheRef,
12010    ) -> CVReturn;
12011}
12012extern "C" {
12013    pub fn CVOpenGLTextureCacheCreateTextureFromImage(
12014        allocator: CFAllocatorRef,
12015        textureCache: CVOpenGLTextureCacheRef,
12016        sourceImage: CVImageBufferRef,
12017        attributes: CFDictionaryRef,
12018        textureOut: *mut CVOpenGLTextureRef,
12019    ) -> CVReturn;
12020}
12021extern "C" {
12022    pub fn CVOpenGLTextureCacheFlush(textureCache: CVOpenGLTextureCacheRef, options: CVOptionFlags);
12023}
12024extern "C" {
12025    pub static mut kCVMetalTextureUsage: CFStringRef;
12026}
12027extern "C" {
12028    pub static mut kCVMetalTextureStorageMode: CFStringRef;
12029}
12030extern "C" {
12031    pub static mut kCVMetalTextureCacheMaximumTextureAgeKey: CFStringRef;
12032}
12033pub type CVMetalBufferRef = CVBufferRef;
12034extern "C" {
12035    pub fn CVMetalBufferGetTypeID() -> CFTypeID;
12036}
12037extern "C" {
12038    pub static mut kCVMetalBufferCacheMaximumBufferAgeKey: CFStringRef;
12039}
12040#[repr(C)]
12041#[derive(Debug, Copy, Clone)]
12042pub struct __CVMetalBufferCache {
12043    _unused: [u8; 0],
12044}
12045pub type CVMetalBufferCacheRef = *mut __CVMetalBufferCache;
12046extern "C" {
12047    pub fn CVMetalBufferCacheGetTypeID() -> CFTypeID;
12048}
12049extern "C" {
12050    pub fn CVMetalBufferCacheCreateBufferFromImage(
12051        allocator: CFAllocatorRef,
12052        bufferCache: CVMetalBufferCacheRef,
12053        imageBuffer: CVImageBufferRef,
12054        bufferOut: *mut CVMetalBufferRef,
12055    ) -> CVReturn;
12056}
12057extern "C" {
12058    pub fn CVMetalBufferCacheFlush(bufferCache: CVMetalBufferCacheRef, options: CVOptionFlags);
12059}
12060extern "C" {
12061    pub static mut kCVPixelFormatName: CFStringRef;
12062}
12063extern "C" {
12064    pub static mut kCVPixelFormatConstant: CFStringRef;
12065}
12066extern "C" {
12067    pub static mut kCVPixelFormatCodecType: CFStringRef;
12068}
12069extern "C" {
12070    pub static mut kCVPixelFormatFourCC: CFStringRef;
12071}
12072extern "C" {
12073    pub static mut kCVPixelFormatContainsAlpha: CFStringRef;
12074}
12075extern "C" {
12076    pub static mut kCVPixelFormatContainsYCbCr: CFStringRef;
12077}
12078extern "C" {
12079    pub static mut kCVPixelFormatContainsRGB: CFStringRef;
12080}
12081extern "C" {
12082    pub static mut kCVPixelFormatContainsGrayscale: CFStringRef;
12083}
12084extern "C" {
12085    pub static mut kCVPixelFormatContainsSenselArray: CFStringRef;
12086}
12087extern "C" {
12088    pub static mut kCVPixelFormatComponentRange: CFStringRef;
12089}
12090extern "C" {
12091    pub static mut kCVPixelFormatComponentRange_VideoRange: CFStringRef;
12092}
12093extern "C" {
12094    pub static mut kCVPixelFormatComponentRange_FullRange: CFStringRef;
12095}
12096extern "C" {
12097    pub static mut kCVPixelFormatComponentRange_WideRange: CFStringRef;
12098}
12099extern "C" {
12100    pub static mut kCVPixelFormatPlanes: CFStringRef;
12101}
12102extern "C" {
12103    pub static mut kCVPixelFormatBlockWidth: CFStringRef;
12104}
12105extern "C" {
12106    pub static mut kCVPixelFormatBlockHeight: CFStringRef;
12107}
12108extern "C" {
12109    pub static mut kCVPixelFormatBitsPerBlock: CFStringRef;
12110}
12111extern "C" {
12112    pub static mut kCVPixelFormatBitsPerComponent: CFStringRef;
12113}
12114extern "C" {
12115    pub static mut kCVPixelFormatBlockHorizontalAlignment: CFStringRef;
12116}
12117extern "C" {
12118    pub static mut kCVPixelFormatBlockVerticalAlignment: CFStringRef;
12119}
12120extern "C" {
12121    pub static mut kCVPixelFormatBlackBlock: CFStringRef;
12122}
12123extern "C" {
12124    pub static mut kCVPixelFormatHorizontalSubsampling: CFStringRef;
12125}
12126extern "C" {
12127    pub static mut kCVPixelFormatVerticalSubsampling: CFStringRef;
12128}
12129extern "C" {
12130    pub static mut kCVPixelFormatOpenGLFormat: CFStringRef;
12131}
12132extern "C" {
12133    pub static mut kCVPixelFormatOpenGLType: CFStringRef;
12134}
12135extern "C" {
12136    pub static mut kCVPixelFormatOpenGLInternalFormat: CFStringRef;
12137}
12138extern "C" {
12139    pub static mut kCVPixelFormatCGBitmapInfo: CFStringRef;
12140}
12141extern "C" {
12142    pub static mut kCVPixelFormatQDCompatibility: CFStringRef;
12143}
12144extern "C" {
12145    pub static mut kCVPixelFormatCGBitmapContextCompatibility: CFStringRef;
12146}
12147extern "C" {
12148    pub static mut kCVPixelFormatCGImageCompatibility: CFStringRef;
12149}
12150extern "C" {
12151    pub static mut kCVPixelFormatOpenGLCompatibility: CFStringRef;
12152}
12153extern "C" {
12154    pub static mut kCVPixelFormatOpenGLESCompatibility: CFStringRef;
12155}
12156pub type CVFillExtendedPixelsCallBack = ::core::option::Option<
12157    unsafe extern "C" fn(
12158        pixelBuffer: CVPixelBufferRef,
12159        refCon: *mut ::core::ffi::c_void,
12160    ) -> Boolean,
12161>;
12162#[repr(C)]
12163#[derive(Debug, Copy, Clone)]
12164pub struct CVFillExtendedPixelsCallBackData {
12165    pub version: CFIndex,
12166    pub fillCallBack: CVFillExtendedPixelsCallBack,
12167    pub refCon: *mut ::core::ffi::c_void,
12168}
12169extern "C" {
12170    pub static mut kCVPixelFormatFillExtendedPixelsCallback: CFStringRef;
12171}
12172extern "C" {
12173    pub fn CVPixelFormatDescriptionCreateWithPixelFormatType(
12174        allocator: CFAllocatorRef,
12175        pixelFormat: OSType,
12176    ) -> CFDictionaryRef;
12177}
12178extern "C" {
12179    pub fn CVPixelFormatDescriptionArrayCreateWithAllPixelFormatTypes(
12180        allocator: CFAllocatorRef,
12181    ) -> CFArrayRef;
12182}
12183extern "C" {
12184    pub fn CVPixelFormatDescriptionRegisterDescriptionWithPixelFormatType(
12185        description: CFDictionaryRef,
12186        pixelFormat: OSType,
12187    );
12188}
12189extern "C" {
12190    pub fn CVPixelFormatTypeCopyFourCharCodeString(pixelFormat: OSType) -> CFStringRef;
12191}
12192extern "C" {
12193    pub fn CVIsCompressedPixelFormatAvailable(pixelFormatType: OSType) -> Boolean;
12194}
12195pub const kCMFormatDescriptionError_InvalidParameter: _bindgen_ty_1677 = -12710;
12196pub const kCMFormatDescriptionError_AllocationFailed: _bindgen_ty_1677 = -12711;
12197pub const kCMFormatDescriptionError_ValueNotAvailable: _bindgen_ty_1677 = -12718;
12198pub type _bindgen_ty_1677 = ::core::ffi::c_int;
12199#[repr(C)]
12200#[derive(Debug, Copy, Clone)]
12201pub struct opaqueCMFormatDescription {
12202    _unused: [u8; 0],
12203}
12204pub type CMFormatDescriptionRef = *const opaqueCMFormatDescription;
12205pub type CMMediaType = FourCharCode;
12206pub const kCMMediaType_Video: _bindgen_ty_1678 = 1986618469;
12207pub const kCMMediaType_Audio: _bindgen_ty_1678 = 1936684398;
12208pub const kCMMediaType_Muxed: _bindgen_ty_1678 = 1836415096;
12209pub const kCMMediaType_Text: _bindgen_ty_1678 = 1952807028;
12210pub const kCMMediaType_ClosedCaption: _bindgen_ty_1678 = 1668047728;
12211pub const kCMMediaType_Subtitle: _bindgen_ty_1678 = 1935832172;
12212pub const kCMMediaType_TimeCode: _bindgen_ty_1678 = 1953325924;
12213pub const kCMMediaType_Metadata: _bindgen_ty_1678 = 1835365473;
12214pub const kCMMediaType_TaggedBufferGroup: _bindgen_ty_1678 = 1952606066;
12215pub type _bindgen_ty_1678 = ::core::ffi::c_uint;
12216pub const kCMMediaType_AuxiliaryPicture: _bindgen_ty_1679 = 1635088502;
12217pub type _bindgen_ty_1679 = ::core::ffi::c_uint;
12218extern "C" {
12219    pub fn CMFormatDescriptionCreate(
12220        allocator: CFAllocatorRef,
12221        mediaType: CMMediaType,
12222        mediaSubType: FourCharCode,
12223        extensions: CFDictionaryRef,
12224        formatDescriptionOut: *mut CMFormatDescriptionRef,
12225    ) -> OSStatus;
12226}
12227extern "C" {
12228    pub fn CMFormatDescriptionGetTypeID() -> CFTypeID;
12229}
12230extern "C" {
12231    pub fn CMFormatDescriptionEqual(
12232        formatDescription: CMFormatDescriptionRef,
12233        otherFormatDescription: CMFormatDescriptionRef,
12234    ) -> Boolean;
12235}
12236extern "C" {
12237    pub fn CMFormatDescriptionEqualIgnoringExtensionKeys(
12238        formatDescription: CMFormatDescriptionRef,
12239        otherFormatDescription: CMFormatDescriptionRef,
12240        formatDescriptionExtensionKeysToIgnore: CFTypeRef,
12241        sampleDescriptionExtensionAtomKeysToIgnore: CFTypeRef,
12242    ) -> Boolean;
12243}
12244extern "C" {
12245    pub fn CMFormatDescriptionGetMediaType(desc: CMFormatDescriptionRef) -> CMMediaType;
12246}
12247extern "C" {
12248    pub fn CMFormatDescriptionGetMediaSubType(desc: CMFormatDescriptionRef) -> FourCharCode;
12249}
12250extern "C" {
12251    pub fn CMFormatDescriptionGetExtensions(desc: CMFormatDescriptionRef) -> CFDictionaryRef;
12252}
12253extern "C" {
12254    pub static kCMFormatDescriptionExtension_OriginalCompressionSettings: CFStringRef;
12255}
12256extern "C" {
12257    pub static kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms: CFStringRef;
12258}
12259extern "C" {
12260    pub static kCMFormatDescriptionExtension_VerbatimSampleDescription: CFStringRef;
12261}
12262extern "C" {
12263    pub static kCMFormatDescriptionExtension_VerbatimISOSampleEntry: CFStringRef;
12264}
12265extern "C" {
12266    pub fn CMFormatDescriptionGetExtension(
12267        desc: CMFormatDescriptionRef,
12268        extensionKey: CFStringRef,
12269    ) -> CFPropertyListRef;
12270}
12271pub type CMAudioCodecType = FourCharCode;
12272pub const kCMAudioCodecType_AAC_LCProtected: _bindgen_ty_1680 = 1885430115;
12273pub const kCMAudioCodecType_AAC_AudibleProtected: _bindgen_ty_1680 = 1633771875;
12274pub type _bindgen_ty_1680 = ::core::ffi::c_uint;
12275pub type CMAudioFormatDescriptionRef = CMFormatDescriptionRef;
12276extern "C" {
12277    pub fn CMAudioFormatDescriptionCreate(
12278        allocator: CFAllocatorRef,
12279        asbd: *const AudioStreamBasicDescription,
12280        layoutSize: usize,
12281        layout: *const AudioChannelLayout,
12282        magicCookieSize: usize,
12283        magicCookie: *const ::core::ffi::c_void,
12284        extensions: CFDictionaryRef,
12285        formatDescriptionOut: *mut CMAudioFormatDescriptionRef,
12286    ) -> OSStatus;
12287}
12288extern "C" {
12289    pub fn CMAudioFormatDescriptionGetStreamBasicDescription(
12290        desc: CMAudioFormatDescriptionRef,
12291    ) -> *const AudioStreamBasicDescription;
12292}
12293extern "C" {
12294    pub fn CMAudioFormatDescriptionGetMagicCookie(
12295        desc: CMAudioFormatDescriptionRef,
12296        sizeOut: *mut usize,
12297    ) -> *const ::core::ffi::c_void;
12298}
12299extern "C" {
12300    pub fn CMAudioFormatDescriptionGetChannelLayout(
12301        desc: CMAudioFormatDescriptionRef,
12302        sizeOut: *mut usize,
12303    ) -> *const AudioChannelLayout;
12304}
12305extern "C" {
12306    pub fn CMAudioFormatDescriptionGetFormatList(
12307        desc: CMAudioFormatDescriptionRef,
12308        sizeOut: *mut usize,
12309    ) -> *const AudioFormatListItem;
12310}
12311extern "C" {
12312    pub fn CMAudioFormatDescriptionGetRichestDecodableFormat(
12313        desc: CMAudioFormatDescriptionRef,
12314    ) -> *const AudioFormatListItem;
12315}
12316extern "C" {
12317    pub fn CMAudioFormatDescriptionGetMostCompatibleFormat(
12318        desc: CMAudioFormatDescriptionRef,
12319    ) -> *const AudioFormatListItem;
12320}
12321extern "C" {
12322    pub fn CMAudioFormatDescriptionCreateSummary(
12323        allocator: CFAllocatorRef,
12324        formatDescriptionArray: CFArrayRef,
12325        flags: u32,
12326        formatDescriptionOut: *mut CMAudioFormatDescriptionRef,
12327    ) -> OSStatus;
12328}
12329pub type CMAudioFormatDescriptionMask = u32;
12330pub const kCMAudioFormatDescriptionMask_StreamBasicDescription: _bindgen_ty_1681 = 1;
12331pub const kCMAudioFormatDescriptionMask_MagicCookie: _bindgen_ty_1681 = 2;
12332pub const kCMAudioFormatDescriptionMask_ChannelLayout: _bindgen_ty_1681 = 4;
12333pub const kCMAudioFormatDescriptionMask_Extensions: _bindgen_ty_1681 = 8;
12334pub const kCMAudioFormatDescriptionMask_All: _bindgen_ty_1681 = 15;
12335pub type _bindgen_ty_1681 = ::core::ffi::c_uint;
12336extern "C" {
12337    pub fn CMAudioFormatDescriptionEqual(
12338        formatDescription: CMAudioFormatDescriptionRef,
12339        otherFormatDescription: CMAudioFormatDescriptionRef,
12340        equalityMask: CMAudioFormatDescriptionMask,
12341        equalityMaskOut: *mut CMAudioFormatDescriptionMask,
12342    ) -> Boolean;
12343}
12344pub type CMVideoFormatDescriptionRef = CMFormatDescriptionRef;
12345pub type CMPixelFormatType = FourCharCode;
12346pub const kCMPixelFormat_32ARGB: _bindgen_ty_1682 = 32;
12347pub const kCMPixelFormat_32BGRA: _bindgen_ty_1682 = 1111970369;
12348pub const kCMPixelFormat_24RGB: _bindgen_ty_1682 = 24;
12349pub const kCMPixelFormat_16BE555: _bindgen_ty_1682 = 16;
12350pub const kCMPixelFormat_16BE565: _bindgen_ty_1682 = 1110783541;
12351pub const kCMPixelFormat_16LE555: _bindgen_ty_1682 = 1278555445;
12352pub const kCMPixelFormat_16LE565: _bindgen_ty_1682 = 1278555701;
12353pub const kCMPixelFormat_16LE5551: _bindgen_ty_1682 = 892679473;
12354pub const kCMPixelFormat_422YpCbCr8: _bindgen_ty_1682 = 846624121;
12355pub const kCMPixelFormat_422YpCbCr8_yuvs: _bindgen_ty_1682 = 2037741171;
12356pub const kCMPixelFormat_444YpCbCr8: _bindgen_ty_1682 = 1983066168;
12357pub const kCMPixelFormat_4444YpCbCrA8: _bindgen_ty_1682 = 1983131704;
12358pub const kCMPixelFormat_422YpCbCr16: _bindgen_ty_1682 = 1983000886;
12359pub const kCMPixelFormat_422YpCbCr10: _bindgen_ty_1682 = 1983000880;
12360pub const kCMPixelFormat_444YpCbCr10: _bindgen_ty_1682 = 1983131952;
12361pub const kCMPixelFormat_8IndexedGray_WhiteIsZero: _bindgen_ty_1682 = 40;
12362pub type _bindgen_ty_1682 = ::core::ffi::c_uint;
12363pub type CMVideoCodecType = FourCharCode;
12364pub const kCMVideoCodecType_422YpCbCr8: _bindgen_ty_1683 = 846624121;
12365pub const kCMVideoCodecType_Animation: _bindgen_ty_1683 = 1919706400;
12366pub const kCMVideoCodecType_Cinepak: _bindgen_ty_1683 = 1668704612;
12367pub const kCMVideoCodecType_JPEG: _bindgen_ty_1683 = 1785750887;
12368pub const kCMVideoCodecType_JPEG_OpenDML: _bindgen_ty_1683 = 1684890161;
12369pub const kCMVideoCodecType_JPEG_XL: _bindgen_ty_1683 = 1786276963;
12370pub const kCMVideoCodecType_SorensonVideo: _bindgen_ty_1683 = 1398165809;
12371pub const kCMVideoCodecType_SorensonVideo3: _bindgen_ty_1683 = 1398165811;
12372pub const kCMVideoCodecType_H263: _bindgen_ty_1683 = 1748121139;
12373pub const kCMVideoCodecType_H264: _bindgen_ty_1683 = 1635148593;
12374pub const kCMVideoCodecType_HEVC: _bindgen_ty_1683 = 1752589105;
12375pub const kCMVideoCodecType_HEVCWithAlpha: _bindgen_ty_1683 = 1836415073;
12376pub const kCMVideoCodecType_DolbyVisionHEVC: _bindgen_ty_1683 = 1685481521;
12377pub const kCMVideoCodecType_MPEG4Video: _bindgen_ty_1683 = 1836070006;
12378pub const kCMVideoCodecType_MPEG2Video: _bindgen_ty_1683 = 1836069494;
12379pub const kCMVideoCodecType_MPEG1Video: _bindgen_ty_1683 = 1836069238;
12380pub const kCMVideoCodecType_VP9: _bindgen_ty_1683 = 1987063865;
12381pub const kCMVideoCodecType_DVCNTSC: _bindgen_ty_1683 = 1685480224;
12382pub const kCMVideoCodecType_DVCPAL: _bindgen_ty_1683 = 1685480304;
12383pub const kCMVideoCodecType_DVCProPAL: _bindgen_ty_1683 = 1685483632;
12384pub const kCMVideoCodecType_DVCPro50NTSC: _bindgen_ty_1683 = 1685468526;
12385pub const kCMVideoCodecType_DVCPro50PAL: _bindgen_ty_1683 = 1685468528;
12386pub const kCMVideoCodecType_DVCPROHD720p60: _bindgen_ty_1683 = 1685481584;
12387pub const kCMVideoCodecType_DVCPROHD720p50: _bindgen_ty_1683 = 1685481585;
12388pub const kCMVideoCodecType_DVCPROHD1080i60: _bindgen_ty_1683 = 1685481526;
12389pub const kCMVideoCodecType_DVCPROHD1080i50: _bindgen_ty_1683 = 1685481525;
12390pub const kCMVideoCodecType_DVCPROHD1080p30: _bindgen_ty_1683 = 1685481523;
12391pub const kCMVideoCodecType_DVCPROHD1080p25: _bindgen_ty_1683 = 1685481522;
12392pub const kCMVideoCodecType_AppleProRes4444XQ: _bindgen_ty_1683 = 1634743416;
12393pub const kCMVideoCodecType_AppleProRes4444: _bindgen_ty_1683 = 1634743400;
12394pub const kCMVideoCodecType_AppleProRes422HQ: _bindgen_ty_1683 = 1634755432;
12395pub const kCMVideoCodecType_AppleProRes422: _bindgen_ty_1683 = 1634755438;
12396pub const kCMVideoCodecType_AppleProRes422LT: _bindgen_ty_1683 = 1634755443;
12397pub const kCMVideoCodecType_AppleProRes422Proxy: _bindgen_ty_1683 = 1634755439;
12398pub const kCMVideoCodecType_AppleProResRAW: _bindgen_ty_1683 = 1634759278;
12399pub const kCMVideoCodecType_AppleProResRAWHQ: _bindgen_ty_1683 = 1634759272;
12400pub const kCMVideoCodecType_DisparityHEVC: _bindgen_ty_1683 = 1684632424;
12401pub const kCMVideoCodecType_DepthHEVC: _bindgen_ty_1683 = 1684369512;
12402pub const kCMVideoCodecType_AV1: _bindgen_ty_1683 = 1635135537;
12403pub type _bindgen_ty_1683 = ::core::ffi::c_uint;
12404#[repr(C)]
12405#[derive(Debug, Copy, Clone)]
12406pub struct CMVideoDimensions {
12407    pub width: i32,
12408    pub height: i32,
12409}
12410extern "C" {
12411    pub static kCMFormatDescriptionExtension_FormatName: CFStringRef;
12412}
12413extern "C" {
12414    pub static kCMFormatDescriptionExtension_Depth: CFStringRef;
12415}
12416extern "C" {
12417    pub static kCMFormatDescriptionExtension_CleanAperture: CFStringRef;
12418}
12419extern "C" {
12420    pub static kCMFormatDescriptionKey_CleanApertureWidth: CFStringRef;
12421}
12422extern "C" {
12423    pub static kCMFormatDescriptionKey_CleanApertureHeight: CFStringRef;
12424}
12425extern "C" {
12426    pub static kCMFormatDescriptionKey_CleanApertureHorizontalOffset: CFStringRef;
12427}
12428extern "C" {
12429    pub static kCMFormatDescriptionKey_CleanApertureVerticalOffset: CFStringRef;
12430}
12431extern "C" {
12432    pub static kCMFormatDescriptionKey_CleanApertureWidthRational: CFStringRef;
12433}
12434extern "C" {
12435    pub static kCMFormatDescriptionKey_CleanApertureHeightRational: CFStringRef;
12436}
12437extern "C" {
12438    pub static kCMFormatDescriptionKey_CleanApertureHorizontalOffsetRational: CFStringRef;
12439}
12440extern "C" {
12441    pub static kCMFormatDescriptionKey_CleanApertureVerticalOffsetRational: CFStringRef;
12442}
12443extern "C" {
12444    pub static kCMFormatDescriptionExtension_FieldCount: CFStringRef;
12445}
12446extern "C" {
12447    pub static kCMFormatDescriptionExtension_FieldDetail: CFStringRef;
12448}
12449extern "C" {
12450    pub static kCMFormatDescriptionFieldDetail_TemporalTopFirst: CFStringRef;
12451}
12452extern "C" {
12453    pub static kCMFormatDescriptionFieldDetail_TemporalBottomFirst: CFStringRef;
12454}
12455extern "C" {
12456    pub static kCMFormatDescriptionFieldDetail_SpatialFirstLineEarly: CFStringRef;
12457}
12458extern "C" {
12459    pub static kCMFormatDescriptionFieldDetail_SpatialFirstLineLate: CFStringRef;
12460}
12461extern "C" {
12462    pub static kCMFormatDescriptionExtension_PixelAspectRatio: CFStringRef;
12463}
12464extern "C" {
12465    pub static kCMFormatDescriptionKey_PixelAspectRatioHorizontalSpacing: CFStringRef;
12466}
12467extern "C" {
12468    pub static kCMFormatDescriptionKey_PixelAspectRatioVerticalSpacing: CFStringRef;
12469}
12470extern "C" {
12471    pub static kCMFormatDescriptionExtension_ColorPrimaries: CFStringRef;
12472}
12473extern "C" {
12474    pub static kCMFormatDescriptionColorPrimaries_ITU_R_709_2: CFStringRef;
12475}
12476extern "C" {
12477    pub static kCMFormatDescriptionColorPrimaries_EBU_3213: CFStringRef;
12478}
12479extern "C" {
12480    pub static kCMFormatDescriptionColorPrimaries_SMPTE_C: CFStringRef;
12481}
12482extern "C" {
12483    pub static kCMFormatDescriptionColorPrimaries_DCI_P3: CFStringRef;
12484}
12485extern "C" {
12486    pub static kCMFormatDescriptionColorPrimaries_P3_D65: CFStringRef;
12487}
12488extern "C" {
12489    pub static kCMFormatDescriptionColorPrimaries_ITU_R_2020: CFStringRef;
12490}
12491extern "C" {
12492    pub static kCMFormatDescriptionColorPrimaries_P22: CFStringRef;
12493}
12494extern "C" {
12495    pub static kCMFormatDescriptionExtension_TransferFunction: CFStringRef;
12496}
12497extern "C" {
12498    pub static kCMFormatDescriptionTransferFunction_ITU_R_709_2: CFStringRef;
12499}
12500extern "C" {
12501    pub static kCMFormatDescriptionTransferFunction_SMPTE_240M_1995: CFStringRef;
12502}
12503extern "C" {
12504    pub static kCMFormatDescriptionTransferFunction_UseGamma: CFStringRef;
12505}
12506extern "C" {
12507    pub static kCMFormatDescriptionTransferFunction_ITU_R_2020: CFStringRef;
12508}
12509extern "C" {
12510    pub static kCMFormatDescriptionTransferFunction_SMPTE_ST_428_1: CFStringRef;
12511}
12512extern "C" {
12513    pub static kCMFormatDescriptionTransferFunction_SMPTE_ST_2084_PQ: CFStringRef;
12514}
12515extern "C" {
12516    pub static kCMFormatDescriptionTransferFunction_ITU_R_2100_HLG: CFStringRef;
12517}
12518extern "C" {
12519    pub static kCMFormatDescriptionTransferFunction_Linear: CFStringRef;
12520}
12521extern "C" {
12522    pub static kCMFormatDescriptionTransferFunction_sRGB: CFStringRef;
12523}
12524extern "C" {
12525    pub static kCMFormatDescriptionExtension_GammaLevel: CFStringRef;
12526}
12527extern "C" {
12528    pub static kCMFormatDescriptionExtension_YCbCrMatrix: CFStringRef;
12529}
12530extern "C" {
12531    pub static kCMFormatDescriptionYCbCrMatrix_ITU_R_709_2: CFStringRef;
12532}
12533extern "C" {
12534    pub static kCMFormatDescriptionYCbCrMatrix_ITU_R_601_4: CFStringRef;
12535}
12536extern "C" {
12537    pub static kCMFormatDescriptionYCbCrMatrix_SMPTE_240M_1995: CFStringRef;
12538}
12539extern "C" {
12540    pub static kCMFormatDescriptionYCbCrMatrix_ITU_R_2020: CFStringRef;
12541}
12542extern "C" {
12543    pub static kCMFormatDescriptionExtension_FullRangeVideo: CFStringRef;
12544}
12545extern "C" {
12546    pub static kCMFormatDescriptionExtension_ICCProfile: CFStringRef;
12547}
12548extern "C" {
12549    pub static kCMFormatDescriptionExtension_BytesPerRow: CFStringRef;
12550}
12551extern "C" {
12552    pub static kCMFormatDescriptionExtension_ChromaLocationTopField: CFStringRef;
12553}
12554extern "C" {
12555    pub static kCMFormatDescriptionExtension_ChromaLocationBottomField: CFStringRef;
12556}
12557extern "C" {
12558    pub static kCMFormatDescriptionChromaLocation_Left: CFStringRef;
12559}
12560extern "C" {
12561    pub static kCMFormatDescriptionChromaLocation_Center: CFStringRef;
12562}
12563extern "C" {
12564    pub static kCMFormatDescriptionChromaLocation_TopLeft: CFStringRef;
12565}
12566extern "C" {
12567    pub static kCMFormatDescriptionChromaLocation_Top: CFStringRef;
12568}
12569extern "C" {
12570    pub static kCMFormatDescriptionChromaLocation_BottomLeft: CFStringRef;
12571}
12572extern "C" {
12573    pub static kCMFormatDescriptionChromaLocation_Bottom: CFStringRef;
12574}
12575extern "C" {
12576    pub static kCMFormatDescriptionChromaLocation_DV420: CFStringRef;
12577}
12578extern "C" {
12579    pub static kCMFormatDescriptionConformsToMPEG2VideoProfile: CFStringRef;
12580}
12581extern "C" {
12582    pub static kCMFormatDescriptionExtension_ProtectedContentOriginalFormat: CFStringRef;
12583}
12584pub const kCMMPEG2VideoProfile_HDV_720p30: _bindgen_ty_1684 = 1751414321;
12585pub const kCMMPEG2VideoProfile_HDV_1080i60: _bindgen_ty_1684 = 1751414322;
12586pub const kCMMPEG2VideoProfile_HDV_1080i50: _bindgen_ty_1684 = 1751414323;
12587pub const kCMMPEG2VideoProfile_HDV_720p24: _bindgen_ty_1684 = 1751414324;
12588pub const kCMMPEG2VideoProfile_HDV_720p25: _bindgen_ty_1684 = 1751414325;
12589pub const kCMMPEG2VideoProfile_HDV_1080p24: _bindgen_ty_1684 = 1751414326;
12590pub const kCMMPEG2VideoProfile_HDV_1080p25: _bindgen_ty_1684 = 1751414327;
12591pub const kCMMPEG2VideoProfile_HDV_1080p30: _bindgen_ty_1684 = 1751414328;
12592pub const kCMMPEG2VideoProfile_HDV_720p60: _bindgen_ty_1684 = 1751414329;
12593pub const kCMMPEG2VideoProfile_HDV_720p50: _bindgen_ty_1684 = 1751414369;
12594pub const kCMMPEG2VideoProfile_XDCAM_HD_1080i60_VBR35: _bindgen_ty_1684 = 2019849778;
12595pub const kCMMPEG2VideoProfile_XDCAM_HD_1080i50_VBR35: _bindgen_ty_1684 = 2019849779;
12596pub const kCMMPEG2VideoProfile_XDCAM_HD_1080p24_VBR35: _bindgen_ty_1684 = 2019849782;
12597pub const kCMMPEG2VideoProfile_XDCAM_HD_1080p25_VBR35: _bindgen_ty_1684 = 2019849783;
12598pub const kCMMPEG2VideoProfile_XDCAM_HD_1080p30_VBR35: _bindgen_ty_1684 = 2019849784;
12599pub const kCMMPEG2VideoProfile_XDCAM_EX_720p24_VBR35: _bindgen_ty_1684 = 2019849780;
12600pub const kCMMPEG2VideoProfile_XDCAM_EX_720p25_VBR35: _bindgen_ty_1684 = 2019849781;
12601pub const kCMMPEG2VideoProfile_XDCAM_EX_720p30_VBR35: _bindgen_ty_1684 = 2019849777;
12602pub const kCMMPEG2VideoProfile_XDCAM_EX_720p50_VBR35: _bindgen_ty_1684 = 2019849825;
12603pub const kCMMPEG2VideoProfile_XDCAM_EX_720p60_VBR35: _bindgen_ty_1684 = 2019849785;
12604pub const kCMMPEG2VideoProfile_XDCAM_EX_1080i60_VBR35: _bindgen_ty_1684 = 2019849826;
12605pub const kCMMPEG2VideoProfile_XDCAM_EX_1080i50_VBR35: _bindgen_ty_1684 = 2019849827;
12606pub const kCMMPEG2VideoProfile_XDCAM_EX_1080p24_VBR35: _bindgen_ty_1684 = 2019849828;
12607pub const kCMMPEG2VideoProfile_XDCAM_EX_1080p25_VBR35: _bindgen_ty_1684 = 2019849829;
12608pub const kCMMPEG2VideoProfile_XDCAM_EX_1080p30_VBR35: _bindgen_ty_1684 = 2019849830;
12609pub const kCMMPEG2VideoProfile_XDCAM_HD422_720p50_CBR50: _bindgen_ty_1684 = 2019833185;
12610pub const kCMMPEG2VideoProfile_XDCAM_HD422_720p60_CBR50: _bindgen_ty_1684 = 2019833145;
12611pub const kCMMPEG2VideoProfile_XDCAM_HD422_1080i60_CBR50: _bindgen_ty_1684 = 2019833186;
12612pub const kCMMPEG2VideoProfile_XDCAM_HD422_1080i50_CBR50: _bindgen_ty_1684 = 2019833187;
12613pub const kCMMPEG2VideoProfile_XDCAM_HD422_1080p24_CBR50: _bindgen_ty_1684 = 2019833188;
12614pub const kCMMPEG2VideoProfile_XDCAM_HD422_1080p25_CBR50: _bindgen_ty_1684 = 2019833189;
12615pub const kCMMPEG2VideoProfile_XDCAM_HD422_1080p30_CBR50: _bindgen_ty_1684 = 2019833190;
12616pub const kCMMPEG2VideoProfile_XDCAM_HD_540p: _bindgen_ty_1684 = 2019846244;
12617pub const kCMMPEG2VideoProfile_XDCAM_HD422_540p: _bindgen_ty_1684 = 2019846194;
12618pub const kCMMPEG2VideoProfile_XDCAM_HD422_720p24_CBR50: _bindgen_ty_1684 = 2019833140;
12619pub const kCMMPEG2VideoProfile_XDCAM_HD422_720p25_CBR50: _bindgen_ty_1684 = 2019833141;
12620pub const kCMMPEG2VideoProfile_XDCAM_HD422_720p30_CBR50: _bindgen_ty_1684 = 2019833137;
12621pub const kCMMPEG2VideoProfile_XF: _bindgen_ty_1684 = 2019981873;
12622pub type _bindgen_ty_1684 = ::core::ffi::c_uint;
12623extern "C" {
12624    pub static kCMFormatDescriptionExtension_TemporalQuality: CFStringRef;
12625}
12626extern "C" {
12627    pub static kCMFormatDescriptionExtension_SpatialQuality: CFStringRef;
12628}
12629extern "C" {
12630    pub static kCMFormatDescriptionExtension_VerbatimImageDescription: CFStringRef;
12631}
12632extern "C" {
12633    pub static kCMFormatDescriptionExtension_Version: CFStringRef;
12634}
12635extern "C" {
12636    pub static kCMFormatDescriptionExtension_RevisionLevel: CFStringRef;
12637}
12638extern "C" {
12639    pub static kCMFormatDescriptionExtension_Vendor: CFStringRef;
12640}
12641extern "C" {
12642    pub static kCMFormatDescriptionVendor_Apple: CFStringRef;
12643}
12644extern "C" {
12645    pub static kCMFormatDescriptionExtension_MasteringDisplayColorVolume: CFStringRef;
12646}
12647extern "C" {
12648    pub static kCMFormatDescriptionExtension_ContentLightLevelInfo: CFStringRef;
12649}
12650extern "C" {
12651    pub static kCMFormatDescriptionExtension_ContentColorVolume: CFStringRef;
12652}
12653extern "C" {
12654    pub static kCMFormatDescriptionExtension_AlternativeTransferCharacteristics: CFStringRef;
12655}
12656extern "C" {
12657    pub static kCMFormatDescriptionExtension_AuxiliaryTypeInfo: CFStringRef;
12658}
12659extern "C" {
12660    pub static kCMFormatDescriptionExtension_AlphaChannelMode: CFStringRef;
12661}
12662extern "C" {
12663    pub static kCMFormatDescriptionAlphaChannelMode_StraightAlpha: CFStringRef;
12664}
12665extern "C" {
12666    pub static kCMFormatDescriptionAlphaChannelMode_PremultipliedAlpha: CFStringRef;
12667}
12668extern "C" {
12669    pub static kCMFormatDescriptionExtension_ContainsAlphaChannel: CFStringRef;
12670}
12671extern "C" {
12672    pub static kCMFormatDescriptionExtension_BitsPerComponent: CFStringRef;
12673}
12674extern "C" {
12675    pub static kCMFormatDescriptionExtension_HorizontalFieldOfView: CFStringRef;
12676}
12677extern "C" {
12678    pub static kCMFormatDescriptionExtension_LogTransferFunction: CFStringRef;
12679}
12680extern "C" {
12681    pub static kCMFormatDescriptionLogTransferFunction_AppleLog: CFStringRef;
12682}
12683extern "C" {
12684    pub static kCMFormatDescriptionExtension_HeroEye: CFStringRef;
12685}
12686extern "C" {
12687    pub static kCMFormatDescriptionHeroEye_Left: CFStringRef;
12688}
12689extern "C" {
12690    pub static kCMFormatDescriptionHeroEye_Right: CFStringRef;
12691}
12692extern "C" {
12693    pub static kCMFormatDescriptionExtension_StereoCameraBaseline: CFStringRef;
12694}
12695extern "C" {
12696    pub static kCMFormatDescriptionExtension_HorizontalDisparityAdjustment: CFStringRef;
12697}
12698extern "C" {
12699    pub static kCMFormatDescriptionExtension_HasLeftStereoEyeView: CFStringRef;
12700}
12701extern "C" {
12702    pub static kCMFormatDescriptionExtension_HasRightStereoEyeView: CFStringRef;
12703}
12704extern "C" {
12705    pub static kCMFormatDescriptionExtension_HasAdditionalViews: CFStringRef;
12706}
12707extern "C" {
12708    pub static kCMFormatDescriptionExtension_ProjectionKind: CFStringRef;
12709}
12710extern "C" {
12711    pub static kCMFormatDescriptionProjectionKind_Rectilinear: CFStringRef;
12712}
12713extern "C" {
12714    pub static kCMFormatDescriptionProjectionKind_Equirectangular: CFStringRef;
12715}
12716extern "C" {
12717    pub static kCMFormatDescriptionProjectionKind_HalfEquirectangular: CFStringRef;
12718}
12719extern "C" {
12720    pub static kCMFormatDescriptionProjectionKind_ParametricImmersive: CFStringRef;
12721}
12722extern "C" {
12723    pub static kCMFormatDescriptionProjectionKind_AppleImmersiveVideo: CFStringRef;
12724}
12725extern "C" {
12726    pub static kCMFormatDescriptionExtension_ViewPackingKind: CFStringRef;
12727}
12728extern "C" {
12729    pub static kCMFormatDescriptionViewPackingKind_SideBySide: CFStringRef;
12730}
12731extern "C" {
12732    pub static kCMFormatDescriptionViewPackingKind_OverUnder: CFStringRef;
12733}
12734extern "C" {
12735    pub static kCMFormatDescriptionExtension_CameraCalibrationDataLensCollection: CFStringRef;
12736}
12737extern "C" {
12738    pub static kCMFormatDescriptionCameraCalibration_LensAlgorithmKind: CFStringRef;
12739}
12740extern "C" {
12741    pub static kCMFormatDescriptionCameraCalibrationLensAlgorithmKind_ParametricLens: CFStringRef;
12742}
12743extern "C" {
12744    pub static kCMFormatDescriptionCameraCalibration_LensDomain: CFStringRef;
12745}
12746extern "C" {
12747    pub static kCMFormatDescriptionCameraCalibrationLensDomain_Color: CFStringRef;
12748}
12749extern "C" {
12750    pub static kCMFormatDescriptionCameraCalibration_LensIdentifier: CFStringRef;
12751}
12752extern "C" {
12753    pub static kCMFormatDescriptionCameraCalibration_LensRole: CFStringRef;
12754}
12755extern "C" {
12756    pub static kCMFormatDescriptionCameraCalibrationLensRole_Mono: CFStringRef;
12757}
12758extern "C" {
12759    pub static kCMFormatDescriptionCameraCalibrationLensRole_Left: CFStringRef;
12760}
12761extern "C" {
12762    pub static kCMFormatDescriptionCameraCalibrationLensRole_Right: CFStringRef;
12763}
12764extern "C" {
12765    pub static kCMFormatDescriptionCameraCalibration_LensDistortions: CFStringRef;
12766}
12767extern "C" {
12768    pub static kCMFormatDescriptionCameraCalibration_LensFrameAdjustmentsPolynomialX: CFStringRef;
12769}
12770extern "C" {
12771    pub static kCMFormatDescriptionCameraCalibration_LensFrameAdjustmentsPolynomialY: CFStringRef;
12772}
12773extern "C" {
12774    pub static kCMFormatDescriptionCameraCalibration_RadialAngleLimit: CFStringRef;
12775}
12776extern "C" {
12777    pub static kCMFormatDescriptionCameraCalibration_IntrinsicMatrix: CFStringRef;
12778}
12779extern "C" {
12780    pub static kCMFormatDescriptionCameraCalibration_IntrinsicMatrixProjectionOffset: CFStringRef;
12781}
12782extern "C" {
12783    pub static kCMFormatDescriptionCameraCalibration_IntrinsicMatrixReferenceDimensions:
12784        CFStringRef;
12785}
12786extern "C" {
12787    pub static kCMFormatDescriptionCameraCalibration_ExtrinsicOriginSource: CFStringRef;
12788}
12789extern "C" {
12790    pub static kCMFormatDescriptionCameraCalibrationExtrinsicOriginSource_StereoCameraSystemBaseline:
12791        CFStringRef;
12792}
12793extern "C" {
12794    pub static kCMFormatDescriptionCameraCalibration_ExtrinsicOrientationQuaternion: CFStringRef;
12795}
12796extern "C" {
12797    pub static kCMFormatDescriptionExtension_ConvertedFromExternalSphericalTags: CFStringRef;
12798}
12799extern "C" {
12800    pub fn CMVideoFormatDescriptionCreate(
12801        allocator: CFAllocatorRef,
12802        codecType: CMVideoCodecType,
12803        width: i32,
12804        height: i32,
12805        extensions: CFDictionaryRef,
12806        formatDescriptionOut: *mut CMVideoFormatDescriptionRef,
12807    ) -> OSStatus;
12808}
12809extern "C" {
12810    pub fn CMVideoFormatDescriptionCreateForImageBuffer(
12811        allocator: CFAllocatorRef,
12812        imageBuffer: CVImageBufferRef,
12813        formatDescriptionOut: *mut CMVideoFormatDescriptionRef,
12814    ) -> OSStatus;
12815}
12816extern "C" {
12817    pub fn CMVideoFormatDescriptionCreateFromH264ParameterSets(
12818        allocator: CFAllocatorRef,
12819        parameterSetCount: usize,
12820        parameterSetPointers: *const *const u8,
12821        parameterSetSizes: *const usize,
12822        NALUnitHeaderLength: ::core::ffi::c_int,
12823        formatDescriptionOut: *mut CMFormatDescriptionRef,
12824    ) -> OSStatus;
12825}
12826extern "C" {
12827    pub fn CMVideoFormatDescriptionCreateFromHEVCParameterSets(
12828        allocator: CFAllocatorRef,
12829        parameterSetCount: usize,
12830        parameterSetPointers: *const *const u8,
12831        parameterSetSizes: *const usize,
12832        NALUnitHeaderLength: ::core::ffi::c_int,
12833        extensions: CFDictionaryRef,
12834        formatDescriptionOut: *mut CMFormatDescriptionRef,
12835    ) -> OSStatus;
12836}
12837extern "C" {
12838    pub fn CMVideoFormatDescriptionGetH264ParameterSetAtIndex(
12839        videoDesc: CMFormatDescriptionRef,
12840        parameterSetIndex: usize,
12841        parameterSetPointerOut: *mut *const u8,
12842        parameterSetSizeOut: *mut usize,
12843        parameterSetCountOut: *mut usize,
12844        NALUnitHeaderLengthOut: *mut ::core::ffi::c_int,
12845    ) -> OSStatus;
12846}
12847extern "C" {
12848    pub fn CMVideoFormatDescriptionGetHEVCParameterSetAtIndex(
12849        videoDesc: CMFormatDescriptionRef,
12850        parameterSetIndex: usize,
12851        parameterSetPointerOut: *mut *const u8,
12852        parameterSetSizeOut: *mut usize,
12853        parameterSetCountOut: *mut usize,
12854        NALUnitHeaderLengthOut: *mut ::core::ffi::c_int,
12855    ) -> OSStatus;
12856}
12857extern "C" {
12858    pub fn CMVideoFormatDescriptionGetDimensions(
12859        videoDesc: CMVideoFormatDescriptionRef,
12860    ) -> CMVideoDimensions;
12861}
12862extern "C" {
12863    pub fn CMVideoFormatDescriptionGetPresentationDimensions(
12864        videoDesc: CMVideoFormatDescriptionRef,
12865        usePixelAspectRatio: Boolean,
12866        useCleanAperture: Boolean,
12867    ) -> CGSize;
12868}
12869extern "C" {
12870    pub fn CMVideoFormatDescriptionGetCleanAperture(
12871        videoDesc: CMVideoFormatDescriptionRef,
12872        originIsAtTopLeft: Boolean,
12873    ) -> CGRect;
12874}
12875extern "C" {
12876    pub fn CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers() -> CFArrayRef;
12877}
12878extern "C" {
12879    pub fn CMVideoFormatDescriptionMatchesImageBuffer(
12880        desc: CMVideoFormatDescriptionRef,
12881        imageBuffer: CVImageBufferRef,
12882    ) -> Boolean;
12883}
12884extern "C" {
12885    pub fn CMVideoFormatDescriptionCopyTagCollectionArray(
12886        formatDescription: CMVideoFormatDescriptionRef,
12887        tagCollectionsOut: *mut CFArrayRef,
12888    ) -> OSStatus;
12889}
12890pub type CMTaggedBufferGroupFormatDescriptionRef = CMFormatDescriptionRef;
12891pub type CMTaggedBufferGroupFormatType = FourCharCode;
12892pub const kCMTaggedBufferGroupFormatType_TaggedBufferGroup: _bindgen_ty_1685 = 1952606066;
12893pub type _bindgen_ty_1685 = ::core::ffi::c_uint;
12894pub type CMMuxedFormatDescriptionRef = CMFormatDescriptionRef;
12895pub type CMMuxedStreamType = FourCharCode;
12896pub const kCMMuxedStreamType_MPEG1System: _bindgen_ty_1686 = 1836069235;
12897pub const kCMMuxedStreamType_MPEG2Transport: _bindgen_ty_1686 = 1836069492;
12898pub const kCMMuxedStreamType_MPEG2Program: _bindgen_ty_1686 = 1836069488;
12899pub const kCMMuxedStreamType_DV: _bindgen_ty_1686 = 1685463072;
12900pub const kCMMuxedStreamType_EmbeddedDeviceScreenRecording: _bindgen_ty_1686 = 1769173536;
12901pub type _bindgen_ty_1686 = ::core::ffi::c_uint;
12902extern "C" {
12903    pub fn CMMuxedFormatDescriptionCreate(
12904        allocator: CFAllocatorRef,
12905        muxType: CMMuxedStreamType,
12906        extensions: CFDictionaryRef,
12907        formatDescriptionOut: *mut CMMuxedFormatDescriptionRef,
12908    ) -> OSStatus;
12909}
12910pub type CMClosedCaptionFormatDescriptionRef = CMFormatDescriptionRef;
12911pub type CMClosedCaptionFormatType = FourCharCode;
12912pub const kCMClosedCaptionFormatType_CEA608: _bindgen_ty_1687 = 1664495672;
12913pub const kCMClosedCaptionFormatType_CEA708: _bindgen_ty_1687 = 1664561208;
12914pub const kCMClosedCaptionFormatType_ATSC: _bindgen_ty_1687 = 1635017571;
12915pub type _bindgen_ty_1687 = ::core::ffi::c_uint;
12916pub type CMTextFormatDescriptionRef = CMFormatDescriptionRef;
12917pub type CMTextFormatType = FourCharCode;
12918pub const kCMTextFormatType_QTText: _bindgen_ty_1688 = 1952807028;
12919pub const kCMTextFormatType_3GText: _bindgen_ty_1688 = 1954034535;
12920pub type _bindgen_ty_1688 = ::core::ffi::c_uint;
12921pub type CMTextDisplayFlags = u32;
12922pub const kCMTextDisplayFlag_scrollIn: _bindgen_ty_1689 = 32;
12923pub const kCMTextDisplayFlag_scrollOut: _bindgen_ty_1689 = 64;
12924pub const kCMTextDisplayFlag_scrollDirectionMask: _bindgen_ty_1689 = 384;
12925pub const kCMTextDisplayFlag_scrollDirection_bottomToTop: _bindgen_ty_1689 = 0;
12926pub const kCMTextDisplayFlag_scrollDirection_rightToLeft: _bindgen_ty_1689 = 128;
12927pub const kCMTextDisplayFlag_scrollDirection_topToBottom: _bindgen_ty_1689 = 256;
12928pub const kCMTextDisplayFlag_scrollDirection_leftToRight: _bindgen_ty_1689 = 384;
12929pub const kCMTextDisplayFlag_continuousKaraoke: _bindgen_ty_1689 = 2048;
12930pub const kCMTextDisplayFlag_writeTextVertically: _bindgen_ty_1689 = 131072;
12931pub const kCMTextDisplayFlag_fillTextRegion: _bindgen_ty_1689 = 262144;
12932pub const kCMTextDisplayFlag_obeySubtitleFormatting: _bindgen_ty_1689 = 536870912;
12933pub const kCMTextDisplayFlag_forcedSubtitlesPresent: _bindgen_ty_1689 = 1073741824;
12934pub const kCMTextDisplayFlag_allSubtitlesForced: _bindgen_ty_1689 = 2147483648;
12935pub type _bindgen_ty_1689 = ::core::ffi::c_uint;
12936pub type CMTextJustificationValue = i8;
12937pub const kCMTextJustification_left_top: _bindgen_ty_1690 = 0;
12938pub const kCMTextJustification_centered: _bindgen_ty_1690 = 1;
12939pub const kCMTextJustification_bottom_right: _bindgen_ty_1690 = -1;
12940pub type _bindgen_ty_1690 = ::core::ffi::c_int;
12941extern "C" {
12942    pub static kCMTextFormatDescriptionExtension_DisplayFlags: CFStringRef;
12943}
12944extern "C" {
12945    pub static kCMTextFormatDescriptionExtension_BackgroundColor: CFStringRef;
12946}
12947extern "C" {
12948    pub static kCMTextFormatDescriptionColor_Red: CFStringRef;
12949}
12950extern "C" {
12951    pub static kCMTextFormatDescriptionColor_Green: CFStringRef;
12952}
12953extern "C" {
12954    pub static kCMTextFormatDescriptionColor_Blue: CFStringRef;
12955}
12956extern "C" {
12957    pub static kCMTextFormatDescriptionColor_Alpha: CFStringRef;
12958}
12959extern "C" {
12960    pub static kCMTextFormatDescriptionExtension_DefaultTextBox: CFStringRef;
12961}
12962extern "C" {
12963    pub static kCMTextFormatDescriptionRect_Top: CFStringRef;
12964}
12965extern "C" {
12966    pub static kCMTextFormatDescriptionRect_Left: CFStringRef;
12967}
12968extern "C" {
12969    pub static kCMTextFormatDescriptionRect_Bottom: CFStringRef;
12970}
12971extern "C" {
12972    pub static kCMTextFormatDescriptionRect_Right: CFStringRef;
12973}
12974extern "C" {
12975    pub static kCMTextFormatDescriptionExtension_DefaultStyle: CFStringRef;
12976}
12977extern "C" {
12978    pub static kCMTextFormatDescriptionStyle_StartChar: CFStringRef;
12979}
12980extern "C" {
12981    pub static kCMTextFormatDescriptionStyle_Font: CFStringRef;
12982}
12983extern "C" {
12984    pub static kCMTextFormatDescriptionStyle_FontFace: CFStringRef;
12985}
12986extern "C" {
12987    pub static kCMTextFormatDescriptionStyle_ForegroundColor: CFStringRef;
12988}
12989extern "C" {
12990    pub static kCMTextFormatDescriptionStyle_FontSize: CFStringRef;
12991}
12992extern "C" {
12993    pub static kCMTextFormatDescriptionExtension_HorizontalJustification: CFStringRef;
12994}
12995extern "C" {
12996    pub static kCMTextFormatDescriptionExtension_VerticalJustification: CFStringRef;
12997}
12998extern "C" {
12999    pub static kCMTextFormatDescriptionStyle_EndChar: CFStringRef;
13000}
13001extern "C" {
13002    pub static kCMTextFormatDescriptionExtension_FontTable: CFStringRef;
13003}
13004extern "C" {
13005    pub static kCMTextFormatDescriptionExtension_TextJustification: CFStringRef;
13006}
13007extern "C" {
13008    pub static kCMTextFormatDescriptionStyle_Height: CFStringRef;
13009}
13010extern "C" {
13011    pub static kCMTextFormatDescriptionStyle_Ascent: CFStringRef;
13012}
13013extern "C" {
13014    pub static kCMTextFormatDescriptionExtension_DefaultFontName: CFStringRef;
13015}
13016extern "C" {
13017    pub static mut kCMFormatDescriptionExtension_AmbientViewingEnvironment: CFStringRef;
13018}
13019extern "C" {
13020    pub fn CMTextFormatDescriptionGetDisplayFlags(
13021        desc: CMFormatDescriptionRef,
13022        displayFlagsOut: *mut CMTextDisplayFlags,
13023    ) -> OSStatus;
13024}
13025extern "C" {
13026    pub fn CMTextFormatDescriptionGetJustification(
13027        desc: CMFormatDescriptionRef,
13028        horizontaJustificationlOut: *mut CMTextJustificationValue,
13029        verticalJustificationOut: *mut CMTextJustificationValue,
13030    ) -> OSStatus;
13031}
13032extern "C" {
13033    pub fn CMTextFormatDescriptionGetDefaultTextBox(
13034        desc: CMFormatDescriptionRef,
13035        originIsAtTopLeft: Boolean,
13036        heightOfTextTrack: CGFloat,
13037        defaultTextBoxOut: *mut CGRect,
13038    ) -> OSStatus;
13039}
13040extern "C" {
13041    pub fn CMTextFormatDescriptionGetDefaultStyle(
13042        desc: CMFormatDescriptionRef,
13043        localFontIDOut: *mut u16,
13044        boldOut: *mut Boolean,
13045        italicOut: *mut Boolean,
13046        underlineOut: *mut Boolean,
13047        fontSizeOut: *mut CGFloat,
13048        colorComponentsOut: *mut CGFloat,
13049    ) -> OSStatus;
13050}
13051extern "C" {
13052    pub fn CMTextFormatDescriptionGetFontName(
13053        desc: CMFormatDescriptionRef,
13054        localFontID: u16,
13055        fontNameOut: *mut CFStringRef,
13056    ) -> OSStatus;
13057}
13058pub type CMSubtitleFormatType = FourCharCode;
13059pub const kCMSubtitleFormatType_3GText: _bindgen_ty_1691 = 1954034535;
13060pub const kCMSubtitleFormatType_WebVTT: _bindgen_ty_1691 = 2004251764;
13061pub type _bindgen_ty_1691 = ::core::ffi::c_uint;
13062pub type CMTimeCodeFormatDescriptionRef = CMFormatDescriptionRef;
13063pub type CMTimeCodeFormatType = FourCharCode;
13064pub const kCMTimeCodeFormatType_TimeCode32: _bindgen_ty_1692 = 1953325924;
13065pub const kCMTimeCodeFormatType_TimeCode64: _bindgen_ty_1692 = 1952658996;
13066pub const kCMTimeCodeFormatType_Counter32: _bindgen_ty_1692 = 1668166450;
13067pub const kCMTimeCodeFormatType_Counter64: _bindgen_ty_1692 = 1668167220;
13068pub type _bindgen_ty_1692 = ::core::ffi::c_uint;
13069pub const kCMTimeCodeFlag_DropFrame: _bindgen_ty_1693 = 1;
13070pub const kCMTimeCodeFlag_24HourMax: _bindgen_ty_1693 = 2;
13071pub const kCMTimeCodeFlag_NegTimesOK: _bindgen_ty_1693 = 4;
13072pub type _bindgen_ty_1693 = ::core::ffi::c_uint;
13073extern "C" {
13074    pub fn CMTimeCodeFormatDescriptionCreate(
13075        allocator: CFAllocatorRef,
13076        timeCodeFormatType: CMTimeCodeFormatType,
13077        frameDuration: CMTime,
13078        frameQuanta: u32,
13079        flags: u32,
13080        extensions: CFDictionaryRef,
13081        formatDescriptionOut: *mut CMTimeCodeFormatDescriptionRef,
13082    ) -> OSStatus;
13083}
13084extern "C" {
13085    pub fn CMTimeCodeFormatDescriptionGetFrameDuration(
13086        timeCodeFormatDescription: CMTimeCodeFormatDescriptionRef,
13087    ) -> CMTime;
13088}
13089extern "C" {
13090    pub fn CMTimeCodeFormatDescriptionGetFrameQuanta(
13091        timeCodeFormatDescription: CMTimeCodeFormatDescriptionRef,
13092    ) -> u32;
13093}
13094extern "C" {
13095    pub fn CMTimeCodeFormatDescriptionGetTimeCodeFlags(desc: CMTimeCodeFormatDescriptionRef)
13096        -> u32;
13097}
13098extern "C" {
13099    pub static kCMTimeCodeFormatDescriptionExtension_SourceReferenceName: CFStringRef;
13100}
13101extern "C" {
13102    pub static kCMTimeCodeFormatDescriptionKey_Value: CFStringRef;
13103}
13104extern "C" {
13105    pub static kCMTimeCodeFormatDescriptionKey_LangCode: CFStringRef;
13106}
13107pub type CMMetadataFormatDescriptionRef = CMFormatDescriptionRef;
13108pub type CMMetadataFormatType = FourCharCode;
13109pub const kCMMetadataFormatType_ICY: _bindgen_ty_1694 = 1768126752;
13110pub const kCMMetadataFormatType_ID3: _bindgen_ty_1694 = 1768174368;
13111pub const kCMMetadataFormatType_Boxed: _bindgen_ty_1694 = 1835360888;
13112pub const kCMMetadataFormatType_EMSG: _bindgen_ty_1694 = 1701671783;
13113pub type _bindgen_ty_1694 = ::core::ffi::c_uint;
13114extern "C" {
13115    pub static kCMFormatDescriptionExtensionKey_MetadataKeyTable: CFStringRef;
13116}
13117extern "C" {
13118    pub static kCMMetadataFormatDescriptionKey_Namespace: CFStringRef;
13119}
13120extern "C" {
13121    pub static kCMMetadataFormatDescriptionKey_Value: CFStringRef;
13122}
13123extern "C" {
13124    pub static kCMMetadataFormatDescriptionKey_LocalID: CFStringRef;
13125}
13126extern "C" {
13127    pub static kCMMetadataFormatDescriptionKey_DataType: CFStringRef;
13128}
13129extern "C" {
13130    pub static kCMMetadataFormatDescriptionKey_DataTypeNamespace: CFStringRef;
13131}
13132extern "C" {
13133    pub static kCMMetadataFormatDescriptionKey_ConformingDataTypes: CFStringRef;
13134}
13135extern "C" {
13136    pub static kCMMetadataFormatDescriptionKey_LanguageTag: CFStringRef;
13137}
13138extern "C" {
13139    pub static kCMMetadataFormatDescriptionKey_StructuralDependency: CFStringRef;
13140}
13141extern "C" {
13142    pub static kCMMetadataFormatDescriptionKey_SetupData: CFStringRef;
13143}
13144extern "C" {
13145    pub static kCMMetadataFormatDescription_StructuralDependencyKey_DependencyIsInvalidFlag:
13146        CFStringRef;
13147}
13148extern "C" {
13149    pub static kCMMetadataFormatDescriptionMetadataSpecificationKey_Identifier: CFStringRef;
13150}
13151extern "C" {
13152    pub static kCMMetadataFormatDescriptionMetadataSpecificationKey_DataType: CFStringRef;
13153}
13154extern "C" {
13155    pub static kCMMetadataFormatDescriptionMetadataSpecificationKey_ExtendedLanguageTag:
13156        CFStringRef;
13157}
13158extern "C" {
13159    pub static kCMMetadataFormatDescriptionMetadataSpecificationKey_StructuralDependency:
13160        CFStringRef;
13161}
13162extern "C" {
13163    pub static kCMMetadataFormatDescriptionMetadataSpecificationKey_SetupData: CFStringRef;
13164}
13165extern "C" {
13166    pub fn CMMetadataFormatDescriptionCreateWithKeys(
13167        allocator: CFAllocatorRef,
13168        metadataType: CMMetadataFormatType,
13169        keys: CFArrayRef,
13170        formatDescriptionOut: *mut CMMetadataFormatDescriptionRef,
13171    ) -> OSStatus;
13172}
13173extern "C" {
13174    pub fn CMMetadataFormatDescriptionCreateWithMetadataSpecifications(
13175        allocator: CFAllocatorRef,
13176        metadataType: CMMetadataFormatType,
13177        metadataSpecifications: CFArrayRef,
13178        formatDescriptionOut: *mut CMMetadataFormatDescriptionRef,
13179    ) -> OSStatus;
13180}
13181extern "C" {
13182    pub fn CMMetadataFormatDescriptionCreateWithMetadataFormatDescriptionAndMetadataSpecifications(
13183        allocator: CFAllocatorRef,
13184        sourceDescription: CMMetadataFormatDescriptionRef,
13185        metadataSpecifications: CFArrayRef,
13186        formatDescriptionOut: *mut CMMetadataFormatDescriptionRef,
13187    ) -> OSStatus;
13188}
13189extern "C" {
13190    pub fn CMMetadataFormatDescriptionCreateByMergingMetadataFormatDescriptions(
13191        allocator: CFAllocatorRef,
13192        sourceDescription: CMMetadataFormatDescriptionRef,
13193        otherSourceDescription: CMMetadataFormatDescriptionRef,
13194        formatDescriptionOut: *mut CMMetadataFormatDescriptionRef,
13195    ) -> OSStatus;
13196}
13197extern "C" {
13198    pub fn CMMetadataFormatDescriptionGetKeyWithLocalID(
13199        desc: CMMetadataFormatDescriptionRef,
13200        localKeyID: OSType,
13201    ) -> CFDictionaryRef;
13202}
13203extern "C" {
13204    pub fn CMMetadataFormatDescriptionGetIdentifiers(
13205        desc: CMMetadataFormatDescriptionRef,
13206    ) -> CFArrayRef;
13207}
13208pub type CMAttachmentBearerRef = CFTypeRef;
13209pub type CMAttachmentMode = u32;
13210pub const kCMAttachmentMode_ShouldNotPropagate: _bindgen_ty_1695 = 0;
13211pub const kCMAttachmentMode_ShouldPropagate: _bindgen_ty_1695 = 1;
13212pub type _bindgen_ty_1695 = ::core::ffi::c_uint;
13213extern "C" {
13214    pub fn CMSetAttachment(
13215        target: CMAttachmentBearerRef,
13216        key: CFStringRef,
13217        value: CFTypeRef,
13218        attachmentMode: CMAttachmentMode,
13219    );
13220}
13221extern "C" {
13222    pub fn CMGetAttachment(
13223        target: CMAttachmentBearerRef,
13224        key: CFStringRef,
13225        attachmentModeOut: *mut CMAttachmentMode,
13226    ) -> CFTypeRef;
13227}
13228extern "C" {
13229    pub fn CMRemoveAttachment(target: CMAttachmentBearerRef, key: CFStringRef);
13230}
13231extern "C" {
13232    pub fn CMRemoveAllAttachments(target: CMAttachmentBearerRef);
13233}
13234extern "C" {
13235    pub fn CMCopyDictionaryOfAttachments(
13236        allocator: CFAllocatorRef,
13237        target: CMAttachmentBearerRef,
13238        attachmentMode: CMAttachmentMode,
13239    ) -> CFDictionaryRef;
13240}
13241extern "C" {
13242    pub fn CMSetAttachments(
13243        target: CMAttachmentBearerRef,
13244        theAttachments: CFDictionaryRef,
13245        attachmentMode: CMAttachmentMode,
13246    );
13247}
13248extern "C" {
13249    pub fn CMPropagateAttachments(
13250        source: CMAttachmentBearerRef,
13251        destination: CMAttachmentBearerRef,
13252    );
13253}
13254pub const kCMBlockBufferNoErr: _bindgen_ty_1696 = 0;
13255pub const kCMBlockBufferStructureAllocationFailedErr: _bindgen_ty_1696 = -12700;
13256pub const kCMBlockBufferBlockAllocationFailedErr: _bindgen_ty_1696 = -12701;
13257pub const kCMBlockBufferBadCustomBlockSourceErr: _bindgen_ty_1696 = -12702;
13258pub const kCMBlockBufferBadOffsetParameterErr: _bindgen_ty_1696 = -12703;
13259pub const kCMBlockBufferBadLengthParameterErr: _bindgen_ty_1696 = -12704;
13260pub const kCMBlockBufferBadPointerParameterErr: _bindgen_ty_1696 = -12705;
13261pub const kCMBlockBufferEmptyBBufErr: _bindgen_ty_1696 = -12706;
13262pub const kCMBlockBufferUnallocatedBlockErr: _bindgen_ty_1696 = -12707;
13263pub const kCMBlockBufferInsufficientSpaceErr: _bindgen_ty_1696 = -12708;
13264pub type _bindgen_ty_1696 = ::core::ffi::c_int;
13265pub type CMBlockBufferFlags = u32;
13266pub const kCMBlockBufferAssureMemoryNowFlag: _bindgen_ty_1697 = 1;
13267pub const kCMBlockBufferAlwaysCopyDataFlag: _bindgen_ty_1697 = 2;
13268pub const kCMBlockBufferDontOptimizeDepthFlag: _bindgen_ty_1697 = 4;
13269pub const kCMBlockBufferPermitEmptyReferenceFlag: _bindgen_ty_1697 = 8;
13270pub type _bindgen_ty_1697 = ::core::ffi::c_uint;
13271#[repr(C)]
13272#[derive(Debug, Copy, Clone)]
13273pub struct OpaqueCMBlockBuffer {
13274    _unused: [u8; 0],
13275}
13276pub type CMBlockBufferRef = *mut OpaqueCMBlockBuffer;
13277#[repr(C, packed(4))]
13278#[derive(Debug, Copy, Clone)]
13279pub struct CMBlockBufferCustomBlockSource {
13280    pub version: u32,
13281    pub AllocateBlock: ::core::option::Option<
13282        unsafe extern "C" fn(
13283            refcon: *mut ::core::ffi::c_void,
13284            sizeInBytes: usize,
13285        ) -> *mut ::core::ffi::c_void,
13286    >,
13287    pub FreeBlock: ::core::option::Option<
13288        unsafe extern "C" fn(
13289            refcon: *mut ::core::ffi::c_void,
13290            doomedMemoryBlock: *mut ::core::ffi::c_void,
13291            sizeInBytes: usize,
13292        ),
13293    >,
13294    pub refCon: *mut ::core::ffi::c_void,
13295}
13296pub const kCMBlockBufferCustomBlockSourceVersion: _bindgen_ty_1698 = 0;
13297pub type _bindgen_ty_1698 = ::core::ffi::c_uint;
13298extern "C" {
13299    pub fn CMBlockBufferCreateEmpty(
13300        structureAllocator: CFAllocatorRef,
13301        subBlockCapacity: u32,
13302        flags: CMBlockBufferFlags,
13303        blockBufferOut: *mut CMBlockBufferRef,
13304    ) -> OSStatus;
13305}
13306extern "C" {
13307    pub fn CMBlockBufferCreateWithMemoryBlock(
13308        structureAllocator: CFAllocatorRef,
13309        memoryBlock: *mut ::core::ffi::c_void,
13310        blockLength: usize,
13311        blockAllocator: CFAllocatorRef,
13312        customBlockSource: *const CMBlockBufferCustomBlockSource,
13313        offsetToData: usize,
13314        dataLength: usize,
13315        flags: CMBlockBufferFlags,
13316        blockBufferOut: *mut CMBlockBufferRef,
13317    ) -> OSStatus;
13318}
13319extern "C" {
13320    pub fn CMBlockBufferCreateWithBufferReference(
13321        structureAllocator: CFAllocatorRef,
13322        bufferReference: CMBlockBufferRef,
13323        offsetToData: usize,
13324        dataLength: usize,
13325        flags: CMBlockBufferFlags,
13326        blockBufferOut: *mut CMBlockBufferRef,
13327    ) -> OSStatus;
13328}
13329extern "C" {
13330    pub fn CMBlockBufferCreateContiguous(
13331        structureAllocator: CFAllocatorRef,
13332        sourceBuffer: CMBlockBufferRef,
13333        blockAllocator: CFAllocatorRef,
13334        customBlockSource: *const CMBlockBufferCustomBlockSource,
13335        offsetToData: usize,
13336        dataLength: usize,
13337        flags: CMBlockBufferFlags,
13338        blockBufferOut: *mut CMBlockBufferRef,
13339    ) -> OSStatus;
13340}
13341extern "C" {
13342    pub fn CMBlockBufferGetTypeID() -> CFTypeID;
13343}
13344extern "C" {
13345    pub fn CMBlockBufferAppendMemoryBlock(
13346        theBuffer: CMBlockBufferRef,
13347        memoryBlock: *mut ::core::ffi::c_void,
13348        blockLength: usize,
13349        blockAllocator: CFAllocatorRef,
13350        customBlockSource: *const CMBlockBufferCustomBlockSource,
13351        offsetToData: usize,
13352        dataLength: usize,
13353        flags: CMBlockBufferFlags,
13354    ) -> OSStatus;
13355}
13356extern "C" {
13357    pub fn CMBlockBufferAppendBufferReference(
13358        theBuffer: CMBlockBufferRef,
13359        targetBBuf: CMBlockBufferRef,
13360        offsetToData: usize,
13361        dataLength: usize,
13362        flags: CMBlockBufferFlags,
13363    ) -> OSStatus;
13364}
13365extern "C" {
13366    pub fn CMBlockBufferAssureBlockMemory(theBuffer: CMBlockBufferRef) -> OSStatus;
13367}
13368extern "C" {
13369    pub fn CMBlockBufferAccessDataBytes(
13370        theBuffer: CMBlockBufferRef,
13371        offset: usize,
13372        length: usize,
13373        temporaryBlock: *mut ::core::ffi::c_void,
13374        returnedPointerOut: *mut *mut ::core::ffi::c_char,
13375    ) -> OSStatus;
13376}
13377extern "C" {
13378    pub fn CMBlockBufferCopyDataBytes(
13379        theSourceBuffer: CMBlockBufferRef,
13380        offsetToData: usize,
13381        dataLength: usize,
13382        destination: *mut ::core::ffi::c_void,
13383    ) -> OSStatus;
13384}
13385extern "C" {
13386    pub fn CMBlockBufferReplaceDataBytes(
13387        sourceBytes: *const ::core::ffi::c_void,
13388        destinationBuffer: CMBlockBufferRef,
13389        offsetIntoDestination: usize,
13390        dataLength: usize,
13391    ) -> OSStatus;
13392}
13393extern "C" {
13394    pub fn CMBlockBufferFillDataBytes(
13395        fillByte: ::core::ffi::c_char,
13396        destinationBuffer: CMBlockBufferRef,
13397        offsetIntoDestination: usize,
13398        dataLength: usize,
13399    ) -> OSStatus;
13400}
13401extern "C" {
13402    pub fn CMBlockBufferGetDataPointer(
13403        theBuffer: CMBlockBufferRef,
13404        offset: usize,
13405        lengthAtOffsetOut: *mut usize,
13406        totalLengthOut: *mut usize,
13407        dataPointerOut: *mut *mut ::core::ffi::c_char,
13408    ) -> OSStatus;
13409}
13410extern "C" {
13411    pub fn CMBlockBufferGetDataLength(theBuffer: CMBlockBufferRef) -> usize;
13412}
13413extern "C" {
13414    pub fn CMBlockBufferIsRangeContiguous(
13415        theBuffer: CMBlockBufferRef,
13416        offset: usize,
13417        length: usize,
13418    ) -> Boolean;
13419}
13420extern "C" {
13421    pub fn CMBlockBufferIsEmpty(theBuffer: CMBlockBufferRef) -> Boolean;
13422}
13423pub const kCMFormatDescriptionBridgeError_InvalidParameter: _bindgen_ty_1699 = -12712;
13424pub const kCMFormatDescriptionBridgeError_AllocationFailed: _bindgen_ty_1699 = -12713;
13425pub const kCMFormatDescriptionBridgeError_InvalidSerializedSampleDescription: _bindgen_ty_1699 =
13426    -12714;
13427pub const kCMFormatDescriptionBridgeError_InvalidFormatDescription: _bindgen_ty_1699 = -12715;
13428pub const kCMFormatDescriptionBridgeError_IncompatibleFormatDescription: _bindgen_ty_1699 = -12716;
13429pub const kCMFormatDescriptionBridgeError_UnsupportedSampleDescriptionFlavor: _bindgen_ty_1699 =
13430    -12717;
13431pub const kCMFormatDescriptionBridgeError_InvalidSlice: _bindgen_ty_1699 = -12719;
13432pub type _bindgen_ty_1699 = ::core::ffi::c_int;
13433pub type CMImageDescriptionFlavor = CFStringRef;
13434extern "C" {
13435    pub static kCMImageDescriptionFlavor_QuickTimeMovie: CMImageDescriptionFlavor;
13436}
13437extern "C" {
13438    pub static kCMImageDescriptionFlavor_ISOFamily: CMImageDescriptionFlavor;
13439}
13440extern "C" {
13441    pub static kCMImageDescriptionFlavor_3GPFamily: CMImageDescriptionFlavor;
13442}
13443extern "C" {
13444    pub static kCMImageDescriptionFlavor_ISOFamilyWithAppleExtensions: CMImageDescriptionFlavor;
13445}
13446extern "C" {
13447    pub fn CMVideoFormatDescriptionCreateFromBigEndianImageDescriptionData(
13448        allocator: CFAllocatorRef,
13449        imageDescriptionData: *const u8,
13450        size: usize,
13451        stringEncoding: CFStringEncoding,
13452        flavor: CMImageDescriptionFlavor,
13453        formatDescriptionOut: *mut CMVideoFormatDescriptionRef,
13454    ) -> OSStatus;
13455}
13456extern "C" {
13457    pub fn CMVideoFormatDescriptionCreateFromBigEndianImageDescriptionBlockBuffer(
13458        allocator: CFAllocatorRef,
13459        imageDescriptionBlockBuffer: CMBlockBufferRef,
13460        stringEncoding: CFStringEncoding,
13461        flavor: CMImageDescriptionFlavor,
13462        formatDescriptionOut: *mut CMVideoFormatDescriptionRef,
13463    ) -> OSStatus;
13464}
13465extern "C" {
13466    pub fn CMVideoFormatDescriptionCopyAsBigEndianImageDescriptionBlockBuffer(
13467        allocator: CFAllocatorRef,
13468        videoFormatDescription: CMVideoFormatDescriptionRef,
13469        stringEncoding: CFStringEncoding,
13470        flavor: CMImageDescriptionFlavor,
13471        blockBufferOut: *mut CMBlockBufferRef,
13472    ) -> OSStatus;
13473}
13474extern "C" {
13475    pub fn CMSwapBigEndianImageDescriptionToHost(
13476        imageDescriptionData: *mut u8,
13477        imageDescriptionSize: usize,
13478    ) -> OSStatus;
13479}
13480extern "C" {
13481    pub fn CMSwapHostEndianImageDescriptionToBig(
13482        imageDescriptionData: *mut u8,
13483        imageDescriptionSize: usize,
13484    ) -> OSStatus;
13485}
13486pub type CMSoundDescriptionFlavor = CFStringRef;
13487extern "C" {
13488    pub static kCMSoundDescriptionFlavor_QuickTimeMovie: CMSoundDescriptionFlavor;
13489}
13490extern "C" {
13491    pub static kCMSoundDescriptionFlavor_QuickTimeMovieV2: CMSoundDescriptionFlavor;
13492}
13493extern "C" {
13494    pub static kCMSoundDescriptionFlavor_ISOFamily: CMSoundDescriptionFlavor;
13495}
13496extern "C" {
13497    pub static kCMSoundDescriptionFlavor_3GPFamily: CMSoundDescriptionFlavor;
13498}
13499extern "C" {
13500    pub fn CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionData(
13501        allocator: CFAllocatorRef,
13502        soundDescriptionData: *const u8,
13503        size: usize,
13504        flavor: CMSoundDescriptionFlavor,
13505        formatDescriptionOut: *mut CMAudioFormatDescriptionRef,
13506    ) -> OSStatus;
13507}
13508extern "C" {
13509    pub fn CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionBlockBuffer(
13510        allocator: CFAllocatorRef,
13511        soundDescriptionBlockBuffer: CMBlockBufferRef,
13512        flavor: CMSoundDescriptionFlavor,
13513        formatDescriptionOut: *mut CMAudioFormatDescriptionRef,
13514    ) -> OSStatus;
13515}
13516extern "C" {
13517    pub fn CMAudioFormatDescriptionCopyAsBigEndianSoundDescriptionBlockBuffer(
13518        allocator: CFAllocatorRef,
13519        audioFormatDescription: CMAudioFormatDescriptionRef,
13520        flavor: CMSoundDescriptionFlavor,
13521        blockBufferOut: *mut CMBlockBufferRef,
13522    ) -> OSStatus;
13523}
13524extern "C" {
13525    pub fn CMDoesBigEndianSoundDescriptionRequireLegacyCBRSampleTableLayout(
13526        soundDescriptionBlockBuffer: CMBlockBufferRef,
13527        flavor: CMSoundDescriptionFlavor,
13528    ) -> Boolean;
13529}
13530extern "C" {
13531    pub fn CMSwapBigEndianSoundDescriptionToHost(
13532        soundDescriptionData: *mut u8,
13533        soundDescriptionSize: usize,
13534    ) -> OSStatus;
13535}
13536extern "C" {
13537    pub fn CMSwapHostEndianSoundDescriptionToBig(
13538        soundDescriptionData: *mut u8,
13539        soundDescriptionSize: usize,
13540    ) -> OSStatus;
13541}
13542pub type CMTextDescriptionFlavor = CFStringRef;
13543extern "C" {
13544    pub fn CMTextFormatDescriptionCreateFromBigEndianTextDescriptionData(
13545        allocator: CFAllocatorRef,
13546        textDescriptionData: *const u8,
13547        size: usize,
13548        flavor: CMTextDescriptionFlavor,
13549        mediaType: CMMediaType,
13550        formatDescriptionOut: *mut CMTextFormatDescriptionRef,
13551    ) -> OSStatus;
13552}
13553extern "C" {
13554    pub fn CMTextFormatDescriptionCreateFromBigEndianTextDescriptionBlockBuffer(
13555        allocator: CFAllocatorRef,
13556        textDescriptionBlockBuffer: CMBlockBufferRef,
13557        flavor: CMTextDescriptionFlavor,
13558        mediaType: CMMediaType,
13559        formatDescriptionOut: *mut CMTextFormatDescriptionRef,
13560    ) -> OSStatus;
13561}
13562extern "C" {
13563    pub fn CMTextFormatDescriptionCopyAsBigEndianTextDescriptionBlockBuffer(
13564        allocator: CFAllocatorRef,
13565        textFormatDescription: CMTextFormatDescriptionRef,
13566        flavor: CMTextDescriptionFlavor,
13567        blockBufferOut: *mut CMBlockBufferRef,
13568    ) -> OSStatus;
13569}
13570extern "C" {
13571    pub fn CMSwapBigEndianTextDescriptionToHost(
13572        textDescriptionData: *mut u8,
13573        textDescriptionSize: usize,
13574    ) -> OSStatus;
13575}
13576extern "C" {
13577    pub fn CMSwapHostEndianTextDescriptionToBig(
13578        textDescriptionData: *mut u8,
13579        textDescriptionSize: usize,
13580    ) -> OSStatus;
13581}
13582pub type CMClosedCaptionDescriptionFlavor = CFStringRef;
13583extern "C" {
13584    pub fn CMClosedCaptionFormatDescriptionCreateFromBigEndianClosedCaptionDescriptionData(
13585        allocator: CFAllocatorRef,
13586        closedCaptionDescriptionData: *const u8,
13587        size: usize,
13588        flavor: CMClosedCaptionDescriptionFlavor,
13589        formatDescriptionOut: *mut CMClosedCaptionFormatDescriptionRef,
13590    ) -> OSStatus;
13591}
13592extern "C" {
13593    pub fn CMClosedCaptionFormatDescriptionCreateFromBigEndianClosedCaptionDescriptionBlockBuffer(
13594        allocator: CFAllocatorRef,
13595        closedCaptionDescriptionBlockBuffer: CMBlockBufferRef,
13596        flavor: CMClosedCaptionDescriptionFlavor,
13597        formatDescriptionOut: *mut CMClosedCaptionFormatDescriptionRef,
13598    ) -> OSStatus;
13599}
13600extern "C" {
13601    pub fn CMClosedCaptionFormatDescriptionCopyAsBigEndianClosedCaptionDescriptionBlockBuffer(
13602        allocator: CFAllocatorRef,
13603        closedCaptionFormatDescription: CMClosedCaptionFormatDescriptionRef,
13604        flavor: CMClosedCaptionDescriptionFlavor,
13605        blockBufferOut: *mut CMBlockBufferRef,
13606    ) -> OSStatus;
13607}
13608extern "C" {
13609    pub fn CMSwapBigEndianClosedCaptionDescriptionToHost(
13610        closedCaptionDescriptionData: *mut u8,
13611        closedCaptionDescriptionSize: usize,
13612    ) -> OSStatus;
13613}
13614extern "C" {
13615    pub fn CMSwapHostEndianClosedCaptionDescriptionToBig(
13616        closedCaptionDescriptionData: *mut u8,
13617        closedCaptionDescriptionSize: usize,
13618    ) -> OSStatus;
13619}
13620pub type CMTimeCodeDescriptionFlavor = CFStringRef;
13621extern "C" {
13622    pub fn CMTimeCodeFormatDescriptionCreateFromBigEndianTimeCodeDescriptionData(
13623        allocator: CFAllocatorRef,
13624        timeCodeDescriptionData: *const u8,
13625        size: usize,
13626        flavor: CMTimeCodeDescriptionFlavor,
13627        formatDescriptionOut: *mut CMTimeCodeFormatDescriptionRef,
13628    ) -> OSStatus;
13629}
13630extern "C" {
13631    pub fn CMTimeCodeFormatDescriptionCreateFromBigEndianTimeCodeDescriptionBlockBuffer(
13632        allocator: CFAllocatorRef,
13633        timeCodeDescriptionBlockBuffer: CMBlockBufferRef,
13634        flavor: CMTimeCodeDescriptionFlavor,
13635        formatDescriptionOut: *mut CMTimeCodeFormatDescriptionRef,
13636    ) -> OSStatus;
13637}
13638extern "C" {
13639    pub fn CMTimeCodeFormatDescriptionCopyAsBigEndianTimeCodeDescriptionBlockBuffer(
13640        allocator: CFAllocatorRef,
13641        timeCodeFormatDescription: CMTimeCodeFormatDescriptionRef,
13642        flavor: CMTimeCodeDescriptionFlavor,
13643        blockBufferOut: *mut CMBlockBufferRef,
13644    ) -> OSStatus;
13645}
13646extern "C" {
13647    pub fn CMSwapBigEndianTimeCodeDescriptionToHost(
13648        timeCodeDescriptionData: *mut u8,
13649        timeCodeDescriptionSize: usize,
13650    ) -> OSStatus;
13651}
13652extern "C" {
13653    pub fn CMSwapHostEndianTimeCodeDescriptionToBig(
13654        timeCodeDescriptionData: *mut u8,
13655        timeCodeDescriptionSize: usize,
13656    ) -> OSStatus;
13657}
13658pub type CMMetadataDescriptionFlavor = CFStringRef;
13659extern "C" {
13660    pub fn CMMetadataFormatDescriptionCreateFromBigEndianMetadataDescriptionData(
13661        allocator: CFAllocatorRef,
13662        metadataDescriptionData: *const u8,
13663        size: usize,
13664        flavor: CMMetadataDescriptionFlavor,
13665        formatDescriptionOut: *mut CMMetadataFormatDescriptionRef,
13666    ) -> OSStatus;
13667}
13668extern "C" {
13669    pub fn CMMetadataFormatDescriptionCreateFromBigEndianMetadataDescriptionBlockBuffer(
13670        allocator: CFAllocatorRef,
13671        metadataDescriptionBlockBuffer: CMBlockBufferRef,
13672        flavor: CMMetadataDescriptionFlavor,
13673        formatDescriptionOut: *mut CMMetadataFormatDescriptionRef,
13674    ) -> OSStatus;
13675}
13676extern "C" {
13677    pub fn CMMetadataFormatDescriptionCopyAsBigEndianMetadataDescriptionBlockBuffer(
13678        allocator: CFAllocatorRef,
13679        metadataFormatDescription: CMMetadataFormatDescriptionRef,
13680        flavor: CMMetadataDescriptionFlavor,
13681        blockBufferOut: *mut CMBlockBufferRef,
13682    ) -> OSStatus;
13683}
13684extern "C" {
13685    pub fn CMSwapBigEndianMetadataDescriptionToHost(
13686        metadataDescriptionData: *mut u8,
13687        metadataDescriptionSize: usize,
13688    ) -> OSStatus;
13689}
13690extern "C" {
13691    pub fn CMSwapHostEndianMetadataDescriptionToBig(
13692        metadataDescriptionData: *mut u8,
13693        metadataDescriptionSize: usize,
13694    ) -> OSStatus;
13695}
13696pub const kCMBufferQueueError_AllocationFailed: _bindgen_ty_1700 = -12760;
13697pub const kCMBufferQueueError_RequiredParameterMissing: _bindgen_ty_1700 = -12761;
13698pub const kCMBufferQueueError_InvalidCMBufferCallbacksStruct: _bindgen_ty_1700 = -12762;
13699pub const kCMBufferQueueError_EnqueueAfterEndOfData: _bindgen_ty_1700 = -12763;
13700pub const kCMBufferQueueError_QueueIsFull: _bindgen_ty_1700 = -12764;
13701pub const kCMBufferQueueError_BadTriggerDuration: _bindgen_ty_1700 = -12765;
13702pub const kCMBufferQueueError_CannotModifyQueueFromTriggerCallback: _bindgen_ty_1700 = -12766;
13703pub const kCMBufferQueueError_InvalidTriggerCondition: _bindgen_ty_1700 = -12767;
13704pub const kCMBufferQueueError_InvalidTriggerToken: _bindgen_ty_1700 = -12768;
13705pub const kCMBufferQueueError_InvalidBuffer: _bindgen_ty_1700 = -12769;
13706pub type _bindgen_ty_1700 = ::core::ffi::c_int;
13707#[repr(C)]
13708#[derive(Debug, Copy, Clone)]
13709pub struct opaqueCMBufferQueue {
13710    _unused: [u8; 0],
13711}
13712pub type CMBufferQueueRef = *mut opaqueCMBufferQueue;
13713pub type CMBufferRef = CFTypeRef;
13714pub type CMBufferGetTimeCallback = ::core::option::Option<
13715    unsafe extern "C" fn(buf: CMBufferRef, refcon: *mut ::core::ffi::c_void) -> CMTime,
13716>;
13717pub type CMBufferGetTimeHandler = *mut ::core::ffi::c_void;
13718pub type CMBufferGetBooleanCallback = ::core::option::Option<
13719    unsafe extern "C" fn(buf: CMBufferRef, refcon: *mut ::core::ffi::c_void) -> Boolean,
13720>;
13721pub type CMBufferGetBooleanHandler = *mut ::core::ffi::c_void;
13722pub type CMBufferCompareCallback = ::core::option::Option<
13723    unsafe extern "C" fn(
13724        buf1: CMBufferRef,
13725        buf2: CMBufferRef,
13726        refcon: *mut ::core::ffi::c_void,
13727    ) -> CFComparisonResult,
13728>;
13729pub type CMBufferCompareHandler = *mut ::core::ffi::c_void;
13730pub type CMBufferGetSizeCallback = ::core::option::Option<
13731    unsafe extern "C" fn(buf: CMBufferRef, refcon: *mut ::core::ffi::c_void) -> usize,
13732>;
13733pub type CMBufferGetSizeHandler = *mut ::core::ffi::c_void;
13734#[repr(C, packed(4))]
13735#[derive(Debug, Copy, Clone)]
13736pub struct CMBufferCallbacks {
13737    pub version: u32,
13738    pub refcon: *mut ::core::ffi::c_void,
13739    pub getDecodeTimeStamp: CMBufferGetTimeCallback,
13740    pub getPresentationTimeStamp: CMBufferGetTimeCallback,
13741    pub getDuration: CMBufferGetTimeCallback,
13742    pub isDataReady: CMBufferGetBooleanCallback,
13743    pub compare: CMBufferCompareCallback,
13744    pub dataBecameReadyNotification: CFStringRef,
13745    pub getSize: CMBufferGetSizeCallback,
13746}
13747#[repr(C)]
13748#[derive(Debug, Copy, Clone)]
13749pub struct CMBufferHandlers {
13750    pub version: usize,
13751    pub getDecodeTimeStamp: CMBufferGetTimeHandler,
13752    pub getPresentationTimeStamp: CMBufferGetTimeHandler,
13753    pub getDuration: CMBufferGetTimeHandler,
13754    pub isDataReady: CMBufferGetBooleanHandler,
13755    pub compare: CMBufferCompareHandler,
13756    pub dataBecameReadyNotification: CFStringRef,
13757    pub getSize: CMBufferGetSizeHandler,
13758}
13759extern "C" {
13760    pub fn CMBufferQueueGetCallbacksForUnsortedSampleBuffers() -> *const CMBufferCallbacks;
13761}
13762extern "C" {
13763    pub fn CMBufferQueueGetCallbacksForSampleBuffersSortedByOutputPTS() -> *const CMBufferCallbacks;
13764}
13765extern "C" {
13766    pub fn CMBufferQueueCreate(
13767        allocator: CFAllocatorRef,
13768        capacity: CMItemCount,
13769        callbacks: *const CMBufferCallbacks,
13770        queueOut: *mut CMBufferQueueRef,
13771    ) -> OSStatus;
13772}
13773extern "C" {
13774    pub fn CMBufferQueueCreateWithHandlers(
13775        allocator: CFAllocatorRef,
13776        capacity: CMItemCount,
13777        handlers: *const CMBufferHandlers,
13778        queueOut: *mut CMBufferQueueRef,
13779    ) -> OSStatus;
13780}
13781extern "C" {
13782    pub fn CMBufferQueueGetTypeID() -> CFTypeID;
13783}
13784extern "C" {
13785    pub fn CMBufferQueueEnqueue(queue: CMBufferQueueRef, buf: CMBufferRef) -> OSStatus;
13786}
13787extern "C" {
13788    pub fn CMBufferQueueDequeueAndRetain(queue: CMBufferQueueRef) -> CMBufferRef;
13789}
13790extern "C" {
13791    pub fn CMBufferQueueDequeueIfDataReadyAndRetain(queue: CMBufferQueueRef) -> CMBufferRef;
13792}
13793extern "C" {
13794    pub fn CMBufferQueueGetHead(queue: CMBufferQueueRef) -> CMBufferRef;
13795}
13796extern "C" {
13797    pub fn CMBufferQueueCopyHead(queue: CMBufferQueueRef) -> CMBufferRef;
13798}
13799extern "C" {
13800    pub fn CMBufferQueueIsEmpty(queue: CMBufferQueueRef) -> Boolean;
13801}
13802extern "C" {
13803    pub fn CMBufferQueueMarkEndOfData(queue: CMBufferQueueRef) -> OSStatus;
13804}
13805extern "C" {
13806    pub fn CMBufferQueueContainsEndOfData(queue: CMBufferQueueRef) -> Boolean;
13807}
13808extern "C" {
13809    pub fn CMBufferQueueIsAtEndOfData(queue: CMBufferQueueRef) -> Boolean;
13810}
13811extern "C" {
13812    pub fn CMBufferQueueReset(queue: CMBufferQueueRef) -> OSStatus;
13813}
13814extern "C" {
13815    pub fn CMBufferQueueResetWithCallback(
13816        queue: CMBufferQueueRef,
13817        callback: ::core::option::Option<
13818            unsafe extern "C" fn(buffer: CMBufferRef, refcon: *mut ::core::ffi::c_void),
13819        >,
13820        refcon: *mut ::core::ffi::c_void,
13821    ) -> OSStatus;
13822}
13823extern "C" {
13824    pub fn CMBufferQueueGetBufferCount(queue: CMBufferQueueRef) -> CMItemCount;
13825}
13826extern "C" {
13827    pub fn CMBufferQueueGetDuration(queue: CMBufferQueueRef) -> CMTime;
13828}
13829extern "C" {
13830    pub fn CMBufferQueueGetMinDecodeTimeStamp(queue: CMBufferQueueRef) -> CMTime;
13831}
13832extern "C" {
13833    pub fn CMBufferQueueGetFirstDecodeTimeStamp(queue: CMBufferQueueRef) -> CMTime;
13834}
13835extern "C" {
13836    pub fn CMBufferQueueGetMinPresentationTimeStamp(queue: CMBufferQueueRef) -> CMTime;
13837}
13838extern "C" {
13839    pub fn CMBufferQueueGetFirstPresentationTimeStamp(queue: CMBufferQueueRef) -> CMTime;
13840}
13841extern "C" {
13842    pub fn CMBufferQueueGetMaxPresentationTimeStamp(queue: CMBufferQueueRef) -> CMTime;
13843}
13844extern "C" {
13845    pub fn CMBufferQueueGetEndPresentationTimeStamp(queue: CMBufferQueueRef) -> CMTime;
13846}
13847extern "C" {
13848    pub fn CMBufferQueueGetTotalSize(queue: CMBufferQueueRef) -> usize;
13849}
13850#[repr(C)]
13851#[derive(Debug, Copy, Clone)]
13852pub struct opaqueCMBufferQueueTriggerToken {
13853    _unused: [u8; 0],
13854}
13855pub type CMBufferQueueTriggerToken = *mut opaqueCMBufferQueueTriggerToken;
13856pub type CMBufferQueueTriggerCallback = ::core::option::Option<
13857    unsafe extern "C" fn(
13858        triggerRefcon: *mut ::core::ffi::c_void,
13859        triggerToken: CMBufferQueueTriggerToken,
13860    ),
13861>;
13862pub type CMBufferQueueTriggerHandler = *mut ::core::ffi::c_void;
13863pub type CMBufferQueueTriggerCondition = i32;
13864pub const kCMBufferQueueTrigger_WhenDurationBecomesLessThan: _bindgen_ty_1701 = 1;
13865pub const kCMBufferQueueTrigger_WhenDurationBecomesLessThanOrEqualTo: _bindgen_ty_1701 = 2;
13866pub const kCMBufferQueueTrigger_WhenDurationBecomesGreaterThan: _bindgen_ty_1701 = 3;
13867pub const kCMBufferQueueTrigger_WhenDurationBecomesGreaterThanOrEqualTo: _bindgen_ty_1701 = 4;
13868pub const kCMBufferQueueTrigger_WhenMinPresentationTimeStampChanges: _bindgen_ty_1701 = 5;
13869pub const kCMBufferQueueTrigger_WhenMaxPresentationTimeStampChanges: _bindgen_ty_1701 = 6;
13870pub const kCMBufferQueueTrigger_WhenDataBecomesReady: _bindgen_ty_1701 = 7;
13871pub const kCMBufferQueueTrigger_WhenEndOfDataReached: _bindgen_ty_1701 = 8;
13872pub const kCMBufferQueueTrigger_WhenReset: _bindgen_ty_1701 = 9;
13873pub const kCMBufferQueueTrigger_WhenBufferCountBecomesLessThan: _bindgen_ty_1701 = 10;
13874pub const kCMBufferQueueTrigger_WhenBufferCountBecomesGreaterThan: _bindgen_ty_1701 = 11;
13875pub const kCMBufferQueueTrigger_WhenDurationBecomesGreaterThanOrEqualToAndBufferCountBecomesGreaterThan : _bindgen_ty_1701 = 12 ;
13876pub type _bindgen_ty_1701 = ::core::ffi::c_uint;
13877extern "C" {
13878    pub fn CMBufferQueueInstallTrigger(
13879        queue: CMBufferQueueRef,
13880        callback: CMBufferQueueTriggerCallback,
13881        refcon: *mut ::core::ffi::c_void,
13882        condition: CMBufferQueueTriggerCondition,
13883        time: CMTime,
13884        triggerTokenOut: *mut CMBufferQueueTriggerToken,
13885    ) -> OSStatus;
13886}
13887extern "C" {
13888    pub fn CMBufferQueueInstallTriggerWithIntegerThreshold(
13889        queue: CMBufferQueueRef,
13890        callback: CMBufferQueueTriggerCallback,
13891        refcon: *mut ::core::ffi::c_void,
13892        condition: CMBufferQueueTriggerCondition,
13893        threshold: CMItemCount,
13894        triggerTokenOut: *mut CMBufferQueueTriggerToken,
13895    ) -> OSStatus;
13896}
13897extern "C" {
13898    pub fn CMBufferQueueInstallTriggerHandler(
13899        queue: CMBufferQueueRef,
13900        condition: CMBufferQueueTriggerCondition,
13901        time: CMTime,
13902        triggerTokenOut: *mut CMBufferQueueTriggerToken,
13903        handler: CMBufferQueueTriggerHandler,
13904    ) -> OSStatus;
13905}
13906extern "C" {
13907    pub fn CMBufferQueueInstallTriggerHandlerWithIntegerThreshold(
13908        queue: CMBufferQueueRef,
13909        condition: CMBufferQueueTriggerCondition,
13910        threshold: CMItemCount,
13911        triggerTokenOut: *mut CMBufferQueueTriggerToken,
13912        handler: CMBufferQueueTriggerHandler,
13913    ) -> OSStatus;
13914}
13915extern "C" {
13916    pub fn CMBufferQueueRemoveTrigger(
13917        queue: CMBufferQueueRef,
13918        triggerToken: CMBufferQueueTriggerToken,
13919    ) -> OSStatus;
13920}
13921extern "C" {
13922    pub fn CMBufferQueueTestTrigger(
13923        queue: CMBufferQueueRef,
13924        triggerToken: CMBufferQueueTriggerToken,
13925    ) -> Boolean;
13926}
13927extern "C" {
13928    pub fn CMBufferQueueCallForEachBuffer(
13929        queue: CMBufferQueueRef,
13930        callback: ::core::option::Option<
13931            unsafe extern "C" fn(buffer: CMBufferRef, refcon: *mut ::core::ffi::c_void) -> OSStatus,
13932        >,
13933        refcon: *mut ::core::ffi::c_void,
13934    ) -> OSStatus;
13935}
13936pub type CMBufferValidationCallback = ::core::option::Option<
13937    unsafe extern "C" fn(
13938        queue: CMBufferQueueRef,
13939        buf: CMBufferRef,
13940        validationRefCon: *mut ::core::ffi::c_void,
13941    ) -> OSStatus,
13942>;
13943pub type CMBufferValidationHandler = *mut ::core::ffi::c_void;
13944extern "C" {
13945    pub fn CMBufferQueueSetValidationCallback(
13946        queue: CMBufferQueueRef,
13947        callback: CMBufferValidationCallback,
13948        refcon: *mut ::core::ffi::c_void,
13949    ) -> OSStatus;
13950}
13951extern "C" {
13952    pub fn CMBufferQueueSetValidationHandler(
13953        queue: CMBufferQueueRef,
13954        handler: CMBufferValidationHandler,
13955    ) -> OSStatus;
13956}
13957pub const kCMSampleBufferError_AllocationFailed: _bindgen_ty_1702 = -12730;
13958pub const kCMSampleBufferError_RequiredParameterMissing: _bindgen_ty_1702 = -12731;
13959pub const kCMSampleBufferError_AlreadyHasDataBuffer: _bindgen_ty_1702 = -12732;
13960pub const kCMSampleBufferError_BufferNotReady: _bindgen_ty_1702 = -12733;
13961pub const kCMSampleBufferError_SampleIndexOutOfRange: _bindgen_ty_1702 = -12734;
13962pub const kCMSampleBufferError_BufferHasNoSampleSizes: _bindgen_ty_1702 = -12735;
13963pub const kCMSampleBufferError_BufferHasNoSampleTimingInfo: _bindgen_ty_1702 = -12736;
13964pub const kCMSampleBufferError_ArrayTooSmall: _bindgen_ty_1702 = -12737;
13965pub const kCMSampleBufferError_InvalidEntryCount: _bindgen_ty_1702 = -12738;
13966pub const kCMSampleBufferError_CannotSubdivide: _bindgen_ty_1702 = -12739;
13967pub const kCMSampleBufferError_SampleTimingInfoInvalid: _bindgen_ty_1702 = -12740;
13968pub const kCMSampleBufferError_InvalidMediaTypeForOperation: _bindgen_ty_1702 = -12741;
13969pub const kCMSampleBufferError_InvalidSampleData: _bindgen_ty_1702 = -12742;
13970pub const kCMSampleBufferError_InvalidMediaFormat: _bindgen_ty_1702 = -12743;
13971pub const kCMSampleBufferError_Invalidated: _bindgen_ty_1702 = -12744;
13972pub const kCMSampleBufferError_DataFailed: _bindgen_ty_1702 = -16750;
13973pub const kCMSampleBufferError_DataCanceled: _bindgen_ty_1702 = -16751;
13974pub type _bindgen_ty_1702 = ::core::ffi::c_int;
13975pub const kCMSampleBufferFlag_AudioBufferList_Assure16ByteAlignment: _bindgen_ty_1703 = 1;
13976pub type _bindgen_ty_1703 = ::core::ffi::c_uint;
13977#[repr(C)]
13978#[derive(Debug, Copy, Clone)]
13979pub struct opaqueCMSampleBuffer {
13980    _unused: [u8; 0],
13981}
13982pub type CMSampleBufferRef = *mut opaqueCMSampleBuffer;
13983#[repr(C)]
13984#[derive(Debug, Copy, Clone)]
13985pub struct CMSampleTimingInfo {
13986    pub duration: CMTime,
13987    pub presentationTimeStamp: CMTime,
13988    pub decodeTimeStamp: CMTime,
13989}
13990extern "C" {
13991    pub static kCMTimingInfoInvalid: CMSampleTimingInfo;
13992}
13993pub type CMSampleBufferMakeDataReadyCallback = ::core::option::Option<
13994    unsafe extern "C" fn(
13995        sbuf: CMSampleBufferRef,
13996        makeDataReadyRefcon: *mut ::core::ffi::c_void,
13997    ) -> OSStatus,
13998>;
13999pub type CMSampleBufferMakeDataReadyHandler = *mut ::core::ffi::c_void;
14000extern "C" {
14001    pub fn CMSampleBufferCreate(
14002        allocator: CFAllocatorRef,
14003        dataBuffer: CMBlockBufferRef,
14004        dataReady: Boolean,
14005        makeDataReadyCallback: CMSampleBufferMakeDataReadyCallback,
14006        makeDataReadyRefcon: *mut ::core::ffi::c_void,
14007        formatDescription: CMFormatDescriptionRef,
14008        numSamples: CMItemCount,
14009        numSampleTimingEntries: CMItemCount,
14010        sampleTimingArray: *const CMSampleTimingInfo,
14011        numSampleSizeEntries: CMItemCount,
14012        sampleSizeArray: *const usize,
14013        sampleBufferOut: *mut CMSampleBufferRef,
14014    ) -> OSStatus;
14015}
14016extern "C" {
14017    pub fn CMSampleBufferCreateWithMakeDataReadyHandler(
14018        allocator: CFAllocatorRef,
14019        dataBuffer: CMBlockBufferRef,
14020        dataReady: Boolean,
14021        formatDescription: CMFormatDescriptionRef,
14022        numSamples: CMItemCount,
14023        numSampleTimingEntries: CMItemCount,
14024        sampleTimingArray: *const CMSampleTimingInfo,
14025        numSampleSizeEntries: CMItemCount,
14026        sampleSizeArray: *const usize,
14027        sampleBufferOut: *mut CMSampleBufferRef,
14028        makeDataReadyHandler: CMSampleBufferMakeDataReadyHandler,
14029    ) -> OSStatus;
14030}
14031extern "C" {
14032    pub fn CMSampleBufferCreateReady(
14033        allocator: CFAllocatorRef,
14034        dataBuffer: CMBlockBufferRef,
14035        formatDescription: CMFormatDescriptionRef,
14036        numSamples: CMItemCount,
14037        numSampleTimingEntries: CMItemCount,
14038        sampleTimingArray: *const CMSampleTimingInfo,
14039        numSampleSizeEntries: CMItemCount,
14040        sampleSizeArray: *const usize,
14041        sampleBufferOut: *mut CMSampleBufferRef,
14042    ) -> OSStatus;
14043}
14044extern "C" {
14045    pub fn CMAudioSampleBufferCreateWithPacketDescriptions(
14046        allocator: CFAllocatorRef,
14047        dataBuffer: CMBlockBufferRef,
14048        dataReady: Boolean,
14049        makeDataReadyCallback: CMSampleBufferMakeDataReadyCallback,
14050        makeDataReadyRefcon: *mut ::core::ffi::c_void,
14051        formatDescription: CMFormatDescriptionRef,
14052        numSamples: CMItemCount,
14053        presentationTimeStamp: CMTime,
14054        packetDescriptions: *const AudioStreamPacketDescription,
14055        sampleBufferOut: *mut CMSampleBufferRef,
14056    ) -> OSStatus;
14057}
14058extern "C" {
14059    pub fn CMAudioSampleBufferCreateWithPacketDescriptionsAndMakeDataReadyHandler(
14060        allocator: CFAllocatorRef,
14061        dataBuffer: CMBlockBufferRef,
14062        dataReady: Boolean,
14063        formatDescription: CMFormatDescriptionRef,
14064        numSamples: CMItemCount,
14065        presentationTimeStamp: CMTime,
14066        packetDescriptions: *const AudioStreamPacketDescription,
14067        sampleBufferOut: *mut CMSampleBufferRef,
14068        makeDataReadyHandler: CMSampleBufferMakeDataReadyHandler,
14069    ) -> OSStatus;
14070}
14071extern "C" {
14072    pub fn CMAudioSampleBufferCreateReadyWithPacketDescriptions(
14073        allocator: CFAllocatorRef,
14074        dataBuffer: CMBlockBufferRef,
14075        formatDescription: CMFormatDescriptionRef,
14076        numSamples: CMItemCount,
14077        presentationTimeStamp: CMTime,
14078        packetDescriptions: *const AudioStreamPacketDescription,
14079        sampleBufferOut: *mut CMSampleBufferRef,
14080    ) -> OSStatus;
14081}
14082extern "C" {
14083    pub fn CMSampleBufferCreateForImageBuffer(
14084        allocator: CFAllocatorRef,
14085        imageBuffer: CVImageBufferRef,
14086        dataReady: Boolean,
14087        makeDataReadyCallback: CMSampleBufferMakeDataReadyCallback,
14088        makeDataReadyRefcon: *mut ::core::ffi::c_void,
14089        formatDescription: CMVideoFormatDescriptionRef,
14090        sampleTiming: *const CMSampleTimingInfo,
14091        sampleBufferOut: *mut CMSampleBufferRef,
14092    ) -> OSStatus;
14093}
14094extern "C" {
14095    pub fn CMSampleBufferCreateForImageBufferWithMakeDataReadyHandler(
14096        allocator: CFAllocatorRef,
14097        imageBuffer: CVImageBufferRef,
14098        dataReady: Boolean,
14099        formatDescription: CMVideoFormatDescriptionRef,
14100        sampleTiming: *const CMSampleTimingInfo,
14101        sampleBufferOut: *mut CMSampleBufferRef,
14102        makeDataReadyHandler: CMSampleBufferMakeDataReadyHandler,
14103    ) -> OSStatus;
14104}
14105extern "C" {
14106    pub fn CMSampleBufferCreateReadyWithImageBuffer(
14107        allocator: CFAllocatorRef,
14108        imageBuffer: CVImageBufferRef,
14109        formatDescription: CMVideoFormatDescriptionRef,
14110        sampleTiming: *const CMSampleTimingInfo,
14111        sampleBufferOut: *mut CMSampleBufferRef,
14112    ) -> OSStatus;
14113}
14114extern "C" {
14115    pub fn CMSampleBufferCreateCopy(
14116        allocator: CFAllocatorRef,
14117        sbuf: CMSampleBufferRef,
14118        sampleBufferOut: *mut CMSampleBufferRef,
14119    ) -> OSStatus;
14120}
14121extern "C" {
14122    pub fn CMSampleBufferCreateCopyWithNewTiming(
14123        allocator: CFAllocatorRef,
14124        originalSBuf: CMSampleBufferRef,
14125        numSampleTimingEntries: CMItemCount,
14126        sampleTimingArray: *const CMSampleTimingInfo,
14127        sampleBufferOut: *mut CMSampleBufferRef,
14128    ) -> OSStatus;
14129}
14130extern "C" {
14131    pub fn CMSampleBufferCopySampleBufferForRange(
14132        allocator: CFAllocatorRef,
14133        sbuf: CMSampleBufferRef,
14134        sampleRange: CFRange,
14135        sampleBufferOut: *mut CMSampleBufferRef,
14136    ) -> OSStatus;
14137}
14138extern "C" {
14139    pub fn CMSampleBufferGetTypeID() -> CFTypeID;
14140}
14141extern "C" {
14142    pub fn CMSampleBufferSetDataBuffer(
14143        sbuf: CMSampleBufferRef,
14144        dataBuffer: CMBlockBufferRef,
14145    ) -> OSStatus;
14146}
14147extern "C" {
14148    pub fn CMSampleBufferGetDataBuffer(sbuf: CMSampleBufferRef) -> CMBlockBufferRef;
14149}
14150extern "C" {
14151    pub fn CMSampleBufferGetImageBuffer(sbuf: CMSampleBufferRef) -> CVImageBufferRef;
14152}
14153extern "C" {
14154    pub fn CMSampleBufferSetDataBufferFromAudioBufferList(
14155        sbuf: CMSampleBufferRef,
14156        blockBufferStructureAllocator: CFAllocatorRef,
14157        blockBufferBlockAllocator: CFAllocatorRef,
14158        flags: u32,
14159        bufferList: *const AudioBufferList,
14160    ) -> OSStatus;
14161}
14162extern "C" {
14163    pub fn CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(
14164        sbuf: CMSampleBufferRef,
14165        bufferListSizeNeededOut: *mut usize,
14166        bufferListOut: *mut AudioBufferList,
14167        bufferListSize: usize,
14168        blockBufferStructureAllocator: CFAllocatorRef,
14169        blockBufferBlockAllocator: CFAllocatorRef,
14170        flags: u32,
14171        blockBufferOut: *mut CMBlockBufferRef,
14172    ) -> OSStatus;
14173}
14174extern "C" {
14175    pub fn CMSampleBufferGetAudioStreamPacketDescriptions(
14176        sbuf: CMSampleBufferRef,
14177        packetDescriptionsSize: usize,
14178        packetDescriptionsOut: *mut AudioStreamPacketDescription,
14179        packetDescriptionsSizeNeededOut: *mut usize,
14180    ) -> OSStatus;
14181}
14182extern "C" {
14183    pub fn CMSampleBufferGetAudioStreamPacketDescriptionsPtr(
14184        sbuf: CMSampleBufferRef,
14185        packetDescriptionsPointerOut: *mut *const AudioStreamPacketDescription,
14186        packetDescriptionsSizeOut: *mut usize,
14187    ) -> OSStatus;
14188}
14189extern "C" {
14190    pub fn CMSampleBufferCopyPCMDataIntoAudioBufferList(
14191        sbuf: CMSampleBufferRef,
14192        frameOffset: i32,
14193        numFrames: i32,
14194        bufferList: *mut AudioBufferList,
14195    ) -> OSStatus;
14196}
14197extern "C" {
14198    pub fn CMSampleBufferSetDataReady(sbuf: CMSampleBufferRef) -> OSStatus;
14199}
14200extern "C" {
14201    pub fn CMSampleBufferDataIsReady(sbuf: CMSampleBufferRef) -> Boolean;
14202}
14203extern "C" {
14204    pub fn CMSampleBufferSetDataFailed(sbuf: CMSampleBufferRef, status: OSStatus) -> OSStatus;
14205}
14206extern "C" {
14207    pub fn CMSampleBufferHasDataFailed(
14208        sbuf: CMSampleBufferRef,
14209        statusOut: *mut OSStatus,
14210    ) -> Boolean;
14211}
14212extern "C" {
14213    pub fn CMSampleBufferMakeDataReady(sbuf: CMSampleBufferRef) -> OSStatus;
14214}
14215extern "C" {
14216    pub fn CMSampleBufferTrackDataReadiness(
14217        sbuf: CMSampleBufferRef,
14218        sampleBufferToTrack: CMSampleBufferRef,
14219    ) -> OSStatus;
14220}
14221extern "C" {
14222    pub fn CMSampleBufferInvalidate(sbuf: CMSampleBufferRef) -> OSStatus;
14223}
14224pub type CMSampleBufferInvalidateCallback =
14225    ::core::option::Option<unsafe extern "C" fn(sbuf: CMSampleBufferRef, invalidateRefCon: u64)>;
14226extern "C" {
14227    pub fn CMSampleBufferSetInvalidateCallback(
14228        sbuf: CMSampleBufferRef,
14229        invalidateCallback: CMSampleBufferInvalidateCallback,
14230        invalidateRefCon: u64,
14231    ) -> OSStatus;
14232}
14233pub type CMSampleBufferInvalidateHandler = *mut ::core::ffi::c_void;
14234extern "C" {
14235    pub fn CMSampleBufferSetInvalidateHandler(
14236        sbuf: CMSampleBufferRef,
14237        invalidateHandler: CMSampleBufferInvalidateHandler,
14238    ) -> OSStatus;
14239}
14240extern "C" {
14241    pub fn CMSampleBufferIsValid(sbuf: CMSampleBufferRef) -> Boolean;
14242}
14243extern "C" {
14244    pub static kCMSampleBufferNotification_DataBecameReady: CFStringRef;
14245}
14246extern "C" {
14247    pub static kCMSampleBufferNotification_DataFailed: CFStringRef;
14248}
14249extern "C" {
14250    pub static kCMSampleBufferNotificationParameter_OSStatus: CFStringRef;
14251}
14252extern "C" {
14253    pub static kCMSampleBufferConduitNotification_InhibitOutputUntil: CFStringRef;
14254}
14255extern "C" {
14256    pub static kCMSampleBufferConduitNotificationParameter_ResumeTag: CFStringRef;
14257}
14258extern "C" {
14259    pub static kCMSampleBufferConduitNotification_ResetOutput: CFStringRef;
14260}
14261extern "C" {
14262    pub static kCMSampleBufferConduitNotification_UpcomingOutputPTSRangeChanged: CFStringRef;
14263}
14264extern "C" {
14265    pub static kCMSampleBufferConduitNotificationParameter_UpcomingOutputPTSRangeMayOverlapQueuedOutputPTSRange:
14266        CFStringRef;
14267}
14268extern "C" {
14269    pub static kCMSampleBufferConduitNotificationParameter_MinUpcomingOutputPTS: CFStringRef;
14270}
14271extern "C" {
14272    pub static kCMSampleBufferConduitNotificationParameter_MaxUpcomingOutputPTS: CFStringRef;
14273}
14274extern "C" {
14275    pub static kCMSampleBufferConsumerNotification_BufferConsumed: CFStringRef;
14276}
14277extern "C" {
14278    pub fn CMSampleBufferGetNumSamples(sbuf: CMSampleBufferRef) -> CMItemCount;
14279}
14280extern "C" {
14281    pub fn CMSampleBufferGetDuration(sbuf: CMSampleBufferRef) -> CMTime;
14282}
14283extern "C" {
14284    pub fn CMSampleBufferGetPresentationTimeStamp(sbuf: CMSampleBufferRef) -> CMTime;
14285}
14286extern "C" {
14287    pub fn CMSampleBufferGetDecodeTimeStamp(sbuf: CMSampleBufferRef) -> CMTime;
14288}
14289extern "C" {
14290    pub fn CMSampleBufferGetOutputDuration(sbuf: CMSampleBufferRef) -> CMTime;
14291}
14292extern "C" {
14293    pub fn CMSampleBufferGetOutputPresentationTimeStamp(sbuf: CMSampleBufferRef) -> CMTime;
14294}
14295extern "C" {
14296    pub fn CMSampleBufferSetOutputPresentationTimeStamp(
14297        sbuf: CMSampleBufferRef,
14298        outputPresentationTimeStamp: CMTime,
14299    ) -> OSStatus;
14300}
14301extern "C" {
14302    pub fn CMSampleBufferGetOutputDecodeTimeStamp(sbuf: CMSampleBufferRef) -> CMTime;
14303}
14304extern "C" {
14305    pub fn CMSampleBufferGetSampleTimingInfoArray(
14306        sbuf: CMSampleBufferRef,
14307        numSampleTimingEntries: CMItemCount,
14308        timingArrayOut: *mut CMSampleTimingInfo,
14309        timingArrayEntriesNeededOut: *mut CMItemCount,
14310    ) -> OSStatus;
14311}
14312extern "C" {
14313    pub fn CMSampleBufferGetOutputSampleTimingInfoArray(
14314        sbuf: CMSampleBufferRef,
14315        timingArrayEntries: CMItemCount,
14316        timingArrayOut: *mut CMSampleTimingInfo,
14317        timingArrayEntriesNeededOut: *mut CMItemCount,
14318    ) -> OSStatus;
14319}
14320extern "C" {
14321    pub fn CMSampleBufferGetSampleTimingInfo(
14322        sbuf: CMSampleBufferRef,
14323        sampleIndex: CMItemIndex,
14324        timingInfoOut: *mut CMSampleTimingInfo,
14325    ) -> OSStatus;
14326}
14327extern "C" {
14328    pub fn CMSampleBufferGetSampleSizeArray(
14329        sbuf: CMSampleBufferRef,
14330        sizeArrayEntries: CMItemCount,
14331        sizeArrayOut: *mut usize,
14332        sizeArrayEntriesNeededOut: *mut CMItemCount,
14333    ) -> OSStatus;
14334}
14335extern "C" {
14336    pub fn CMSampleBufferGetSampleSize(sbuf: CMSampleBufferRef, sampleIndex: CMItemIndex) -> usize;
14337}
14338extern "C" {
14339    pub fn CMSampleBufferGetTotalSampleSize(sbuf: CMSampleBufferRef) -> usize;
14340}
14341extern "C" {
14342    pub fn CMSampleBufferGetFormatDescription(sbuf: CMSampleBufferRef) -> CMFormatDescriptionRef;
14343}
14344extern "C" {
14345    pub fn CMSampleBufferGetSampleAttachmentsArray(
14346        sbuf: CMSampleBufferRef,
14347        createIfNecessary: Boolean,
14348    ) -> CFArrayRef;
14349}
14350extern "C" {
14351    pub static kCMSampleAttachmentKey_NotSync: CFStringRef;
14352}
14353extern "C" {
14354    pub static kCMSampleAttachmentKey_PartialSync: CFStringRef;
14355}
14356extern "C" {
14357    pub static kCMSampleAttachmentKey_HasRedundantCoding: CFStringRef;
14358}
14359extern "C" {
14360    pub static kCMSampleAttachmentKey_IsDependedOnByOthers: CFStringRef;
14361}
14362extern "C" {
14363    pub static kCMSampleAttachmentKey_DependsOnOthers: CFStringRef;
14364}
14365extern "C" {
14366    pub static kCMSampleAttachmentKey_EarlierDisplayTimesAllowed: CFStringRef;
14367}
14368extern "C" {
14369    pub static kCMSampleAttachmentKey_DisplayImmediately: CFStringRef;
14370}
14371extern "C" {
14372    pub static kCMSampleAttachmentKey_DoNotDisplay: CFStringRef;
14373}
14374extern "C" {
14375    pub static kCMSampleBufferAttachmentKey_ResetDecoderBeforeDecoding: CFStringRef;
14376}
14377extern "C" {
14378    pub static kCMSampleBufferAttachmentKey_DrainAfterDecoding: CFStringRef;
14379}
14380extern "C" {
14381    pub static kCMSampleBufferAttachmentKey_PostNotificationWhenConsumed: CFStringRef;
14382}
14383extern "C" {
14384    pub static kCMSampleBufferAttachmentKey_ResumeOutput: CFStringRef;
14385}
14386extern "C" {
14387    pub static kCMSampleAttachmentKey_HEVCTemporalLevelInfo: CFStringRef;
14388}
14389extern "C" {
14390    pub static kCMHEVCTemporalLevelInfoKey_TemporalLevel: CFStringRef;
14391}
14392extern "C" {
14393    pub static kCMHEVCTemporalLevelInfoKey_ProfileSpace: CFStringRef;
14394}
14395extern "C" {
14396    pub static kCMHEVCTemporalLevelInfoKey_TierFlag: CFStringRef;
14397}
14398extern "C" {
14399    pub static kCMHEVCTemporalLevelInfoKey_ProfileIndex: CFStringRef;
14400}
14401extern "C" {
14402    pub static kCMHEVCTemporalLevelInfoKey_ProfileCompatibilityFlags: CFStringRef;
14403}
14404extern "C" {
14405    pub static kCMHEVCTemporalLevelInfoKey_ConstraintIndicatorFlags: CFStringRef;
14406}
14407extern "C" {
14408    pub static kCMHEVCTemporalLevelInfoKey_LevelIndex: CFStringRef;
14409}
14410extern "C" {
14411    pub static kCMSampleAttachmentKey_HEVCTemporalSubLayerAccess: CFStringRef;
14412}
14413extern "C" {
14414    pub static kCMSampleAttachmentKey_HEVCStepwiseTemporalSubLayerAccess: CFStringRef;
14415}
14416extern "C" {
14417    pub static kCMSampleAttachmentKey_HEVCSyncSampleNALUnitType: CFStringRef;
14418}
14419extern "C" {
14420    pub static kCMSampleAttachmentKey_AudioIndependentSampleDecoderRefreshCount: CFStringRef;
14421}
14422extern "C" {
14423    pub static kCMSampleBufferAttachmentKey_TransitionID: CFStringRef;
14424}
14425extern "C" {
14426    pub static kCMSampleBufferAttachmentKey_TrimDurationAtStart: CFStringRef;
14427}
14428extern "C" {
14429    pub static kCMSampleBufferAttachmentKey_TrimDurationAtEnd: CFStringRef;
14430}
14431extern "C" {
14432    pub static kCMSampleBufferAttachmentKey_SpeedMultiplier: CFStringRef;
14433}
14434extern "C" {
14435    pub static kCMSampleBufferAttachmentKey_Reverse: CFStringRef;
14436}
14437extern "C" {
14438    pub static kCMSampleBufferAttachmentKey_FillDiscontinuitiesWithSilence: CFStringRef;
14439}
14440extern "C" {
14441    pub static kCMSampleBufferAttachmentKey_EmptyMedia: CFStringRef;
14442}
14443extern "C" {
14444    pub static kCMSampleBufferAttachmentKey_PermanentEmptyMedia: CFStringRef;
14445}
14446extern "C" {
14447    pub static kCMSampleBufferAttachmentKey_DisplayEmptyMediaImmediately: CFStringRef;
14448}
14449extern "C" {
14450    pub static kCMSampleBufferAttachmentKey_EndsPreviousSampleDuration: CFStringRef;
14451}
14452extern "C" {
14453    pub static kCMSampleBufferAttachmentKey_SampleReferenceURL: CFStringRef;
14454}
14455extern "C" {
14456    pub static kCMSampleBufferAttachmentKey_SampleReferenceByteOffset: CFStringRef;
14457}
14458extern "C" {
14459    pub static kCMSampleBufferAttachmentKey_GradualDecoderRefresh: CFStringRef;
14460}
14461extern "C" {
14462    pub static kCMSampleBufferAttachmentKey_DroppedFrameReason: CFStringRef;
14463}
14464extern "C" {
14465    pub static kCMSampleBufferDroppedFrameReason_FrameWasLate: CFStringRef;
14466}
14467extern "C" {
14468    pub static kCMSampleBufferDroppedFrameReason_OutOfBuffers: CFStringRef;
14469}
14470extern "C" {
14471    pub static kCMSampleBufferDroppedFrameReason_Discontinuity: CFStringRef;
14472}
14473extern "C" {
14474    pub static kCMSampleBufferAttachmentKey_DroppedFrameReasonInfo: CFStringRef;
14475}
14476extern "C" {
14477    pub static kCMSampleBufferDroppedFrameReasonInfo_CameraModeSwitch: CFStringRef;
14478}
14479extern "C" {
14480    pub static kCMSampleBufferAttachmentKey_StillImageLensStabilizationInfo: CFStringRef;
14481}
14482extern "C" {
14483    pub static kCMSampleBufferLensStabilizationInfo_Active: CFStringRef;
14484}
14485extern "C" {
14486    pub static kCMSampleBufferLensStabilizationInfo_OutOfRange: CFStringRef;
14487}
14488extern "C" {
14489    pub static kCMSampleBufferLensStabilizationInfo_Unavailable: CFStringRef;
14490}
14491extern "C" {
14492    pub static kCMSampleBufferLensStabilizationInfo_Off: CFStringRef;
14493}
14494extern "C" {
14495    pub static kCMSampleBufferAttachmentKey_CameraIntrinsicMatrix: CFStringRef;
14496}
14497extern "C" {
14498    pub static kCMSampleBufferAttachmentKey_ForceKeyFrame: CFStringRef;
14499}
14500extern "C" {
14501    pub static kCMSampleAttachmentKey_CryptorSubsampleAuxiliaryData: CFStringRef;
14502}
14503extern "C" {
14504    pub static kCMSampleAttachmentKey_HDR10PlusPerFrameData: CFStringRef;
14505}
14506extern "C" {
14507    pub static kCMSampleAttachmentKey_PostDecodeProcessingMetadata: CFStringRef;
14508}
14509extern "C" {
14510    pub fn CMSampleBufferCallForEachSample(
14511        sbuf: CMSampleBufferRef,
14512        callback: ::core::option::Option<
14513            unsafe extern "C" fn(
14514                sampleBuffer: CMSampleBufferRef,
14515                index: CMItemCount,
14516                refcon: *mut ::core::ffi::c_void,
14517            ) -> OSStatus,
14518        >,
14519        refcon: *mut ::core::ffi::c_void,
14520    ) -> OSStatus;
14521}
14522extern "C" {
14523    pub fn CMSampleBufferCallBlockForEachSample(
14524        sbuf: CMSampleBufferRef,
14525        handler: *mut ::core::ffi::c_void,
14526    ) -> OSStatus;
14527}
14528pub type CMTagError = OSStatus;
14529pub const kCMTagError_ParamErr: _bindgen_ty_1704 = -15730;
14530pub const kCMTagError_AllocationFailed: _bindgen_ty_1704 = -15731;
14531pub type _bindgen_ty_1704 = ::core::ffi::c_int;
14532pub type CMTagCategory = FourCharCode;
14533pub const kCMTagCategory_Undefined: _bindgen_ty_1705 = 0;
14534pub const kCMTagCategory_MediaType: _bindgen_ty_1705 = 1835297121;
14535pub const kCMTagCategory_MediaSubType: _bindgen_ty_1705 = 1836283234;
14536pub const kCMTagCategory_TrackID: _bindgen_ty_1705 = 1953653099;
14537pub const kCMTagCategory_ChannelID: _bindgen_ty_1705 = 1986226286;
14538pub const kCMTagCategory_VideoLayerID: _bindgen_ty_1705 = 1986814329;
14539pub const kCMTagCategory_PixelFormat: _bindgen_ty_1705 = 1885960294;
14540pub const kCMTagCategory_PackingType: _bindgen_ty_1705 = 1885430635;
14541pub const kCMTagCategory_ProjectionType: _bindgen_ty_1705 = 1886547818;
14542pub const kCMTagCategory_StereoView: _bindgen_ty_1705 = 1702454643;
14543pub const kCMTagCategory_StereoViewInterpretation: _bindgen_ty_1705 = 1702455664;
14544pub type _bindgen_ty_1705 = ::core::ffi::c_uint;
14545pub type CMTagDataType = u32;
14546pub const kCMTagDataType_Invalid: _bindgen_ty_1706 = 0;
14547pub const kCMTagDataType_SInt64: _bindgen_ty_1706 = 2;
14548pub const kCMTagDataType_Float64: _bindgen_ty_1706 = 3;
14549pub const kCMTagDataType_OSType: _bindgen_ty_1706 = 5;
14550pub const kCMTagDataType_Flags: _bindgen_ty_1706 = 7;
14551pub type _bindgen_ty_1706 = ::core::ffi::c_uint;
14552pub type CMTagValue = u64;
14553#[repr(C)]
14554#[derive(Debug, Copy, Clone)]
14555pub struct CMTag {
14556    pub category: CMTagCategory,
14557    pub dataType: CMTagDataType,
14558    pub value: CMTagValue,
14559}
14560extern "C" {
14561    pub fn CMTagGetValueDataType(tag: CMTag) -> CMTagDataType;
14562}
14563extern "C" {
14564    pub static kCMTagInvalid: CMTag;
14565}
14566extern "C" {
14567    pub static kCMTagMediaTypeVideo: CMTag;
14568}
14569extern "C" {
14570    pub static kCMTagMediaSubTypeMebx: CMTag;
14571}
14572extern "C" {
14573    pub static kCMTagMediaTypeAudio: CMTag;
14574}
14575extern "C" {
14576    pub static kCMTagMediaTypeMetadata: CMTag;
14577}
14578pub type CMStereoViewComponents = u64;
14579pub const kCMStereoView_None: _bindgen_ty_1707 = 0;
14580pub const kCMStereoView_LeftEye: _bindgen_ty_1707 = 1;
14581pub const kCMStereoView_RightEye: _bindgen_ty_1707 = 2;
14582pub type _bindgen_ty_1707 = ::core::ffi::c_uint;
14583extern "C" {
14584    pub static kCMTagStereoLeftEye: CMTag;
14585}
14586extern "C" {
14587    pub static kCMTagStereoRightEye: CMTag;
14588}
14589extern "C" {
14590    pub static kCMTagStereoLeftAndRightEye: CMTag;
14591}
14592extern "C" {
14593    pub static kCMTagStereoNone: CMTag;
14594}
14595pub type CMStereoViewInterpretationOptions = u64;
14596pub const kCMStereoViewInterpretation_Default: _bindgen_ty_1708 = 0;
14597pub const kCMStereoViewInterpretation_StereoOrderReversed: _bindgen_ty_1708 = 1;
14598pub const kCMStereoViewInterpretation_AdditionalViews: _bindgen_ty_1708 = 2;
14599pub type _bindgen_ty_1708 = ::core::ffi::c_uint;
14600extern "C" {
14601    pub static kCMTagStereoInterpretationOrderReversed: CMTag;
14602}
14603pub type CMProjectionType = u64;
14604pub const kCMProjectionType_Rectangular: _bindgen_ty_1709 = 1919247220;
14605pub const kCMProjectionType_Equirectangular: _bindgen_ty_1709 = 1701934441;
14606pub const kCMProjectionType_HalfEquirectangular: _bindgen_ty_1709 = 1751478645;
14607pub const kCMProjectionType_Fisheye: _bindgen_ty_1709 = 1718186856;
14608pub const kCMProjectionType_ParametricImmersive: _bindgen_ty_1709 = 1886546285;
14609pub type _bindgen_ty_1709 = ::core::ffi::c_uint;
14610extern "C" {
14611    pub static kCMTagProjectionTypeRectangular: CMTag;
14612}
14613extern "C" {
14614    pub static kCMTagProjectionTypeEquirectangular: CMTag;
14615}
14616extern "C" {
14617    pub static kCMTagProjectionTypeHalfEquirectangular: CMTag;
14618}
14619extern "C" {
14620    pub static kCMTagProjectionTypeFisheye: CMTag;
14621}
14622extern "C" {
14623    pub static kCMTagProjectionTypeParametricImmersive: CMTag;
14624}
14625pub type CMPackingType = u64;
14626pub const kCMPackingType_None: _bindgen_ty_1710 = 1852796517;
14627pub const kCMPackingType_SideBySide: _bindgen_ty_1710 = 1936286821;
14628pub const kCMPackingType_OverUnder: _bindgen_ty_1710 = 1870030194;
14629pub type _bindgen_ty_1710 = ::core::ffi::c_uint;
14630extern "C" {
14631    pub static kCMTagPackingTypeNone: CMTag;
14632}
14633extern "C" {
14634    pub static kCMTagPackingTypeSideBySide: CMTag;
14635}
14636extern "C" {
14637    pub static kCMTagPackingTypeOverUnder: CMTag;
14638}
14639extern "C" {
14640    pub fn CMTagHasSInt64Value(tag: CMTag) -> Boolean;
14641}
14642extern "C" {
14643    pub fn CMTagGetSInt64Value(tag: CMTag) -> i64;
14644}
14645extern "C" {
14646    pub fn CMTagHasFloat64Value(tag: CMTag) -> Boolean;
14647}
14648extern "C" {
14649    pub fn CMTagGetFloat64Value(tag: CMTag) -> Float64;
14650}
14651extern "C" {
14652    pub fn CMTagHasOSTypeValue(tag: CMTag) -> Boolean;
14653}
14654extern "C" {
14655    pub fn CMTagGetOSTypeValue(tag: CMTag) -> OSType;
14656}
14657extern "C" {
14658    pub fn CMTagHasFlagsValue(tag: CMTag) -> Boolean;
14659}
14660extern "C" {
14661    pub fn CMTagGetFlagsValue(tag: CMTag) -> u64;
14662}
14663extern "C" {
14664    pub fn CMTagMakeWithSInt64Value(category: CMTagCategory, value: i64) -> CMTag;
14665}
14666extern "C" {
14667    pub fn CMTagMakeWithFloat64Value(category: CMTagCategory, value: Float64) -> CMTag;
14668}
14669extern "C" {
14670    pub fn CMTagMakeWithOSTypeValue(category: CMTagCategory, value: OSType) -> CMTag;
14671}
14672extern "C" {
14673    pub fn CMTagMakeWithFlagsValue(category: CMTagCategory, flagsForTag: u64) -> CMTag;
14674}
14675extern "C" {
14676    pub fn CMTagEqualToTag(tag1: CMTag, tag2: CMTag) -> Boolean;
14677}
14678extern "C" {
14679    pub fn CMTagCompare(tag1: CMTag, tag2: CMTag) -> CFComparisonResult;
14680}
14681extern "C" {
14682    pub fn CMTagHash(tag: CMTag) -> CFHashCode;
14683}
14684extern "C" {
14685    pub fn CMTagCopyDescription(allocator: CFAllocatorRef, tag: CMTag) -> CFStringRef;
14686}
14687extern "C" {
14688    pub fn CMTagCopyAsDictionary(tag: CMTag, allocator: CFAllocatorRef) -> CFDictionaryRef;
14689}
14690extern "C" {
14691    pub fn CMTagMakeFromDictionary(dict: CFDictionaryRef) -> CMTag;
14692}
14693extern "C" {
14694    pub static kCMTagValueKey: CFStringRef;
14695}
14696extern "C" {
14697    pub static kCMTagCategoryKey: CFStringRef;
14698}
14699extern "C" {
14700    pub static kCMTagDataTypeKey: CFStringRef;
14701}
14702pub type CMTagCollectionError = OSStatus;
14703pub const kCMTagCollectionError_ParamErr: _bindgen_ty_1711 = -15740;
14704pub const kCMTagCollectionError_AllocationFailed: _bindgen_ty_1711 = -15741;
14705pub const kCMTagCollectionError_InternalError: _bindgen_ty_1711 = -15742;
14706pub const kCMTagCollectionError_InvalidTag: _bindgen_ty_1711 = -15743;
14707pub const kCMTagCollectionError_InvalidTagCollectionDictionary: _bindgen_ty_1711 = -15744;
14708pub const kCMTagCollectionError_InvalidTagCollectionData: _bindgen_ty_1711 = -15745;
14709pub const kCMTagCollectionError_TagNotFound: _bindgen_ty_1711 = -15746;
14710pub const kCMTagCollectionError_InvalidTagCollectionDataVersion: _bindgen_ty_1711 = -15747;
14711pub const kCMTagCollectionError_ExhaustedBufferSize: _bindgen_ty_1711 = -15748;
14712pub const kCMTagCollectionError_NotYetImplemented: _bindgen_ty_1711 = -15749;
14713pub type _bindgen_ty_1711 = ::core::ffi::c_int;
14714#[repr(C)]
14715#[derive(Debug, Copy, Clone)]
14716pub struct OpaqueCMTagCollection {
14717    _unused: [u8; 0],
14718}
14719pub type CMTagCollectionRef = *const OpaqueCMTagCollection;
14720pub type CMMutableTagCollectionRef = *mut OpaqueCMTagCollection;
14721extern "C" {
14722    pub fn CMTagCollectionGetTypeID() -> CFTypeID;
14723}
14724pub type CMTagCollectionApplierFunction =
14725    ::core::option::Option<unsafe extern "C" fn(tag: CMTag, context: *mut ::core::ffi::c_void)>;
14726pub type CMTagCollectionTagFilterFunction = ::core::option::Option<
14727    unsafe extern "C" fn(tag: CMTag, context: *mut ::core::ffi::c_void) -> Boolean,
14728>;
14729extern "C" {
14730    pub fn CMTagCollectionCreate(
14731        allocator: CFAllocatorRef,
14732        tags: *const CMTag,
14733        tagCount: CMItemCount,
14734        newCollectionOut: *mut CMTagCollectionRef,
14735    ) -> OSStatus;
14736}
14737extern "C" {
14738    pub fn CMTagCollectionCreateMutable(
14739        allocator: CFAllocatorRef,
14740        capacity: CFIndex,
14741        newMutableCollectionOut: *mut CMMutableTagCollectionRef,
14742    ) -> OSStatus;
14743}
14744extern "C" {
14745    pub fn CMTagCollectionCreateCopy(
14746        tagCollection: CMTagCollectionRef,
14747        allocator: CFAllocatorRef,
14748        newCollectionCopyOut: *mut CMTagCollectionRef,
14749    ) -> OSStatus;
14750}
14751extern "C" {
14752    pub fn CMTagCollectionCreateMutableCopy(
14753        tagCollection: CMTagCollectionRef,
14754        allocator: CFAllocatorRef,
14755        newMutableCollectionCopyOut: *mut CMMutableTagCollectionRef,
14756    ) -> OSStatus;
14757}
14758extern "C" {
14759    pub fn CMTagCollectionCopyDescription(
14760        allocator: CFAllocatorRef,
14761        tagCollection: CMTagCollectionRef,
14762    ) -> CFStringRef;
14763}
14764extern "C" {
14765    pub fn CMTagCollectionGetCount(tagCollection: CMTagCollectionRef) -> CMItemCount;
14766}
14767extern "C" {
14768    pub fn CMTagCollectionContainsTag(tagCollection: CMTagCollectionRef, tag: CMTag) -> Boolean;
14769}
14770extern "C" {
14771    pub fn CMTagCollectionContainsTagsOfCollection(
14772        tagCollection: CMTagCollectionRef,
14773        containedTagCollection: CMTagCollectionRef,
14774    ) -> Boolean;
14775}
14776extern "C" {
14777    pub fn CMTagCollectionContainsSpecifiedTags(
14778        tagCollection: CMTagCollectionRef,
14779        containedTags: *const CMTag,
14780        containedTagCount: CMItemCount,
14781    ) -> Boolean;
14782}
14783extern "C" {
14784    pub fn CMTagCollectionContainsCategory(
14785        tagCollection: CMTagCollectionRef,
14786        category: CMTagCategory,
14787    ) -> Boolean;
14788}
14789extern "C" {
14790    pub fn CMTagCollectionGetCountOfCategory(
14791        tagCollection: CMTagCollectionRef,
14792        category: CMTagCategory,
14793    ) -> CMItemCount;
14794}
14795extern "C" {
14796    pub fn CMTagCollectionGetTags(
14797        tagCollection: CMTagCollectionRef,
14798        tagBuffer: *mut CMTag,
14799        tagBufferCount: CMItemCount,
14800        numberOfTagsCopied: *mut CMItemCount,
14801    ) -> OSStatus;
14802}
14803extern "C" {
14804    pub fn CMTagCollectionGetTagsWithCategory(
14805        tagCollection: CMTagCollectionRef,
14806        category: CMTagCategory,
14807        tagBuffer: *mut CMTag,
14808        tagBufferCount: CMItemCount,
14809        numberOfTagsCopied: *mut CMItemCount,
14810    ) -> OSStatus;
14811}
14812extern "C" {
14813    pub fn CMTagCollectionCountTagsWithFilterFunction(
14814        tagCollection: CMTagCollectionRef,
14815        filterApplier: CMTagCollectionTagFilterFunction,
14816        context: *mut ::core::ffi::c_void,
14817    ) -> CMItemCount;
14818}
14819extern "C" {
14820    pub fn CMTagCollectionGetTagsWithFilterFunction(
14821        tagCollection: CMTagCollectionRef,
14822        tagBuffer: *mut CMTag,
14823        tagBufferCount: CMItemCount,
14824        numberOfTagsCopied: *mut CMItemCount,
14825        filter: CMTagCollectionTagFilterFunction,
14826        context: *mut ::core::ffi::c_void,
14827    ) -> OSStatus;
14828}
14829extern "C" {
14830    pub fn CMTagCollectionCopyTagsOfCategories(
14831        allocator: CFAllocatorRef,
14832        tagCollection: CMTagCollectionRef,
14833        categories: *const CMTagCategory,
14834        categoriesCount: CMItemCount,
14835        collectionWithTagsOfCategories: *mut CMTagCollectionRef,
14836    ) -> OSStatus;
14837}
14838extern "C" {
14839    pub fn CMTagCollectionApply(
14840        tagCollection: CMTagCollectionRef,
14841        applier: CMTagCollectionApplierFunction,
14842        context: *mut ::core::ffi::c_void,
14843    );
14844}
14845extern "C" {
14846    pub fn CMTagCollectionApplyUntil(
14847        tagCollection: CMTagCollectionRef,
14848        applier: CMTagCollectionTagFilterFunction,
14849        context: *mut ::core::ffi::c_void,
14850    ) -> CMTag;
14851}
14852extern "C" {
14853    pub fn CMTagCollectionIsEmpty(tagCollection: CMTagCollectionRef) -> Boolean;
14854}
14855extern "C" {
14856    pub fn CMTagCollectionCreateIntersection(
14857        tagCollection1: CMTagCollectionRef,
14858        tagCollection2: CMTagCollectionRef,
14859        tagCollectionOut: *mut CMTagCollectionRef,
14860    ) -> OSStatus;
14861}
14862extern "C" {
14863    pub fn CMTagCollectionCreateUnion(
14864        tagCollection1: CMTagCollectionRef,
14865        tagCollection2: CMTagCollectionRef,
14866        tagCollectionOut: *mut CMTagCollectionRef,
14867    ) -> OSStatus;
14868}
14869extern "C" {
14870    pub fn CMTagCollectionCreateDifference(
14871        tagCollectionMinuend: CMTagCollectionRef,
14872        tagCollectionSubtrahend: CMTagCollectionRef,
14873        tagCollectionOut: *mut CMTagCollectionRef,
14874    ) -> OSStatus;
14875}
14876extern "C" {
14877    pub fn CMTagCollectionCreateExclusiveOr(
14878        tagCollection1: CMTagCollectionRef,
14879        tagCollection2: CMTagCollectionRef,
14880        tagCollectionOut: *mut CMTagCollectionRef,
14881    ) -> OSStatus;
14882}
14883extern "C" {
14884    pub fn CMTagCollectionAddTag(
14885        tagCollection: CMMutableTagCollectionRef,
14886        tagToAdd: CMTag,
14887    ) -> OSStatus;
14888}
14889extern "C" {
14890    pub fn CMTagCollectionRemoveTag(
14891        tagCollection: CMMutableTagCollectionRef,
14892        tagToRemove: CMTag,
14893    ) -> OSStatus;
14894}
14895extern "C" {
14896    pub fn CMTagCollectionRemoveAllTags(tagCollection: CMMutableTagCollectionRef) -> OSStatus;
14897}
14898extern "C" {
14899    pub fn CMTagCollectionRemoveAllTagsOfCategory(
14900        tagCollection: CMMutableTagCollectionRef,
14901        category: CMTagCategory,
14902    ) -> OSStatus;
14903}
14904extern "C" {
14905    pub fn CMTagCollectionAddTagsFromCollection(
14906        tagCollection: CMMutableTagCollectionRef,
14907        collectionWithTagsToAdd: CMTagCollectionRef,
14908    ) -> OSStatus;
14909}
14910extern "C" {
14911    pub fn CMTagCollectionAddTagsFromArray(
14912        tagCollection: CMMutableTagCollectionRef,
14913        tags: *mut CMTag,
14914        tagCount: CMItemCount,
14915    ) -> OSStatus;
14916}
14917extern "C" {
14918    pub fn CMTagCollectionCopyAsDictionary(
14919        tagCollection: CMTagCollectionRef,
14920        allocator: CFAllocatorRef,
14921    ) -> CFDictionaryRef;
14922}
14923extern "C" {
14924    pub fn CMTagCollectionCreateFromDictionary(
14925        dict: CFDictionaryRef,
14926        allocator: CFAllocatorRef,
14927        newCollectionOut: *mut CMTagCollectionRef,
14928    ) -> OSStatus;
14929}
14930extern "C" {
14931    pub fn CMTagCollectionCopyAsData(
14932        tagCollection: CMTagCollectionRef,
14933        allocator: CFAllocatorRef,
14934    ) -> CFDataRef;
14935}
14936extern "C" {
14937    pub fn CMTagCollectionCreateFromData(
14938        data: CFDataRef,
14939        allocator: CFAllocatorRef,
14940        newCollectionOut: *mut CMTagCollectionRef,
14941    ) -> OSStatus;
14942}
14943extern "C" {
14944    pub static kCMTagCollectionTagsArrayKey: CFStringRef;
14945}
14946pub type CMTaggedBufferGroupError = OSStatus;
14947pub const kCMTaggedBufferGroupError_ParamErr: _bindgen_ty_1712 = -15780;
14948pub const kCMTaggedBufferGroupError_AllocationFailed: _bindgen_ty_1712 = -15781;
14949pub const kCMTaggedBufferGroupError_InternalError: _bindgen_ty_1712 = -15782;
14950pub type _bindgen_ty_1712 = ::core::ffi::c_int;
14951#[repr(C)]
14952#[derive(Debug, Copy, Clone)]
14953pub struct OpaqueCMTaggedBufferGroup {
14954    _unused: [u8; 0],
14955}
14956pub type CMTaggedBufferGroupRef = *mut OpaqueCMTaggedBufferGroup;
14957extern "C" {
14958    pub fn CMTaggedBufferGroupGetTypeID() -> CFTypeID;
14959}
14960extern "C" {
14961    pub fn CMTaggedBufferGroupCreate(
14962        allocator: CFAllocatorRef,
14963        tagCollections: CFArrayRef,
14964        buffers: CFArrayRef,
14965        groupOut: *mut CMTaggedBufferGroupRef,
14966    ) -> OSStatus;
14967}
14968extern "C" {
14969    pub fn CMTaggedBufferGroupCreateCombined(
14970        allocator: CFAllocatorRef,
14971        taggedBufferGroups: CFArrayRef,
14972        groupOut: *mut CMTaggedBufferGroupRef,
14973    ) -> OSStatus;
14974}
14975extern "C" {
14976    pub fn CMTaggedBufferGroupGetCount(group: CMTaggedBufferGroupRef) -> CMItemCount;
14977}
14978extern "C" {
14979    pub fn CMTaggedBufferGroupGetTagCollectionAtIndex(
14980        group: CMTaggedBufferGroupRef,
14981        index: CFIndex,
14982    ) -> CMTagCollectionRef;
14983}
14984extern "C" {
14985    pub fn CMTaggedBufferGroupGetCVPixelBufferAtIndex(
14986        group: CMTaggedBufferGroupRef,
14987        index: CFIndex,
14988    ) -> CVPixelBufferRef;
14989}
14990extern "C" {
14991    pub fn CMTaggedBufferGroupGetCVPixelBufferForTag(
14992        group: CMTaggedBufferGroupRef,
14993        tag: CMTag,
14994        indexOut: *mut CFIndex,
14995    ) -> CVPixelBufferRef;
14996}
14997extern "C" {
14998    pub fn CMTaggedBufferGroupGetCVPixelBufferForTagCollection(
14999        group: CMTaggedBufferGroupRef,
15000        tagCollection: CMTagCollectionRef,
15001        indexOut: *mut CFIndex,
15002    ) -> CVPixelBufferRef;
15003}
15004extern "C" {
15005    pub fn CMTaggedBufferGroupGetCMSampleBufferAtIndex(
15006        group: CMTaggedBufferGroupRef,
15007        index: CFIndex,
15008    ) -> CMSampleBufferRef;
15009}
15010extern "C" {
15011    pub fn CMTaggedBufferGroupGetCMSampleBufferForTag(
15012        group: CMTaggedBufferGroupRef,
15013        tag: CMTag,
15014        indexOut: *mut CFIndex,
15015    ) -> CMSampleBufferRef;
15016}
15017extern "C" {
15018    pub fn CMTaggedBufferGroupGetCMSampleBufferForTagCollection(
15019        group: CMTaggedBufferGroupRef,
15020        tagCollection: CMTagCollectionRef,
15021        indexOut: *mut CFIndex,
15022    ) -> CMSampleBufferRef;
15023}
15024extern "C" {
15025    pub fn CMTaggedBufferGroupGetNumberOfMatchesForTagCollection(
15026        group: CMTaggedBufferGroupRef,
15027        tagCollection: CMTagCollectionRef,
15028    ) -> CMItemCount;
15029}
15030extern "C" {
15031    pub fn CMTaggedBufferGroupFormatDescriptionCreateForTaggedBufferGroup(
15032        allocator: CFAllocatorRef,
15033        taggedBufferGroup: CMTaggedBufferGroupRef,
15034        formatDescriptionOut: *mut CMTaggedBufferGroupFormatDescriptionRef,
15035    ) -> OSStatus;
15036}
15037extern "C" {
15038    pub fn CMTaggedBufferGroupFormatDescriptionCreateForTaggedBufferGroupWithExtensions(
15039        allocator: CFAllocatorRef,
15040        taggedBufferGroup: CMTaggedBufferGroupRef,
15041        extensions: CFDictionaryRef,
15042        formatDescriptionOut: *mut CMTaggedBufferGroupFormatDescriptionRef,
15043    ) -> OSStatus;
15044}
15045extern "C" {
15046    pub fn CMTaggedBufferGroupFormatDescriptionMatchesTaggedBufferGroup(
15047        desc: CMTaggedBufferGroupFormatDescriptionRef,
15048        taggedBufferGroup: CMTaggedBufferGroupRef,
15049    ) -> Boolean;
15050}
15051extern "C" {
15052    pub fn CMSampleBufferCreateForTaggedBufferGroup(
15053        allocator: CFAllocatorRef,
15054        taggedBufferGroup: CMTaggedBufferGroupRef,
15055        sbufPTS: CMTime,
15056        sbufDuration: CMTime,
15057        formatDescription: CMTaggedBufferGroupFormatDescriptionRef,
15058        sBufOut: *mut CMSampleBufferRef,
15059    ) -> OSStatus;
15060}
15061extern "C" {
15062    pub fn CMSampleBufferGetTaggedBufferGroup(sbuf: CMSampleBufferRef) -> CMTaggedBufferGroupRef;
15063}
15064pub const kCMSimpleQueueError_AllocationFailed: _bindgen_ty_1713 = -12770;
15065pub const kCMSimpleQueueError_RequiredParameterMissing: _bindgen_ty_1713 = -12771;
15066pub const kCMSimpleQueueError_ParameterOutOfRange: _bindgen_ty_1713 = -12772;
15067pub const kCMSimpleQueueError_QueueIsFull: _bindgen_ty_1713 = -12773;
15068pub type _bindgen_ty_1713 = ::core::ffi::c_int;
15069#[repr(C)]
15070#[derive(Debug, Copy, Clone)]
15071pub struct opaqueCMSimpleQueue {
15072    _unused: [u8; 0],
15073}
15074pub type CMSimpleQueueRef = *mut opaqueCMSimpleQueue;
15075extern "C" {
15076    pub fn CMSimpleQueueGetTypeID() -> CFTypeID;
15077}
15078extern "C" {
15079    pub fn CMSimpleQueueCreate(
15080        allocator: CFAllocatorRef,
15081        capacity: i32,
15082        queueOut: *mut CMSimpleQueueRef,
15083    ) -> OSStatus;
15084}
15085extern "C" {
15086    pub fn CMSimpleQueueEnqueue(
15087        queue: CMSimpleQueueRef,
15088        element: *const ::core::ffi::c_void,
15089    ) -> OSStatus;
15090}
15091extern "C" {
15092    pub fn CMSimpleQueueDequeue(queue: CMSimpleQueueRef) -> *const ::core::ffi::c_void;
15093}
15094extern "C" {
15095    pub fn CMSimpleQueueGetHead(queue: CMSimpleQueueRef) -> *const ::core::ffi::c_void;
15096}
15097extern "C" {
15098    pub fn CMSimpleQueueReset(queue: CMSimpleQueueRef) -> OSStatus;
15099}
15100extern "C" {
15101    pub fn CMSimpleQueueGetCapacity(queue: CMSimpleQueueRef) -> i32;
15102}
15103extern "C" {
15104    pub fn CMSimpleQueueGetCount(queue: CMSimpleQueueRef) -> i32;
15105}
15106#[repr(C)]
15107#[derive(Debug, Copy, Clone)]
15108pub struct OpaqueCMMemoryPool {
15109    _unused: [u8; 0],
15110}
15111pub type CMMemoryPoolRef = *mut OpaqueCMMemoryPool;
15112pub const kCMMemoryPoolError_AllocationFailed: _bindgen_ty_1714 = -15490;
15113pub const kCMMemoryPoolError_InvalidParameter: _bindgen_ty_1714 = -15491;
15114pub type _bindgen_ty_1714 = ::core::ffi::c_int;
15115extern "C" {
15116    pub fn CMMemoryPoolGetTypeID() -> CFTypeID;
15117}
15118extern "C" {
15119    pub static mut kCMMemoryPoolOption_AgeOutPeriod: CFStringRef;
15120}
15121extern "C" {
15122    pub fn CMMemoryPoolCreate(options: CFDictionaryRef) -> CMMemoryPoolRef;
15123}
15124extern "C" {
15125    pub fn CMMemoryPoolGetAllocator(pool: CMMemoryPoolRef) -> CFAllocatorRef;
15126}
15127extern "C" {
15128    pub fn CMMemoryPoolFlush(pool: CMMemoryPoolRef);
15129}
15130extern "C" {
15131    pub fn CMMemoryPoolInvalidate(pool: CMMemoryPoolRef);
15132}
15133#[repr(C)]
15134#[derive(Debug, Copy, Clone)]
15135pub struct OpaqueCMClock {
15136    _unused: [u8; 0],
15137}
15138pub type CMClockRef = *mut OpaqueCMClock;
15139#[repr(C)]
15140#[derive(Debug, Copy, Clone)]
15141pub struct OpaqueCMTimebase {
15142    _unused: [u8; 0],
15143}
15144pub type CMTimebaseRef = *mut OpaqueCMTimebase;
15145pub type CMClockOrTimebaseRef = CFTypeRef;
15146pub const kCMClockError_MissingRequiredParameter: _bindgen_ty_1715 = -12745;
15147pub const kCMClockError_InvalidParameter: _bindgen_ty_1715 = -12746;
15148pub const kCMClockError_AllocationFailed: _bindgen_ty_1715 = -12747;
15149pub const kCMClockError_UnsupportedOperation: _bindgen_ty_1715 = -12756;
15150pub type _bindgen_ty_1715 = ::core::ffi::c_int;
15151pub const kCMTimebaseError_MissingRequiredParameter: _bindgen_ty_1716 = -12748;
15152pub const kCMTimebaseError_InvalidParameter: _bindgen_ty_1716 = -12749;
15153pub const kCMTimebaseError_AllocationFailed: _bindgen_ty_1716 = -12750;
15154pub const kCMTimebaseError_TimerIntervalTooShort: _bindgen_ty_1716 = -12751;
15155pub const kCMTimebaseError_ReadOnly: _bindgen_ty_1716 = -12757;
15156pub type _bindgen_ty_1716 = ::core::ffi::c_int;
15157pub const kCMSyncError_MissingRequiredParameter: _bindgen_ty_1717 = -12752;
15158pub const kCMSyncError_InvalidParameter: _bindgen_ty_1717 = -12753;
15159pub const kCMSyncError_AllocationFailed: _bindgen_ty_1717 = -12754;
15160pub const kCMSyncError_RateMustBeNonZero: _bindgen_ty_1717 = -12755;
15161pub type _bindgen_ty_1717 = ::core::ffi::c_int;
15162extern "C" {
15163    pub fn CMClockGetTypeID() -> CFTypeID;
15164}
15165extern "C" {
15166    pub fn CMClockGetHostTimeClock() -> CMClockRef;
15167}
15168extern "C" {
15169    pub fn CMClockConvertHostTimeToSystemUnits(hostTime: CMTime) -> u64;
15170}
15171extern "C" {
15172    pub fn CMClockMakeHostTimeFromSystemUnits(hostTime: u64) -> CMTime;
15173}
15174extern "C" {
15175    pub fn CMClockGetTime(clock: CMClockRef) -> CMTime;
15176}
15177extern "C" {
15178    pub fn CMClockGetAnchorTime(
15179        clock: CMClockRef,
15180        clockTimeOut: *mut CMTime,
15181        referenceClockTimeOut: *mut CMTime,
15182    ) -> OSStatus;
15183}
15184extern "C" {
15185    pub fn CMClockMightDrift(clock: CMClockRef, otherClock: CMClockRef) -> Boolean;
15186}
15187extern "C" {
15188    pub fn CMClockInvalidate(clock: CMClockRef);
15189}
15190extern "C" {
15191    pub fn CMTimebaseGetTypeID() -> CFTypeID;
15192}
15193extern "C" {
15194    pub fn CMTimebaseCreateWithSourceClock(
15195        allocator: CFAllocatorRef,
15196        sourceClock: CMClockRef,
15197        timebaseOut: *mut CMTimebaseRef,
15198    ) -> OSStatus;
15199}
15200extern "C" {
15201    pub fn CMTimebaseCreateWithSourceTimebase(
15202        allocator: CFAllocatorRef,
15203        sourceTimebase: CMTimebaseRef,
15204        timebaseOut: *mut CMTimebaseRef,
15205    ) -> OSStatus;
15206}
15207extern "C" {
15208    pub fn CMTimebaseCopySourceTimebase(timebase: CMTimebaseRef) -> CMTimebaseRef;
15209}
15210extern "C" {
15211    pub fn CMTimebaseCopySourceClock(timebase: CMTimebaseRef) -> CMClockRef;
15212}
15213extern "C" {
15214    pub fn CMTimebaseCopySource(timebase: CMTimebaseRef) -> CMClockOrTimebaseRef;
15215}
15216extern "C" {
15217    pub fn CMTimebaseCopyUltimateSourceClock(timebase: CMTimebaseRef) -> CMClockRef;
15218}
15219extern "C" {
15220    pub fn CMTimebaseGetMasterTimebase(timebase: CMTimebaseRef) -> CMTimebaseRef;
15221}
15222extern "C" {
15223    pub fn CMTimebaseGetMasterClock(timebase: CMTimebaseRef) -> CMClockRef;
15224}
15225extern "C" {
15226    pub fn CMTimebaseGetMaster(timebase: CMTimebaseRef) -> CMClockOrTimebaseRef;
15227}
15228extern "C" {
15229    pub fn CMTimebaseGetUltimateMasterClock(timebase: CMTimebaseRef) -> CMClockRef;
15230}
15231extern "C" {
15232    pub fn CMTimebaseSetSourceClock(
15233        timebase: CMTimebaseRef,
15234        newSourceClock: CMClockRef,
15235    ) -> OSStatus;
15236}
15237extern "C" {
15238    pub fn CMTimebaseSetSourceTimebase(
15239        timebase: CMTimebaseRef,
15240        newSourceTimebase: CMTimebaseRef,
15241    ) -> OSStatus;
15242}
15243extern "C" {
15244    pub fn CMTimebaseGetTime(timebase: CMTimebaseRef) -> CMTime;
15245}
15246extern "C" {
15247    pub fn CMTimebaseGetTimeWithTimeScale(
15248        timebase: CMTimebaseRef,
15249        timescale: CMTimeScale,
15250        method: CMTimeRoundingMethod,
15251    ) -> CMTime;
15252}
15253extern "C" {
15254    pub fn CMTimebaseSetTime(timebase: CMTimebaseRef, time: CMTime) -> OSStatus;
15255}
15256extern "C" {
15257    pub fn CMTimebaseSetAnchorTime(
15258        timebase: CMTimebaseRef,
15259        timebaseTime: CMTime,
15260        immediateSourceTime: CMTime,
15261    ) -> OSStatus;
15262}
15263extern "C" {
15264    pub fn CMTimebaseGetRate(timebase: CMTimebaseRef) -> Float64;
15265}
15266extern "C" {
15267    pub fn CMTimebaseGetTimeAndRate(
15268        timebase: CMTimebaseRef,
15269        timeOut: *mut CMTime,
15270        rateOut: *mut Float64,
15271    ) -> OSStatus;
15272}
15273extern "C" {
15274    pub fn CMTimebaseSetRate(timebase: CMTimebaseRef, rate: Float64) -> OSStatus;
15275}
15276extern "C" {
15277    pub fn CMTimebaseSetRateAndAnchorTime(
15278        timebase: CMTimebaseRef,
15279        rate: Float64,
15280        timebaseTime: CMTime,
15281        immediateSourceTime: CMTime,
15282    ) -> OSStatus;
15283}
15284extern "C" {
15285    pub fn CMTimebaseGetEffectiveRate(timebase: CMTimebaseRef) -> Float64;
15286}
15287extern "C" {
15288    pub fn CMTimebaseAddTimer(
15289        timebase: CMTimebaseRef,
15290        timer: CFRunLoopTimerRef,
15291        runloop: CFRunLoopRef,
15292    ) -> OSStatus;
15293}
15294extern "C" {
15295    pub fn CMTimebaseRemoveTimer(timebase: CMTimebaseRef, timer: CFRunLoopTimerRef) -> OSStatus;
15296}
15297extern "C" {
15298    pub fn CMTimebaseSetTimerNextFireTime(
15299        timebase: CMTimebaseRef,
15300        timer: CFRunLoopTimerRef,
15301        fireTime: CMTime,
15302        flags: u32,
15303    ) -> OSStatus;
15304}
15305extern "C" {
15306    pub fn CMTimebaseSetTimerToFireImmediately(
15307        timebase: CMTimebaseRef,
15308        timer: CFRunLoopTimerRef,
15309    ) -> OSStatus;
15310}
15311extern "C" {
15312    pub fn CMTimebaseAddTimerDispatchSource(
15313        timebase: CMTimebaseRef,
15314        timerSource: dispatch_source_t,
15315    ) -> OSStatus;
15316}
15317extern "C" {
15318    pub fn CMTimebaseRemoveTimerDispatchSource(
15319        timebase: CMTimebaseRef,
15320        timerSource: dispatch_source_t,
15321    ) -> OSStatus;
15322}
15323extern "C" {
15324    pub fn CMTimebaseSetTimerDispatchSourceNextFireTime(
15325        timebase: CMTimebaseRef,
15326        timerSource: dispatch_source_t,
15327        fireTime: CMTime,
15328        flags: u32,
15329    ) -> OSStatus;
15330}
15331extern "C" {
15332    pub fn CMTimebaseSetTimerDispatchSourceToFireImmediately(
15333        timebase: CMTimebaseRef,
15334        timerSource: dispatch_source_t,
15335    ) -> OSStatus;
15336}
15337extern "C" {
15338    pub fn CMSyncGetRelativeRate(
15339        ofClockOrTimebase: CMClockOrTimebaseRef,
15340        relativeToClockOrTimebase: CMClockOrTimebaseRef,
15341    ) -> Float64;
15342}
15343extern "C" {
15344    pub fn CMSyncGetRelativeRateAndAnchorTime(
15345        ofClockOrTimebase: CMClockOrTimebaseRef,
15346        relativeToClockOrTimebase: CMClockOrTimebaseRef,
15347        outRelativeRate: *mut Float64,
15348        outOfClockOrTimebaseAnchorTime: *mut CMTime,
15349        outRelativeToClockOrTimebaseAnchorTime: *mut CMTime,
15350    ) -> OSStatus;
15351}
15352extern "C" {
15353    pub fn CMSyncConvertTime(
15354        time: CMTime,
15355        fromClockOrTimebase: CMClockOrTimebaseRef,
15356        toClockOrTimebase: CMClockOrTimebaseRef,
15357    ) -> CMTime;
15358}
15359extern "C" {
15360    pub fn CMSyncMightDrift(
15361        clockOrTimebase1: CMClockOrTimebaseRef,
15362        clockOrTimebase2: CMClockOrTimebaseRef,
15363    ) -> Boolean;
15364}
15365extern "C" {
15366    pub fn CMSyncGetTime(clockOrTimebase: CMClockOrTimebaseRef) -> CMTime;
15367}
15368extern "C" {
15369    pub fn CMTimebaseNotificationBarrier(timebase: CMTimebaseRef) -> OSStatus;
15370}
15371extern "C" {
15372    pub static kCMTimebaseNotification_EffectiveRateChanged: CFStringRef;
15373}
15374extern "C" {
15375    pub static kCMTimebaseNotification_TimeJumped: CFStringRef;
15376}
15377extern "C" {
15378    pub static kCMTimebaseNotificationKey_EventTime: CFStringRef;
15379}
15380extern "C" {
15381    pub static kCMTextMarkupAttribute_ForegroundColorARGB: CFStringRef;
15382}
15383extern "C" {
15384    pub static kCMTextMarkupAttribute_BackgroundColorARGB: CFStringRef;
15385}
15386extern "C" {
15387    pub static kCMTextMarkupAttribute_CharacterBackgroundColorARGB: CFStringRef;
15388}
15389extern "C" {
15390    pub static kCMTextMarkupAttribute_BoldStyle: CFStringRef;
15391}
15392extern "C" {
15393    pub static kCMTextMarkupAttribute_ItalicStyle: CFStringRef;
15394}
15395extern "C" {
15396    pub static kCMTextMarkupAttribute_UnderlineStyle: CFStringRef;
15397}
15398extern "C" {
15399    pub static kCMTextMarkupAttribute_FontFamilyName: CFStringRef;
15400}
15401extern "C" {
15402    pub static kCMTextMarkupAttribute_FontFamilyNameList: CFStringRef;
15403}
15404extern "C" {
15405    pub static kCMTextMarkupAttribute_GenericFontFamilyName: CFStringRef;
15406}
15407extern "C" {
15408    pub static kCMTextMarkupGenericFontName_Default: CFStringRef;
15409}
15410extern "C" {
15411    pub static kCMTextMarkupGenericFontName_Serif: CFStringRef;
15412}
15413extern "C" {
15414    pub static kCMTextMarkupGenericFontName_SansSerif: CFStringRef;
15415}
15416extern "C" {
15417    pub static kCMTextMarkupGenericFontName_Monospace: CFStringRef;
15418}
15419extern "C" {
15420    pub static kCMTextMarkupGenericFontName_ProportionalSerif: CFStringRef;
15421}
15422extern "C" {
15423    pub static kCMTextMarkupGenericFontName_ProportionalSansSerif: CFStringRef;
15424}
15425extern "C" {
15426    pub static kCMTextMarkupGenericFontName_MonospaceSerif: CFStringRef;
15427}
15428extern "C" {
15429    pub static kCMTextMarkupGenericFontName_MonospaceSansSerif: CFStringRef;
15430}
15431extern "C" {
15432    pub static kCMTextMarkupGenericFontName_Casual: CFStringRef;
15433}
15434extern "C" {
15435    pub static kCMTextMarkupGenericFontName_Cursive: CFStringRef;
15436}
15437extern "C" {
15438    pub static kCMTextMarkupGenericFontName_Fantasy: CFStringRef;
15439}
15440extern "C" {
15441    pub static kCMTextMarkupGenericFontName_SmallCapital: CFStringRef;
15442}
15443extern "C" {
15444    pub static kCMTextMarkupAttribute_BaseFontSizePercentageRelativeToVideoHeight: CFStringRef;
15445}
15446extern "C" {
15447    pub static kCMTextMarkupAttribute_RelativeFontSize: CFStringRef;
15448}
15449extern "C" {
15450    pub static kCMTextMarkupAttribute_VerticalLayout: CFStringRef;
15451}
15452extern "C" {
15453    pub static kCMTextVerticalLayout_LeftToRight: CFStringRef;
15454}
15455extern "C" {
15456    pub static kCMTextVerticalLayout_RightToLeft: CFStringRef;
15457}
15458extern "C" {
15459    pub static kCMTextMarkupAttribute_Alignment: CFStringRef;
15460}
15461extern "C" {
15462    pub static kCMTextMarkupAlignmentType_Start: CFStringRef;
15463}
15464extern "C" {
15465    pub static kCMTextMarkupAlignmentType_Middle: CFStringRef;
15466}
15467extern "C" {
15468    pub static kCMTextMarkupAlignmentType_End: CFStringRef;
15469}
15470extern "C" {
15471    pub static kCMTextMarkupAlignmentType_Left: CFStringRef;
15472}
15473extern "C" {
15474    pub static kCMTextMarkupAlignmentType_Right: CFStringRef;
15475}
15476extern "C" {
15477    pub static kCMTextMarkupAttribute_TextPositionPercentageRelativeToWritingDirection: CFStringRef;
15478}
15479extern "C" {
15480    pub static kCMTextMarkupAttribute_OrthogonalLinePositionPercentageRelativeToWritingDirection:
15481        CFStringRef;
15482}
15483extern "C" {
15484    pub static kCMTextMarkupAttribute_WritingDirectionSizePercentage: CFStringRef;
15485}
15486extern "C" {
15487    pub static kCMTextMarkupAttribute_CharacterEdgeStyle: CFStringRef;
15488}
15489extern "C" {
15490    pub static kCMTextMarkupCharacterEdgeStyle_None: CFStringRef;
15491}
15492extern "C" {
15493    pub static kCMTextMarkupCharacterEdgeStyle_Raised: CFStringRef;
15494}
15495extern "C" {
15496    pub static kCMTextMarkupCharacterEdgeStyle_Depressed: CFStringRef;
15497}
15498extern "C" {
15499    pub static kCMTextMarkupCharacterEdgeStyle_Uniform: CFStringRef;
15500}
15501extern "C" {
15502    pub static kCMTextMarkupCharacterEdgeStyle_DropShadow: CFStringRef;
15503}
15504pub const kCMMetadataIdentifierError_AllocationFailed: _bindgen_ty_1718 = -16300;
15505pub const kCMMetadataIdentifierError_RequiredParameterMissing: _bindgen_ty_1718 = -16301;
15506pub const kCMMetadataIdentifierError_BadKey: _bindgen_ty_1718 = -16302;
15507pub const kCMMetadataIdentifierError_BadKeyLength: _bindgen_ty_1718 = -16303;
15508pub const kCMMetadataIdentifierError_BadKeyType: _bindgen_ty_1718 = -16304;
15509pub const kCMMetadataIdentifierError_BadNumberKey: _bindgen_ty_1718 = -16305;
15510pub const kCMMetadataIdentifierError_BadKeySpace: _bindgen_ty_1718 = -16306;
15511pub const kCMMetadataIdentifierError_BadIdentifier: _bindgen_ty_1718 = -16307;
15512pub const kCMMetadataIdentifierError_NoKeyValueAvailable: _bindgen_ty_1718 = -16308;
15513pub type _bindgen_ty_1718 = ::core::ffi::c_int;
15514pub const kCMMetadataDataTypeRegistryError_AllocationFailed: _bindgen_ty_1719 = -16310;
15515pub const kCMMetadataDataTypeRegistryError_RequiredParameterMissing: _bindgen_ty_1719 = -16311;
15516pub const kCMMetadataDataTypeRegistryError_BadDataTypeIdentifier: _bindgen_ty_1719 = -16312;
15517pub const kCMMetadataDataTypeRegistryError_DataTypeAlreadyRegistered: _bindgen_ty_1719 = -16313;
15518pub const kCMMetadataDataTypeRegistryError_RequiresConformingBaseType: _bindgen_ty_1719 = -16314;
15519pub const kCMMetadataDataTypeRegistryError_MultipleConformingBaseTypes: _bindgen_ty_1719 = -16315;
15520pub type _bindgen_ty_1719 = ::core::ffi::c_int;
15521extern "C" {
15522    pub static kCMMetadataKeySpace_QuickTimeUserData: CFStringRef;
15523}
15524extern "C" {
15525    pub static kCMMetadataKeySpace_ISOUserData: CFStringRef;
15526}
15527extern "C" {
15528    pub static kCMMetadataKeySpace_QuickTimeMetadata: CFStringRef;
15529}
15530extern "C" {
15531    pub static kCMMetadataKeySpace_iTunes: CFStringRef;
15532}
15533extern "C" {
15534    pub static kCMMetadataKeySpace_ID3: CFStringRef;
15535}
15536extern "C" {
15537    pub static kCMMetadataKeySpace_Icy: CFStringRef;
15538}
15539extern "C" {
15540    pub static kCMMetadataKeySpace_HLSDateRange: CFStringRef;
15541}
15542extern "C" {
15543    pub static kCMMetadataIdentifier_QuickTimeMetadataLocation_ISO6709: CFStringRef;
15544}
15545extern "C" {
15546    pub static kCMMetadataIdentifier_QuickTimeMetadataDirection_Facing: CFStringRef;
15547}
15548extern "C" {
15549    pub static kCMMetadataIdentifier_QuickTimeMetadataPreferredAffineTransform: CFStringRef;
15550}
15551extern "C" {
15552    pub static kCMMetadataIdentifier_QuickTimeMetadataVideoOrientation: CFStringRef;
15553}
15554extern "C" {
15555    pub static kCMMetadataIdentifier_QuickTimeMetadataLivePhotoStillImageTransform: CFStringRef;
15556}
15557extern "C" {
15558    pub static kCMMetadataIdentifier_QuickTimeMetadataLivePhotoStillImageTransformReferenceDimensions:
15559        CFStringRef;
15560}
15561extern "C" {
15562    pub static kCMMetadataIdentifier_QuickTimeMetadataSegmentIdentifier: CFStringRef;
15563}
15564extern "C" {
15565    pub static kCMMetadataIdentifier_QuickTimeMetadataSceneIlluminance: CFStringRef;
15566}
15567extern "C" {
15568    pub static kCMMetadataIdentifier_QuickTimeMetadataSpatialAudioMix: CFStringRef;
15569}
15570extern "C" {
15571    pub static kCMMetadataIdentifier_QuickTimeMetadataDisplayMaskRectangleMono: CFStringRef;
15572}
15573extern "C" {
15574    pub static kCMMetadataIdentifier_QuickTimeMetadataDisplayMaskRectangleStereoLeft: CFStringRef;
15575}
15576extern "C" {
15577    pub static kCMMetadataIdentifier_QuickTimeMetadataDisplayMaskRectangleStereoRight: CFStringRef;
15578}
15579extern "C" {
15580    pub static kCMMetadataIdentifier_QuickTimeMetadataPresentationImmersiveMedia: CFStringRef;
15581}
15582extern "C" {
15583    pub fn CMMetadataCreateIdentifierForKeyAndKeySpace(
15584        allocator: CFAllocatorRef,
15585        key: CFTypeRef,
15586        keySpace: CFStringRef,
15587        identifierOut: *mut CFStringRef,
15588    ) -> OSStatus;
15589}
15590extern "C" {
15591    pub fn CMMetadataCreateKeyFromIdentifier(
15592        allocator: CFAllocatorRef,
15593        identifier: CFStringRef,
15594        keyOut: *mut CFTypeRef,
15595    ) -> OSStatus;
15596}
15597extern "C" {
15598    pub fn CMMetadataCreateKeyFromIdentifierAsCFData(
15599        allocator: CFAllocatorRef,
15600        identifier: CFStringRef,
15601        keyOut: *mut CFDataRef,
15602    ) -> OSStatus;
15603}
15604extern "C" {
15605    pub fn CMMetadataCreateKeySpaceFromIdentifier(
15606        allocator: CFAllocatorRef,
15607        identifier: CFStringRef,
15608        keySpaceOut: *mut CFStringRef,
15609    ) -> OSStatus;
15610}
15611extern "C" {
15612    pub static kCMMetadataBaseDataType_RawData: CFStringRef;
15613}
15614extern "C" {
15615    pub static kCMMetadataBaseDataType_UTF8: CFStringRef;
15616}
15617extern "C" {
15618    pub static kCMMetadataBaseDataType_UTF16: CFStringRef;
15619}
15620extern "C" {
15621    pub static kCMMetadataBaseDataType_GIF: CFStringRef;
15622}
15623extern "C" {
15624    pub static kCMMetadataBaseDataType_JPEG: CFStringRef;
15625}
15626extern "C" {
15627    pub static kCMMetadataBaseDataType_PNG: CFStringRef;
15628}
15629extern "C" {
15630    pub static kCMMetadataBaseDataType_BMP: CFStringRef;
15631}
15632extern "C" {
15633    pub static kCMMetadataBaseDataType_Float32: CFStringRef;
15634}
15635extern "C" {
15636    pub static kCMMetadataBaseDataType_Float64: CFStringRef;
15637}
15638extern "C" {
15639    pub static kCMMetadataBaseDataType_SInt8: CFStringRef;
15640}
15641extern "C" {
15642    pub static kCMMetadataBaseDataType_SInt16: CFStringRef;
15643}
15644extern "C" {
15645    pub static kCMMetadataBaseDataType_SInt32: CFStringRef;
15646}
15647extern "C" {
15648    pub static kCMMetadataBaseDataType_SInt64: CFStringRef;
15649}
15650extern "C" {
15651    pub static kCMMetadataBaseDataType_UInt8: CFStringRef;
15652}
15653extern "C" {
15654    pub static kCMMetadataBaseDataType_UInt16: CFStringRef;
15655}
15656extern "C" {
15657    pub static kCMMetadataBaseDataType_UInt32: CFStringRef;
15658}
15659extern "C" {
15660    pub static kCMMetadataBaseDataType_UInt64: CFStringRef;
15661}
15662extern "C" {
15663    pub static kCMMetadataBaseDataType_PointF32: CFStringRef;
15664}
15665extern "C" {
15666    pub static kCMMetadataBaseDataType_DimensionsF32: CFStringRef;
15667}
15668extern "C" {
15669    pub static kCMMetadataBaseDataType_RectF32: CFStringRef;
15670}
15671extern "C" {
15672    pub static kCMMetadataBaseDataType_AffineTransformF64: CFStringRef;
15673}
15674extern "C" {
15675    pub static kCMMetadataBaseDataType_PolygonF32: CFStringRef;
15676}
15677extern "C" {
15678    pub static kCMMetadataBaseDataType_PolylineF32: CFStringRef;
15679}
15680extern "C" {
15681    pub static kCMMetadataBaseDataType_JSON: CFStringRef;
15682}
15683extern "C" {
15684    pub static kCMMetadataBaseDataType_PerspectiveTransformF64: CFStringRef;
15685}
15686extern "C" {
15687    pub static kCMMetadataBaseDataType_RasterRectangleValue: CFStringRef;
15688}
15689extern "C" {
15690    pub static kCMMetadataBaseDataType_ExtendedRasterRectangleValue: CFStringRef;
15691}
15692extern "C" {
15693    pub static kCMMetadataDataType_QuickTimeMetadataLocation_ISO6709: CFStringRef;
15694}
15695extern "C" {
15696    pub static kCMMetadataDataType_QuickTimeMetadataDirection: CFStringRef;
15697}
15698extern "C" {
15699    pub static kCMMetadataDataType_QuickTimeMetadataUUID: CFStringRef;
15700}
15701extern "C" {
15702    pub static kCMMetadataDataType_QuickTimeMetadataMilliLux: CFStringRef;
15703}
15704extern "C" {
15705    pub fn CMMetadataDataTypeRegistryRegisterDataType(
15706        dataType: CFStringRef,
15707        description: CFStringRef,
15708        conformingDataTypes: CFArrayRef,
15709    ) -> OSStatus;
15710}
15711extern "C" {
15712    pub fn CMMetadataDataTypeRegistryDataTypeIsRegistered(dataType: CFStringRef) -> Boolean;
15713}
15714extern "C" {
15715    pub fn CMMetadataDataTypeRegistryGetDataTypeDescription(dataType: CFStringRef) -> CFStringRef;
15716}
15717extern "C" {
15718    pub fn CMMetadataDataTypeRegistryGetConformingDataTypes(dataType: CFStringRef) -> CFArrayRef;
15719}
15720extern "C" {
15721    pub fn CMMetadataDataTypeRegistryDataTypeConformsToDataType(
15722        dataType: CFStringRef,
15723        conformsToDataType: CFStringRef,
15724    ) -> Boolean;
15725}
15726extern "C" {
15727    pub fn CMMetadataDataTypeRegistryGetBaseDataTypes() -> CFArrayRef;
15728}
15729extern "C" {
15730    pub fn CMMetadataDataTypeRegistryDataTypeIsBaseDataType(dataType: CFStringRef) -> Boolean;
15731}
15732extern "C" {
15733    pub fn CMMetadataDataTypeRegistryGetBaseDataTypeForConformingDataType(
15734        dataType: CFStringRef,
15735    ) -> CFStringRef;
15736}
15737extern "C" {
15738    pub fn CMAudioClockCreate(allocator: CFAllocatorRef, clockOut: *mut CMClockRef) -> OSStatus;
15739}
15740pub type AudioObjectID = UInt32;
15741pub type AudioDeviceID = AudioObjectID;
15742extern "C" {
15743    pub fn CMAudioDeviceClockCreate(
15744        allocator: CFAllocatorRef,
15745        deviceUID: CFStringRef,
15746        clockOut: *mut CMClockRef,
15747    ) -> OSStatus;
15748}
15749extern "C" {
15750    pub fn CMAudioDeviceClockCreateFromAudioDeviceID(
15751        allocator: CFAllocatorRef,
15752        deviceID: AudioDeviceID,
15753        clockOut: *mut CMClockRef,
15754    ) -> OSStatus;
15755}
15756extern "C" {
15757    pub fn CMAudioDeviceClockSetAudioDeviceUID(
15758        clock: CMClockRef,
15759        deviceUID: CFStringRef,
15760    ) -> OSStatus;
15761}
15762extern "C" {
15763    pub fn CMAudioDeviceClockSetAudioDeviceID(
15764        clock: CMClockRef,
15765        deviceID: AudioDeviceID,
15766    ) -> OSStatus;
15767}
15768extern "C" {
15769    pub fn CMAudioDeviceClockGetAudioDevice(
15770        clock: CMClockRef,
15771        deviceUIDOut: *mut CFStringRef,
15772        deviceIDOut: *mut AudioDeviceID,
15773        trackingDefaultDeviceOut: *mut Boolean,
15774    ) -> OSStatus;
15775}
15776pub type __builtin_va_list = *mut ::core::ffi::c_char;
15777#[repr(C)]
15778#[derive(Debug, Copy, Clone)]
15779pub struct _os_object_s {
15780    pub _address: u8,
15781}
15782#[repr(C)]
15783#[derive(Debug, Copy, Clone)]
15784pub struct dispatch_object_s {
15785    pub _address: u8,
15786}
15787#[repr(C)]
15788#[derive(Debug, Copy, Clone)]
15789pub struct dispatch_group_s {
15790    pub _address: u8,
15791}
15792#[repr(C)]
15793#[derive(Debug, Copy, Clone)]
15794pub struct dispatch_source_s {
15795    pub _address: u8,
15796}
15797#[repr(C)]
15798#[derive(Debug, Copy, Clone)]
15799pub struct dispatch_channel_s {
15800    pub _address: u8,
15801}
15802#[repr(C)]
15803#[derive(Debug, Copy, Clone)]
15804pub struct dispatch_mach_s {
15805    pub _address: u8,
15806}
15807#[repr(C)]
15808#[derive(Debug, Copy, Clone)]
15809pub struct dispatch_mach_msg_s {
15810    pub _address: u8,
15811}
15812#[repr(C)]
15813#[derive(Debug, Copy, Clone)]
15814pub struct dispatch_semaphore_s {
15815    pub _address: u8,
15816}
15817#[repr(C)]
15818#[derive(Debug, Copy, Clone)]
15819pub struct dispatch_io_s {
15820    pub _address: u8,
15821}