CoreFoundation_sys/
uuid.rs

1use libc::c_void;
2use ::{CFAllocatorRef, CFStringRef, CFTypeID, UInt8};
3
4#[doc(hidden)]
5#[repr(C)]
6pub struct __CFUUID {
7    __private: c_void
8}
9
10pub type CFUUIDRef = *const __CFUUID;
11
12#[repr(C)]
13#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
14pub struct CFUUIDBytes {
15    byte0: UInt8,
16    byte1: UInt8,
17    byte2: UInt8,
18    byte3: UInt8,
19    byte4: UInt8,
20    byte5: UInt8,
21    byte6: UInt8,
22    byte7: UInt8,
23    byte8: UInt8,
24    byte9: UInt8,
25    byte10: UInt8,
26    byte11: UInt8,
27    byte12: UInt8,
28    byte13: UInt8,
29    byte14: UInt8,
30    byte15: UInt8
31}
32
33extern "C" {
34    pub fn CFUUIDGetTypeID() -> CFTypeID;
35
36    pub fn CFUUIDCreate(alloc: CFAllocatorRef) -> CFUUIDRef;
37    pub fn CFUUIDCreateWithBytes(alloc: CFAllocatorRef, byte0: UInt8, byte1: UInt8, byte2: UInt8, byte3: UInt8,
38                                 byte4: UInt8, byte5: UInt8, byte6: UInt8, byte7: UInt8, byte8: UInt8, byte9: UInt8,
39                                 byte10: UInt8, byte11: UInt8, byte12: UInt8, byte13: UInt8, byte14: UInt8, byte15: UInt8)
40                                 -> CFUUIDRef;
41    pub fn CFUUIDCreateFromString(alloc: CFAllocatorRef, uuidStr: CFStringRef) -> CFUUIDRef;
42    pub fn CFUUIDCreateString(alloc: CFAllocatorRef, uuid: CFUUIDRef) -> CFStringRef;
43    pub fn CFUUIDGetConstantUUIDWithBytes(alloc: CFAllocatorRef, byte0: UInt8, byte1: UInt8, byte2: UInt8, byte3: UInt8,
44                                          byte4: UInt8, byte5: UInt8, byte6: UInt8, byte7: UInt8, byte8: UInt8, byte9: UInt8,
45                                          byte10: UInt8, byte11: UInt8, byte12: UInt8, byte13: UInt8, byte14: UInt8,
46                                          byte15: UInt8) -> CFUUIDRef;
47    pub fn CFUUIDGetUUIDBytes(uuid: CFUUIDRef) -> CFUUIDBytes;
48    pub fn CFUUIDCreateFromUUIDBytes(alloc: CFAllocatorRef, bytes: CFUUIDBytes) -> CFUUIDRef;
49}