/* automatically generated by rust-bindgen 0.66.1 */ // Generated using: // bindgen 0.66.1 // macOS SDK 13.3. use core::ffi::c_void; use core_foundation_sys::array::CFArrayRef; use core_foundation_sys::base::{Boolean, CFAllocatorRef, CFIndex, CFTypeID}; use core_foundation_sys::dictionary::CFDictionaryRef; use core_foundation_sys::runloop::CFRunLoopRef; use core_foundation_sys::string::CFStringRef; use crate::dispatch_queue_t; use crate::preferences::SCPreferencesRef; use libc::{sockaddr, socklen_t}; pub type __SCNetworkConnection = c_void; pub type __SCNetworkInterface = c_void; pub type __SCBondStatus = c_void; pub type __SCNetworkProtocol = c_void; pub type __SCNetworkService = c_void; pub type __SCNetworkSet = c_void; pub type SCNetworkConnectionFlags = u32; extern "C" { pub fn SCNetworkCheckReachabilityByAddress( address: *const sockaddr, addrlen: socklen_t, flags: *mut SCNetworkConnectionFlags, ) -> Boolean; pub fn SCNetworkCheckReachabilityByName( nodename: *const ::core::ffi::c_char, flags: *mut SCNetworkConnectionFlags, ) -> Boolean; pub fn SCNetworkInterfaceRefreshConfiguration(ifName: CFStringRef) -> Boolean; } pub type SCNetworkConnectionRef = *const __SCNetworkConnection; #[repr(C)] pub struct SCNetworkConnectionContext { pub version: CFIndex, pub info: *mut ::core::ffi::c_void, pub retain: Option< unsafe extern "C" fn(info: *const ::core::ffi::c_void) -> *const ::core::ffi::c_void, >, pub release: Option, pub copyDescription: Option CFStringRef>, } pub type SCNetworkConnectionStatus = i32; pub type SCNetworkConnectionCallBack = Option< unsafe extern "C" fn( connection: SCNetworkConnectionRef, status: SCNetworkConnectionStatus, info: *mut ::core::ffi::c_void, ), >; extern "C" { pub fn SCNetworkConnectionGetTypeID() -> CFTypeID; pub fn SCNetworkConnectionCopyUserPreferences( selectionOptions: CFDictionaryRef, serviceID: *mut CFStringRef, userOptions: *mut CFDictionaryRef, ) -> Boolean; pub fn SCNetworkConnectionCreateWithServiceID( allocator: CFAllocatorRef, serviceID: CFStringRef, callout: SCNetworkConnectionCallBack, context: *mut SCNetworkConnectionContext, ) -> SCNetworkConnectionRef; pub fn SCNetworkConnectionCopyServiceID(connection: SCNetworkConnectionRef) -> CFStringRef; pub fn SCNetworkConnectionGetStatus( connection: SCNetworkConnectionRef, ) -> SCNetworkConnectionStatus; pub fn SCNetworkConnectionCopyExtendedStatus( connection: SCNetworkConnectionRef, ) -> CFDictionaryRef; pub fn SCNetworkConnectionCopyStatistics(connection: SCNetworkConnectionRef) -> CFDictionaryRef; pub fn SCNetworkConnectionStart( connection: SCNetworkConnectionRef, userOptions: CFDictionaryRef, linger: Boolean, ) -> Boolean; pub fn SCNetworkConnectionStop( connection: SCNetworkConnectionRef, forceDisconnect: Boolean, ) -> Boolean; pub fn SCNetworkConnectionCopyUserOptions( connection: SCNetworkConnectionRef, ) -> CFDictionaryRef; pub fn SCNetworkConnectionScheduleWithRunLoop( connection: SCNetworkConnectionRef, runLoop: CFRunLoopRef, runLoopMode: CFStringRef, ) -> Boolean; pub fn SCNetworkConnectionUnscheduleFromRunLoop( connection: SCNetworkConnectionRef, runLoop: CFRunLoopRef, runLoopMode: CFStringRef, ) -> Boolean; pub fn SCNetworkConnectionSetDispatchQueue( connection: SCNetworkConnectionRef, queue: dispatch_queue_t, ) -> Boolean; } pub type SCNetworkInterfaceRef = *const __SCNetworkInterface; extern "C" { pub static kSCNetworkInterfaceType6to4: CFStringRef; pub static kSCNetworkInterfaceTypeBluetooth: CFStringRef; pub static kSCNetworkInterfaceTypeBond: CFStringRef; pub static kSCNetworkInterfaceTypeEthernet: CFStringRef; pub static kSCNetworkInterfaceTypeFireWire: CFStringRef; pub static kSCNetworkInterfaceTypeIEEE80211: CFStringRef; pub static kSCNetworkInterfaceTypeIPSec: CFStringRef; pub static kSCNetworkInterfaceTypeIrDA: CFStringRef; pub static kSCNetworkInterfaceTypeL2TP: CFStringRef; pub static kSCNetworkInterfaceTypeModem: CFStringRef; pub static kSCNetworkInterfaceTypePPP: CFStringRef; pub static kSCNetworkInterfaceTypePPTP: CFStringRef; pub static kSCNetworkInterfaceTypeSerial: CFStringRef; pub static kSCNetworkInterfaceTypeVLAN: CFStringRef; pub static kSCNetworkInterfaceTypeWWAN: CFStringRef; pub static kSCNetworkInterfaceTypeIPv4: CFStringRef; pub static kSCNetworkInterfaceIPv4: SCNetworkInterfaceRef; } pub type SCBondInterfaceRef = SCNetworkInterfaceRef; pub type SCBondStatusRef = *const __SCBondStatus; pub const kSCBondStatusOK: _bindgen_ty_286 = 0; pub const kSCBondStatusLinkInvalid: _bindgen_ty_286 = 1; pub const kSCBondStatusNoPartner: _bindgen_ty_286 = 2; pub const kSCBondStatusNotInActiveGroup: _bindgen_ty_286 = 3; pub const kSCBondStatusUnknown: _bindgen_ty_286 = 999; pub type _bindgen_ty_286 = ::core::ffi::c_uint; extern "C" { pub static kSCBondStatusDeviceAggregationStatus: CFStringRef; pub static kSCBondStatusDeviceCollecting: CFStringRef; pub static kSCBondStatusDeviceDistributing: CFStringRef; } pub type SCNetworkProtocolRef = *const __SCNetworkProtocol; pub type SCNetworkServiceRef = *const __SCNetworkService; pub type SCNetworkSetRef = *const __SCNetworkSet; extern "C" { pub fn SCNetworkInterfaceGetTypeID() -> CFTypeID; pub fn SCNetworkInterfaceCopyAll() -> CFArrayRef; pub fn SCNetworkInterfaceGetSupportedInterfaceTypes( interface: SCNetworkInterfaceRef, ) -> CFArrayRef; pub fn SCNetworkInterfaceGetSupportedProtocolTypes( interface: SCNetworkInterfaceRef, ) -> CFArrayRef; pub fn SCNetworkInterfaceCreateWithInterface( interface: SCNetworkInterfaceRef, interfaceType: CFStringRef, ) -> SCNetworkInterfaceRef; pub fn SCNetworkInterfaceGetBSDName(interface: SCNetworkInterfaceRef) -> CFStringRef; pub fn SCNetworkInterfaceGetConfiguration(interface: SCNetworkInterfaceRef) -> CFDictionaryRef; pub fn SCNetworkInterfaceGetExtendedConfiguration( interface: SCNetworkInterfaceRef, extendedType: CFStringRef, ) -> CFDictionaryRef; pub fn SCNetworkInterfaceGetHardwareAddressString( interface: SCNetworkInterfaceRef, ) -> CFStringRef; pub fn SCNetworkInterfaceGetInterface( interface: SCNetworkInterfaceRef, ) -> SCNetworkInterfaceRef; pub fn SCNetworkInterfaceGetInterfaceType(interface: SCNetworkInterfaceRef) -> CFStringRef; pub fn SCNetworkInterfaceGetLocalizedDisplayName( interface: SCNetworkInterfaceRef, ) -> CFStringRef; pub fn SCNetworkInterfaceSetConfiguration( interface: SCNetworkInterfaceRef, config: CFDictionaryRef, ) -> Boolean; pub fn SCNetworkInterfaceSetExtendedConfiguration( interface: SCNetworkInterfaceRef, extendedType: CFStringRef, config: CFDictionaryRef, ) -> Boolean; pub fn SCNetworkInterfaceCopyMediaOptions( interface: SCNetworkInterfaceRef, current: *mut CFDictionaryRef, active: *mut CFDictionaryRef, available: *mut CFArrayRef, filter: Boolean, ) -> Boolean; pub fn SCNetworkInterfaceCopyMediaSubTypes(available: CFArrayRef) -> CFArrayRef; pub fn SCNetworkInterfaceCopyMediaSubTypeOptions( available: CFArrayRef, subType: CFStringRef, ) -> CFArrayRef; pub fn SCNetworkInterfaceCopyMTU( interface: SCNetworkInterfaceRef, mtu_cur: *mut ::core::ffi::c_int, mtu_min: *mut ::core::ffi::c_int, mtu_max: *mut ::core::ffi::c_int, ) -> Boolean; pub fn SCNetworkInterfaceSetMediaOptions( interface: SCNetworkInterfaceRef, subtype: CFStringRef, options: CFArrayRef, ) -> Boolean; pub fn SCNetworkInterfaceSetMTU( interface: SCNetworkInterfaceRef, mtu: ::core::ffi::c_int, ) -> Boolean; pub fn SCNetworkInterfaceForceConfigurationRefresh(interface: SCNetworkInterfaceRef) -> Boolean; pub fn SCBondInterfaceCopyAll(prefs: SCPreferencesRef) -> CFArrayRef; pub fn SCBondInterfaceCopyAvailableMemberInterfaces(prefs: SCPreferencesRef) -> CFArrayRef; pub fn SCBondInterfaceCreate(prefs: SCPreferencesRef) -> SCBondInterfaceRef; pub fn SCBondInterfaceRemove(bond: SCBondInterfaceRef) -> Boolean; pub fn SCBondInterfaceGetMemberInterfaces(bond: SCBondInterfaceRef) -> CFArrayRef; pub fn SCBondInterfaceGetOptions(bond: SCBondInterfaceRef) -> CFDictionaryRef; pub fn SCBondInterfaceSetMemberInterfaces( bond: SCBondInterfaceRef, members: CFArrayRef, ) -> Boolean; pub fn SCBondInterfaceSetLocalizedDisplayName( bond: SCBondInterfaceRef, newName: CFStringRef, ) -> Boolean; pub fn SCBondInterfaceSetOptions( bond: SCBondInterfaceRef, newOptions: CFDictionaryRef, ) -> Boolean; pub fn SCBondInterfaceCopyStatus(bond: SCBondInterfaceRef) -> SCBondStatusRef; pub fn SCNetworkProtocolGetTypeID() -> CFTypeID; pub fn SCNetworkProtocolGetConfiguration(protocol: SCNetworkProtocolRef) -> CFDictionaryRef; pub fn SCNetworkProtocolGetEnabled(protocol: SCNetworkProtocolRef) -> Boolean; pub fn SCNetworkProtocolGetProtocolType(protocol: SCNetworkProtocolRef) -> CFStringRef; pub fn SCNetworkProtocolSetConfiguration( protocol: SCNetworkProtocolRef, config: CFDictionaryRef, ) -> Boolean; pub fn SCNetworkProtocolSetEnabled(protocol: SCNetworkProtocolRef, enabled: Boolean) -> Boolean; pub fn SCNetworkServiceGetTypeID() -> CFTypeID; pub fn SCNetworkServiceAddProtocolType( service: SCNetworkServiceRef, protocolType: CFStringRef, ) -> Boolean; pub fn SCNetworkServiceCopyAll(prefs: SCPreferencesRef) -> CFArrayRef; pub fn SCNetworkServiceCopyProtocols(service: SCNetworkServiceRef) -> CFArrayRef; pub fn SCNetworkServiceCreate( prefs: SCPreferencesRef, interface: SCNetworkInterfaceRef, ) -> SCNetworkServiceRef; pub fn SCNetworkServiceCopy( prefs: SCPreferencesRef, serviceID: CFStringRef, ) -> SCNetworkServiceRef; pub fn SCNetworkServiceEstablishDefaultConfiguration(service: SCNetworkServiceRef) -> Boolean; pub fn SCNetworkServiceGetEnabled(service: SCNetworkServiceRef) -> Boolean; pub fn SCNetworkServiceGetInterface(service: SCNetworkServiceRef) -> SCNetworkInterfaceRef; pub fn SCNetworkServiceGetName(service: SCNetworkServiceRef) -> CFStringRef; pub fn SCNetworkServiceCopyProtocol( service: SCNetworkServiceRef, protocolType: CFStringRef, ) -> SCNetworkProtocolRef; pub fn SCNetworkServiceGetServiceID(service: SCNetworkServiceRef) -> CFStringRef; pub fn SCNetworkServiceRemove(service: SCNetworkServiceRef) -> Boolean; pub fn SCNetworkServiceRemoveProtocolType( service: SCNetworkServiceRef, protocolType: CFStringRef, ) -> Boolean; pub fn SCNetworkServiceSetEnabled(service: SCNetworkServiceRef, enabled: Boolean) -> Boolean; pub fn SCNetworkServiceSetName(service: SCNetworkServiceRef, name: CFStringRef) -> Boolean; pub fn SCNetworkSetGetTypeID() -> CFTypeID; pub fn SCNetworkSetAddService(set: SCNetworkSetRef, service: SCNetworkServiceRef) -> Boolean; pub fn SCNetworkSetContainsInterface( set: SCNetworkSetRef, interface: SCNetworkInterfaceRef, ) -> Boolean; pub fn SCNetworkSetCopyAll(prefs: SCPreferencesRef) -> CFArrayRef; pub fn SCNetworkSetCopyCurrent(prefs: SCPreferencesRef) -> SCNetworkSetRef; pub fn SCNetworkSetCopyServices(set: SCNetworkSetRef) -> CFArrayRef; pub fn SCNetworkSetCreate(prefs: SCPreferencesRef) -> SCNetworkSetRef; pub fn SCNetworkSetCopy(prefs: SCPreferencesRef, setID: CFStringRef) -> SCNetworkSetRef; pub fn SCNetworkSetGetName(set: SCNetworkSetRef) -> CFStringRef; pub fn SCNetworkSetGetSetID(set: SCNetworkSetRef) -> CFStringRef; pub fn SCNetworkSetGetServiceOrder(set: SCNetworkSetRef) -> CFArrayRef; pub fn SCNetworkSetRemove(set: SCNetworkSetRef) -> Boolean; pub fn SCNetworkSetRemoveService(set: SCNetworkSetRef, service: SCNetworkServiceRef) -> Boolean; pub fn SCNetworkSetSetCurrent(set: SCNetworkSetRef) -> Boolean; pub fn SCNetworkSetSetName(set: SCNetworkSetRef, name: CFStringRef) -> Boolean; pub fn SCNetworkSetSetServiceOrder(set: SCNetworkSetRef, newOrder: CFArrayRef) -> Boolean; }