iobluetooth

package
v0.6.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package iobluetooth provides Go bindings for the IOBluetooth framework.

Gain user-space access to Bluetooth devices.

The Bluetooth framework supports user-space access to Bluetooth devices, including both C and Objective-C APIs.

Classes

Protocols

Key Types

Code generated from Apple documentation. DO NOT EDIT.

Index

Constants

View Source
const KBluetoothDeviceNameMaxLength uint32 = 248
View Source
const KBluetoothHCIErrorPowerIsOFF uint32 = 65
View Source
const KBluetoothL2CAPInfoTypeMaxConnectionlessMTUSize uint32 = 0x1
View Source
const KBluetoothL2CAPPacketHeaderSize uint32 = 4
View Source
const KBluetoothVoiceSettingPCMBitPositionMask uint32 = 0x1c
View Source
const KMaximumNumberOfInquiryAccessCodes uint32 = 0x40

Variables

View Source
var (
	// IOBluetoothHandsFreeCallDirection is a value that indicates whether a call is incoming or outgoing.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCallDirection
	IOBluetoothHandsFreeCallDirection string
	// IOBluetoothHandsFreeCallIndex is the index of the call, starting with `1`.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCallIndex
	IOBluetoothHandsFreeCallIndex string
	// IOBluetoothHandsFreeCallMode is the type of call data.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCallMode
	IOBluetoothHandsFreeCallMode string
	// IOBluetoothHandsFreeCallMultiparty is a value that indicates whether the call is multiple-party.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCallMultiparty
	IOBluetoothHandsFreeCallMultiparty string
	// IOBluetoothHandsFreeCallName is the name of the caller.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCallName
	IOBluetoothHandsFreeCallName string
	// IOBluetoothHandsFreeCallNumber is the caller’s phone number.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCallNumber
	IOBluetoothHandsFreeCallNumber string
	// IOBluetoothHandsFreeCallStatus is the current state of the call.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCallStatus
	IOBluetoothHandsFreeCallStatus string
	// IOBluetoothHandsFreeCallType is the format of the caller’s phone number.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCallType
	IOBluetoothHandsFreeCallType string
	// IOBluetoothHandsFreeIndicatorBattChg is the command string you use to show a battery charge level indicator on a phone.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeIndicatorBattChg
	IOBluetoothHandsFreeIndicatorBattChg string
	// IOBluetoothHandsFreeIndicatorCall is the command string you use to show an active call indicator on a phone.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeIndicatorCall
	IOBluetoothHandsFreeIndicatorCall string
	// IOBluetoothHandsFreeIndicatorCallHeld is the command string you use to show a call hold status indicator on a phone.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeIndicatorCallHeld
	IOBluetoothHandsFreeIndicatorCallHeld string
	// IOBluetoothHandsFreeIndicatorCallSetup is the command string you use to show a call setup status indicator on a phone.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeIndicatorCallSetup
	IOBluetoothHandsFreeIndicatorCallSetup string
	// IOBluetoothHandsFreeIndicatorRoam is the command string you use to show a roaming status indicator on a phone.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeIndicatorRoam
	IOBluetoothHandsFreeIndicatorRoam string
	// IOBluetoothHandsFreeIndicatorService is the command string you use to show a carrier network connection indicator on a phone.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeIndicatorService
	IOBluetoothHandsFreeIndicatorService string
	// IOBluetoothHandsFreeIndicatorSignal is the command string you use to show a signal strength indicator on a phone.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeIndicatorSignal
	IOBluetoothHandsFreeIndicatorSignal string
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostControllerPoweredOffNotification
	IOBluetoothHostControllerPoweredOffNotification string
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostControllerPoweredOnNotification
	IOBluetoothHostControllerPoweredOnNotification string
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannelPublishedNotification
	IOBluetoothL2CAPChannelPublishedNotification string
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannelTerminatedNotification
	IOBluetoothL2CAPChannelTerminatedNotification string
	// IOBluetoothPDUEncoding is the encoding for the text message.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPDUEncoding
	IOBluetoothPDUEncoding string
	// IOBluetoothPDUOriginatingAddress is the phone number for the sender of the text message.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPDUOriginatingAddress
	IOBluetoothPDUOriginatingAddress string
	// IOBluetoothPDUOriginatingAddressType is the format of the phone number for the sender of the text message.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPDUOriginatingAddressType
	IOBluetoothPDUOriginatingAddressType string
	// IOBluetoothPDUProtocolID is the protocol of the text message content.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPDUProtocolID
	IOBluetoothPDUProtocolID string
	// IOBluetoothPDUServicCenterAddress is the phone number for the service center that stored and then delivered the message.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPDUServicCenterAddress
	IOBluetoothPDUServicCenterAddress string
	// IOBluetoothPDUServiceCenterAddressType is the format of the phone number for the service center.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPDUServiceCenterAddressType
	IOBluetoothPDUServiceCenterAddressType string
	// IOBluetoothPDUTimestamp is the time the text message was sent.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPDUTimestamp
	IOBluetoothPDUTimestamp string
	// IOBluetoothPDUType is the GSM type of the text message.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPDUType
	IOBluetoothPDUType string
	// IOBluetoothPDUUserData is the content of the text message.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPDUUserData
	IOBluetoothPDUUserData string
)
View Source
var (
	// KFTSListingNameKey is nSString value. This key is used with the array of NSDictionary’s returned through the delegate method fileTransferServicesGetListingComplete: after calling getFolderListing.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSListingNameKey
	KFTSListingNameKey string
	// KFTSListingSizeKey is int value. This key is used with the array of NSDictionary’s returned through the delegate method fileTransferServicesGetListingComplete: after calling getFolderListing.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSListingSizeKey
	KFTSListingSizeKey string
	// KFTSListingTypeKey is fTSFileType value. This key is used with the array of NSDictionary’s returned through the delegate method fileTransferServicesGetListingComplete: after calling getFolderListing.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSListingTypeKey
	KFTSListingTypeKey string
	// KFTSProgressBytesTotalKey is nSNumber integer value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress: and fileTransferServicesGetProgress: delegate methods.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSProgressBytesTotalKey
	KFTSProgressBytesTotalKey string
	// KFTSProgressBytesTransferredKey is nSNumber integer value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress: and fileTransferServicesGetProgress: delegate methods.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSProgressBytesTransferredKey
	KFTSProgressBytesTransferredKey string
	// KFTSProgressEstimatedTimeKey is nSNumber double value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress: and fileTransferServicesGetProgress: delegate methods.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSProgressEstimatedTimeKey
	KFTSProgressEstimatedTimeKey string
	// KFTSProgressPercentageKey is nSNumber float value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress: and fileTransferServicesGetProgress: delegate methods.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSProgressPercentageKey
	KFTSProgressPercentageKey string
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSProgressPrecentageKey
	KFTSProgressPrecentageKey string
	// KFTSProgressTimeElapsedKey is nSNumber int value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress: and fileTransferServicesGetProgress: delegate methods.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSProgressTimeElapsedKey
	KFTSProgressTimeElapsedKey string
	// KFTSProgressTransferRateKey is nSNumber float value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress: and fileTransferServicesGetProgress: delegate methods.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/kFTSProgressTransferRateKey
	KFTSProgressTransferRateKey string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyAppParameters
	KOBEXHeaderIDKeyAppParameters string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyAuthorizationChallenge
	KOBEXHeaderIDKeyAuthorizationChallenge string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyAuthorizationResponse
	KOBEXHeaderIDKeyAuthorizationResponse string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyBody
	KOBEXHeaderIDKeyBody string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyByteSequence
	KOBEXHeaderIDKeyByteSequence string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyConnectionID
	KOBEXHeaderIDKeyConnectionID string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyCount
	KOBEXHeaderIDKeyCount string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyDescription
	KOBEXHeaderIDKeyDescription string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyEndOfBody
	KOBEXHeaderIDKeyEndOfBody string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyHTTP
	KOBEXHeaderIDKeyHTTP string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyLength
	KOBEXHeaderIDKeyLength string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyName
	KOBEXHeaderIDKeyName string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyObjectClass
	KOBEXHeaderIDKeyObjectClass string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyTarget
	KOBEXHeaderIDKeyTarget string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyTime4Byte
	KOBEXHeaderIDKeyTime4Byte string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyTimeISO
	KOBEXHeaderIDKeyTimeISO string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyType
	KOBEXHeaderIDKeyType string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyUnknown1ByteQuantity
	KOBEXHeaderIDKeyUnknown1ByteQuantity string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyUnknown4ByteQuantity
	KOBEXHeaderIDKeyUnknown4ByteQuantity string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyUnknownByteSequence
	KOBEXHeaderIDKeyUnknownByteSequence string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyUnknownUnicodeText
	KOBEXHeaderIDKeyUnknownUnicodeText string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyUserDefined
	KOBEXHeaderIDKeyUserDefined string
	// See: https://developer.apple.com/documentation/IOBluetooth/kOBEXHeaderIDKeyWho
	KOBEXHeaderIDKeyWho string
)

Functions

func IOBluetoothAddSCOAudioDevice deprecated

func IOBluetoothAddSCOAudioDevice(device IOBluetoothDeviceRef, configDict corefoundation.CFDictionaryRef) int32

IOBluetoothAddSCOAudioDevice creates a persistent audio driver that will route audio data to/from the specified device.

Deprecated: Deprecated since macOS 10.9.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothAddSCOAudioDevice

func IOBluetoothFindNumberOfRegistryEntriesOfClassName

func IOBluetoothFindNumberOfRegistryEntriesOfClassName(deviceType string) int

IOBluetoothFindNumberOfRegistryEntriesOfClassName the number of registry entries with a device classname.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothFindNumberOfRegistryEntriesOfClassName(_:)

func IOBluetoothIgnoreHIDDevice

func IOBluetoothIgnoreHIDDevice(device IOBluetoothDeviceRef)

IOBluetoothIgnoreHIDDevice hints that the macOS Bluetooth software should ignore a HID device that connects up.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothIgnoreHIDDevice(_:)

func IOBluetoothIsFileAppleDesignatedPIMData

func IOBluetoothIsFileAppleDesignatedPIMData(inFileName *foundation.NSString) bool

IOBluetoothIsFileAppleDesignatedPIMData apple designated PIM data is classified as: .vcard, .vcal, .vcf, .vnote, .vmsg, .vcs

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothIsFileAppleDesignatedPIMData(_:)

func IOBluetoothNSStringFromDeviceAddress

func IOBluetoothNSStringFromDeviceAddress(deviceAddress *BluetoothDeviceAddress) *foundation.NSString

IOBluetoothNSStringFromDeviceAddress convenience routine to take a device address structure and create an NSString.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothNSStringFromDeviceAddress(_:)

func IOBluetoothNSStringFromDeviceAddressColon

func IOBluetoothNSStringFromDeviceAddressColon(deviceAddress *BluetoothDeviceAddress) *foundation.NSString

IOBluetoothNSStringFromDeviceAddressColon.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothNSStringFromDeviceAddressColon(_:)

func IOBluetoothNSStringToDeviceAddress

func IOBluetoothNSStringToDeviceAddress(inNameString *foundation.NSString, outDeviceAddress *BluetoothDeviceAddress) int32

IOBluetoothNSStringToDeviceAddress convenience routine to take an NSString and turn it into a BluetoothDeviceAddress structure.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothNSStringToDeviceAddress(_:_:)

func IOBluetoothNumberOfAvailableHIDDevices

func IOBluetoothNumberOfAvailableHIDDevices() int

IOBluetoothNumberOfAvailableHIDDevices returns total number of HID devices on the system (Bluetooth + USB)

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothNumberOfAvailableHIDDevices()

func IOBluetoothNumberOfKeyboardHIDDevices

func IOBluetoothNumberOfKeyboardHIDDevices() int

IOBluetoothNumberOfKeyboardHIDDevices returns number of keyboard HID devices on the system (Bluetooth + USB)

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothNumberOfKeyboardHIDDevices()

func IOBluetoothNumberOfPointingHIDDevices

func IOBluetoothNumberOfPointingHIDDevices() int

IOBluetoothNumberOfPointingHIDDevices returns number of “pointing” HID devices on the system (Bluetooth + USB)

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothNumberOfPointingHIDDevices()

func IOBluetoothNumberOfTabletHIDDevices

func IOBluetoothNumberOfTabletHIDDevices() int

IOBluetoothNumberOfTabletHIDDevices returns number of “Tablet” HID devices on the system (Bluetooth + USB)

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothNumberOfTabletHIDDevices()

func IOBluetoothPackData

func IOBluetoothPackData(ioBuffer unsafe.Pointer, inFormat string) int

IOBluetoothPackData packs a variable amount of parameters into a buffer according to a printf-style format string.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPackData

func IOBluetoothPackDataList

func IOBluetoothPackDataList(ioBuffer unsafe.Pointer, inFormat string, inArgs kernel.Va_list) int

IOBluetoothPackDataList.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothPackDataList(_:_:_:)

func IOBluetoothRemoveIgnoredHIDDevice

func IOBluetoothRemoveIgnoredHIDDevice(device IOBluetoothDeviceRef)

IOBluetoothRemoveIgnoredHIDDevice the counterpart to the above IOBluetoothIgnoreHIDDevice() API.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRemoveIgnoredHIDDevice(_:)

func IOBluetoothRemoveSCOAudioDevice deprecated

func IOBluetoothRemoveSCOAudioDevice(device IOBluetoothDeviceRef) int32

IOBluetoothRemoveSCOAudioDevice removes a persistent audio driver for a device that had already been added using IOBluetoothAddAudioDevice().

Deprecated: Deprecated since macOS 10.9.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRemoveSCOAudioDevice

func IOBluetoothUnpackData

func IOBluetoothUnpackData(inBufferSize uint, inBuffer unsafe.Pointer, inFormat *byte) int

IOBluetoothUnpackData unpacks a variable amount of data from a buffer into a variable number of parameters according to a printf-style format string.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothUnpackData

func IOBluetoothUnpackDataList

func IOBluetoothUnpackDataList(inBufferSize uint, inBuffer unsafe.Pointer, inFormat *byte, inArgs kernel.Va_list) int

IOBluetoothUnpackDataList.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothUnpackDataList(_:_:_:_:)

func IOBluetoothUserNotificationUnregister

func IOBluetoothUserNotificationUnregister(notificationRef IOBluetoothUserNotificationRef)

IOBluetoothUserNotificationUnregister unregisters the target notification.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothUserNotificationUnregister(_:)

func OBEXCreateVCard deprecated

func OBEXCreateVCard(inFirstName unsafe.Pointer, inFirstNameLength uint32, inLastName unsafe.Pointer, inLastNameLength uint32, inFriendlyName unsafe.Pointer, inFriendlyNameLength uint32, inNameCharset unsafe.Pointer, inNameCharsetLength uint32, inHomePhone unsafe.Pointer, inHomePhoneLength uint32, inWorkPhone unsafe.Pointer, inWorkPhoneLength uint32, inCellPhone unsafe.Pointer, inCellPhoneLength uint32, inFaxPhone unsafe.Pointer, inFaxPhoneLength uint32, inEMailAddress unsafe.Pointer, inEMailAddressLength uint32, inEMailAddressCharset unsafe.Pointer, inEMailAddressCharsetLength uint32, inOrganization unsafe.Pointer, inOrganizationLength uint32, inOrganizationCharset unsafe.Pointer, inOrganizationCharsetLength uint32, inTitle unsafe.Pointer, inTitleLength uint32, inTitleCharset unsafe.Pointer, inTitleCharsetLength uint32) corefoundation.CFDataRef

OBEXCreateVCard creates a formatted vCard, ready to be sent over OBEX or whatever.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXCreateVCard

func OBEXCreateVEvent deprecated

func OBEXCreateVEvent(inCharset string, inCharsetLength uint32, inEncoding string, inEncodingLength uint32, inEventStartDate string, inEventStartDateLength uint32, inEventEndDate string, inEventEndDateLength uint32, inAlarmDate string, inAlarmDateLength uint32, inCategory string, inCategoryLength uint32, inSummary string, inSummaryLength uint32, inLocation string, inLocationLength uint32, inXIRMCLUID string, inXIRMCLUIDLength uint32) corefoundation.CFDataRef

OBEXCreateVEvent creates a formatted vEvent, ready to be sent over OBEX or whatever.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXCreateVEvent

func OBEXGetHeaders

func OBEXGetHeaders(inData unsafe.Pointer, inDataSize uintptr) corefoundation.CFDictionaryRef

OBEXGetHeaders take a data blob and looks for OBEX headers.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXGetHeaders(_:_:)

func OBEXHeadersToBytes

func OBEXHeadersToBytes(dictionaryOfHeaders corefoundation.CFDictionaryRef) corefoundation.CFMutableDataRef

OBEXHeadersToBytes converts a dictionary of headers to a data pointer, from which you can extract as bytes and pass to the OBEX command/response functions.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXHeadersToBytes(_:)

Types

type BluetoothAFHHostChannelClassification

type BluetoothAFHHostChannelClassification struct {
	Data [10]uint8
}

BluetoothAFHHostChannelClassification

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothAFHHostChannelClassification

type BluetoothAFHResults

type BluetoothAFHResults struct {
	Handle kernel.BluetoothConnectionHandle
	Mode   kernel.BluetoothAFHMode
	AfhMap [10]uint8
}

BluetoothAFHResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothAFHResults

type BluetoothAMPCommandRejectReason

type BluetoothAMPCommandRejectReason uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothAMPCommandRejectReason

const (
	KBluetoothAMPManagerCommandRejectReasonCommandNotRecognized BluetoothAMPCommandRejectReason = 0
)

func (BluetoothAMPCommandRejectReason) String

type BluetoothAMPCreatePhysicalLinkResponseStatus

type BluetoothAMPCreatePhysicalLinkResponseStatus uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothAMPCreatePhysicalLinkResponseStatus

const (
	KBluetoothAMPManagerCreatePhysicalLinkResponseAMPDisconnectedPhysicalLinkRequestReceived BluetoothAMPCreatePhysicalLinkResponseStatus = 0x4
	KBluetoothAMPManagerCreatePhysicalLinkResponseCollisionOccurred                          BluetoothAMPCreatePhysicalLinkResponseStatus = 0x3
	KBluetoothAMPManagerCreatePhysicalLinkResponseInvalidControllerID                        BluetoothAMPCreatePhysicalLinkResponseStatus = 0x1
	KBluetoothAMPManagerCreatePhysicalLinkResponsePhysicalLinkAlreadyExists                  BluetoothAMPCreatePhysicalLinkResponseStatus = 0x5
	KBluetoothAMPManagerCreatePhysicalLinkResponseSecurityViolation                          BluetoothAMPCreatePhysicalLinkResponseStatus = 0x6
	KBluetoothAMPManagerCreatePhysicalLinkResponseSuccess                                    BluetoothAMPCreatePhysicalLinkResponseStatus = 0
	KBluetoothAMPManagerCreatePhysicalLinkResponseUnableToStartLinkCreation                  BluetoothAMPCreatePhysicalLinkResponseStatus = 0x2
)

func (BluetoothAMPCreatePhysicalLinkResponseStatus) String

type BluetoothAMPDisconnectPhysicalLinkResponseStatus

type BluetoothAMPDisconnectPhysicalLinkResponseStatus uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothAMPDisconnectPhysicalLinkResponseStatus

const (
	KBluetoothAMPManagerDisconnectPhysicalLinkResponseInvalidControllerID BluetoothAMPDisconnectPhysicalLinkResponseStatus = 0x1
	KBluetoothAMPManagerDisconnectPhysicalLinkResponseNoPhysicalLink      BluetoothAMPDisconnectPhysicalLinkResponseStatus = 0x2
	KBluetoothAMPManagerDisconnectPhysicalLinkResponseSuccess             BluetoothAMPDisconnectPhysicalLinkResponseStatus = 0
)

func (BluetoothAMPDisconnectPhysicalLinkResponseStatus) String

type BluetoothAMPDiscoverResponseControllerStatus

type BluetoothAMPDiscoverResponseControllerStatus uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothAMPDiscoverResponseControllerStatus

const (
	KBluetoothAMPManagerDiscoverResponseControllerStatusBluetoothOnly  BluetoothAMPDiscoverResponseControllerStatus = 0x1
	KBluetoothAMPManagerDiscoverResponseControllerStatusFullCapacity   BluetoothAMPDiscoverResponseControllerStatus = 0x6
	KBluetoothAMPManagerDiscoverResponseControllerStatusHighCapacity   BluetoothAMPDiscoverResponseControllerStatus = 0x5
	KBluetoothAMPManagerDiscoverResponseControllerStatusLowCapacity    BluetoothAMPDiscoverResponseControllerStatus = 0x3
	KBluetoothAMPManagerDiscoverResponseControllerStatusMediumCapacity BluetoothAMPDiscoverResponseControllerStatus = 0x4
	KBluetoothAMPManagerDiscoverResponseControllerStatusNoCapacity     BluetoothAMPDiscoverResponseControllerStatus = 0x2
	KBluetoothAMPManagerDiscoverResponseControllerStatusPoweredDown    BluetoothAMPDiscoverResponseControllerStatus = 0
)

func (BluetoothAMPDiscoverResponseControllerStatus) String

type BluetoothAMPGetAssocResponseStatus

type BluetoothAMPGetAssocResponseStatus uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothAMPGetAssocResponseStatus

const (
	KBluetoothAMPManagerGetAssocResponseInvalidControllerID BluetoothAMPGetAssocResponseStatus = 0x1
	KBluetoothAMPManagerGetAssocResponseSuccess             BluetoothAMPGetAssocResponseStatus = 0
)

func (BluetoothAMPGetAssocResponseStatus) String

type BluetoothAMPGetInfoResponseStatus

type BluetoothAMPGetInfoResponseStatus uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothAMPGetInfoResponseStatus

const (
	KBluetoothAMPManagerGetInfoResponseInvalidControllerID BluetoothAMPGetInfoResponseStatus = 0x1
	KBluetoothAMPManagerGetInfoResponseSuccess             BluetoothAMPGetInfoResponseStatus = 0
)

func (BluetoothAMPGetInfoResponseStatus) String

type BluetoothAMPManagerCode

type BluetoothAMPManagerCode uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothAMPManagerCode

const (
	KBluetoothAMPManagerCodeAMPChangeNotify                   BluetoothAMPManagerCode = 0x4
	KBluetoothAMPManagerCodeAMPChangeResponse                 BluetoothAMPManagerCode = 0x5
	KBluetoothAMPManagerCodeAMPCommandReject                  BluetoothAMPManagerCode = 0x1
	KBluetoothAMPManagerCodeAMPCreatePhysicalLinkRequest      BluetoothAMPManagerCode = 0xa
	KBluetoothAMPManagerCodeAMPCreatePhysicalLinkResponse     BluetoothAMPManagerCode = 0xb
	KBluetoothAMPManagerCodeAMPDisconnectPhysicalLinkRequest  BluetoothAMPManagerCode = 0xc
	KBluetoothAMPManagerCodeAMPDisconnectPhysicalLinkResponse BluetoothAMPManagerCode = 0xd
	KBluetoothAMPManagerCodeAMPDiscoverRequest                BluetoothAMPManagerCode = 0x2
	KBluetoothAMPManagerCodeAMPDiscoverResponse               BluetoothAMPManagerCode = 0x3
	KBluetoothAMPManagerCodeAMPGetAssocRequest                BluetoothAMPManagerCode = 0x8
	KBluetoothAMPManagerCodeAMPGetAssocResponse               BluetoothAMPManagerCode = 0x9
	KBluetoothAMPManagerCodeAMPGetInfoRequest                 BluetoothAMPManagerCode = 0x6
	KBluetoothAMPManagerCodeAMPGetInfoResponse                BluetoothAMPManagerCode = 0x7
	KBluetoothAMPManagerCodeReserved                          BluetoothAMPManagerCode = 0
)

func (BluetoothAMPManagerCode) String

func (e BluetoothAMPManagerCode) String() string

type BluetoothAuthenticationRequirementsValues

type BluetoothAuthenticationRequirementsValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothAuthenticationRequirementsValues

const (
	KBluetoothAuthenticationRequirementsMITMProtectionNotRequired                 BluetoothAuthenticationRequirementsValues = 0
	KBluetoothAuthenticationRequirementsMITMProtectionNotRequiredDedicatedBonding BluetoothAuthenticationRequirementsValues = 0x2
	KBluetoothAuthenticationRequirementsMITMProtectionNotRequiredGeneralBonding   BluetoothAuthenticationRequirementsValues = 0x4
	KBluetoothAuthenticationRequirementsMITMProtectionNotRequiredNoBonding        BluetoothAuthenticationRequirementsValues = 0
	KBluetoothAuthenticationRequirementsMITMProtectionRequired                    BluetoothAuthenticationRequirementsValues = 0x1
	KBluetoothAuthenticationRequirementsMITMProtectionRequiredDedicatedBonding    BluetoothAuthenticationRequirementsValues = 0x3
	KBluetoothAuthenticationRequirementsMITMProtectionRequiredGeneralBonding      BluetoothAuthenticationRequirementsValues = 0x5
	KBluetoothAuthenticationRequirementsMITMProtectionRequiredNoBonding           BluetoothAuthenticationRequirementsValues = 0x1
)

func (BluetoothAuthenticationRequirementsValues) String

type BluetoothCompanyIdentifers

type BluetoothCompanyIdentifers uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothCompanyIdentifers

const (
	KBluetoothCompanyIdentifer3Com                                 BluetoothCompanyIdentifers = 5
	KBluetoothCompanyIdentifer3DSP                                 BluetoothCompanyIdentifers = 73
	KBluetoothCompanyIdentifer3DiJoy                               BluetoothCompanyIdentifers = 84
	KBluetoothCompanyIdentifer9SolutionsOy                         BluetoothCompanyIdentifers = 102
	KBluetoothCompanyIdentiferAAMPofAmerica                        BluetoothCompanyIdentifers = 190
	KBluetoothCompanyIdentiferAAndDEngineering                     BluetoothCompanyIdentifers = 105
	KBluetoothCompanyIdentiferAAndRCambridge                       BluetoothCompanyIdentifers = 124
	KBluetoothCompanyIdentiferACTSTechnologies                     BluetoothCompanyIdentifers = 232
	KBluetoothCompanyIdentiferAMICCOMElectronics                   BluetoothCompanyIdentifers = 192
	KBluetoothCompanyIdentiferAPT                                  BluetoothCompanyIdentifers = 79
	KBluetoothCompanyIdentiferARCHOS                               BluetoothCompanyIdentifers = 207
	KBluetoothCompanyIdentiferARPDevicesUnlimited                  BluetoothCompanyIdentifers = 168
	KBluetoothCompanyIdentiferAVMBerlin                            BluetoothCompanyIdentifers = 31
	KBluetoothCompanyIdentiferAboveAverageOutcomes                 BluetoothCompanyIdentifers = 238
	KBluetoothCompanyIdentiferAccelSemiconductor                   BluetoothCompanyIdentifers = 74
	KBluetoothCompanyIdentiferAceSensor                            BluetoothCompanyIdentifers = 188
	KBluetoothCompanyIdentiferAceUni                               BluetoothCompanyIdentifers = 248
	KBluetoothCompanyIdentiferAdidas                               BluetoothCompanyIdentifers = 195
	KBluetoothCompanyIdentiferAdvancedPANMOBILSystems              BluetoothCompanyIdentifers = 145
	KBluetoothCompanyIdentiferAirohaTechnology                     BluetoothCompanyIdentifers = 148
	KBluetoothCompanyIdentiferAlcatel                              BluetoothCompanyIdentifers = 36
	KBluetoothCompanyIdentiferAlpwise                              BluetoothCompanyIdentifers = 154
	KBluetoothCompanyIdentiferAplix                                BluetoothCompanyIdentifers = 189
	KBluetoothCompanyIdentiferApple                                BluetoothCompanyIdentifers = 76
	KBluetoothCompanyIdentiferAtherosCommunications                BluetoothCompanyIdentifers = 69
	KBluetoothCompanyIdentiferAtmel                                BluetoothCompanyIdentifers = 19
	KBluetoothCompanyIdentiferAustcoCommunicationsSystems          BluetoothCompanyIdentifers = 213
	KBluetoothCompanyIdentiferAutonetMobile                        BluetoothCompanyIdentifers = 127
	KBluetoothCompanyIdentiferAvagoTechnologies                    BluetoothCompanyIdentifers = 78
	KBluetoothCompanyIdentiferBDETechnology                        BluetoothCompanyIdentifers = 180
	KBluetoothCompanyIdentiferBandXIInternational                  BluetoothCompanyIdentifers = 100
	KBluetoothCompanyIdentiferBandspeed                            BluetoothCompanyIdentifers = 32
	KBluetoothCompanyIdentiferBangAndOlufson                       BluetoothCompanyIdentifers = 259
	KBluetoothCompanyIdentiferBeatsElectronics                     BluetoothCompanyIdentifers = 204
	KBluetoothCompanyIdentiferBeautifulEnterprise                  BluetoothCompanyIdentifers = 108
	KBluetoothCompanyIdentiferBekey                                BluetoothCompanyIdentifers = 178
	KBluetoothCompanyIdentiferBelkinInternational                  BluetoothCompanyIdentifers = 92
	KBluetoothCompanyIdentiferBinauricSE                           BluetoothCompanyIdentifers = 203
	KBluetoothCompanyIdentiferBioResearchAssociates                BluetoothCompanyIdentifers = 236
	KBluetoothCompanyIdentiferBiosentronics                        BluetoothCompanyIdentifers = 219
	KBluetoothCompanyIdentiferBitsplitters                         BluetoothCompanyIdentifers = 239
	KBluetoothCompanyIdentiferBlueRadios                           BluetoothCompanyIdentifers = 133
	KBluetoothCompanyIdentiferBluegiga                             BluetoothCompanyIdentifers = 71
	KBluetoothCompanyIdentiferBluetoothSIG                         BluetoothCompanyIdentifers = 63
	KBluetoothCompanyIdentiferBose                                 BluetoothCompanyIdentifers = 158
	KBluetoothCompanyIdentiferBriarTek                             BluetoothCompanyIdentifers = 109
	KBluetoothCompanyIdentiferBroadcom                             BluetoothCompanyIdentifers = 15
	KBluetoothCompanyIdentiferCATC                                 BluetoothCompanyIdentifers = 52
	KBluetoothCompanyIdentiferCONWISETechnology                    BluetoothCompanyIdentifers = 66
	KBluetoothCompanyIdentiferCTechnologies                        BluetoothCompanyIdentifers = 38
	KBluetoothCompanyIdentiferCaenRFID                             BluetoothCompanyIdentifers = 170
	KBluetoothCompanyIdentiferCambridgeSiliconRadio                BluetoothCompanyIdentifers = 10
	KBluetoothCompanyIdentiferCinetix                              BluetoothCompanyIdentifers = 175
	KBluetoothCompanyIdentiferClarinoxTechnologies                 BluetoothCompanyIdentifers = 179
	KBluetoothCompanyIdentiferColorfy                              BluetoothCompanyIdentifers = 156
	KBluetoothCompanyIdentiferCommil                               BluetoothCompanyIdentifers = 51
	KBluetoothCompanyIdentiferConexantSystems                      BluetoothCompanyIdentifers = 28
	KBluetoothCompanyIdentiferConnectBlueAB                        BluetoothCompanyIdentifers = 113
	KBluetoothCompanyIdentiferConnecteDevice                       BluetoothCompanyIdentifers = 151
	KBluetoothCompanyIdentiferContinentialAutomotiveSystems        BluetoothCompanyIdentifers = 75
	KBluetoothCompanyIdentiferCreativeTechnology                   BluetoothCompanyIdentifers = 118
	KBluetoothCompanyIdentiferCrystalCode                          BluetoothCompanyIdentifers = 250
	KBluetoothCompanyIdentiferDanlers                              BluetoothCompanyIdentifers = 225
	KBluetoothCompanyIdentiferDeLormePublishingCompany             BluetoothCompanyIdentifers = 128
	KBluetoothCompanyIdentiferDelphi                               BluetoothCompanyIdentifers = 252
	KBluetoothCompanyIdentiferDexcom                               BluetoothCompanyIdentifers = 208
	KBluetoothCompanyIdentiferDialogSemiconductor                  BluetoothCompanyIdentifers = 210
	KBluetoothCompanyIdentiferDigianswerAS                         BluetoothCompanyIdentifers = 12
	KBluetoothCompanyIdentiferEMMicroElectronicMarin               BluetoothCompanyIdentifers = 90
	KBluetoothCompanyIdentiferEclipse                              BluetoothCompanyIdentifers = 53
	KBluetoothCompanyIdentiferEcotest                              BluetoothCompanyIdentifers = 136
	KBluetoothCompanyIdentiferEdenSoftwareConsultants              BluetoothCompanyIdentifers = 229
	KBluetoothCompanyIdentiferElcometer                            BluetoothCompanyIdentifers = 246
	KBluetoothCompanyIdentiferElgatoSystems                        BluetoothCompanyIdentifers = 206
	KBluetoothCompanyIdentiferEquinux                              BluetoothCompanyIdentifers = 134
	KBluetoothCompanyIdentiferEricssonTechnologyLicensing          BluetoothCompanyIdentifers = 0
	KBluetoothCompanyIdentiferEvluma                               BluetoothCompanyIdentifers = 201
	KBluetoothCompanyIdentiferFree2Move                            BluetoothCompanyIdentifers = 83
	KBluetoothCompanyIdentiferFreshtemp                            BluetoothCompanyIdentifers = 230
	KBluetoothCompanyIdentiferFuGoo                                BluetoothCompanyIdentifers = 257
	KBluetoothCompanyIdentiferFunaiElectric                        BluetoothCompanyIdentifers = 144
	KBluetoothCompanyIdentiferGCTSemiconductor                     BluetoothCompanyIdentifers = 45
	KBluetoothCompanyIdentiferGNNetcom                             BluetoothCompanyIdentifers = 103
	KBluetoothCompanyIdentiferGNResound                            BluetoothCompanyIdentifers = 137
	KBluetoothCompanyIdentiferGarminInternational                  BluetoothCompanyIdentifers = 135
	KBluetoothCompanyIdentiferGeLo                                 BluetoothCompanyIdentifers = 200
	KBluetoothCompanyIdentiferGeneq                                BluetoothCompanyIdentifers = 194
	KBluetoothCompanyIdentiferGeneralMotors                        BluetoothCompanyIdentifers = 104
	KBluetoothCompanyIdentiferGennum                               BluetoothCompanyIdentifers = 59
	KBluetoothCompanyIdentiferGeoforce                             BluetoothCompanyIdentifers = 157
	KBluetoothCompanyIdentiferGibsonGuitars                        BluetoothCompanyIdentifers = 98
	KBluetoothCompanyIdentiferGimbal                               BluetoothCompanyIdentifers = 140
	KBluetoothCompanyIdentiferGoogle                               BluetoothCompanyIdentifers = 224
	KBluetoothCompanyIdentiferGreenThrottleGames                   BluetoothCompanyIdentifers = 172
	KBluetoothCompanyIdentiferGroupSense                           BluetoothCompanyIdentifers = 115
	KBluetoothCompanyIdentiferHanlynnTechnologies                  BluetoothCompanyIdentifers = 123
	KBluetoothCompanyIdentiferHarmonInternational                  BluetoothCompanyIdentifers = 87
	KBluetoothCompanyIdentiferHewlettPackard                       BluetoothCompanyIdentifers = 101
	KBluetoothCompanyIdentiferHitachi                              BluetoothCompanyIdentifers = 41
	KBluetoothCompanyIdentiferHosiden                              BluetoothCompanyIdentifers = 221
	KBluetoothCompanyIdentiferIBM                                  BluetoothCompanyIdentifers = 3
	KBluetoothCompanyIdentiferIPextreme                            BluetoothCompanyIdentifers = 61
	KBluetoothCompanyIdentiferITechDynamicGlobalDistribution       BluetoothCompanyIdentifers = 153
	KBluetoothCompanyIdentiferInMusicBrands                        BluetoothCompanyIdentifers = 227
	KBluetoothCompanyIdentiferInfineonTechnologiesAG               BluetoothCompanyIdentifers = 9
	KBluetoothCompanyIdentiferIngenieurSystemgruppeZahn            BluetoothCompanyIdentifers = 171
	KBluetoothCompanyIdentiferInnovativeYachtterSolutions          BluetoothCompanyIdentifers = 262
	KBluetoothCompanyIdentiferIntegratedSiliconSolution            BluetoothCompanyIdentifers = 65
	KBluetoothCompanyIdentiferIntegratedSystemSolution             BluetoothCompanyIdentifers = 57
	KBluetoothCompanyIdentiferIntel                                BluetoothCompanyIdentifers = 2
	KBluetoothCompanyIdentiferInteropIdentifier                    BluetoothCompanyIdentifers = 65535
	KBluetoothCompanyIdentiferInventel                             BluetoothCompanyIdentifers = 30
	KBluetoothCompanyIdentiferJandM                                BluetoothCompanyIdentifers = 82
	KBluetoothCompanyIdentiferJawbone                              BluetoothCompanyIdentifers = 138
	KBluetoothCompanyIdentiferJiangsuToppowerAutomotiveElectronics BluetoothCompanyIdentifers = 155
	KBluetoothCompanyIdentiferJohnsonControls                      BluetoothCompanyIdentifers = 185
	KBluetoothCompanyIdentiferJollyLogic                           BluetoothCompanyIdentifers = 237
	KBluetoothCompanyIdentiferKCTechnology                         BluetoothCompanyIdentifers = 22
	KBluetoothCompanyIdentiferKOUKAMM                              BluetoothCompanyIdentifers = 251
	KBluetoothCompanyIdentiferKSTechnologies                       BluetoothCompanyIdentifers = 231
	KBluetoothCompanyIdentiferKawantech                            BluetoothCompanyIdentifers = 212
	KBluetoothCompanyIdentiferKeiser                               BluetoothCompanyIdentifers = 258
	KBluetoothCompanyIdentiferKensingtonComputerProductsGroup      BluetoothCompanyIdentifers = 160
	KBluetoothCompanyIdentiferKentDisplays                         BluetoothCompanyIdentifers = 243
	KBluetoothCompanyIdentiferLGElectronics                        BluetoothCompanyIdentifers = 196
	KBluetoothCompanyIdentiferLSResearch                           BluetoothCompanyIdentifers = 228
	KBluetoothCompanyIdentiferLairdTechnologies                    BluetoothCompanyIdentifers = 119
	KBluetoothCompanyIdentiferLessWire                             BluetoothCompanyIdentifers = 121
	KBluetoothCompanyIdentiferLinak                                BluetoothCompanyIdentifers = 164
	KBluetoothCompanyIdentiferLucent                               BluetoothCompanyIdentifers = 7
	KBluetoothCompanyIdentiferLudusHelsinki                        BluetoothCompanyIdentifers = 132
	KBluetoothCompanyIdentiferMC10                                 BluetoothCompanyIdentifers = 202
	KBluetoothCompanyIdentiferMStarTechnologies                    BluetoothCompanyIdentifers = 122
	KBluetoothCompanyIdentiferMacronixInternational                BluetoothCompanyIdentifers = 44
	KBluetoothCompanyIdentiferMagnetiMarelli                       BluetoothCompanyIdentifers = 169
	KBluetoothCompanyIdentiferMansella                             BluetoothCompanyIdentifers = 33
	KBluetoothCompanyIdentiferMarvellTechnologyGroup               BluetoothCompanyIdentifers = 72
	KBluetoothCompanyIdentiferMatsushitaElectricIndustrial         BluetoothCompanyIdentifers = 58
	KBluetoothCompanyIdentiferMediaTek                             BluetoothCompanyIdentifers = 70
	KBluetoothCompanyIdentiferMesoInternational                    BluetoothCompanyIdentifers = 182
	KBluetoothCompanyIdentiferMetaWatch                            BluetoothCompanyIdentifers = 163
	KBluetoothCompanyIdentiferMewTelTechnology                     BluetoothCompanyIdentifers = 47
	KBluetoothCompanyIdentiferMiCommand                            BluetoothCompanyIdentifers = 99
	KBluetoothCompanyIdentiferMicrochipTechnology                  BluetoothCompanyIdentifers = 205
	KBluetoothCompanyIdentiferMicrosoft                            BluetoothCompanyIdentifers = 6
	KBluetoothCompanyIdentiferMindTree                             BluetoothCompanyIdentifers = 106
	KBluetoothCompanyIdentiferMisfitWearables                      BluetoothCompanyIdentifers = 223
	KBluetoothCompanyIdentiferMistubishiElectric                   BluetoothCompanyIdentifers = 20
	KBluetoothCompanyIdentiferMitelSemiconductor                   BluetoothCompanyIdentifers = 16
	KBluetoothCompanyIdentiferMobilian                             BluetoothCompanyIdentifers = 55
	KBluetoothCompanyIdentiferMonster                              BluetoothCompanyIdentifers = 112
	KBluetoothCompanyIdentiferMorseProject                         BluetoothCompanyIdentifers = 242
	KBluetoothCompanyIdentiferMotorola                             BluetoothCompanyIdentifers = 8
	KBluetoothCompanyIdentiferMusik                                BluetoothCompanyIdentifers = 222
	KBluetoothCompanyIdentiferNEC                                  BluetoothCompanyIdentifers = 34
	KBluetoothCompanyIdentiferNECLightning                         BluetoothCompanyIdentifers = 149
	KBluetoothCompanyIdentiferNautilus                             BluetoothCompanyIdentifers = 244
	KBluetoothCompanyIdentiferNewlogic                             BluetoothCompanyIdentifers = 23
	KBluetoothCompanyIdentiferNielsenKellerman                     BluetoothCompanyIdentifers = 234
	KBluetoothCompanyIdentiferNike                                 BluetoothCompanyIdentifers = 120
	KBluetoothCompanyIdentiferNokiaMobilePhones                    BluetoothCompanyIdentifers = 1
	KBluetoothCompanyIdentiferNordicSemiconductor                  BluetoothCompanyIdentifers = 89
	KBluetoothCompanyIdentiferNorwoodSystems                       BluetoothCompanyIdentifers = 46
	KBluetoothCompanyIdentiferODMTechnology                        BluetoothCompanyIdentifers = 150
	KBluetoothCompanyIdentiferOTLDynamics                          BluetoothCompanyIdentifers = 165
	KBluetoothCompanyIdentiferOmegawave                            BluetoothCompanyIdentifers = 174
	KBluetoothCompanyIdentiferOnsetComputer                        BluetoothCompanyIdentifers = 197
	KBluetoothCompanyIdentiferOpenInterface                        BluetoothCompanyIdentifers = 39
	KBluetoothCompanyIdentiferPLUSLocationSystems                  BluetoothCompanyIdentifers = 260
	KBluetoothCompanyIdentiferPandaOcean                           BluetoothCompanyIdentifers = 166
	KBluetoothCompanyIdentiferParrotSA                             BluetoothCompanyIdentifers = 67
	KBluetoothCompanyIdentiferParthusTechnologies                  BluetoothCompanyIdentifers = 14
	KBluetoothCompanyIdentiferPassifSemiconductor                  BluetoothCompanyIdentifers = 176
	KBluetoothCompanyIdentiferPayPal                               BluetoothCompanyIdentifers = 240
	KBluetoothCompanyIdentiferPeterSystemtechnik                   BluetoothCompanyIdentifers = 173
	KBluetoothCompanyIdentiferPhilipsSemiconductor                 BluetoothCompanyIdentifers = 37
	KBluetoothCompanyIdentiferPlantronics                          BluetoothCompanyIdentifers = 85
	KBluetoothCompanyIdentiferPolarElectroEurope                   BluetoothCompanyIdentifers = 209
	KBluetoothCompanyIdentiferPolarElectroOY                       BluetoothCompanyIdentifers = 107
	KBluetoothCompanyIdentiferProctorAndGamble                     BluetoothCompanyIdentifers = 220
	KBluetoothCompanyIdentiferQualcomm                             BluetoothCompanyIdentifers = 29
	KBluetoothCompanyIdentiferQualcommConnectedExperiences         BluetoothCompanyIdentifers = 216
	KBluetoothCompanyIdentiferQualcommInnovationCenter             BluetoothCompanyIdentifers = 184
	KBluetoothCompanyIdentiferQualcommTechnologies                 BluetoothCompanyIdentifers = 215
	KBluetoothCompanyIdentiferQuintic                              BluetoothCompanyIdentifers = 142
	KBluetoothCompanyIdentiferQuupa                                BluetoothCompanyIdentifers = 199
	KBluetoothCompanyIdentiferRDAMicroelectronics                  BluetoothCompanyIdentifers = 97
	KBluetoothCompanyIdentiferRFCMicroDevices                      BluetoothCompanyIdentifers = 40
	KBluetoothCompanyIdentiferRTXTelecom                           BluetoothCompanyIdentifers = 21
	KBluetoothCompanyIdentiferRalinkTechnology                     BluetoothCompanyIdentifers = 91
	KBluetoothCompanyIdentiferRealtekSemiconductor                 BluetoothCompanyIdentifers = 93
	KBluetoothCompanyIdentiferRedMCommunications                   BluetoothCompanyIdentifers = 50
	KBluetoothCompanyIdentiferRenesasTechnology                    BluetoothCompanyIdentifers = 54
	KBluetoothCompanyIdentiferResearchInMotion                     BluetoothCompanyIdentifers = 60
	KBluetoothCompanyIdentiferRivieraWaves                         BluetoothCompanyIdentifers = 96
	KBluetoothCompanyIdentiferRohdeandSchwarz                      BluetoothCompanyIdentifers = 25
	KBluetoothCompanyIdentiferSPowerElectronics                    BluetoothCompanyIdentifers = 187
	KBluetoothCompanyIdentiferSRMedizinelektronik                  BluetoothCompanyIdentifers = 161
	KBluetoothCompanyIdentiferSTMicroelectronics                   BluetoothCompanyIdentifers = 48
	KBluetoothCompanyIdentiferSamsungElectronics                   BluetoothCompanyIdentifers = 117
	KBluetoothCompanyIdentiferSarisCyclingGroup                    BluetoothCompanyIdentifers = 177
	KBluetoothCompanyIdentiferSeersTechnology                      BluetoothCompanyIdentifers = 125
	KBluetoothCompanyIdentiferSeikoEpson                           BluetoothCompanyIdentifers = 64
	KBluetoothCompanyIdentiferSelflyBV                             BluetoothCompanyIdentifers = 198
	KBluetoothCompanyIdentiferSemilink                             BluetoothCompanyIdentifers = 226
	KBluetoothCompanyIdentiferSennheiserCommunications             BluetoothCompanyIdentifers = 130
	KBluetoothCompanyIdentiferServerTechnology                     BluetoothCompanyIdentifers = 235
	KBluetoothCompanyIdentiferShangHaiSuperSmartElectronics        BluetoothCompanyIdentifers = 114
	KBluetoothCompanyIdentiferShenzhenExcelsecuDataTechnology      BluetoothCompanyIdentifers = 193
	KBluetoothCompanyIdentiferSiRFTechnology                       BluetoothCompanyIdentifers = 80
	KBluetoothCompanyIdentiferSigniaTechnologies                   BluetoothCompanyIdentifers = 27
	KBluetoothCompanyIdentiferSiliconWave                          BluetoothCompanyIdentifers = 11
	KBluetoothCompanyIdentiferSmartifier                           BluetoothCompanyIdentifers = 245
	KBluetoothCompanyIdentiferSocketCommunications                 BluetoothCompanyIdentifers = 68
	KBluetoothCompanyIdentiferSonyEricssonMobileCommunications     BluetoothCompanyIdentifers = 86
	KBluetoothCompanyIdentiferSoundID                              BluetoothCompanyIdentifers = 111
	KBluetoothCompanyIdentiferSportsTrackingTechnologies           BluetoothCompanyIdentifers = 126
	KBluetoothCompanyIdentiferStaccatoCommunications               BluetoothCompanyIdentifers = 77
	KBluetoothCompanyIdentiferStalmartTechnology                   BluetoothCompanyIdentifers = 191
	KBluetoothCompanyIdentiferStanleyBlackAndDecker                BluetoothCompanyIdentifers = 254
	KBluetoothCompanyIdentiferStarkeyLaboratories                  BluetoothCompanyIdentifers = 186
	KBluetoothCompanyIdentiferStickNFind                           BluetoothCompanyIdentifers = 249
	KBluetoothCompanyIdentiferStonestreetOne                       BluetoothCompanyIdentifers = 94
	KBluetoothCompanyIdentiferSummitDataCommunications             BluetoothCompanyIdentifers = 110
	KBluetoothCompanyIdentiferSuuntoOy                             BluetoothCompanyIdentifers = 159
	KBluetoothCompanyIdentiferSwirlNetworks                        BluetoothCompanyIdentifers = 181
	KBluetoothCompanyIdentiferSymbolTechnologies                   BluetoothCompanyIdentifers = 42
	KBluetoothCompanyIdentiferSynopsys                             BluetoothCompanyIdentifers = 49
	KBluetoothCompanyIdentiferSystemsAndChips                      BluetoothCompanyIdentifers = 62
	KBluetoothCompanyIdentiferTTPCom                               BluetoothCompanyIdentifers = 26
	KBluetoothCompanyIdentiferTZeroTechnologies                    BluetoothCompanyIdentifers = 81
	KBluetoothCompanyIdentiferTaixingbangTechnology                BluetoothCompanyIdentifers = 211
	KBluetoothCompanyIdentiferTelitWirelessSolutions               BluetoothCompanyIdentifers = 143
	KBluetoothCompanyIdentiferTenovis                              BluetoothCompanyIdentifers = 43
	KBluetoothCompanyIdentiferTerax                                BluetoothCompanyIdentifers = 56
	KBluetoothCompanyIdentiferTexasInstruments                     BluetoothCompanyIdentifers = 13
	KBluetoothCompanyIdentiferThinkOptics                          BluetoothCompanyIdentifers = 146
	KBluetoothCompanyIdentiferTimeKeepingSystems                   BluetoothCompanyIdentifers = 131
	KBluetoothCompanyIdentiferTimexGroup                           BluetoothCompanyIdentifers = 214
	KBluetoothCompanyIdentiferTomTomInternational                  BluetoothCompanyIdentifers = 256
	KBluetoothCompanyIdentiferTopconPositioningSystems             BluetoothCompanyIdentifers = 139
	KBluetoothCompanyIdentiferToshiba                              BluetoothCompanyIdentifers = 4
	KBluetoothCompanyIdentiferTransilica                           BluetoothCompanyIdentifers = 24
	KBluetoothCompanyIdentiferTreLab                               BluetoothCompanyIdentifers = 183
	KBluetoothCompanyIdentiferTypeProducts                         BluetoothCompanyIdentifers = 255
	KBluetoothCompanyIdentiferUbiquitousComputingTechnology        BluetoothCompanyIdentifers = 261
	KBluetoothCompanyIdentiferUniversalElectriconics               BluetoothCompanyIdentifers = 147
	KBluetoothCompanyIdentiferVSNTechnologies                      BluetoothCompanyIdentifers = 247
	KBluetoothCompanyIdentiferValenceTech                          BluetoothCompanyIdentifers = 253
	KBluetoothCompanyIdentiferVertu                                BluetoothCompanyIdentifers = 162
	KBluetoothCompanyIdentiferVisio                                BluetoothCompanyIdentifers = 88
	KBluetoothCompanyIdentiferVisteon                              BluetoothCompanyIdentifers = 167
	KBluetoothCompanyIdentiferVoyetraTurtleBeach                   BluetoothCompanyIdentifers = 217
	KBluetoothCompanyIdentiferVtrackSystems                        BluetoothCompanyIdentifers = 233
	KBluetoothCompanyIdentiferWavePlusTechnology                   BluetoothCompanyIdentifers = 35
	KBluetoothCompanyIdentiferWicentric                            BluetoothCompanyIdentifers = 95
	KBluetoothCompanyIdentiferWidcomm                              BluetoothCompanyIdentifers = 17
	KBluetoothCompanyIdentiferWilliamDemantHolding                 BluetoothCompanyIdentifers = 263
	KBluetoothCompanyIdentiferWitronTechnology                     BluetoothCompanyIdentifers = 241
	KBluetoothCompanyIdentiferWuXiVimicro                          BluetoothCompanyIdentifers = 129
	KBluetoothCompanyIdentiferZeevo                                BluetoothCompanyIdentifers = 18
	KBluetoothCompanyIdentiferZero1TV                              BluetoothCompanyIdentifers = 152
	KBluetoothCompanyIdentiferZomm                                 BluetoothCompanyIdentifers = 116
	KBluetoothCompanyIdentiferZscanSoftware                        BluetoothCompanyIdentifers = 141
	KBluetoothCompanyIdentifertxtrGMBH                             BluetoothCompanyIdentifers = 218
)

func (BluetoothCompanyIdentifers) String

type BluetoothDeviceAddress

type BluetoothDeviceAddress struct {
	Data [6]uint8
}

BluetoothDeviceAddress

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothDeviceAddress

type BluetoothEnhancedSynchronousConnectionInfo

BluetoothEnhancedSynchronousConnectionInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothEnhancedSynchronousConnectionInfo

type BluetoothEventFilterCondition

type BluetoothEventFilterCondition struct {
	Data [7]uint8
}

BluetoothEventFilterCondition

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothEventFilterCondition

type BluetoothFeatureBits

type BluetoothFeatureBits uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothFeatureBits

const (
	KBluetoothExtendedFeatureLEAndBREDRToSameDeviceHostMode     BluetoothFeatureBits = 4
	KBluetoothExtendedFeatureLESupportedHostMode                BluetoothFeatureBits = 2
	KBluetoothExtendedFeaturePing                               BluetoothFeatureBits = 2
	KBluetoothExtendedFeatureReserved                           BluetoothFeatureBits = 4
	KBluetoothExtendedFeatureSecureConnectionsControllerSupport BluetoothFeatureBits = 1
	KBluetoothExtendedFeatureSecureConnectionsHostMode          BluetoothFeatureBits = 8
	KBluetoothExtendedFeatureSimpleSecurePairingHostMode        BluetoothFeatureBits = 1
	KBluetoothExtendedFeatureSlotAvailabilityMask               BluetoothFeatureBits = 16
	KBluetoothExtendedFeatureTrainNudging                       BluetoothFeatureBits = 8
	KBluetoothFeature3SlotEnhancedDataRateACLPackets            BluetoothFeatureBits = 128
	KBluetoothFeature3SlotEnhancedDataRateeSCOPackets           BluetoothFeatureBits = 128
	KBluetoothFeature5SlotEnhancedDataRateACLPackets            BluetoothFeatureBits = 1
	KBluetoothFeatureAFHCapableMaster                           BluetoothFeatureBits = 8
	KBluetoothFeatureAFHCapablePeripheral                       BluetoothFeatureBits = 8
	KBluetoothFeatureAFHCapableSlave                            BluetoothFeatureBits = 8
	KBluetoothFeatureAFHClassificationMaster                    BluetoothFeatureBits = 16
	KBluetoothFeatureAFHClassificationPeripheral                BluetoothFeatureBits = 16
	KBluetoothFeatureAFHClassificationSlave                     BluetoothFeatureBits = 16
	KBluetoothFeatureALawLog                                    BluetoothFeatureBits = 128
	KBluetoothFeatureAbsenceMasks                               BluetoothFeatureBits = 4
	KBluetoothFeatureAliasAuhentication                         BluetoothFeatureBits = 32
	KBluetoothFeatureBroadcastEncryption                        BluetoothFeatureBits = 128
	KBluetoothFeatureCVSD                                       BluetoothFeatureBits = 1
	KBluetoothFeatureChannelQuality                             BluetoothFeatureBits = 4
	KBluetoothFeatureEV4Packets                                 BluetoothFeatureBits = 1
	KBluetoothFeatureEV5Packets                                 BluetoothFeatureBits = 2
	KBluetoothFeatureEncapsulatedPDU                            BluetoothFeatureBits = 16
	KBluetoothFeatureEncryption                                 BluetoothFeatureBits = 4
	KBluetoothFeatureEnhancedDataRateACL2MbpsMode               BluetoothFeatureBits = 2
	KBluetoothFeatureEnhancedDataRateACL3MbpsMode               BluetoothFeatureBits = 4
	KBluetoothFeatureEnhancedDataRateeSCO2MbpsMode              BluetoothFeatureBits = 32
	KBluetoothFeatureEnhancedDataRateeSCO3MbpsMode              BluetoothFeatureBits = 64
	KBluetoothFeatureEnhancedInquiryScan                        BluetoothFeatureBits = 8
	KBluetoothFeatureErroneousDataReporting                     BluetoothFeatureBits = 32
	KBluetoothFeatureExtendedFeatures                           BluetoothFeatureBits = 128
	KBluetoothFeatureExtendedInquiryResponse                    BluetoothFeatureBits = 1
	KBluetoothFeatureExtendedSCOLink                            BluetoothFeatureBits = 128
	KBluetoothFeatureFiveSlotPackets                            BluetoothFeatureBits = 2
	KBluetoothFeatureFlowControlLagBit0                         BluetoothFeatureBits = 16
	KBluetoothFeatureFlowControlLagBit1                         BluetoothFeatureBits = 32
	KBluetoothFeatureFlowControlLagBit2                         BluetoothFeatureBits = 64
	KBluetoothFeatureHV2Packets                                 BluetoothFeatureBits = 16
	KBluetoothFeatureHV3Packets                                 BluetoothFeatureBits = 32
	KBluetoothFeatureHoldMode                                   BluetoothFeatureBits = 64
	KBluetoothFeatureInquiryTransmissionPowerLevel              BluetoothFeatureBits = 2
	KBluetoothFeatureInterlacedInquiryScan                      BluetoothFeatureBits = 16
	KBluetoothFeatureInterlacedPageScan                         BluetoothFeatureBits = 32
	KBluetoothFeatureLESupportedController                      BluetoothFeatureBits = 64
	KBluetoothFeatureLinkSupervisionTimeoutChangedEvent         BluetoothFeatureBits = 1
	KBluetoothFeatureNonFlushablePacketBoundaryFlag             BluetoothFeatureBits = 64
	KBluetoothFeaturePagingScheme                               BluetoothFeatureBits = 2
	KBluetoothFeatureParkMode                                   BluetoothFeatureBits = 1
	KBluetoothFeaturePauseEncryption                            BluetoothFeatureBits = 4
	KBluetoothFeaturePowerControl                               BluetoothFeatureBits = 4
	KBluetoothFeaturePowerControlRequests                       BluetoothFeatureBits = 2
	KBluetoothFeatureRSSI                                       BluetoothFeatureBits = 2
	KBluetoothFeatureRSSIWithInquiryResult                      BluetoothFeatureBits = 64
	KBluetoothFeatureSCOLink                                    BluetoothFeatureBits = 8
	KBluetoothFeatureScatterMode                                BluetoothFeatureBits = 1
	KBluetoothFeatureSecureSimplePairing                        BluetoothFeatureBits = 8
	KBluetoothFeatureSlotOffset                                 BluetoothFeatureBits = 8
	KBluetoothFeatureSniffMode                                  BluetoothFeatureBits = 128
	KBluetoothFeatureSniffSubrating                             BluetoothFeatureBits = 2
	KBluetoothFeatureSwitchRoles                                BluetoothFeatureBits = 32
	KBluetoothFeatureThreeSlotPackets                           BluetoothFeatureBits = 1
	KBluetoothFeatureTimingAccuracy                             BluetoothFeatureBits = 16
	KBluetoothFeatureTransparentSCOData                         BluetoothFeatureBits = 8
	KBluetoothFeatureULawLog                                    BluetoothFeatureBits = 64
)

func (BluetoothFeatureBits) String

func (e BluetoothFeatureBits) String() string

type BluetoothHCIAFHChannelAssessmentModes

type BluetoothHCIAFHChannelAssessmentModes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIAFHChannelAssessmentModes

const (
	KAFHChannelAssessmentModeDisabled BluetoothHCIAFHChannelAssessmentModes = 0
	KAFHChannelAssessmentModeEnabled  BluetoothHCIAFHChannelAssessmentModes = 0x1
)

func (BluetoothHCIAFHChannelAssessmentModes) String

type BluetoothHCIAcceptSynchronousConnectionRequestParams

type BluetoothHCIAcceptSynchronousConnectionRequestParams struct {
	TransmitBandwidth    uint32
	ReceiveBandwidth     uint32
	MaxLatency           uint16
	ContentFormat        uint16
	RetransmissionEffort uint8
	PacketType           uint16
}

BluetoothHCIAcceptSynchronousConnectionRequestParams

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIAcceptSynchronousConnectionRequestParams

type BluetoothHCIAuthentionEnableModes

type BluetoothHCIAuthentionEnableModes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIAuthentionEnableModes

const (
	KAuthenticationDisabled BluetoothHCIAuthentionEnableModes = 0
	KAuthenticationEnabled  BluetoothHCIAuthentionEnableModes = 0x1
)

func (BluetoothHCIAuthentionEnableModes) String

type BluetoothHCIAutomaticFlushTimeoutInfo

type BluetoothHCIAutomaticFlushTimeoutInfo struct {
	Handle  kernel.BluetoothConnectionHandle
	Timeout kernel.BluetoothHCIAutomaticFlushTimeout
}

BluetoothHCIAutomaticFlushTimeoutInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIAutomaticFlushTimeoutInfo

type BluetoothHCIBufferSize

type BluetoothHCIBufferSize struct {
	ACLDataPacketLength    uint16
	SCODataPacketLength    uint8
	TotalNumACLDataPackets uint16
	TotalNumSCODataPackets uint16
}

BluetoothHCIBufferSize

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIBufferSize

type BluetoothHCIConnectionModes

type BluetoothHCIConnectionModes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIConnectionModes

const (
	KConnectionActiveMode               BluetoothHCIConnectionModes = 0
	KConnectionHoldMode                 BluetoothHCIConnectionModes = 1
	KConnectionModeReservedForFutureUse BluetoothHCIConnectionModes = 4
	KConnectionParkMode                 BluetoothHCIConnectionModes = 3
	KConnectionSniffMode                BluetoothHCIConnectionModes = 2
)

func (BluetoothHCIConnectionModes) String

type BluetoothHCICurrentInquiryAccessCodes

type BluetoothHCICurrentInquiryAccessCodes struct {
	Count kernel.BluetoothHCIInquiryAccessCodeCount
	Codes *BluetoothHCIInquiryAccessCode
}

BluetoothHCICurrentInquiryAccessCodes

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCICurrentInquiryAccessCodes

type BluetoothHCICurrentInquiryAccessCodesForWrite

type BluetoothHCICurrentInquiryAccessCodesForWrite struct {
	Count kernel.BluetoothHCIInquiryAccessCodeCount
	Codes [192]uint8
}

BluetoothHCICurrentInquiryAccessCodesForWrite

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCICurrentInquiryAccessCodesForWrite

type BluetoothHCIDeleteStoredLinkKeyFlags

type BluetoothHCIDeleteStoredLinkKeyFlags uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIDeleteStoredLinkKeyFlags

const (
	KDeleteAllStoredLinkKeys         BluetoothHCIDeleteStoredLinkKeyFlags = 0x1
	KDeleteKeyForSpecifiedDeviceOnly BluetoothHCIDeleteStoredLinkKeyFlags = 0
)

func (BluetoothHCIDeleteStoredLinkKeyFlags) String

type BluetoothHCIEncryptionKeySizeInfo

type BluetoothHCIEncryptionKeySizeInfo struct {
	Handle  kernel.BluetoothConnectionHandle
	KeySize kernel.BluetoothHCIEncryptionKeySize
}

BluetoothHCIEncryptionKeySizeInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEncryptionKeySizeInfo

type BluetoothHCIEncryptionModes

type BluetoothHCIEncryptionModes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEncryptionModes

const (
	KEncryptionDisabled                               BluetoothHCIEncryptionModes = 0
	KEncryptionForBothPointToPointAndBroadcastPackets BluetoothHCIEncryptionModes = 0x2
	KEncryptionOnlyForPointToPointPackets             BluetoothHCIEncryptionModes = 0x1
)

func (BluetoothHCIEncryptionModes) String

type BluetoothHCIEnhancedAcceptSynchronousConnectionRequestParams

type BluetoothHCIEnhancedAcceptSynchronousConnectionRequestParams struct {
	TransmitBandwidth                 uint32
	ReceiveBandwidth                  uint32
	TransmitCodingFormat              uint64
	ReceiveCodingFormat               uint64
	TransmitCodecFrameSize            uint16
	ReceiveCodecFrameSize             uint16
	InputBandwidth                    uint32
	OutputBandwidth                   uint32
	InputCodingFormat                 uint64
	OutputCodingFormat                uint64
	InputCodedDataSize                uint16
	OutputCodedDataSize               uint16
	InputPCMDataFormat                uint8
	OutputPCMDataFormat               uint8
	InputPCMSamplePayloadMSBPosition  uint8
	OutputPCMSamplePayloadMSBPosition uint8
	InputDataPath                     uint8
	OutputDataPath                    uint8
	InputTransportUnitSize            uint8
	OutputTransportUnitSize           uint8
	MaxLatency                        uint16
	PacketType                        uint16
	RetransmissionEffort              uint8
}

BluetoothHCIEnhancedAcceptSynchronousConnectionRequestParams

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEnhancedAcceptSynchronousConnectionRequestParams

type BluetoothHCIEnhancedSetupSynchronousConnectionParams

type BluetoothHCIEnhancedSetupSynchronousConnectionParams struct {
	TransmitBandwidth                 uint32
	ReceiveBandwidth                  uint32
	TransmitCodingFormat              uint64
	ReceiveCodingFormat               uint64
	TransmitCodecFrameSize            uint16
	ReceiveCodecFrameSize             uint16
	InputBandwidth                    uint32
	OutputBandwidth                   uint32
	InputCodingFormat                 uint64
	OutputCodingFormat                uint64
	InputCodedDataSize                uint16
	OutputCodedDataSize               uint16
	InputPCMDataFormat                uint8
	OutputPCMDataFormat               uint8
	InputPCMSamplePayloadMSBPosition  uint8
	OutputPCMSamplePayloadMSBPosition uint8
	InputDataPath                     uint8
	OutputDataPath                    uint8
	InputTransportUnitSize            uint8
	OutputTransportUnitSize           uint8
	MaxLatency                        uint16
	PacketType                        uint16
	RetransmissionEffort              uint8
}

BluetoothHCIEnhancedSetupSynchronousConnectionParams

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEnhancedSetupSynchronousConnectionParams

type BluetoothHCIEventAuthenticationCompleteResults

type BluetoothHCIEventAuthenticationCompleteResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
}

BluetoothHCIEventAuthenticationCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventAuthenticationCompleteResults

type BluetoothHCIEventChangeConnectionLinkKeyCompleteResults

type BluetoothHCIEventChangeConnectionLinkKeyCompleteResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
}

BluetoothHCIEventChangeConnectionLinkKeyCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventChangeConnectionLinkKeyCompleteResults

type BluetoothHCIEventConnectionCompleteResults

type BluetoothHCIEventConnectionCompleteResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	DeviceAddress    BluetoothDeviceAddress
	LinkType         kernel.BluetoothLinkType
	EncryptionMode   kernel.BluetoothHCIEncryptionMode
}

BluetoothHCIEventConnectionCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventConnectionCompleteResults

type BluetoothHCIEventConnectionPacketTypeResults

type BluetoothHCIEventConnectionPacketTypeResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	PacketType       kernel.BluetoothPacketType
}

BluetoothHCIEventConnectionPacketTypeResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventConnectionPacketTypeResults

type BluetoothHCIEventConnectionRequestResults

type BluetoothHCIEventConnectionRequestResults struct {
	DeviceAddress BluetoothDeviceAddress
	ClassOfDevice kernel.BluetoothClassOfDevice
	LinkType      kernel.BluetoothLinkType
}

BluetoothHCIEventConnectionRequestResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventConnectionRequestResults

type BluetoothHCIEventDataBufferOverflowResults

type BluetoothHCIEventDataBufferOverflowResults struct {
	LinkType kernel.BluetoothLinkType
}

BluetoothHCIEventDataBufferOverflowResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventDataBufferOverflowResults

type BluetoothHCIEventDisconnectionCompleteResults

type BluetoothHCIEventDisconnectionCompleteResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	Reason           kernel.BluetoothReasonCode
}

BluetoothHCIEventDisconnectionCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventDisconnectionCompleteResults

type BluetoothHCIEventEncryptionChangeResults

type BluetoothHCIEventEncryptionChangeResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	Enable           kernel.BluetoothEncryptionEnable
}

BluetoothHCIEventEncryptionChangeResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventEncryptionChangeResults

type BluetoothHCIEventEncryptionKeyRefreshCompleteResults

type BluetoothHCIEventEncryptionKeyRefreshCompleteResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
}

BluetoothHCIEventEncryptionKeyRefreshCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventEncryptionKeyRefreshCompleteResults

type BluetoothHCIEventFlowSpecificationData

type BluetoothHCIEventFlowSpecificationData struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	Flags            uint8
	FlowDirection    uint8
	ServiceType      uint8
	TokenRate        uint32
	TokenBucketSize  uint32
	PeakBandwidth    uint32
	AccessLatency    uint32
}

BluetoothHCIEventFlowSpecificationData

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventFlowSpecificationData

type BluetoothHCIEventFlushOccurredResults

type BluetoothHCIEventFlushOccurredResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
}

BluetoothHCIEventFlushOccurredResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventFlushOccurredResults

type BluetoothHCIEventHardwareErrorResults

type BluetoothHCIEventHardwareErrorResults struct {
	Error kernel.BluetoothHCIStatus
}

BluetoothHCIEventHardwareErrorResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventHardwareErrorResults

type BluetoothHCIEventLEConnectionCompleteResults

type BluetoothHCIEventLEConnectionCompleteResults struct {
	// contains filtered or unexported fields
}

BluetoothHCIEventLEConnectionCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventLEConnectionCompleteResults

func (*BluetoothHCIEventLEConnectionCompleteResults) ConnInterval

ConnInterval returns the ConnInterval field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) ConnLatency

ConnLatency returns the ConnLatency field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) ConnectionHandle

ConnectionHandle returns the ConnectionHandle field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) MasterClockAccuracy

func (s *BluetoothHCIEventLEConnectionCompleteResults) MasterClockAccuracy() uint8

MasterClockAccuracy returns the MasterClockAccuracy field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) PeerAddress

PeerAddress returns the PeerAddress field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) PeerAddressType

PeerAddressType returns the PeerAddressType field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) Role

Role returns the Role field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) SetConnInterval

SetConnInterval updates the ConnInterval field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) SetConnLatency

SetConnLatency updates the ConnLatency field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) SetConnectionHandle

SetConnectionHandle updates the ConnectionHandle field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) SetMasterClockAccuracy

func (s *BluetoothHCIEventLEConnectionCompleteResults) SetMasterClockAccuracy(v uint8)

SetMasterClockAccuracy updates the MasterClockAccuracy field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) SetPeerAddress

SetPeerAddress updates the PeerAddress field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) SetPeerAddressType

func (s *BluetoothHCIEventLEConnectionCompleteResults) SetPeerAddressType(v uint8)

SetPeerAddressType updates the PeerAddressType field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) SetRole

SetRole updates the Role field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) SetSupervisionTimeout

func (s *BluetoothHCIEventLEConnectionCompleteResults) SetSupervisionTimeout(v uint16)

SetSupervisionTimeout updates the SupervisionTimeout field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionCompleteResults) SupervisionTimeout

func (s *BluetoothHCIEventLEConnectionCompleteResults) SupervisionTimeout() uint16

SupervisionTimeout returns the SupervisionTimeout field from the record's packed storage.

type BluetoothHCIEventLEConnectionUpdateCompleteResults

type BluetoothHCIEventLEConnectionUpdateCompleteResults struct {
	// contains filtered or unexported fields
}

BluetoothHCIEventLEConnectionUpdateCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventLEConnectionUpdateCompleteResults

func (*BluetoothHCIEventLEConnectionUpdateCompleteResults) ConnInterval

ConnInterval returns the ConnInterval field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionUpdateCompleteResults) ConnLatency

ConnLatency returns the ConnLatency field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionUpdateCompleteResults) ConnectionHandle

ConnectionHandle returns the ConnectionHandle field from the record's packed storage.

func (*BluetoothHCIEventLEConnectionUpdateCompleteResults) SetConnInterval

SetConnInterval updates the ConnInterval field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionUpdateCompleteResults) SetConnLatency

SetConnLatency updates the ConnLatency field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionUpdateCompleteResults) SetConnectionHandle

SetConnectionHandle updates the ConnectionHandle field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionUpdateCompleteResults) SetSupervisionTimeout

func (s *BluetoothHCIEventLEConnectionUpdateCompleteResults) SetSupervisionTimeout(v uint16)

SetSupervisionTimeout updates the SupervisionTimeout field in the record's packed storage.

func (*BluetoothHCIEventLEConnectionUpdateCompleteResults) SupervisionTimeout

SupervisionTimeout returns the SupervisionTimeout field from the record's packed storage.

type BluetoothHCIEventLEEnhancedConnectionCompleteResults

type BluetoothHCIEventLEEnhancedConnectionCompleteResults struct {
	// contains filtered or unexported fields
}

BluetoothHCIEventLEEnhancedConnectionCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventLEEnhancedConnectionCompleteResults

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) ConnInterval

ConnInterval returns the ConnInterval field from the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) ConnLatency

ConnLatency returns the ConnLatency field from the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) ConnectionHandle

ConnectionHandle returns the ConnectionHandle field from the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) LocalResolvablePrivateAddress

LocalResolvablePrivateAddress returns the LocalResolvablePrivateAddress field from the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) MasterClockAccuracy

MasterClockAccuracy returns the MasterClockAccuracy field from the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) PeerAddress

PeerAddress returns the PeerAddress field from the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) PeerAddressType

PeerAddressType returns the PeerAddressType field from the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) PeerResolvablePrivateAddress

PeerResolvablePrivateAddress returns the PeerResolvablePrivateAddress field from the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) Role

Role returns the Role field from the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetConnInterval

SetConnInterval updates the ConnInterval field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetConnLatency

SetConnLatency updates the ConnLatency field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetConnectionHandle

SetConnectionHandle updates the ConnectionHandle field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetLocalResolvablePrivateAddress

SetLocalResolvablePrivateAddress updates the LocalResolvablePrivateAddress field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetMasterClockAccuracy

func (s *BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetMasterClockAccuracy(v uint8)

SetMasterClockAccuracy updates the MasterClockAccuracy field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetPeerAddress

SetPeerAddress updates the PeerAddress field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetPeerAddressType

SetPeerAddressType updates the PeerAddressType field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetPeerResolvablePrivateAddress

SetPeerResolvablePrivateAddress updates the PeerResolvablePrivateAddress field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetRole

SetRole updates the Role field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SetSupervisionTimeout

SetSupervisionTimeout updates the SupervisionTimeout field in the record's packed storage.

func (*BluetoothHCIEventLEEnhancedConnectionCompleteResults) SupervisionTimeout

SupervisionTimeout returns the SupervisionTimeout field from the record's packed storage.

type BluetoothHCIEventLELongTermKeyRequestResults

type BluetoothHCIEventLELongTermKeyRequestResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	RandomNumber     [8]uint8
	Ediv             uint16
}

BluetoothHCIEventLELongTermKeyRequestResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventLELongTermKeyRequestResults

type BluetoothHCIEventLEMetaResults

type BluetoothHCIEventLEMetaResults struct {
	Length uint8
	Data   [255]uint8
}

BluetoothHCIEventLEMetaResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventLEMetaResults

type BluetoothHCIEventLEReadRemoteUsedFeaturesCompleteResults

type BluetoothHCIEventLEReadRemoteUsedFeaturesCompleteResults struct {
	// contains filtered or unexported fields
}

BluetoothHCIEventLEReadRemoteUsedFeaturesCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventLEReadRemoteUsedFeaturesCompleteResults

func (*BluetoothHCIEventLEReadRemoteUsedFeaturesCompleteResults) ConnectionHandle

ConnectionHandle returns the ConnectionHandle field from the record's packed storage.

func (*BluetoothHCIEventLEReadRemoteUsedFeaturesCompleteResults) SetConnectionHandle

SetConnectionHandle updates the ConnectionHandle field in the record's packed storage.

func (*BluetoothHCIEventLEReadRemoteUsedFeaturesCompleteResults) SetUsedFeatures

SetUsedFeatures updates the UsedFeatures field in the record's packed storage.

func (*BluetoothHCIEventLEReadRemoteUsedFeaturesCompleteResults) UsedFeatures

UsedFeatures returns the UsedFeatures field from the record's packed storage.

type BluetoothHCIEventLinkKeyNotificationResults

type BluetoothHCIEventLinkKeyNotificationResults struct {
	DeviceAddress BluetoothDeviceAddress
	LinkKey       BluetoothKey
	KeyType       kernel.BluetoothKeyType
}

BluetoothHCIEventLinkKeyNotificationResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventLinkKeyNotificationResults

type BluetoothHCIEventMasterLinkKeyCompleteResults

type BluetoothHCIEventMasterLinkKeyCompleteResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	KeyFlag          kernel.BluetoothKeyFlag
}

BluetoothHCIEventMasterLinkKeyCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventMasterLinkKeyCompleteResults

type BluetoothHCIEventMaxSlotsChangeResults

type BluetoothHCIEventMaxSlotsChangeResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	MaxSlots         kernel.BluetoothMaxSlots
}

BluetoothHCIEventMaxSlotsChangeResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventMaxSlotsChangeResults

type BluetoothHCIEventModeChangeResults

type BluetoothHCIEventModeChangeResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	Mode             kernel.BluetoothHCIConnectionMode
	ModeInterval     kernel.BluetoothHCIModeInterval
}

BluetoothHCIEventModeChangeResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventModeChangeResults

type BluetoothHCIEventPageScanModeChangeResults

type BluetoothHCIEventPageScanModeChangeResults struct {
	DeviceAddress BluetoothDeviceAddress
	PageScanMode  kernel.BluetoothPageScanMode
}

BluetoothHCIEventPageScanModeChangeResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventPageScanModeChangeResults

type BluetoothHCIEventPageScanRepetitionModeChangeResults

type BluetoothHCIEventPageScanRepetitionModeChangeResults struct {
	DeviceAddress          BluetoothDeviceAddress
	PageScanRepetitionMode kernel.BluetoothPageScanRepetitionMode
}

BluetoothHCIEventPageScanRepetitionModeChangeResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventPageScanRepetitionModeChangeResults

type BluetoothHCIEventQoSSetupCompleteResults

type BluetoothHCIEventQoSSetupCompleteResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	SetupParams      BluetoothHCIQualityOfServiceSetupParams
}

BluetoothHCIEventQoSSetupCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventQoSSetupCompleteResults

type BluetoothHCIEventQoSViolationResults

type BluetoothHCIEventQoSViolationResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
}

BluetoothHCIEventQoSViolationResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventQoSViolationResults

type BluetoothHCIEventReadClockOffsetResults

type BluetoothHCIEventReadClockOffsetResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	ClockOffset      kernel.BluetoothClockOffset
}

BluetoothHCIEventReadClockOffsetResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventReadClockOffsetResults

type BluetoothHCIEventReadExtendedFeaturesResults

type BluetoothHCIEventReadExtendedFeaturesResults struct {
	ConnectionHandle      kernel.BluetoothConnectionHandle
	SupportedFeaturesInfo BluetoothHCIExtendedFeaturesInfo
}

BluetoothHCIEventReadExtendedFeaturesResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventReadExtendedFeaturesResults

type BluetoothHCIEventReadRemoteExtendedFeaturesResults

type BluetoothHCIEventReadRemoteExtendedFeaturesResults struct {
	Error            kernel.BluetoothHCIStatus
	ConnectionHandle kernel.BluetoothConnectionHandle
	Page             kernel.BluetoothHCIPageNumber
	MaxPage          kernel.BluetoothHCIPageNumber
	LmpFeatures      BluetoothHCISupportedFeatures
}

BluetoothHCIEventReadRemoteExtendedFeaturesResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventReadRemoteExtendedFeaturesResults

type BluetoothHCIEventReadRemoteSupportedFeaturesResults

type BluetoothHCIEventReadRemoteSupportedFeaturesResults struct {
	Error            kernel.BluetoothHCIStatus
	ConnectionHandle kernel.BluetoothConnectionHandle
	LmpFeatures      BluetoothHCISupportedFeatures
}

BluetoothHCIEventReadRemoteSupportedFeaturesResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventReadRemoteSupportedFeaturesResults

type BluetoothHCIEventReadRemoteVersionInfoResults

type BluetoothHCIEventReadRemoteVersionInfoResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	LmpVersion       kernel.BluetoothLMPVersion
	ManufacturerName kernel.BluetoothManufacturerName
	LmpSubversion    kernel.BluetoothLMPSubversion
}

BluetoothHCIEventReadRemoteVersionInfoResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventReadRemoteVersionInfoResults

type BluetoothHCIEventReadSupportedFeaturesResults

type BluetoothHCIEventReadSupportedFeaturesResults struct {
	ConnectionHandle  kernel.BluetoothConnectionHandle
	SupportedFeatures BluetoothHCISupportedFeatures
}

BluetoothHCIEventReadSupportedFeaturesResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventReadSupportedFeaturesResults

type BluetoothHCIEventRemoteNameRequestResults

type BluetoothHCIEventRemoteNameRequestResults struct {
	DeviceAddress BluetoothDeviceAddress
	DeviceName    [248]uint8
}

BluetoothHCIEventRemoteNameRequestResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventRemoteNameRequestResults

type BluetoothHCIEventReturnLinkKeysResults

type BluetoothHCIEventReturnLinkKeysResults struct {
	NumLinkKeys   uint8
	DeviceAddress BluetoothDeviceAddress
	LinkKey       BluetoothKey
}

BluetoothHCIEventReturnLinkKeysResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventReturnLinkKeysResults

type BluetoothHCIEventRoleChangeResults

type BluetoothHCIEventRoleChangeResults struct {
	ConnectionHandle kernel.BluetoothConnectionHandle
	DeviceAddress    BluetoothDeviceAddress
	Role             kernel.BluetoothRole
}

BluetoothHCIEventRoleChangeResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventRoleChangeResults

type BluetoothHCIEventSimplePairingCompleteResults

type BluetoothHCIEventSimplePairingCompleteResults struct {
	DeviceAddress BluetoothDeviceAddress
}

BluetoothHCIEventSimplePairingCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventSimplePairingCompleteResults

type BluetoothHCIEventSniffSubratingResults

type BluetoothHCIEventSniffSubratingResults struct {
	ConnectionHandle   kernel.BluetoothConnectionHandle
	MaxTransmitLatency uint16
	MaxReceiveLatency  uint16
	MinRemoteTimeout   uint16
	MinLocalTimeout    uint16
}

BluetoothHCIEventSniffSubratingResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventSniffSubratingResults

type BluetoothHCIEventSynchronousConnectionChangedResults

type BluetoothHCIEventSynchronousConnectionChangedResults struct {
	ConnectionHandle     kernel.BluetoothConnectionHandle
	TransmissionInterval uint8
	RetransmissionWindow uint8
	ReceivePacketLength  uint16
	TransmitPacketLength uint16
}

BluetoothHCIEventSynchronousConnectionChangedResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventSynchronousConnectionChangedResults

type BluetoothHCIEventSynchronousConnectionCompleteResults

type BluetoothHCIEventSynchronousConnectionCompleteResults struct {
	ConnectionHandle     kernel.BluetoothConnectionHandle
	DeviceAddress        BluetoothDeviceAddress
	LinkType             kernel.BluetoothLinkType
	TransmissionInterval uint8
	RetransmissionWindow uint8
	ReceivePacketLength  uint16
	TransmitPacketLength uint16
	AirMode              kernel.BluetoothAirMode
}

BluetoothHCIEventSynchronousConnectionCompleteResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventSynchronousConnectionCompleteResults

type BluetoothHCIEventVendorSpecificResults

type BluetoothHCIEventVendorSpecificResults struct {
	Length uint8
	Data   [255]uint8
}

BluetoothHCIEventVendorSpecificResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIEventVendorSpecificResults

type BluetoothHCIExtendedFeaturesInfo

type BluetoothHCIExtendedFeaturesInfo struct {
	Page    kernel.BluetoothHCIPageNumber
	MaxPage kernel.BluetoothHCIPageNumber
	Data    [8]uint8
}

BluetoothHCIExtendedFeaturesInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIExtendedFeaturesInfo

type BluetoothHCIExtendedInquiryResponse

type BluetoothHCIExtendedInquiryResponse struct {
	Data [240]uint8
}

BluetoothHCIExtendedInquiryResponse

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIExtendedInquiryResponse

type BluetoothHCIExtendedInquiryResponseDataTypes

type BluetoothHCIExtendedInquiryResponseDataTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIExtendedInquiryResponseDataTypes

const (
	KBluetoothHCIExtendedInquiryResponseDataType128BitServiceClassUUIDsCompleteList      BluetoothHCIExtendedInquiryResponseDataTypes = 0x7
	KBluetoothHCIExtendedInquiryResponseDataType128BitServiceClassUUIDsWithMoreAvailable BluetoothHCIExtendedInquiryResponseDataTypes = 0x6
	KBluetoothHCIExtendedInquiryResponseDataType16BitServiceClassUUIDsCompleteList       BluetoothHCIExtendedInquiryResponseDataTypes = 0x3
	KBluetoothHCIExtendedInquiryResponseDataType16BitServiceClassUUIDsWithMoreAvailable  BluetoothHCIExtendedInquiryResponseDataTypes = 0x2
	KBluetoothHCIExtendedInquiryResponseDataType32BitServiceClassUUIDsCompleteList       BluetoothHCIExtendedInquiryResponseDataTypes = 0x5
	KBluetoothHCIExtendedInquiryResponseDataType32BitServiceClassUUIDsWithMoreAvailable  BluetoothHCIExtendedInquiryResponseDataTypes = 0x4
	KBluetoothHCIExtendedInquiryResponseDataType3DInformationData                        BluetoothHCIExtendedInquiryResponseDataTypes = 0x3d
	KBluetoothHCIExtendedInquiryResponseDataTypeAdvertisingInterval                      BluetoothHCIExtendedInquiryResponseDataTypes = 0x1a
	KBluetoothHCIExtendedInquiryResponseDataTypeAppearance                               BluetoothHCIExtendedInquiryResponseDataTypes = 0x19
	KBluetoothHCIExtendedInquiryResponseDataTypeCompleteLocalName                        BluetoothHCIExtendedInquiryResponseDataTypes = 0x9
	KBluetoothHCIExtendedInquiryResponseDataTypeCsisRsiData                              BluetoothHCIExtendedInquiryResponseDataTypes = 0x2e
	KBluetoothHCIExtendedInquiryResponseDataTypeDeviceID                                 BluetoothHCIExtendedInquiryResponseDataTypes = 0x10
	KBluetoothHCIExtendedInquiryResponseDataTypeFlags                                    BluetoothHCIExtendedInquiryResponseDataTypes = 0x1
	KBluetoothHCIExtendedInquiryResponseDataTypeIndoorPositioning                        BluetoothHCIExtendedInquiryResponseDataTypes = 0x25
	KBluetoothHCIExtendedInquiryResponseDataTypeLEBluetoothDeviceAddress                 BluetoothHCIExtendedInquiryResponseDataTypes = 0x1b
	KBluetoothHCIExtendedInquiryResponseDataTypeLERole                                   BluetoothHCIExtendedInquiryResponseDataTypes = 0x1c
	KBluetoothHCIExtendedInquiryResponseDataTypeManufacturerSpecificData                 BluetoothHCIExtendedInquiryResponseDataTypes = 0xff
	KBluetoothHCIExtendedInquiryResponseDataTypePeripheralConnectionIntervalRange        BluetoothHCIExtendedInquiryResponseDataTypes = 0x12
	KBluetoothHCIExtendedInquiryResponseDataTypePublicTargetAddress                      BluetoothHCIExtendedInquiryResponseDataTypes = 0x17
	KBluetoothHCIExtendedInquiryResponseDataTypeRandomTargetAddress                      BluetoothHCIExtendedInquiryResponseDataTypes = 0x18
	KBluetoothHCIExtendedInquiryResponseDataTypeSSPOOBClassOfDevice                      BluetoothHCIExtendedInquiryResponseDataTypes = 0xd
	KBluetoothHCIExtendedInquiryResponseDataTypeSSPOOBSimplePairingHashC                 BluetoothHCIExtendedInquiryResponseDataTypes = 0xe
	KBluetoothHCIExtendedInquiryResponseDataTypeSSPOOBSimplePairingRandomizerR           BluetoothHCIExtendedInquiryResponseDataTypes = 0xf
	KBluetoothHCIExtendedInquiryResponseDataTypeSecureConnectionsConfirmationValue       BluetoothHCIExtendedInquiryResponseDataTypes = 0x22
	KBluetoothHCIExtendedInquiryResponseDataTypeSecureConnectionsRandomValue             BluetoothHCIExtendedInquiryResponseDataTypes = 0x23
	KBluetoothHCIExtendedInquiryResponseDataTypeSecurityManagerOOBFlags                  BluetoothHCIExtendedInquiryResponseDataTypes = 0x11
	KBluetoothHCIExtendedInquiryResponseDataTypeSecurityManagerTKValue                   BluetoothHCIExtendedInquiryResponseDataTypes = 0x10
	KBluetoothHCIExtendedInquiryResponseDataTypeServiceData                              BluetoothHCIExtendedInquiryResponseDataTypes = 0x16
	KBluetoothHCIExtendedInquiryResponseDataTypeServiceData128BitUUID                    BluetoothHCIExtendedInquiryResponseDataTypes = 0x21
	KBluetoothHCIExtendedInquiryResponseDataTypeServiceData32BitUUID                     BluetoothHCIExtendedInquiryResponseDataTypes = 0x20
	KBluetoothHCIExtendedInquiryResponseDataTypeServiceSolicitation128BitUUIDs           BluetoothHCIExtendedInquiryResponseDataTypes = 0x15
	KBluetoothHCIExtendedInquiryResponseDataTypeServiceSolicitation16BitUUIDs            BluetoothHCIExtendedInquiryResponseDataTypes = 0x14
	KBluetoothHCIExtendedInquiryResponseDataTypeServiceSolicitation32BitUUIDs            BluetoothHCIExtendedInquiryResponseDataTypes = 0x1f
	KBluetoothHCIExtendedInquiryResponseDataTypeShortenedLocalName                       BluetoothHCIExtendedInquiryResponseDataTypes = 0x8
	KBluetoothHCIExtendedInquiryResponseDataTypeSimplePairingHash                        BluetoothHCIExtendedInquiryResponseDataTypes = 0x1d
	KBluetoothHCIExtendedInquiryResponseDataTypeSimplePairingRandomizer                  BluetoothHCIExtendedInquiryResponseDataTypes = 0x1e
	KBluetoothHCIExtendedInquiryResponseDataTypeSlaveConnectionIntervalRange             BluetoothHCIExtendedInquiryResponseDataTypes = 18
	KBluetoothHCIExtendedInquiryResponseDataTypeTransmitPowerLevel                       BluetoothHCIExtendedInquiryResponseDataTypes = 0xa
	KBluetoothHCIExtendedInquiryResponseDataTypeTransportDiscoveryData                   BluetoothHCIExtendedInquiryResponseDataTypes = 0x26
	KBluetoothHCIExtendedInquiryResponseDataTypeURI                                      BluetoothHCIExtendedInquiryResponseDataTypes = 0x24
)

func (BluetoothHCIExtendedInquiryResponseDataTypes) String

type BluetoothHCIExtendedInquiryResult

type BluetoothHCIExtendedInquiryResult struct {
	NumberOfReponses        uint8
	DeviceAddress           BluetoothDeviceAddress
	PageScanRepetitionMode  kernel.BluetoothPageScanRepetitionMode
	Reserved                uint8
	ClassOfDevice           kernel.BluetoothClassOfDevice
	ClockOffset             kernel.BluetoothClockOffset
	RSSIValue               kernel.BluetoothHCIRSSIValue
	ExtendedInquiryResponse BluetoothHCIExtendedInquiryResponse
}

BluetoothHCIExtendedInquiryResult

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIExtendedInquiryResult

type BluetoothHCIFECRequiredValues

type BluetoothHCIFECRequiredValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIFECRequiredValues

const (
	KBluetoothHCIFECNotRequired BluetoothHCIFECRequiredValues = 0x1
	KBluetoothHCIFECRequired    BluetoothHCIFECRequiredValues = 0
)

func (BluetoothHCIFECRequiredValues) String

type BluetoothHCIFailedContactInfo

type BluetoothHCIFailedContactInfo struct {
	Count  kernel.BluetoothHCIFailedContactCount
	Handle kernel.BluetoothConnectionHandle
}

BluetoothHCIFailedContactInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIFailedContactInfo

type BluetoothHCIGeneralFlowControlStates

type BluetoothHCIGeneralFlowControlStates uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIGeneralFlowControlStates

const (
	KHCIACLDataPacketsOffHCISCODataPacketsOn BluetoothHCIGeneralFlowControlStates = 0x2
	KHCIACLDataPacketsOnHCISCODataPacketsOff BluetoothHCIGeneralFlowControlStates = 0x1
	KHCIACLDataPacketsOnHCISCODataPacketsOn  BluetoothHCIGeneralFlowControlStates = 0x3
	KHostControllerToHostFlowControlOff      BluetoothHCIGeneralFlowControlStates = 0
)

func (BluetoothHCIGeneralFlowControlStates) String

type BluetoothHCIHoldModeActivityStates

type BluetoothHCIHoldModeActivityStates uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIHoldModeActivityStates

const (
	KMaintainCurrentPowerState BluetoothHCIHoldModeActivityStates = 0
	KSuspendInquiryScan        BluetoothHCIHoldModeActivityStates = 0x2
	KSuspendPageScan           BluetoothHCIHoldModeActivityStates = 0x1
	KSuspendPeriodicInquiries  BluetoothHCIHoldModeActivityStates = 0x3
)

func (BluetoothHCIHoldModeActivityStates) String

type BluetoothHCIInquiryAccessCode

type BluetoothHCIInquiryAccessCode struct {
	Data [3]uint8
}

BluetoothHCIInquiryAccessCode

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIInquiryAccessCode

type BluetoothHCIInquiryModes

type BluetoothHCIInquiryModes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIInquiryModes

const (
	KBluetoothHCIInquiryModeResultFormatStandard                              BluetoothHCIInquiryModes = 0
	KBluetoothHCIInquiryModeResultFormatWithRSSI                              BluetoothHCIInquiryModes = 0x1
	KBluetoothHCIInquiryModeResultFormatWithRSSIOrExtendedInquiryResultFormat BluetoothHCIInquiryModes = 0x2
)

func (BluetoothHCIInquiryModes) String

func (e BluetoothHCIInquiryModes) String() string

type BluetoothHCIInquiryResult

type BluetoothHCIInquiryResult struct {
	DeviceAddress          BluetoothDeviceAddress
	PageScanRepetitionMode kernel.BluetoothPageScanRepetitionMode
	PageScanPeriodMode     kernel.BluetoothHCIPageScanPeriodMode
	PageScanMode           kernel.BluetoothHCIPageScanMode
	ClassOfDevice          kernel.BluetoothClassOfDevice
	ClockOffset            kernel.BluetoothClockOffset
}

BluetoothHCIInquiryResult

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIInquiryResult

type BluetoothHCIInquiryResults

type BluetoothHCIInquiryResults struct {
	Results [50]BluetoothHCIInquiryResult
	Count   uint32
}

BluetoothHCIInquiryResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIInquiryResults

type BluetoothHCIInquiryScanTypes

type BluetoothHCIInquiryScanTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIInquiryScanTypes

const (
	KBluetoothHCIInquiryScanTypeInterlaced    BluetoothHCIInquiryScanTypes = 0x1
	KBluetoothHCIInquiryScanTypeReservedEnd   BluetoothHCIInquiryScanTypes = 0xff
	KBluetoothHCIInquiryScanTypeReservedStart BluetoothHCIInquiryScanTypes = 0x2
	KBluetoothHCIInquiryScanTypeStandard      BluetoothHCIInquiryScanTypes = 0
)

func (BluetoothHCIInquiryScanTypes) String

type BluetoothHCIInquiryWithRSSIResult

type BluetoothHCIInquiryWithRSSIResult struct {
	DeviceAddress          BluetoothDeviceAddress
	PageScanRepetitionMode kernel.BluetoothPageScanRepetitionMode
	Reserved               uint8
	ClassOfDevice          kernel.BluetoothClassOfDevice
	ClockOffset            kernel.BluetoothClockOffset
	RSSIValue              kernel.BluetoothHCIRSSIValue
}

BluetoothHCIInquiryWithRSSIResult

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIInquiryWithRSSIResult

type BluetoothHCIInquiryWithRSSIResults

type BluetoothHCIInquiryWithRSSIResults struct {
	Results [50]BluetoothHCIInquiryWithRSSIResult
	Count   uint32
}

BluetoothHCIInquiryWithRSSIResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIInquiryWithRSSIResults

type BluetoothHCILEBufferSize

type BluetoothHCILEBufferSize struct {
	ACLDataPacketLength    uint16
	TotalNumACLDataPackets uint8
}

BluetoothHCILEBufferSize

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCILEBufferSize

type BluetoothHCILinkPolicySettingsInfo

type BluetoothHCILinkPolicySettingsInfo struct {
	Settings kernel.BluetoothHCILinkPolicySettings
	Handle   kernel.BluetoothConnectionHandle
}

BluetoothHCILinkPolicySettingsInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCILinkPolicySettingsInfo

type BluetoothHCILinkPolicySettingsValues

type BluetoothHCILinkPolicySettingsValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCILinkPolicySettingsValues

const (
	KDisableAllLMModes             BluetoothHCILinkPolicySettingsValues = 0
	KEnableCentralPeripheralSwitch BluetoothHCILinkPolicySettingsValues = 0x1
	KEnableHoldMode                BluetoothHCILinkPolicySettingsValues = 0x2
	KEnableMasterSlaveSwitch       BluetoothHCILinkPolicySettingsValues = 1
	KEnableParkMode                BluetoothHCILinkPolicySettingsValues = 0x8
	KEnableSniffMode               BluetoothHCILinkPolicySettingsValues = 0x4
	KReservedForFutureUse          BluetoothHCILinkPolicySettingsValues = 0x10
)

func (BluetoothHCILinkPolicySettingsValues) String

type BluetoothHCILinkQualityInfo

type BluetoothHCILinkQualityInfo struct {
	Handle       kernel.BluetoothConnectionHandle
	QualityValue kernel.BluetoothHCILinkQuality
}

BluetoothHCILinkQualityInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCILinkQualityInfo

type BluetoothHCILinkSupervisionTimeout

type BluetoothHCILinkSupervisionTimeout struct {
	Handle  kernel.BluetoothConnectionHandle
	Timeout uint16
}

BluetoothHCILinkSupervisionTimeout

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCILinkSupervisionTimeout

type BluetoothHCIPageScanEnableStates

type BluetoothHCIPageScanEnableStates uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIPageScanEnableStates

const (
	KInquiryScanDisabledPageScanEnabled BluetoothHCIPageScanEnableStates = 0x2
	KInquiryScanEnabledPageScanDisabled BluetoothHCIPageScanEnableStates = 0x1
	KInquiryScanEnabledPageScanEnabled  BluetoothHCIPageScanEnableStates = 0x3
	KNoScansEnabled                     BluetoothHCIPageScanEnableStates = 0
)

func (BluetoothHCIPageScanEnableStates) String

type BluetoothHCIPageScanModes

type BluetoothHCIPageScanModes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIPageScanModes

const (
	KMandatoryPageScanMode BluetoothHCIPageScanModes = 0
	KOptionalPageScanMode1 BluetoothHCIPageScanModes = 0x1
	KOptionalPageScanMode2 BluetoothHCIPageScanModes = 0x2
	KOptionalPageScanMode3 BluetoothHCIPageScanModes = 0x3
)

func (BluetoothHCIPageScanModes) String

func (e BluetoothHCIPageScanModes) String() string

type BluetoothHCIPageScanTypes

type BluetoothHCIPageScanTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIPageScanTypes

const (
	KBluetoothHCIPageScanTypeInterlaced    BluetoothHCIPageScanTypes = 0x1
	KBluetoothHCIPageScanTypeReservedEnd   BluetoothHCIPageScanTypes = 0xff
	KBluetoothHCIPageScanTypeReservedStart BluetoothHCIPageScanTypes = 0x2
	KBluetoothHCIPageScanTypeStandard      BluetoothHCIPageScanTypes = 0
)

func (BluetoothHCIPageScanTypes) String

func (e BluetoothHCIPageScanTypes) String() string

type BluetoothHCIPowerState

type BluetoothHCIPowerState uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIPowerState

const (
	KBluetoothHCIPowerStateOFF          BluetoothHCIPowerState = 0
	KBluetoothHCIPowerStateON           BluetoothHCIPowerState = 0x1
	KBluetoothHCIPowerStateUnintialized BluetoothHCIPowerState = 0xff
)

func (BluetoothHCIPowerState) String

func (e BluetoothHCIPowerState) String() string

type BluetoothHCIQualityOfServiceSetupParams

type BluetoothHCIQualityOfServiceSetupParams struct {
	Flags          uint8
	ServiceType    uint8
	TokenRate      uint32
	PeakBandwidth  uint32
	Latency        uint32
	DelayVariation uint32
}

BluetoothHCIQualityOfServiceSetupParams

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIQualityOfServiceSetupParams

type BluetoothHCIRSSIInfo

type BluetoothHCIRSSIInfo struct {
	Handle    kernel.BluetoothConnectionHandle
	RSSIValue kernel.BluetoothHCIRSSIValue
}

BluetoothHCIRSSIInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIRSSIInfo

type BluetoothHCIReadExtendedInquiryResponseResults

type BluetoothHCIReadExtendedInquiryResponseResults struct {
	OutFECRequired          kernel.BluetoothHCIFECRequired
	ExtendedInquiryResponse BluetoothHCIExtendedInquiryResponse
}

BluetoothHCIReadExtendedInquiryResponseResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIReadExtendedInquiryResponseResults

type BluetoothHCIReadLMPHandleResults

type BluetoothHCIReadLMPHandleResults struct {
	Handle     kernel.BluetoothConnectionHandle
	Lmp_handle kernel.BluetoothLMPHandle
	Reserved   uint32
}

BluetoothHCIReadLMPHandleResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIReadLMPHandleResults

type BluetoothHCIReadLocalOOBDataResults

type BluetoothHCIReadLocalOOBDataResults struct {
	Hash       BluetoothHCISimplePairingOOBData
	Randomizer BluetoothHCISimplePairingOOBData
}

BluetoothHCIReadLocalOOBDataResults

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIReadLocalOOBDataResults

type BluetoothHCIReadStoredLinkKeysFlags

type BluetoothHCIReadStoredLinkKeysFlags uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIReadStoredLinkKeysFlags

const (
	KReadAllStoredLinkKeys               BluetoothHCIReadStoredLinkKeysFlags = 0x1
	KReturnLinkKeyForSpecifiedDeviceOnly BluetoothHCIReadStoredLinkKeysFlags = 0
)

func (BluetoothHCIReadStoredLinkKeysFlags) String

type BluetoothHCIRequestCallbackInfo

type BluetoothHCIRequestCallbackInfo struct {
	UserCallback   uint64
	UserRefCon     uint64
	InternalRefCon uint64
	AsyncIDRefCon  uint64
	Reserved       uint64
}

BluetoothHCIRequestCallbackInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIRequestCallbackInfo

type BluetoothHCIRetransmissionEffortTypes

type BluetoothHCIRetransmissionEffortTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIRetransmissionEffortTypes

const (
	KHCIRetransmissionEffortTypeAtLeastOneAndOptimizeForPower    BluetoothHCIRetransmissionEffortTypes = 0x1
	KHCIRetransmissionEffortTypeAtLeastOneAndOptimizeLinkQuality BluetoothHCIRetransmissionEffortTypes = 0x2
	KHCIRetransmissionEffortTypeDontCare                         BluetoothHCIRetransmissionEffortTypes = 0xff
	KHCIRetransmissionEffortTypeNone                             BluetoothHCIRetransmissionEffortTypes = 0
)

func (BluetoothHCIRetransmissionEffortTypes) String

type BluetoothHCIRoleInfo

type BluetoothHCIRoleInfo struct {
	Role   uint8
	Handle kernel.BluetoothConnectionHandle
}

BluetoothHCIRoleInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIRoleInfo

type BluetoothHCIRoles

type BluetoothHCIRoles uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIRoles

const (
	KBluetoothHCICentralRole    BluetoothHCIRoles = 0
	KBluetoothHCIMasterRole     BluetoothHCIRoles = 0
	KBluetoothHCIPeripheralRole BluetoothHCIRoles = 0x1
	KBluetoothHCISlaveRole      BluetoothHCIRoles = 1
)

func (BluetoothHCIRoles) String

func (e BluetoothHCIRoles) String() string

type BluetoothHCISCOFlowControlStates

type BluetoothHCISCOFlowControlStates uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCISCOFlowControlStates

const (
	KSCOFlowControlDisabled BluetoothHCISCOFlowControlStates = 0
	KSCOFlowControlEnabled  BluetoothHCISCOFlowControlStates = 0x1
)

func (BluetoothHCISCOFlowControlStates) String

type BluetoothHCIScanActivity

type BluetoothHCIScanActivity struct {
	ScanInterval uint16
	ScanWindow   uint16
}

BluetoothHCIScanActivity

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIScanActivity

type BluetoothHCISetupSynchronousConnectionParams

type BluetoothHCISetupSynchronousConnectionParams struct {
	TransmitBandwidth    uint32
	ReceiveBandwidth     uint32
	MaxLatency           uint16
	VoiceSetting         uint16
	RetransmissionEffort uint8
	PacketType           uint16
}

BluetoothHCISetupSynchronousConnectionParams

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCISetupSynchronousConnectionParams

type BluetoothHCISimplePairingModes

type BluetoothHCISimplePairingModes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCISimplePairingModes

const (
	KBluetoothHCISimplePairingModeEnabled BluetoothHCISimplePairingModes = 0x1
	KBluetoothHCISimplePairingModeNotSet  BluetoothHCISimplePairingModes = 0
)

func (BluetoothHCISimplePairingModes) String

type BluetoothHCISimplePairingOOBData

type BluetoothHCISimplePairingOOBData struct {
	Data [16]uint8
}

BluetoothHCISimplePairingOOBData

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCISimplePairingOOBData

type BluetoothHCIStoredLinkKeysInfo

type BluetoothHCIStoredLinkKeysInfo struct {
	NumLinkKeysRead               uint16
	MaxNumLinkKeysAllowedInDevice uint16
}

BluetoothHCIStoredLinkKeysInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIStoredLinkKeysInfo

type BluetoothHCISupportedCommands

type BluetoothHCISupportedCommands struct {
	Data [64]uint8
}

BluetoothHCISupportedCommands

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCISupportedCommands

type BluetoothHCISupportedFeatures

type BluetoothHCISupportedFeatures struct {
	Data [8]uint8
}

BluetoothHCISupportedFeatures

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCISupportedFeatures

type BluetoothHCITimeoutValues

type BluetoothHCITimeoutValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCITimeoutValues

const (
	KDefaultPageTimeout BluetoothHCITimeoutValues = 0x2710
)

func (BluetoothHCITimeoutValues) String

func (e BluetoothHCITimeoutValues) String() string

type BluetoothHCITransmitPowerLevelInfo

type BluetoothHCITransmitPowerLevelInfo struct {
	Handle kernel.BluetoothConnectionHandle
	Level  kernel.BluetoothHCITransmitPowerLevel
}

BluetoothHCITransmitPowerLevelInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCITransmitPowerLevelInfo

type BluetoothHCITransmitReadPowerLevelTypes

type BluetoothHCITransmitReadPowerLevelTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCITransmitReadPowerLevelTypes

const (
	KReadCurrentTransmitPowerLevel BluetoothHCITransmitReadPowerLevelTypes = 0
	KReadMaximumTransmitPowerLevel BluetoothHCITransmitReadPowerLevelTypes = 0x1
)

func (BluetoothHCITransmitReadPowerLevelTypes) String

type BluetoothHCIVersionInfo

type BluetoothHCIVersionInfo struct {
	ManufacturerName kernel.BluetoothManufacturerName
	LmpVersion       kernel.BluetoothLMPVersion
	LmpSubVersion    kernel.BluetoothLMPSubversion
	HciVersion       uint8
	HciRevision      uint16
}

BluetoothHCIVersionInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIVersionInfo

type BluetoothHCIVersions

type BluetoothHCIVersions uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothHCIVersions

const (
	KBluetoothHCIVersionCoreSpecification1_0b   BluetoothHCIVersions = 0
	KBluetoothHCIVersionCoreSpecification1_1    BluetoothHCIVersions = 0x1
	KBluetoothHCIVersionCoreSpecification1_2    BluetoothHCIVersions = 0x2
	KBluetoothHCIVersionCoreSpecification2_0EDR BluetoothHCIVersions = 0x3
	KBluetoothHCIVersionCoreSpecification2_1EDR BluetoothHCIVersions = 0x4
	KBluetoothHCIVersionCoreSpecification3_0HS  BluetoothHCIVersions = 0x5
	KBluetoothHCIVersionCoreSpecification4_0    BluetoothHCIVersions = 0x6
	KBluetoothHCIVersionCoreSpecification4_1    BluetoothHCIVersions = 0x7
	KBluetoothHCIVersionCoreSpecification4_2    BluetoothHCIVersions = 0x8
	KBluetoothHCIVersionCoreSpecification5_0    BluetoothHCIVersions = 0x9
	KBluetoothHCIVersionCoreSpecification5_1    BluetoothHCIVersions = 0xa
	KBluetoothHCIVersionCoreSpecification5_2    BluetoothHCIVersions = 0xb
	KBluetoothHCIVersionCoreSpecification5_3    BluetoothHCIVersions = 0xc
)

func (BluetoothHCIVersions) String

func (e BluetoothHCIVersions) String() string

type BluetoothIOCapabilities

type BluetoothIOCapabilities uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothIOCapabilities

const (
	KBluetoothCapabilityTypeDisplayOnly     BluetoothIOCapabilities = 0
	KBluetoothCapabilityTypeDisplayYesNo    BluetoothIOCapabilities = 0x1
	KBluetoothCapabilityTypeKeyboardOnly    BluetoothIOCapabilities = 0x2
	KBluetoothCapabilityTypeNoInputNoOutput BluetoothIOCapabilities = 0x3
)

func (BluetoothIOCapabilities) String

func (e BluetoothIOCapabilities) String() string

type BluetoothIOCapabilityResponse

type BluetoothIOCapabilityResponse struct {
	DeviceAddress              BluetoothDeviceAddress
	IoCapability               kernel.BluetoothIOCapability
	OOBDataPresence            kernel.BluetoothOOBDataPresence
	AuthenticationRequirements kernel.BluetoothAuthenticationRequirements
}

BluetoothIOCapabilityResponse

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothIOCapabilityResponse

type BluetoothIRK

type BluetoothIRK struct {
	Data [16]uint8
}

BluetoothIRK

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothIRK

type BluetoothKey

type BluetoothKey struct {
	Data [16]uint8
}

BluetoothKey

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothKey

type BluetoothKeypressNotification

type BluetoothKeypressNotification struct {
	DeviceAddress    BluetoothDeviceAddress
	NotificationType kernel.BluetoothKeypressNotificationType
}

BluetoothKeypressNotification

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothKeypressNotification

type BluetoothKeypressNotificationTypes

type BluetoothKeypressNotificationTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothKeypressNotificationTypes

const (
	KBluetoothKeypressNotificationTypePasskeyCleared        BluetoothKeypressNotificationTypes = 3
	KBluetoothKeypressNotificationTypePasskeyDigitEntered   BluetoothKeypressNotificationTypes = 1
	KBluetoothKeypressNotificationTypePasskeyDigitErased    BluetoothKeypressNotificationTypes = 2
	KBluetoothKeypressNotificationTypePasskeyEntryCompleted BluetoothKeypressNotificationTypes = 4
	KBluetoothKeypressNotificationTypePasskeyEntryStarted   BluetoothKeypressNotificationTypes = 0
)

func (BluetoothKeypressNotificationTypes) String

type BluetoothL2CAPCommandCode

type BluetoothL2CAPCommandCode uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPCommandCode

const (
	KBluetoothL2CAPCommandCodeCommandReject                     BluetoothL2CAPCommandCode = 0x1
	KBluetoothL2CAPCommandCodeConfigureRequest                  BluetoothL2CAPCommandCode = 0x4
	KBluetoothL2CAPCommandCodeConfigureResponse                 BluetoothL2CAPCommandCode = 0x5
	KBluetoothL2CAPCommandCodeConnectionParameterUpdateRequest  BluetoothL2CAPCommandCode = 0x12
	KBluetoothL2CAPCommandCodeConnectionParameterUpdateResponse BluetoothL2CAPCommandCode = 0x13
	KBluetoothL2CAPCommandCodeConnectionRequest                 BluetoothL2CAPCommandCode = 0x2
	KBluetoothL2CAPCommandCodeConnectionResponse                BluetoothL2CAPCommandCode = 0x3
	KBluetoothL2CAPCommandCodeCreateChannelRequest              BluetoothL2CAPCommandCode = 0xc
	KBluetoothL2CAPCommandCodeCreateChannelResponse             BluetoothL2CAPCommandCode = 0xd
	KBluetoothL2CAPCommandCodeDisconnectionRequest              BluetoothL2CAPCommandCode = 0x6
	KBluetoothL2CAPCommandCodeDisconnectionResponse             BluetoothL2CAPCommandCode = 0x7
	KBluetoothL2CAPCommandCodeEchoRequest                       BluetoothL2CAPCommandCode = 0x8
	KBluetoothL2CAPCommandCodeEchoResponse                      BluetoothL2CAPCommandCode = 0x9
	KBluetoothL2CAPCommandCodeInformationRequest                BluetoothL2CAPCommandCode = 0xa
	KBluetoothL2CAPCommandCodeInformationResponse               BluetoothL2CAPCommandCode = 0xb
	KBluetoothL2CAPCommandCodeLECreditBasedConnectionRequest    BluetoothL2CAPCommandCode = 0x14
	KBluetoothL2CAPCommandCodeLECreditBasedConnectionResponse   BluetoothL2CAPCommandCode = 0x15
	KBluetoothL2CAPCommandCodeLEFlowControlCredit               BluetoothL2CAPCommandCode = 0x16
	KBluetoothL2CAPCommandCodeMoveChannelConfirmation           BluetoothL2CAPCommandCode = 0x10
	KBluetoothL2CAPCommandCodeMoveChannelConfirmationResponse   BluetoothL2CAPCommandCode = 0x11
	KBluetoothL2CAPCommandCodeMoveChannelRequest                BluetoothL2CAPCommandCode = 0xe
	KBluetoothL2CAPCommandCodeMoveChannelResponse               BluetoothL2CAPCommandCode = 0xf
	KBluetoothL2CAPCommandCodeReserved                          BluetoothL2CAPCommandCode = 0
)

func (BluetoothL2CAPCommandCode) String

func (e BluetoothL2CAPCommandCode) String() string

type BluetoothL2CAPCommandRejectReason

type BluetoothL2CAPCommandRejectReason uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPCommandRejectReason

const (
	KBluetoothL2CAPCommandRejectReasonCommandNotUnderstood  BluetoothL2CAPCommandRejectReason = 0
	KBluetoothL2CAPCommandRejectReasonInvalidCIDInRequest   BluetoothL2CAPCommandRejectReason = 0x2
	KBluetoothL2CAPCommandRejectReasonSignallingMTUExceeded BluetoothL2CAPCommandRejectReason = 0x1
)

func (BluetoothL2CAPCommandRejectReason) String

type BluetoothL2CAPConfigurationOption

type BluetoothL2CAPConfigurationOption uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPConfigurationOption

const (
	KBluetoothL2CAPConfigurationOptionExtendedFlowSpecification    BluetoothL2CAPConfigurationOption = 0x6
	KBluetoothL2CAPConfigurationOptionExtendedWindowSize           BluetoothL2CAPConfigurationOption = 0x7
	KBluetoothL2CAPConfigurationOptionFlushTimeout                 BluetoothL2CAPConfigurationOption = 0x2
	KBluetoothL2CAPConfigurationOptionFrameCheckSequence           BluetoothL2CAPConfigurationOption = 0x5
	KBluetoothL2CAPConfigurationOptionMTU                          BluetoothL2CAPConfigurationOption = 0x1
	KBluetoothL2CAPConfigurationOptionQoS                          BluetoothL2CAPConfigurationOption = 0x3
	KBluetoothL2CAPConfigurationOptionRetransmissionAndFlowControl BluetoothL2CAPConfigurationOption = 0x4
)

func (BluetoothL2CAPConfigurationOption) String

type BluetoothL2CAPConfigurationResult

type BluetoothL2CAPConfigurationResult uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPConfigurationResult

const (
	KBluetoothL2CAPConfigurationResultRejected           BluetoothL2CAPConfigurationResult = 0x2
	KBluetoothL2CAPConfigurationResultSuccess            BluetoothL2CAPConfigurationResult = 0
	KBluetoothL2CAPConfigurationResultUnacceptableParams BluetoothL2CAPConfigurationResult = 0x1
	KBluetoothL2CAPConfigurationResultUnknownOptions     BluetoothL2CAPConfigurationResult = 0x3
)

func (BluetoothL2CAPConfigurationResult) String

type BluetoothL2CAPConfigurationRetransmissionAndFlowControlFlags

type BluetoothL2CAPConfigurationRetransmissionAndFlowControlFlags uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPConfigurationRetransmissionAndFlowControlFlags

const (
	KBluetoothL2CAPConfigurationBasicL2CAPModeFlag         BluetoothL2CAPConfigurationRetransmissionAndFlowControlFlags = 0
	KBluetoothL2CAPConfigurationEnhancedRetransmissionMode BluetoothL2CAPConfigurationRetransmissionAndFlowControlFlags = 0x3
	KBluetoothL2CAPConfigurationFlowControlModeFlag        BluetoothL2CAPConfigurationRetransmissionAndFlowControlFlags = 0x2
	KBluetoothL2CAPConfigurationRetransmissionModeFlag     BluetoothL2CAPConfigurationRetransmissionAndFlowControlFlags = 0x1
	KBluetoothL2CAPConfigurationStreamingMode              BluetoothL2CAPConfigurationRetransmissionAndFlowControlFlags = 0x4
)

func (BluetoothL2CAPConfigurationRetransmissionAndFlowControlFlags) String

type BluetoothL2CAPConnectionResult

type BluetoothL2CAPConnectionResult uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPConnectionResult

const (
	KBluetoothL2CAPConnectionResultPending                          BluetoothL2CAPConnectionResult = 0x1
	KBluetoothL2CAPConnectionResultRefusedInvalidSourceCID          BluetoothL2CAPConnectionResult = 0x6
	KBluetoothL2CAPConnectionResultRefusedNoResources               BluetoothL2CAPConnectionResult = 0x4
	KBluetoothL2CAPConnectionResultRefusedPSMNotSupported           BluetoothL2CAPConnectionResult = 0x2
	KBluetoothL2CAPConnectionResultRefusedReserved                  BluetoothL2CAPConnectionResult = 0x5
	KBluetoothL2CAPConnectionResultRefusedSecurityBlock             BluetoothL2CAPConnectionResult = 0x3
	KBluetoothL2CAPConnectionResultRefusedSourceCIDAlreadyAllocated BluetoothL2CAPConnectionResult = 0x7
	KBluetoothL2CAPConnectionResultSuccessful                       BluetoothL2CAPConnectionResult = 0
)

func (BluetoothL2CAPConnectionResult) String

type BluetoothL2CAPConnectionStatus

type BluetoothL2CAPConnectionStatus uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPConnectionStatus

const (
	KBluetoothL2CAPConnectionStatusAuthenticationPending BluetoothL2CAPConnectionStatus = 0x1
	KBluetoothL2CAPConnectionStatusAuthorizationPending  BluetoothL2CAPConnectionStatus = 0x2
	KBluetoothL2CAPConnectionStatusNoInfoAvailable       BluetoothL2CAPConnectionStatus = 0
)

func (BluetoothL2CAPConnectionStatus) String

type BluetoothL2CAPInformationExtendedFeaturesMask

type BluetoothL2CAPInformationExtendedFeaturesMask uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPInformationExtendedFeaturesMask

const (
	KBluetoothL2CAPInformationBidirectionalQoS           BluetoothL2CAPInformationExtendedFeaturesMask = 0x4
	KBluetoothL2CAPInformationEnhancedRetransmissionMode BluetoothL2CAPInformationExtendedFeaturesMask = 0x8
	KBluetoothL2CAPInformationExtendedFlowSpecification  BluetoothL2CAPInformationExtendedFeaturesMask = 0x40
	KBluetoothL2CAPInformationExtendedWindowSize         BluetoothL2CAPInformationExtendedFeaturesMask = 0x100
	KBluetoothL2CAPInformationFCSOption                  BluetoothL2CAPInformationExtendedFeaturesMask = 0x20
	KBluetoothL2CAPInformationFixedChannels              BluetoothL2CAPInformationExtendedFeaturesMask = 0x80
	KBluetoothL2CAPInformationFlowControlMode            BluetoothL2CAPInformationExtendedFeaturesMask = 0x1
	KBluetoothL2CAPInformationNoExtendedFeatures         BluetoothL2CAPInformationExtendedFeaturesMask = 0
	KBluetoothL2CAPInformationRetransmissionMode         BluetoothL2CAPInformationExtendedFeaturesMask = 0x2
	KBluetoothL2CAPInformationStreamingMode              BluetoothL2CAPInformationExtendedFeaturesMask = 0x10
	KBluetoothL2CAPUnicastConnectionlessDataReception    BluetoothL2CAPInformationExtendedFeaturesMask = 0x200
)

func (BluetoothL2CAPInformationExtendedFeaturesMask) String

type BluetoothL2CAPInformationResult

type BluetoothL2CAPInformationResult uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPInformationResult

const (
	KBluetoothL2CAPInformationResultNotSupported BluetoothL2CAPInformationResult = 0x1
	KBluetoothL2CAPInformationResultSuccess      BluetoothL2CAPInformationResult = 0
)

func (BluetoothL2CAPInformationResult) String

type BluetoothL2CAPInformationType

type BluetoothL2CAPInformationType uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPInformationType

const (
	KBluetoothL2CAPInformationTypeConnectionlessMTU      BluetoothL2CAPInformationType = 0x1
	KBluetoothL2CAPInformationTypeExtendedFeatures       BluetoothL2CAPInformationType = 0x2
	KBluetoothL2CAPInformationTypeFixedChannelsSupported BluetoothL2CAPInformationType = 0x3
)

func (BluetoothL2CAPInformationType) String

type BluetoothL2CAPQoSType

type BluetoothL2CAPQoSType uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPQoSType

const (
	KBluetoothL2CAPQoSTypeBestEffort BluetoothL2CAPQoSType = 0x1
	KBluetoothL2CAPQoSTypeGuaranteed BluetoothL2CAPQoSType = 0x2
	KBluetoothL2CAPQoSTypeNoTraffic  BluetoothL2CAPQoSType = 0
)

func (BluetoothL2CAPQoSType) String

func (e BluetoothL2CAPQoSType) String() string

type BluetoothL2CAPQualityOfServiceOptions

type BluetoothL2CAPQualityOfServiceOptions struct {
	Flags           uint8
	ServiceType     uint8
	TokenRate       uint32
	TokenBucketSize uint32
	PeakBandwidth   uint32
	Latency         uint32
	DelayVariation  uint32
}

BluetoothL2CAPQualityOfServiceOptions

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPQualityOfServiceOptions

type BluetoothL2CAPRetransmissionAndFlowControlOptions

type BluetoothL2CAPRetransmissionAndFlowControlOptions struct {
	Flags                 uint8
	TxWindowSize          uint8
	MaxTransmit           uint8
	RetransmissionTimeout uint16
	MonitorTimeout        uint16
	MaxPDUPayloadSize     uint16
}

BluetoothL2CAPRetransmissionAndFlowControlOptions

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPRetransmissionAndFlowControlOptions

type BluetoothL2CAPSegmentationAndReassembly

type BluetoothL2CAPSegmentationAndReassembly uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPSegmentationAndReassembly

const (
	KBluetoothL2CAPSegmentationAndReassemblyContinuationOfSDU BluetoothL2CAPSegmentationAndReassembly = 0x3
	KBluetoothL2CAPSegmentationAndReassemblyEndOfSDU          BluetoothL2CAPSegmentationAndReassembly = 0x2
	KBluetoothL2CAPSegmentationAndReassemblyStartOfSDU        BluetoothL2CAPSegmentationAndReassembly = 0x1
	KBluetoothL2CAPSegmentationAndReassemblyUnsegmentedSDU    BluetoothL2CAPSegmentationAndReassembly = 0
)

func (BluetoothL2CAPSegmentationAndReassembly) String

type BluetoothL2CAPSupervisoryFuctionType

type BluetoothL2CAPSupervisoryFuctionType uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothL2CAPSupervisoryFuctionType

const (
	KBluetoothL2CAPSupervisoryFuctionTypeReceiverNotReady BluetoothL2CAPSupervisoryFuctionType = 0x2
	KBluetoothL2CAPSupervisoryFuctionTypeReceiverReady    BluetoothL2CAPSupervisoryFuctionType = 0
	KBluetoothL2CAPSupervisoryFuctionTypeReject           BluetoothL2CAPSupervisoryFuctionType = 0x1
	KBluetoothL2CAPSupervisoryFuctionTypeSelectiveReject  BluetoothL2CAPSupervisoryFuctionType = 0x3
)

func (BluetoothL2CAPSupervisoryFuctionType) String

type BluetoothLEAddressType

type BluetoothLEAddressType uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLEAddressType

const (
	BluetoothLEAddressTypePublic BluetoothLEAddressType = 0
	BluetoothLEAddressTypeRandom BluetoothLEAddressType = 0x1
)

func (BluetoothLEAddressType) String

func (e BluetoothLEAddressType) String() string

type BluetoothLEAdvertisingType

type BluetoothLEAdvertisingType uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLEAdvertisingType

const (
	BluetoothLEAdvertisingTypeConnectableDirected      BluetoothLEAdvertisingType = 0x1
	BluetoothLEAdvertisingTypeConnectableUndirected    BluetoothLEAdvertisingType = 0
	BluetoothLEAdvertisingTypeDiscoverableUndirected   BluetoothLEAdvertisingType = 0x2
	BluetoothLEAdvertisingTypeNonConnectableUndirected BluetoothLEAdvertisingType = 0x3
	BluetoothLEAdvertisingTypeScanResponse             BluetoothLEAdvertisingType = 0x4
)

func (BluetoothLEAdvertisingType) String

type BluetoothLEConnectionInterval

type BluetoothLEConnectionInterval uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLEConnectionInterval

const (
	BluetoothLEConnectionIntervalMax BluetoothLEConnectionInterval = 0xc80
	BluetoothLEConnectionIntervalMin BluetoothLEConnectionInterval = 0x6
)

func (BluetoothLEConnectionInterval) String

type BluetoothLEFeatureBits

type BluetoothLEFeatureBits uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLEFeatureBits

const (
	KBluetoothLEFeatureConnectionParamsRequestProcedure    BluetoothLEFeatureBits = 2
	KBluetoothLEFeatureExtendedRejectIndication            BluetoothLEFeatureBits = 4
	KBluetoothLEFeatureExtendedScannerFilterPolicies       BluetoothLEFeatureBits = 128
	KBluetoothLEFeatureLEDataPacketLengthExtension         BluetoothLEFeatureBits = 32
	KBluetoothLEFeatureLEEncryption                        BluetoothLEFeatureBits = 1
	KBluetoothLEFeatureLEPing                              BluetoothLEFeatureBits = 16
	KBluetoothLEFeatureLLPrivacy                           BluetoothLEFeatureBits = 64
	KBluetoothLEFeaturePeripheralInitiatedFeaturesExchange BluetoothLEFeatureBits = 8
	KBluetoothLEFeatureSlaveInitiatedFeaturesExchange      BluetoothLEFeatureBits = 8
)

func (BluetoothLEFeatureBits) String

func (e BluetoothLEFeatureBits) String() string

type BluetoothLEScan

type BluetoothLEScan uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLEScan

const (
	BluetoothLEScanDisable BluetoothLEScan = 0
	BluetoothLEScanEnable  BluetoothLEScan = 0x1
)

func (BluetoothLEScan) String

func (e BluetoothLEScan) String() string

type BluetoothLEScanDuplicateFilter

type BluetoothLEScanDuplicateFilter uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLEScanDuplicateFilter

const (
	BluetoothLEScanDuplicateFilterDisable BluetoothLEScanDuplicateFilter = 0
	BluetoothLEScanDuplicateFilterEnable  BluetoothLEScanDuplicateFilter = 0x1
)

func (BluetoothLEScanDuplicateFilter) String

type BluetoothLEScanFilter

type BluetoothLEScanFilter uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLEScanFilter

const (
	BluetoothLEScanFilterNone      BluetoothLEScanFilter = 0
	BluetoothLEScanFilterSafelist  BluetoothLEScanFilter = 0x1
	BluetoothLEScanFilterWhitelist BluetoothLEScanFilter = 1
)

func (BluetoothLEScanFilter) String

func (e BluetoothLEScanFilter) String() string

type BluetoothLEScanType

type BluetoothLEScanType uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLEScanType

const (
	BluetoothLEScanTypeActive  BluetoothLEScanType = 0x1
	BluetoothLEScanTypePassive BluetoothLEScanType = 0
)

func (BluetoothLEScanType) String

func (e BluetoothLEScanType) String() string

type BluetoothLESecurityManagerCommandCode

type BluetoothLESecurityManagerCommandCode uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLESecurityManagerCommandCode

const (
	KBluetoothLESecurityManagerCommandCodeEncryptionInfo              BluetoothLESecurityManagerCommandCode = 0x6
	KBluetoothLESecurityManagerCommandCodeIdentityAddressInfo         BluetoothLESecurityManagerCommandCode = 0x9
	KBluetoothLESecurityManagerCommandCodeIdentityInfo                BluetoothLESecurityManagerCommandCode = 0x8
	KBluetoothLESecurityManagerCommandCodeMasterIdentification        BluetoothLESecurityManagerCommandCode = 0x7
	KBluetoothLESecurityManagerCommandCodePairingConfirm              BluetoothLESecurityManagerCommandCode = 0x3
	KBluetoothLESecurityManagerCommandCodePairingDHKeyCheck           BluetoothLESecurityManagerCommandCode = 0xd
	KBluetoothLESecurityManagerCommandCodePairingFailed               BluetoothLESecurityManagerCommandCode = 0x5
	KBluetoothLESecurityManagerCommandCodePairingKeypressNotification BluetoothLESecurityManagerCommandCode = 0xe
	KBluetoothLESecurityManagerCommandCodePairingPublicKey            BluetoothLESecurityManagerCommandCode = 0xc
	KBluetoothLESecurityManagerCommandCodePairingRandom               BluetoothLESecurityManagerCommandCode = 0x4
	KBluetoothLESecurityManagerCommandCodePairingRequest              BluetoothLESecurityManagerCommandCode = 0x1
	KBluetoothLESecurityManagerCommandCodePairingResponse             BluetoothLESecurityManagerCommandCode = 0x2
	KBluetoothLESecurityManagerCommandCodeReserved                    BluetoothLESecurityManagerCommandCode = 0
	KBluetoothLESecurityManagerCommandCodeReservedEnd                 BluetoothLESecurityManagerCommandCode = 0xff
	KBluetoothLESecurityManagerCommandCodeReservedStart               BluetoothLESecurityManagerCommandCode = 0xf
	KBluetoothLESecurityManagerCommandCodeSecurityRequest             BluetoothLESecurityManagerCommandCode = 0xb
	KBluetoothLESecurityManagerCommandCodeSigningInfo                 BluetoothLESecurityManagerCommandCode = 0xa
)

func (BluetoothLESecurityManagerCommandCode) String

type BluetoothLESecurityManagerIOCapability

type BluetoothLESecurityManagerIOCapability uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLESecurityManagerIOCapability

const (
	KBluetoothLESecurityManagerIOCapabilityDisplayOnly     BluetoothLESecurityManagerIOCapability = 0
	KBluetoothLESecurityManagerIOCapabilityDisplayYesNo    BluetoothLESecurityManagerIOCapability = 0x1
	KBluetoothLESecurityManagerIOCapabilityKeyboardDisplay BluetoothLESecurityManagerIOCapability = 0x4
	KBluetoothLESecurityManagerIOCapabilityKeyboardOnly    BluetoothLESecurityManagerIOCapability = 0x2
	KBluetoothLESecurityManagerIOCapabilityNoInputNoOutput BluetoothLESecurityManagerIOCapability = 0x3
	KBluetoothLESecurityManagerIOCapabilityReservedEnd     BluetoothLESecurityManagerIOCapability = 0xff
	KBluetoothLESecurityManagerIOCapabilityReservedStart   BluetoothLESecurityManagerIOCapability = 0x5
)

func (BluetoothLESecurityManagerIOCapability) String

type BluetoothLESecurityManagerKeyDistributionFormat

type BluetoothLESecurityManagerKeyDistributionFormat uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLESecurityManagerKeyDistributionFormat

const (
	KBluetoothLESecurityManagerEncryptionKey BluetoothLESecurityManagerKeyDistributionFormat = 1
	KBluetoothLESecurityManagerIDKey         BluetoothLESecurityManagerKeyDistributionFormat = 2
	KBluetoothLESecurityManagerLinkKey       BluetoothLESecurityManagerKeyDistributionFormat = 8
	KBluetoothLESecurityManagerSignKey       BluetoothLESecurityManagerKeyDistributionFormat = 4
)

func (BluetoothLESecurityManagerKeyDistributionFormat) String

type BluetoothLESecurityManagerKeypressNotificationType

type BluetoothLESecurityManagerKeypressNotificationType uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLESecurityManagerKeypressNotificationType

const (
	KBluetoothLESecurityManagerNotificationTypePasskeyCleared        BluetoothLESecurityManagerKeypressNotificationType = 3
	KBluetoothLESecurityManagerNotificationTypePasskeyDigitEntered   BluetoothLESecurityManagerKeypressNotificationType = 1
	KBluetoothLESecurityManagerNotificationTypePasskeyDigitErased    BluetoothLESecurityManagerKeypressNotificationType = 2
	KBluetoothLESecurityManagerNotificationTypePasskeyEntryCompleted BluetoothLESecurityManagerKeypressNotificationType = 4
	KBluetoothLESecurityManagerNotificationTypePasskeyEntryStarted   BluetoothLESecurityManagerKeypressNotificationType = 0
	KBluetoothLESecurityManagerNotificationTypeReservedEnd           BluetoothLESecurityManagerKeypressNotificationType = 255
	KBluetoothLESecurityManagerNotificationTypeReservedStart         BluetoothLESecurityManagerKeypressNotificationType = 5
)

func (BluetoothLESecurityManagerKeypressNotificationType) String

type BluetoothLESecurityManagerOOBData

type BluetoothLESecurityManagerOOBData uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLESecurityManagerOOBData

const (
	KBluetoothLESecurityManagerOOBAuthenticationDataNotPresent BluetoothLESecurityManagerOOBData = 0
	KBluetoothLESecurityManagerOOBAuthenticationDataPresent    BluetoothLESecurityManagerOOBData = 0x1
	KBluetoothLESecurityManagerOOBDataReservedEnd              BluetoothLESecurityManagerOOBData = 0xff
	KBluetoothLESecurityManagerOOBDataReservedStart            BluetoothLESecurityManagerOOBData = 0x2
)

func (BluetoothLESecurityManagerOOBData) String

type BluetoothLESecurityManagerPairingFailedReasonCode

type BluetoothLESecurityManagerPairingFailedReasonCode uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLESecurityManagerPairingFailedReasonCode

const (
	KBluetoothLESecurityManagerReasonCodeAuthenticationRequirements                      BluetoothLESecurityManagerPairingFailedReasonCode = 0x3
	KBluetoothLESecurityManagerReasonCodeBREDRPairingInProgress                          BluetoothLESecurityManagerPairingFailedReasonCode = 0xd
	KBluetoothLESecurityManagerReasonCodeCommandNotSupported                             BluetoothLESecurityManagerPairingFailedReasonCode = 0x7
	KBluetoothLESecurityManagerReasonCodeConfirmValueFailed                              BluetoothLESecurityManagerPairingFailedReasonCode = 0x4
	KBluetoothLESecurityManagerReasonCodeCrossTransportKeyDerivationGenerationNotAllowed BluetoothLESecurityManagerPairingFailedReasonCode = 0xe
	KBluetoothLESecurityManagerReasonCodeDHKeyCheckFailed                                BluetoothLESecurityManagerPairingFailedReasonCode = 0xb
	KBluetoothLESecurityManagerReasonCodeEncryptionKeySize                               BluetoothLESecurityManagerPairingFailedReasonCode = 0x6
	KBluetoothLESecurityManagerReasonCodeInvalidParameters                               BluetoothLESecurityManagerPairingFailedReasonCode = 0xa
	KBluetoothLESecurityManagerReasonCodeNumericComparisonFailed                         BluetoothLESecurityManagerPairingFailedReasonCode = 0xc
	KBluetoothLESecurityManagerReasonCodeOOBNotAvailbale                                 BluetoothLESecurityManagerPairingFailedReasonCode = 0x2
	KBluetoothLESecurityManagerReasonCodePairingNotSupported                             BluetoothLESecurityManagerPairingFailedReasonCode = 0x5
	KBluetoothLESecurityManagerReasonCodePasskeyEntryFailed                              BluetoothLESecurityManagerPairingFailedReasonCode = 0x1
	KBluetoothLESecurityManagerReasonCodeRepeatedAttempts                                BluetoothLESecurityManagerPairingFailedReasonCode = 0x9
	KBluetoothLESecurityManagerReasonCodeReserved                                        BluetoothLESecurityManagerPairingFailedReasonCode = 0
	KBluetoothLESecurityManagerReasonCodeReservedEnd                                     BluetoothLESecurityManagerPairingFailedReasonCode = 0xff
	KBluetoothLESecurityManagerReasonCodeReservedStart                                   BluetoothLESecurityManagerPairingFailedReasonCode = 0xf
	KBluetoothLESecurityManagerReasonCodeUnspecifiedReason                               BluetoothLESecurityManagerPairingFailedReasonCode = 0x8
)

func (BluetoothLESecurityManagerPairingFailedReasonCode) String

type BluetoothLESecurityManagerUserInputCapability

type BluetoothLESecurityManagerUserInputCapability uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLESecurityManagerUserInputCapability

const (
	KBluetoothLESecurityManagerUserInputCapabilityKeyboard BluetoothLESecurityManagerUserInputCapability = 0x3
	KBluetoothLESecurityManagerUserInputCapabilityNoInput  BluetoothLESecurityManagerUserInputCapability = 0x1
	KBluetoothLESecurityManagerUserInputCapabilityYesNo    BluetoothLESecurityManagerUserInputCapability = 0x2
)

func (BluetoothLESecurityManagerUserInputCapability) String

type BluetoothLESecurityManagerUserOutputCapability

type BluetoothLESecurityManagerUserOutputCapability uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLESecurityManagerUserOutputCapability

const (
	KBluetoothLESecurityManagerUserOutputCapabilityNoOutput      BluetoothLESecurityManagerUserOutputCapability = 0x1
	KBluetoothLESecurityManagerUserOutputCapabilityNumericOutput BluetoothLESecurityManagerUserOutputCapability = 0x2
)

func (BluetoothLESecurityManagerUserOutputCapability) String

type BluetoothLMPVersions

type BluetoothLMPVersions uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLMPVersions

const (
	KBluetoothLMPVersionCoreSpecification1_0b   BluetoothLMPVersions = 0
	KBluetoothLMPVersionCoreSpecification1_1    BluetoothLMPVersions = 0x1
	KBluetoothLMPVersionCoreSpecification1_2    BluetoothLMPVersions = 0x2
	KBluetoothLMPVersionCoreSpecification2_0EDR BluetoothLMPVersions = 0x3
	KBluetoothLMPVersionCoreSpecification2_1EDR BluetoothLMPVersions = 0x4
	KBluetoothLMPVersionCoreSpecification3_0HS  BluetoothLMPVersions = 0x5
	KBluetoothLMPVersionCoreSpecification4_0    BluetoothLMPVersions = 0x6
	KBluetoothLMPVersionCoreSpecification4_1    BluetoothLMPVersions = 0x7
	KBluetoothLMPVersionCoreSpecification4_2    BluetoothLMPVersions = 0x8
	KBluetoothLMPVersionCoreSpecification5_0    BluetoothLMPVersions = 0x9
	KBluetoothLMPVersionCoreSpecification5_1    BluetoothLMPVersions = 0xa
	KBluetoothLMPVersionCoreSpecification5_2    BluetoothLMPVersions = 0xb
)

func (BluetoothLMPVersions) String

func (e BluetoothLMPVersions) String() string

type BluetoothLinkTypes

type BluetoothLinkTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothLinkTypes

const (
	KBluetoothACLConnection  BluetoothLinkTypes = 1
	KBluetoothESCOConnection BluetoothLinkTypes = 2
	KBluetoothLinkTypeNone   BluetoothLinkTypes = 0xff
	KBluetoothSCOConnection  BluetoothLinkTypes = 0
)

func (BluetoothLinkTypes) String

func (e BluetoothLinkTypes) String() string

type BluetoothOOBDataPresenceValues

type BluetoothOOBDataPresenceValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothOOBDataPresenceValues

const (
	KBluetoothOOBAuthenticationDataFromRemoteDevicePresent BluetoothOOBDataPresenceValues = 0x1
	KBluetoothOOBAuthenticationDataNotPresent              BluetoothOOBDataPresenceValues = 0
)

func (BluetoothOOBDataPresenceValues) String

type BluetoothPINCode

type BluetoothPINCode struct {
	Data [16]uint8
}

BluetoothPINCode

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothPINCode

type BluetoothRFCOMMLineStatus

type BluetoothRFCOMMLineStatus uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothRFCOMMLineStatus

const (
	BluetoothRFCOMMLineStatusFramingError BluetoothRFCOMMLineStatus = 3
	BluetoothRFCOMMLineStatusNoError      BluetoothRFCOMMLineStatus = 0
	BluetoothRFCOMMLineStatusOverrunError BluetoothRFCOMMLineStatus = 1
	BluetoothRFCOMMLineStatusParityError  BluetoothRFCOMMLineStatus = 2
)

func (BluetoothRFCOMMLineStatus) String

func (e BluetoothRFCOMMLineStatus) String() string

type BluetoothRFCOMMParityType

type BluetoothRFCOMMParityType uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothRFCOMMParityType

const (
	KBluetoothRFCOMMParityTypeEvenParity BluetoothRFCOMMParityType = 2
	KBluetoothRFCOMMParityTypeMaxParity  BluetoothRFCOMMParityType = 3
	KBluetoothRFCOMMParityTypeNoParity   BluetoothRFCOMMParityType = 0
	KBluetoothRFCOMMParityTypeOddParity  BluetoothRFCOMMParityType = 1
)

func (BluetoothRFCOMMParityType) String

func (e BluetoothRFCOMMParityType) String() string

type BluetoothReadClockInfo

type BluetoothReadClockInfo struct {
	Handle   kernel.BluetoothConnectionHandle
	Clock    uint32
	Accuracy uint16
}

BluetoothReadClockInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothReadClockInfo

type BluetoothRemoteHostSupportedFeaturesNotification

type BluetoothRemoteHostSupportedFeaturesNotification struct {
	DeviceAddress         BluetoothDeviceAddress
	HostSupportedFeatures BluetoothHCISupportedFeatures
}

BluetoothRemoteHostSupportedFeaturesNotification

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothRemoteHostSupportedFeaturesNotification

type BluetoothSetEventMask

type BluetoothSetEventMask struct {
	Data [8]uint8
}

BluetoothSetEventMask

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothSetEventMask

type BluetoothSimplePairingDebugModes

type BluetoothSimplePairingDebugModes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothSimplePairingDebugModes

const (
	KBluetoothHCISimplePairingDebugModeDisabled BluetoothSimplePairingDebugModes = 0
	KBluetoothHCISimplePairingDebugModeEnabled  BluetoothSimplePairingDebugModes = 0x1
)

func (BluetoothSimplePairingDebugModes) String

type BluetoothSynchronousConnectionInfo

type BluetoothSynchronousConnectionInfo struct {
	TransmitBandWidth    kernel.BluetoothHCITransmitBandwidth
	ReceiveBandWidth     kernel.BluetoothHCIReceiveBandwidth
	MaxLatency           kernel.BluetoothHCIMaxLatency
	VoiceSetting         kernel.BluetoothHCIVoiceSetting
	RetransmissionEffort kernel.BluetoothHCIRetransmissionEffort
	PacketType           kernel.BluetoothPacketType
}

BluetoothSynchronousConnectionInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothSynchronousConnectionInfo

type BluetoothTransportInfo

type BluetoothTransportInfo struct {
	ProductID              uint32
	VendorID               uint32
	Type                   uint32
	ProductName            [35]int8
	VendorName             [35]int8
	TotalDataBytesSent     uint64
	TotalSCOBytesSent      uint64
	TotalDataBytesReceived uint64
	TotalSCOBytesReceived  uint64
}

BluetoothTransportInfo

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothTransportInfo

type BluetoothTransportTypes

type BluetoothTransportTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/BluetoothTransportTypes

const (
	KBluetoothTransportTypePCCard  BluetoothTransportTypes = 0x2
	KBluetoothTransportTypePCICard BluetoothTransportTypes = 0x3
	KBluetoothTransportTypePCIe    BluetoothTransportTypes = 0x5
	KBluetoothTransportTypeUART    BluetoothTransportTypes = 0x4
	KBluetoothTransportTypeUSB     BluetoothTransportTypes = 0x1
)

func (BluetoothTransportTypes) String

func (e BluetoothTransportTypes) String() string

type BluetoothUserConfirmationRequest

type BluetoothUserConfirmationRequest struct {
	DeviceAddress BluetoothDeviceAddress
	NumericValue  kernel.BluetoothNumericValue
}

BluetoothUserConfirmationRequest

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothUserConfirmationRequest

type BluetoothUserPasskeyNotification

type BluetoothUserPasskeyNotification struct {
	DeviceAddress BluetoothDeviceAddress
	Passkey       kernel.BluetoothPasskey
}

BluetoothUserPasskeyNotification

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/BluetoothUserPasskeyNotification

type Class

type Class = _undefined

type FTSFileType

type FTSFileType uint32

See: https://developer.apple.com/documentation/IOBluetooth/FTSFileType

const (
	KFTSFileTypeFile   FTSFileType = 2
	KFTSFileTypeFolder FTSFileType = 1
)

func (FTSFileType) String

func (e FTSFileType) String() string

type IIOBluetoothDevice

type IIOBluetoothDevice interface {
	IIOBluetoothObject

	// Get a string representation of the Bluetooth device address for the target device. The format of the string is the same as returned by IOBluetoothNSStringFromDeviceAddress().
	AddressString() string
	// Gets the full class of device value for the remote device.
	ClassOfDevice() BluetoothClassOfDevice
	// Get the connection handle for the baseband connection.
	ConnectionHandle() BluetoothConnectionHandle
	// Get the major device class of the device.
	DeviceClassMajor() BluetoothDeviceClassMajor
	// Get the minor service class of the device.
	DeviceClassMinor() BluetoothDeviceClassMinor
	IsHandsFreeAudioGateway() bool
	IsHandsFreeDevice() bool
	// Get the date/time of the last successful remote name request.
	LastNameUpdate() foundation.NSDate
	// Get the human readable name of the remote device.
	Name() string
	// Get the human readable name of the remote device. If the name is not present, it will return a string containing the device’s address.
	NameOrAddress() string
	// Get the major service class of the device.
	ServiceClassMajor() BluetoothServiceClassMajor
	// Gets an array of service records for the device.
	Services() foundation.INSArray

	// Adds the target device to the user’s favorite devices list.
	AddToFavorites() kernel.IOReturn
	AwakeAfterUsingCoder(coder foundation.INSCoder) objectivec.IObject
	// Close down the baseband connection to the device.
	CloseConnection() kernel.IOReturn
	// Get the Bluetooth device address for the target device.
	GetAddress() *BluetoothDeviceAddress
	// Get the clock offset value of the device.
	GetClockOffset() BluetoothClockOffset
	// Get the encryption mode for the baseband connection.
	GetEncryptionMode() BluetoothHCIEncryptionMode
	// Get the date/time of the last time the device was returned during an inquiry.
	GetLastInquiryUpdate() foundation.NSDate
	// Get the date/time of the last SDP query.
	GetLastServicesUpdate() foundation.NSDate
	// Get the link type for the baseband connection.
	GetLinkType() BluetoothLinkType
	// Get the page scan mode for the device.
	GetPageScanMode() BluetoothPageScanMode
	// Get the value of the page scan period mode for the device.
	GetPageScanPeriodMode() BluetoothPageScanPeriodMode
	// Get the value of the page scan repetition mode for the device.
	GetPageScanRepetitionMode() BluetoothPageScanRepetitionMode
	// Search for a service record containing the given UUID.
	GetServiceRecordForUUID(sdpUUID IIOBluetoothSDPUUID) IIOBluetoothSDPServiceRecord
	HandsFreeAudioGatewayServiceRecord() IIOBluetoothSDPServiceRecord
	HandsFreeDeviceServiceRecord() IIOBluetoothSDPServiceRecord
	// Indicates whether a baseband connection to the device exists.
	IsConnected() bool
	// Reports whether the target device is a favorite for the user.
	IsFavorite() bool
	// Returns TRUE if the device connection was generated by the remote host.
	IsIncoming() bool
	// Returns whether the target device is paired.
	IsPaired() bool
	// Create a baseband connection to the device.
	OpenConnection() kernel.IOReturn
	// Create a baseband connection to the device.
	OpenConnectionWithTarget(target objectivec.IObject) kernel.IOReturn
	// Create a baseband connection to the device.
	OpenConnectionWithPageTimeoutAuthenticationRequired(target objectivec.IObject, pageTimeoutValue BluetoothHCIPageTimeout, authenticationRequired bool) kernel.IOReturn
	// Opens a new L2CAP channel to the target device. Returns immediately after starting the opening process.
	OpenL2CAPChannelAsyncWithPSMDelegate(newChannel IIOBluetoothL2CAPChannel, psm BluetoothL2CAPPSM, channelDelegate objectivec.IObject) kernel.IOReturn
	// Opens a new L2CAP channel to the target device. Returns immediately after starting the opening process.
	OpenL2CAPChannelAsyncWithPSMWithConfigurationDelegate(newChannel IIOBluetoothL2CAPChannel, psm BluetoothL2CAPPSM, channelConfiguration foundation.INSDictionary, channelDelegate objectivec.IObject) kernel.IOReturn
	// Opens a new L2CAP channel to the target device. Returns only after the channel is opened.
	OpenL2CAPChannelSyncWithPSMDelegate(newChannel IIOBluetoothL2CAPChannel, psm BluetoothL2CAPPSM, channelDelegate objectivec.IObject) kernel.IOReturn
	// Opens a new L2CAP channel to the target device. Returns only after the channel is opened.
	OpenL2CAPChannelSyncWithPSMWithConfigurationDelegate(newChannel IIOBluetoothL2CAPChannel, psm BluetoothL2CAPPSM, channelConfiguration foundation.INSDictionary, channelDelegate objectivec.IObject) kernel.IOReturn
	// Opens a new RFCOMM channel to the target device. Returns immediately.
	OpenRFCOMMChannelAsyncWithChannelIDDelegate(rfcommChannel IIOBluetoothRFCOMMChannel, channelID BluetoothRFCOMMChannelID, channelDelegate objectivec.IObject) kernel.IOReturn
	// Opens a new RFCOMM channel to the target device. Returns only once the channel is open or failed to open.
	OpenRFCOMMChannelSyncWithChannelIDDelegate(rfcommChannel IIOBluetoothRFCOMMChannel, channelID BluetoothRFCOMMChannelID, channelDelegate objectivec.IObject) kernel.IOReturn
	// Performs an SDP query on the target device.
	PerformSDPQuery(target objectivec.IObject) kernel.IOReturn
	// Performs an SDP query on the target device with the specified service UUIDs.
	PerformSDPQueryUuids(target objectivec.IObject, uuidArray foundation.INSArray) kernel.IOReturn
	// Get the raw RSSI device (if connected).
	RawRSSI() BluetoothHCIRSSIValue
	// Returns the date/time of the most recent access of the target device.
	RecentAccessDate() foundation.NSDate
	// Allows a client to register for device disconnect notification.
	RegisterForDisconnectNotificationSelector(observer objectivec.IObject, inSelector objc.SEL) IIOBluetoothUserNotification
	// Issues a remote name request to the target device.
	RemoteNameRequest(target objectivec.IObject) kernel.IOReturn
	// Issues a remote name request to the target device.
	RemoteNameRequestWithPageTimeout(target objectivec.IObject, pageTimeoutValue BluetoothHCIPageTimeout) kernel.IOReturn
	// Removes the target device from the user’s favorite devices list.
	RemoveFromFavorites() kernel.IOReturn
	// Requests that the existing baseband connection be authenticated.
	RequestAuthentication() kernel.IOReturn
	// Get the RSSI device (if connected), above or below the golden range. If the RSSI is within the golden range, a value of 0 is returned. For the actual RSSI value, use getRawRSSI. For more information, see the Bluetooth 4.0 Core Specification.
	RSSI() BluetoothHCIRSSIValue
	// Send an echo request over the L2CAP connection to a remote device.
	SendL2CAPEchoRequestLength(data unsafe.Pointer, length uint16) kernel.IOReturn
	// Sets the connection supervision timeout.
	SetSupervisionTimeout(timeout uint16) kernel.IOReturn
}

An interface definition for the IOBluetoothDevice class.

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice

type IIOBluetoothDeviceInquiry

type IIOBluetoothDeviceInquiry interface {
	objectivec.IObject

	// Initializes an alloc’d inquiry object, and sets the delegate object, as if -setDelegate: were called on it.
	InitWithDelegate(delegate objectivec.IObject) IOBluetoothDeviceInquiry

	Delegate() objectivec.IObject
	SetDelegate(value objectivec.IObject)
	// Set the length of the inquiry that is performed each time -start is used on an inquiry object.
	InquiryLength() uint8
	SetInquiryLength(value uint8)
	// Set the devices that are found.
	SearchType() IOBluetoothDeviceSearchTypes
	SetSearchType(value IOBluetoothDeviceSearchTypes)
	// Sets whether or not the inquiry object will retrieve the names of devices found during the search.
	UpdateNewDeviceNames() bool
	SetUpdateNewDeviceNames(value bool)

	// Removes all found devices from the inquiry object.
	ClearFoundDevices()
	// Returns found IOBluetoothDevice objects as an array.
	FoundDevices() foundation.INSArray
	// Use this method to set the criteria for the device search.
	SetSearchCriteriaMajorDeviceClassMinorDeviceClass(inServiceClassMajor BluetoothServiceClassMajor, inMajorDeviceClass BluetoothDeviceClassMajor, inMinorDeviceClass BluetoothDeviceClassMinor)
	// Tells inquiry object to begin the inquiry and name updating process, if specified.
	Start() kernel.IOReturn
	// Halts the inquiry object. Could either stop the search for new devices, or the updating of found device names.
	Stop() kernel.IOReturn
}

An interface definition for the IOBluetoothDeviceInquiry class.

Initializers

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry

type IIOBluetoothDevicePair

type IIOBluetoothDevicePair interface {
	objectivec.IObject

	Delegate() objectivec.IObject
	SetDelegate(value objectivec.IObject)

	// Get the IOBluetoothDevice being used by the object.
	Device() IIOBluetoothDevice
	// This is the required reply to the devicePairingPINCodeRequest delegate message. Set the PIN code to use during pairing if required.
	ReplyPINCodePINCode(PINCodeSize uint, PINCode *BluetoothPINCode)
	// This is the required reply to the devicePairingUserConfirmationRequest delegate message.
	ReplyUserConfirmation(reply bool)
	// Set the device object to pair with. It is retained by the object.
	SetDevice(inDevice IIOBluetoothDevice)
	// Kicks off the pairing with the device.
	Start() kernel.IOReturn
	// Stops the current pairing. Removes the delegate and disconnects if device was connected.
	Stop()
}

An interface definition for the IOBluetoothDevicePair class.

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePair

type IIOBluetoothHandsFree

type IIOBluetoothHandsFree interface {
	objectivec.IObject

	// Create a new IOBluetoothHandsFree object
	InitWithDeviceDelegate(device IIOBluetoothDevice, inDelegate IOBluetoothHandsFreeDelegate) IOBluetoothHandsFree

	// Return the delegate
	Delegate() IOBluetoothHandsFreeDelegate
	SetDelegate(value IOBluetoothHandsFreeDelegate)
	// Return the IOBluetoothDevice.
	Device() IIOBluetoothDevice
	// Return the device’s supported call hold modes.
	DeviceCallHoldModes() uint32
	// Return the device’s supported features.
	DeviceSupportedFeatures() uint32
	// Return the device’s supported SMS services.
	DeviceSupportedSMSServices() uint32
	// Return the input volume
	InputVolume() float32
	SetInputVolume(value float32)
	IsConnected() bool
	// Return the input mute state.
	IsInputMuted() bool
	SetInputMuted(value bool)
	// Return the output mute state.
	IsOutputMuted() bool
	SetOutputMuted(value bool)
	// Return YES if the device has SMS enabled.
	IsSMSEnabled() bool
	// Return the output volume
	OutputVolume() float32
	SetOutputVolume(value float32)
	// Return the device’s SMS mode.
	SMSMode() IOBluetoothSMSMode
	// Set the supported features
	SupportedFeatures() uint32
	SetSupportedFeatures(value uint32)

	// Connect to the device
	Connect()
	// Open a SCO connection with the device
	ConnectSCO()
	// Disconnect from the device
	Disconnect()
	// Disconnect the SCO connection with the device
	DisconnectSCO()
	// Return an indicator’s value
	Indicator(indicatorName string) int32
	// Determine if there is a SCO connection to the device
	IsSCOConnected() bool
	// Set an indicator’s value
	SetIndicatorValue(indicatorName string, indicatorValue int32)
}

An interface definition for the IOBluetoothHandsFree class.

Initializers

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree

type IIOBluetoothHandsFreeAudioGateway

type IIOBluetoothHandsFreeAudioGateway interface {
	IIOBluetoothHandsFree

	// Sends a request to the Bluetooth device to show or update a status indicator.
	CreateIndicatorMinMaxCurrentValue(indicatorName string, minValue int32, maxValue int32, currentValue int32)

	// Sends data followed by a success message to a connected Bluetooth hands-free phone or headset.
	SendResponse(response string)
	// Sends data followed by an optional success message to a connected Bluetooth hands-free phone or headset.
	SendResponseWithOK(response string, withOK bool)
	// Sends a success message to a connected Bluetooth hands-free phone or headset.
	SendOKResponse()
	// Processes a command from a connected Bluetooth hands-free phone or headset.
	ProcessATCommand(atCommand string)
}

An interface definition for the IOBluetoothHandsFreeAudioGateway class.

Showing Status Indicators

Sending and Receiving Commands

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGateway

type IIOBluetoothHandsFreeDevice

type IIOBluetoothHandsFreeDevice interface {
	IIOBluetoothHandsFree

	// Accepts an incoming call.
	AcceptCall()
	// Accepts an incoming call and transfers the audio to the managed hands-free phone or headset.
	AcceptCallOnPhone()
	// Ends all calls that are active or on hold, and accepts any waiting calls.
	CallTransfer()

	// Calls the phone number on a hands-free phone or headset.
	DialNumber(aNumber string)
	// Calls the phone number stored in a speed dial or memory slot of the hands-free phone or headset.
	MemoryDial(memoryLocation int32)
	// Calls the number stored on the hands-free phone or headset again.
	Redial()

	// Places all active calls on hold and accepts a held or waiting call.
	HoldCall()
	// Adds held calls to the current conversation.
	AddHeldCall()
	// Places all calls except the call with the specified index on hold.
	PlaceAllOthersOnHold(index int32)

	// Ends the current call or refuses an incoming call.
	EndCall()
	// Ends the call with the specified index.
	ReleaseCall(index int32)
	// Ends all active calls and accepts a held or waiting call.
	ReleaseActiveCalls()
	// Ends all calls that are on hold or returns a busy signal for a waiting call.
	ReleaseHeldCalls()

	// Sends a text message to a phone number.
	SendSMSMessage(aNumber string, aMessage string)
	// Sends the tone associated with a phone key to the hands-free Bluetooth device.
	SendDTMF(character string)
	// Sends an AT command to the Bluetooth audio gateway.
	SendATCommand(atCommand string)
	// Send an AT command to the Bluetooth audio gateway and performs a selector on completion or timeout.
	SendATCommandTimeoutSelectorTarget(atCommand string, timeout float32, selector objc.SEL, target objectivec.IObject)

	// Requests that the Bluetooth audio gateway send the subscriber number to the delegate.
	SubscriberNumber()
	// Requests that the Bluetooth audio gateway send the delegate a list of calls that are active, on hold, or being set up.
	CurrentCallList()

	// Moves the audio for current and future calls to a Mac.
	TransferAudioToComputer()
	// Moves the audio for current or future calls to a phone.
	TransferAudioToPhone()
}

An interface definition for the IOBluetoothHandsFreeDevice class.

Accepting Calls

Dialing Calls

Holding Calls

Ending Calls

Sending Messages and Commands

Requesting Status Information

Transferring Audio

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice

type IIOBluetoothHostController

type IIOBluetoothHostController interface {
	objectivec.IObject

	Delegate() objectivec.IObject
	SetDelegate(value objectivec.IObject)
	// Gets the controller power state
	PowerState() BluetoothHCIPowerState

	// Convience routine to get the HCI controller’s Bluetooth address as an NSString object.
	AddressAsString() string
	// Gets the current class of device value.
	ClassOfDevice() BluetoothClassOfDevice
	// Gets the “friendly” name of HCI controller.
	NameAsString() string
	// Sets the current class of device value, for the specified amount of time. Note that the time interval must be set and valid. The range of acceptable values is 30-120 seconds. Anything above or below will be rounded up, or down, as appropriate.
	SetClassOfDeviceForTimeInterval(classOfDevice BluetoothClassOfDevice, seconds foundation.NSTimeInterval) kernel.IOReturn
}

An interface definition for the IOBluetoothHostController class.

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostController

type IIOBluetoothL2CAPChannel

type IIOBluetoothL2CAPChannel interface {
	IIOBluetoothObject

	// Returns the IOBluetoothDevice to which the target L2CAP channel is open.
	Device() IIOBluetoothDevice
	// Returns the current incoming MTU for the L2CAP channel.
	IncomingMTU() BluetoothL2CAPMTU
	// Returns the local L2CAP channel ID for the target L2CAP channel.
	LocalChannelID() BluetoothL2CAPChannelID
	// Returns the IOBluetoothObjectID of the given IOBluetoothL2CAPChannel.
	ObjectID() IOBluetoothObjectID
	// Returns the current outgoing MTU for the L2CAP channel.
	OutgoingMTU() BluetoothL2CAPMTU
	// Returns the PSM for the target L2CAP channel.
	PSM() BluetoothL2CAPPSM
	// Returns the remote L2CAP channel ID for the target L2CAP channel.
	RemoteChannelID() BluetoothL2CAPChannelID

	// Initiates the close process on an open L2CAP channel.
	CloseChannel() kernel.IOReturn
	// Returns the currently assigned delegate
	Delegate() objectivec.IObject
	// Returns TRUE if the channel is an incoming channel.
	IsIncoming() bool
	// Allows a client to register for a channel close notification.
	RegisterForChannelCloseNotificationSelector(observer objectivec.IObject, inSelector objc.SEL) IIOBluetoothUserNotification
	// Initiates the process to reconfigure the L2CAP channel with a new outgoing MTU.
	RequestRemoteMTU(remoteMTU BluetoothL2CAPMTU) kernel.IOReturn
	// Allows an object to register itself as client of the L2CAP channel.
	SetDelegate(channelDelegate objectivec.IObject) kernel.IOReturn
	// Allows an object to register itself as client of the L2CAP channel.
	SetDelegateWithConfiguration(channelDelegate objectivec.IObject, channelConfiguration foundation.INSDictionary) kernel.IOReturn
	// Writes the given data over the target L2CAP channel asynchronously to the remote device.
	WriteAsyncLengthRefcon(data unsafe.Pointer, length uint16, refcon uintptr) kernel.IOReturn
	WriteAsyncTrapLengthRefcon(data unsafe.Pointer, length uint16, refcon uintptr) kernel.IOReturn
	// Writes the given data synchronously over the target L2CAP channel to the remote device.
	WriteSyncLength(data unsafe.Pointer, length uint16) kernel.IOReturn
}

An interface definition for the IOBluetoothL2CAPChannel class.

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel

type IIOBluetoothOBEXSession

type IIOBluetoothOBEXSession interface {
	IOBEXSession
	IOBluetoothRFCOMMChannelDelegate

	// Initializes a Bluetooth-based OBEX Session using a Bluetooth device.
	InitWithDeviceChannelID(inDevice IIOBluetoothDevice, inChannelID BluetoothRFCOMMChannelID) IOBluetoothOBEXSession
	// Initializes a Bluetooth-based OBEX Session using an incoming RFCOMM channel.
	InitWithIncomingRFCOMMChannelEventSelectorSelectorTargetRefCon(inChannel IIOBluetoothRFCOMMChannel, inEventSelector objc.SEL, inEventSelectorTarget objectivec.IObject, inUserRefCon uintptr) IOBluetoothOBEXSession
	// Initializes a Bluetooth-based OBEX Session using an SDP service record.
	InitWithSDPServiceRecord(inSDPServiceRecord IIOBluetoothSDPServiceRecord) IOBluetoothOBEXSession

	// Get the Bluetooth Device being used by the session object.
	GetDevice() IIOBluetoothDevice
	// Get the Bluetooth RFCOMM channel being used by the session object.
	GetRFCOMMChannel() IIOBluetoothRFCOMMChannel
	// Tells whether the target device is a Mac by checking its service record.
	IsSessionTargetAMac() bool
	// If the transmission was stopped due to the lack of buffers this call restarts it.
	RestartTransmission()
	// Sends the next block of data through the rfcomm channel.
	SendBufferTroughChannel() kernel.IOReturn
	// For C API support. Allows you to set the callback to be invoked when the OBEX connection is actually opened.
	SetOBEXSessionOpenConnectionCallbackRefCon(inCallback IOBluetoothOBEXSessionOpenConnectionCallback, inUserRefCon uintptr)
	// Allows you to set the selector to be used when a transport connection is opened, or fails to open.
	SetOpenTransportConnectionAsyncSelectorTargetRefCon(inSelector objc.SEL, inSelectorTarget objectivec.IObject, inUserRefCon uintptr)
}

An interface definition for the IOBluetoothOBEXSession class.

Initializers

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession

type IIOBluetoothObject

type IIOBluetoothObject interface {
	objectivec.IObject
}

An interface definition for the IOBluetoothObject class.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothObject

type IIOBluetoothRFCOMMChannel

type IIOBluetoothRFCOMMChannel interface {
	IIOBluetoothObject

	// Close the channel.
	CloseChannel() kernel.IOReturn
	// Returns the object delegate
	Delegate() objectivec.IObject
	// Returns the Bluetooth Device that carries the rfcomm data.
	GetDevice() IIOBluetoothDevice
	// Returns the object rfcomm channel ID.
	GetChannelID() BluetoothRFCOMMChannelID
	// Returns the channel maximum transfer unit.
	GetMTU() BluetoothRFCOMMMTU
	// Returns the IOBluetoothObjectID of the given IOBluetoothRFCOMMChannel.
	GetObjectID() IOBluetoothObjectID
	// Returns an IOBluetoothRFCOMMChannelRef representation of the target IOBluetoothRFCOMMChannel object.
	GetRFCOMMChannelRef() IOBluetoothRFCOMMChannelRef
	// Returns the direction of the channel. An incoming channel is one that was opened by the remote device.
	IsIncoming() bool
	// Returns the state of the channel.
	IsOpen() bool
	// Returns TRUE if flow control is off.
	IsTransmissionPaused() bool
	// Allows a client to register for a channel close notification.
	RegisterForChannelCloseNotificationSelector(observer objectivec.IObject, inSelector objc.SEL) IIOBluetoothUserNotification
	// Sends an error to the remote side.
	SendRemoteLineStatus(lineStatus BluetoothRFCOMMLineStatus) kernel.IOReturn
	// Allows an object to register itself as a client of the RFCOMM channel.
	SetDelegate(delegate objectivec.IObject) kernel.IOReturn
	// Changes the parameters of the serial connection.
	SetSerialParametersDataBitsParityStopBits(speed uint32, nBits uint8, parity BluetoothRFCOMMParityType, bitStop uint8) kernel.IOReturn
	// Sends a block of data in the channel asynchronously.
	WriteAsyncLengthRefcon(data unsafe.Pointer, length uint16, refcon uintptr) kernel.IOReturn
	// Sends a block of data in the channel synchronously.
	WriteSyncLength(data unsafe.Pointer, length uint16) kernel.IOReturn
}

An interface definition for the IOBluetoothRFCOMMChannel class.

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel

type IIOBluetoothSDPDataElement

type IIOBluetoothSDPDataElement interface {
	objectivec.IObject

	// Initializes a new IOBluetoothSDPDataElement with the given value.
	InitWithElementValue(element objectivec.NSObject) IOBluetoothSDPDataElement
	// Initializes a new IOBluetoothSDPDataElement with the given attributes.
	InitWithTypeSizeDescriptorSizeValue(newType BluetoothSDPDataElementTypeDescriptor, newSizeDescriptor BluetoothSDPDataElementSizeDescriptor, newSize uint32, newValue objectivec.NSObject) IOBluetoothSDPDataElement

	// Checks to see if the target data element is the same as the dataElement parameter or if it contains the dataElement parameter (if its a sequence type).
	ContainsDataElement(dataElement IIOBluetoothSDPDataElement) bool
	// Checks to see if the target data element’s value is the same as the value parameter or if it contains the value parameter.
	ContainsValue(cmpValue objectivec.NSObject) bool
	// If the data element is represented by an array object, it returns the value as an NSArray.
	GetArrayValue() foundation.INSArray
	// If the data element is represented by a data object, it returns the value as an NSData.
	GetDataValue() foundation.NSData
	// If the data element is represented by a number, it returns the value as an NSNumber.
	GetNumberValue() foundation.NSNumber
	// Returns an IOBluetoothSDPDataElementRef representation of the target IOBluetoothSDPDataElement object.
	GetSDPDataElementRef() IOBluetoothSDPDataElementRef
	// Returns the size in bytes of the target data element.
	GetSize() uint32
	// Returns the SDP spec defined data element size descriptor for the target data element.
	GetSizeDescriptor() BluetoothSDPDataElementSizeDescriptor
	// If the data element is represented by a string object, it returns the value as an NSString.
	GetStringValue() string
	// Returns the SDP spec defined data element type descriptor for the target data element.
	GetTypeDescriptor() BluetoothSDPDataElementTypeDescriptor
	// If the data element is a UUID (type 3), it returns the value as an IOBluetoothSDPUUID.
	GetUUIDValue() IIOBluetoothSDPUUID
	// Returns the object value of the data element.
	GetValue() objectivec.Object

	EncodeWithCoder(coder foundation.INSCoder)
}

An interface definition for the IOBluetoothSDPDataElement class.

Initializers

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement

type IIOBluetoothSDPServiceAttribute

type IIOBluetoothSDPServiceAttribute interface {
	objectivec.IObject

	// Initializes a new service attribute with the given ID and data element.
	InitWithIDAttributeElement(newAttributeID BluetoothSDPServiceAttributeID, attributeElement IIOBluetoothSDPDataElement) IOBluetoothSDPServiceAttribute
	// Initializes a new service attribute with the given ID and element value.
	InitWithIDAttributeElementValue(newAttributeID BluetoothSDPServiceAttributeID, attributeElementValue objectivec.NSObject) IOBluetoothSDPServiceAttribute

	// Returns the data element for the target service attribute.
	GetDataElement() IIOBluetoothSDPDataElement
	// Returns the attribute ID for the target service attribute.
	GetAttributeID() BluetoothSDPServiceAttributeID
	// Returns the data element representing the attribute ID for the target service attribute.
	GetIDDataElement() IIOBluetoothSDPDataElement

	EncodeWithCoder(coder foundation.INSCoder)
}

An interface definition for the IOBluetoothSDPServiceAttribute class.

Initializers

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute

type IIOBluetoothSDPServiceRecord

type IIOBluetoothSDPServiceRecord interface {
	objectivec.IObject

	// Returns an initialized IOBluetoothSDPServiceRecord * with the attributes specified in the provided service dictionary. Provide a pointer to an IOBlueotothDevice if you wish to associate the record to a specific IOBluetoothDevice.
	InitWithServiceDictionaryDevice(serviceDict foundation.INSDictionary, device IIOBluetoothDevice) IOBluetoothSDPServiceRecord

	// Returns an NSDictionary containing the attributes for the service.
	Attributes() foundation.INSDictionary
	// Returns the IOBluetoothDevice that the target service belongs to.
	Device() IIOBluetoothDevice
	// Returns a sorted array of SDP attributes
	SortedAttributes() foundation.INSArray

	// Returns the data element for the given attribute ID in the target service.
	GetAttributeDataElement(attributeID BluetoothSDPServiceAttributeID) IIOBluetoothSDPDataElement
	// Allows the discovery of the service record handle assigned to the service.
	GetServiceRecordHandle(outServiceRecordHandle *BluetoothSDPServiceRecordHandle) kernel.IOReturn
	// Allows the discovery of the L2CAP PSM assigned to the service.
	GetL2CAPPSM(outPSM *BluetoothL2CAPPSM) kernel.IOReturn
	// Allows the discovery of the RFCOMM channel ID assigned to the service.
	GetRFCOMMChannelID(rfcommChannelID *BluetoothRFCOMMChannelID) kernel.IOReturn
	// Returns an IOBluetoothSDPServiceRecordRef representation of the target IOBluetoothSDPServiceRecord object.
	GetSDPServiceRecordRef() IOBluetoothSDPServiceRecordRef
	// Returns the name of the service.
	GetServiceName() string
	HandsFreeSupportedFeatures() uint16
	// Returns TRUE if any one of the UUIDs in the given array is found in the target service.
	HasServiceFromArray(array foundation.INSArray) bool
	// Returns TRUE any of the UUID arrays in the search array match the target service.
	MatchesSearchArray(searchArray foundation.INSArray) bool
	// Returns TRUE the UUID16 is found in the target service.
	MatchesUUID16(uuid16 BluetoothSDPUUID16) bool
	// Returns TRUE if ALL of the UUIDs in the given array is found in the target service.
	MatchesUUIDArray(uuidArray foundation.INSArray) bool
	// Removes the service from the local SDP server.
	RemoveServiceRecord() kernel.IOReturn

	EncodeWithCoder(coder foundation.INSCoder)
}

An interface definition for the IOBluetoothSDPServiceRecord class.

Initializers

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord

type IIOBluetoothSDPUUID

type IIOBluetoothSDPUUID interface {
	foundation.INSData

	// Initializes a new 16-bit IOBluetoothSDPUUID with the given UUID16
	InitWithUUID16(uuid16 BluetoothSDPUUID16) IOBluetoothSDPUUID
	// Creates a new 32-bit IOBluetoothSDPUUID with the given UUID32
	InitWithUUID32(uuid32 BluetoothSDPUUID32) IOBluetoothSDPUUID

	ClassForArchiver() objectivec.Class
	ClassForCoder() objectivec.Class
	ClassForPortCoder() objectivec.Class
	// Returns an IOBluetoothSDPUUID object matching the target UUID, but with the given number of bytes.
	GetUUIDWithLength(newLength uint32) IIOBluetoothSDPUUID
	// Compares the target IOBluetoothSDPUUID object with the given otherUUID object.
	IsEqualToUUID(otherUUID IIOBluetoothSDPUUID) bool
}

An interface definition for the IOBluetoothSDPUUID class.

Initializers

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID

type IIOBluetoothUserNotification

type IIOBluetoothUserNotification interface {
	objectivec.IObject

	// Called to unregister the target notification.
	Unregister()
}

An interface definition for the IOBluetoothUserNotification class.

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothUserNotification

type IOBEXFileTransferServices

type IOBEXFileTransferServices interface {
	objectivec.IObject

	// Create a new OBEXFileTransferServices object
	InitWithOBEXSession(inOBEXSession IIOBluetoothOBEXSession) OBEXFileTransferServices

	Delegate() objectivec.IObject
	SetDelegate(value objectivec.IObject)

	// Abort the current operation
	Abort() OBEXError
	// Change to the directory above the current level if not at the root
	ChangeCurrentFolderBackward() OBEXError
	// Change the remote path
	ChangeCurrentFolderForwardToPath(inDirName string) OBEXError
	// Asynchronously change to the remote root directory
	ChangeCurrentFolderToRoot() OBEXError
	// Connect to a remote device for FTP operations
	ConnectToFTPService() OBEXError
	// Connect to a remote device for ObjectPush operations. Most of the FTP functionality of this object will be disabled.
	ConnectToObjectPushService() OBEXError
	// Copy a remote file to a local path
	CopyRemoteFileToLocalPath(inRemoteFileName string, inLocalPathAndName string) OBEXError
	// Create a folder on the remote target
	CreateFolder(inDirName string) OBEXError
	// Get the remote current directory path during an FTP session
	CurrentPath() string
	// Disconnect from the remote device
	Disconnect() OBEXError
	// Get the remote default VCard, if it is supported
	GetDefaultVCard(inLocalPathAndName string) OBEXError
	// Get the action state of the module
	IsBusy() bool
	// Get the connected state of this module.
	IsConnected() bool
	// Remove a remote item.
	RemoveItem(inItemName string) OBEXError
	// Get a remote directory listing
	RetrieveFolderListing() OBEXError
	// Send data to a remote target
	SendDataTypeName(inData foundation.NSData, inType string, inName string) OBEXError
	// Put a local file to the remote target
	SendFile(inLocalPathAndName string) OBEXError
}

An interface definition for the OBEXFileTransferServices class.

Initializers

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices

type IOBEXSession

type IOBEXSession interface {
	objectivec.IObject

	// Tranport subclasses need to invoke this from their own data-receive handlers. For example, when data is received over a Bluetooth RFCOMM channel in the IOBluetoothOBEXSession, it in turn calls this to dispatch the data. If you do not handle this case, your server session will not work, guaranteed.
	ClientHandleIncomingData(event *OBEXTransportEvent)
	// You must override this - it will be called when the transport connection should be shutdown.
	CloseTransportConnection() OBEXError
	// Determine the maximum amount of data you can send in a particular command as an OBEX client session.
	GetAvailableCommandPayloadLength(inOpCode OBEXOpCode) OBEXMaxPacketLength
	// Determine the maximum amount of data you can send in a particular command response as an OBEX server session.
	GetAvailableCommandResponsePayloadLength(inOpCode OBEXOpCode) OBEXMaxPacketLength
	// Gets current max packet length.
	GetMaxPacketLength() OBEXMaxPacketLength
	// Has a successful connect packet been sent and received? This API tells you so.
	HasOpenOBEXConnection() bool
	// You must override this - it will be called periodically to determine if a transport connection is open or not.
	HasOpenTransportConnection() bool
	// Send an OBEX Abort command to the session’s target.
	OBEXAbortOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send an abort response to a session’s target.
	OBEXAbortResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Initiate an OBEX connection to a device. Causes underlying transport (Bluetooth, et al) to attempt to connect to a remote device. After success, an OBEX connect packet is sent to establish the OBEX Connection.
	OBEXConnectMaxPacketLengthOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inFlags OBEXFlags, inMaxPacketLength OBEXMaxPacketLength, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send a connect response to a session’s target.
	OBEXConnectResponseFlagsMaxPacketLengthOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inFlags OBEXFlags, inMaxPacketLength OBEXMaxPacketLength, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send an OBEX Disconnect command to the session’s target. THIS DOES NOT necessarily close the underlying transport connection. Deleting the session will ensure that closure.
	OBEXDisconnectOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send a disconnect response to a session’s target.
	OBEXDisconnectResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send an OBEX Get command to the session’s target.
	OBEXGetHeadersHeadersLengthEventSelectorSelectorTargetRefCon(isFinalChunk bool, inHeaders unsafe.Pointer, inHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send a get response to a session’s target.
	OBEXGetResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send an OBEX Put command to the session’s target.
	OBEXPutHeadersDataHeadersDataLengthBodyDataBodyDataLengthEventSelectorSelectorTargetRefCon(isFinalChunk bool, inHeadersData unsafe.Pointer, inHeadersDataLength uintptr, inBodyData unsafe.Pointer, inBodyDataLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send a put response to a session’s target.
	OBEXPutResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send an OBEX SetPath command to the session’s target.
	OBEXSetPathConstantsOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inFlags OBEXFlags, inConstants OBEXConstants, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Send a set path response to a session’s target.
	OBEXSetPathResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// Opens a transport connection to a device. A Bluetooth connection is one example of a transport.
	OpenTransportConnectionSelectorTargetRefCon(inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError
	// You must override this to send data over your transport. This does nothing by default, it will return a kOBEXUnsupportedError.
	SendDataToTransportDataLength(inDataToSend unsafe.Pointer, inDataLength uintptr) OBEXError
	// Tranport subclasses need to invoke this from their own data-receive handlers. For example, when data is received over a Bluetooth RFCOMM channel in the IOBluetoothOBEXSession, it in turn calls this to dispatch the data. If you do not handle this case, your server session will not work, guaranteed.
	ServerHandleIncomingData(event *OBEXTransportEvent)
	// Sets the C-API callback used when the session recieves data.
	SetEventCallback(inEventCallback OBEXSessionEventCallback)
	// Sets the C-API callback refCon used when the session recieves data.
	SetEventRefCon(inRefCon unsafe.Pointer)
	// Allow you to set a selector to be called when events occur on the OBEX session.
	SetEventSelectorTargetRefCon(inEventSelector objc.SEL, inEventSelectorTarget objectivec.IObject, inUserRefCon uintptr)
}

An interface definition for the OBEXSession class.

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession

type IOBluetoothDevice

type IOBluetoothDevice struct {
	IOBluetoothObject
}

An instance of IOBluetoothDevice represents a single remote Bluetooth device.

Overview

An IOBluetoothDevice object may exist independent of the existence of a baseband connection with the target device. Using this object, a client can request creation and destruction of baseband connections, and request the opening of L2CAP and RFCOMM channels on the remote device. Many of the other APIs in the IOBluetooth framework will return this object, or it’s C counterpart (IOBluetoothDeviceRef).

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice

func IOBluetoothDeviceFromID

func IOBluetoothDeviceFromID(id objc.ID) IOBluetoothDevice

IOBluetoothDeviceFromID constructs a IOBluetoothDevice from an objc.ID.

An instance of IOBluetoothDevice represents a single remote Bluetooth device.

func NewBluetoothDeviceWithAddress

func NewBluetoothDeviceWithAddress(address *BluetoothDeviceAddress) IOBluetoothDevice

Returns the IOBluetoothDevice object for the given BluetoothDeviceAddress

address: Pointer to a BluetoothDeviceAddress for which an IOBluetoothDevice instance is desired

Return Value

Returns the IOBluetoothDevice object for the given BluetoothDeviceAddress

Discussion

Within a single application, there will be only one instance of IOBluetoothDevice for a given remote device address.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/init(address:)

func NewBluetoothDeviceWithAddressString

func NewBluetoothDeviceWithAddressString(address string) IOBluetoothDevice

Returns the IOBluetoothDevice object for the given BluetoothDeviceAddress

address: Pointer to an NSString containing the BD_ADDR for which an IOBluetoothDevice instance is desired. The string should be of the form xx:xx:xx:xx:xx:xx

Return Value

Returns the IOBluetoothDevice object for the given BluetoothDeviceAddress

Discussion

Within a single application, there will be only one instance of IOBluetoothDevice for a given remote device address.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/init(addressString:)

func NewIOBluetoothDevice

func NewIOBluetoothDevice() IOBluetoothDevice

NewIOBluetoothDevice creates a new IOBluetoothDevice instance.

func (IOBluetoothDevice) AddToFavorites

func (b IOBluetoothDevice) AddToFavorites() kernel.IOReturn

Adds the target device to the user’s favorite devices list.

Return Value

Returns kIOReturnSuccess if the device was successfully added to the user’s list of favorite devices.

Discussion

NOTE: This method is only available in macOS 10.2.4 (Bluetooth v1.1) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/addToFavorites()

func (IOBluetoothDevice) AddressString

func (b IOBluetoothDevice) AddressString() string

Get a string representation of the Bluetooth device address for the target device. The format of the string is the same as returned by IOBluetoothNSStringFromDeviceAddress().

Discussion

NOTE: This method is only available in macOS 10.2.4 (Bluetooth v1.1) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/addressString

func (IOBluetoothDevice) Autorelease

func (b IOBluetoothDevice) Autorelease() IOBluetoothDevice

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothDevice) ClassOfDevice

func (b IOBluetoothDevice) ClassOfDevice() BluetoothClassOfDevice

Gets the full class of device value for the remote device.

Discussion

This value is only meaningful if the target device has been seen during an inquiry. This can be by checking the result of -getLastInquiryUpdate. If nil is returned, then the device hasn’t been seen.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/classOfDevice

func (IOBluetoothDevice) CloseConnection

func (b IOBluetoothDevice) CloseConnection() kernel.IOReturn

Close down the baseband connection to the device.

Return Value

Returns kIOReturnSuccess if the connection has successfully been closed.

Discussion

This method is synchronous and will not return until the connection has been closed (or the command failed). In the future this API will be changed to allow asynchronous operation.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/closeConnection()

func (IOBluetoothDevice) ConnectionHandle

func (b IOBluetoothDevice) ConnectionHandle() BluetoothConnectionHandle

Get the connection handle for the baseband connection.

Discussion

This method only returns a valid result if a baseband connection is present (-isConnected returns TRUE).

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/connectionHandle

func (IOBluetoothDevice) DeviceClassMajor

func (b IOBluetoothDevice) DeviceClassMajor() BluetoothDeviceClassMajor

Get the major device class of the device.

Discussion

This value is only meaningful if the target device has been seen during an inquiry. This can be by checking the result of -getLastInquiryUpdate. If nil is returned, then the device hasn’t been seen.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/deviceClassMajor

func (IOBluetoothDevice) DeviceClassMinor

func (b IOBluetoothDevice) DeviceClassMinor() BluetoothDeviceClassMinor

Get the minor service class of the device.

Discussion

This value is only meaningful if the target device has been seen during an inquiry. This can be by checking the result of -getLastInquiryUpdate. If nil is returned, then the device hasn’t been seen.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/deviceClassMinor

func (IOBluetoothDevice) GetAddress

func (b IOBluetoothDevice) GetAddress() *BluetoothDeviceAddress

Get the Bluetooth device address for the target device.

Return Value

Returns a pointer to the Bluetooth device address of the target device.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getAddress()

func (IOBluetoothDevice) GetClockOffset

func (b IOBluetoothDevice) GetClockOffset() BluetoothClockOffset

Get the clock offset value of the device.

Return Value

Returns the clock offset value for the device.

Discussion

This value is only meaningful if the target device has been seen during an inquiry. This can be by checking the result of -getLastInquiryUpdate. If nil is returned, then the device hasn’t been seen.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getClockOffset()

func (IOBluetoothDevice) GetEncryptionMode

func (b IOBluetoothDevice) GetEncryptionMode() BluetoothHCIEncryptionMode

Get the encryption mode for the baseband connection.

Return Value

Returns the encryption mode for the baseband connection. If no baseband connection is present, kEncryptionDisabled is returned.

Discussion

This method only returns a valid result if a baseband connection is present (-isConnected returns TRUE).

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getEncryptionMode()

func (IOBluetoothDevice) GetLastInquiryUpdate

func (b IOBluetoothDevice) GetLastInquiryUpdate() foundation.NSDate

Get the date/time of the last time the device was returned during an inquiry.

Return Value

Returns the date/time of the last time the device was seen during an inquiry. If the device has never been seen during an inquiry, nil is returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getLastInquiryUpdate()

func (IOBluetoothDevice) GetLastServicesUpdate

func (b IOBluetoothDevice) GetLastServicesUpdate() foundation.NSDate

Get the date/time of the last SDP query.

Return Value

Returns the date/time of the last SDP query. If an SDP query has never been performed on the device, nil is returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getLastServicesUpdate()

func (IOBluetoothDevice) GetLinkType

func (b IOBluetoothDevice) GetLinkType() BluetoothLinkType

Get the link type for the baseband connection.

Return Value

Returns the link type for the baseband connection. If no baseband connection is present, kBluetoothLinkTypeNone is returned.

Discussion

This method only returns a valid result if a baseband connection is present (-isConnected returns TRUE).

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getLinkType()

func (IOBluetoothDevice) GetPageScanMode

func (b IOBluetoothDevice) GetPageScanMode() BluetoothPageScanMode

Get the page scan mode for the device.

Return Value

Returns the value for the page scan mode for the device.

Discussion

This value is only meaningful if the target device has been seen during an inquiry. This can be by checking the result of -getLastInquiryUpdate. If nil is returned, then the device hasn’t been seen.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getPageScanMode()

func (IOBluetoothDevice) GetPageScanPeriodMode

func (b IOBluetoothDevice) GetPageScanPeriodMode() BluetoothPageScanPeriodMode

Get the value of the page scan period mode for the device.

Return Value

Returns page scan period mode value for the device.

Discussion

This value is only meaningful if the target device has been seen during an inquiry. This can be by checking the result of -getLastInquiryUpdate. If nil is returned, then the device hasn’t been seen.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getPageScanPeriodMode()

func (IOBluetoothDevice) GetPageScanRepetitionMode

func (b IOBluetoothDevice) GetPageScanRepetitionMode() BluetoothPageScanRepetitionMode

Get the value of the page scan repetition mode for the device.

Return Value

Returns the page scan repetition mode value for this device.

Discussion

This value is only meaningful if the target device has been seen during an inquiry. This can be by checking the result of -getLastInquiryUpdate. If nil is returned, then the device hasn’t been seen.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getPageScanRepetitionMode()

func (IOBluetoothDevice) GetServiceRecordForUUID

func (b IOBluetoothDevice) GetServiceRecordForUUID(sdpUUID IIOBluetoothSDPUUID) IIOBluetoothSDPServiceRecord

Search for a service record containing the given UUID.

sdpUUID: UUID value to search for.

Return Value

Returns the first service record that contains the given uuid. If no service record is found, nil is returned.

Discussion

This method searches through the device’s services to find a service that contains the given UUID. Only the first service record will be returned. This method only operates on services that have already been queried. It will not initiate a new query. This method should probably be updated to return an array of service records if more than one contains the UUID.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/getServiceRecord(for:)

func (IOBluetoothDevice) Init

Init initializes the instance.

func (IOBluetoothDevice) IsConnected

func (b IOBluetoothDevice) IsConnected() bool

Indicates whether a baseband connection to the device exists.

Return Value

Returns YES if a baseband connection to the device exists.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/isConnected()

func (IOBluetoothDevice) IsFavorite

func (b IOBluetoothDevice) IsFavorite() bool

Reports whether the target device is a favorite for the user.

Return Value

Returns TRUE if the target device is a favorite for the user, FALSE if not.

Discussion

NOTE: This method is only available in macOS 10.2.4 (Bluetooth v1.1) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/isFavorite()

func (IOBluetoothDevice) IsIncoming

func (b IOBluetoothDevice) IsIncoming() bool

Returns TRUE if the device connection was generated by the remote host.

Return Value

Returns TRUE if the device connection was generated by the remote host.

Discussion

Returns TRUE if the device connection was generated by the remote host. False if the connection was generated by some other device that connected to the local host.

NOTE: This method is only available in macOS 10.2.7 (Bluetooth v1.3) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/isIncoming()

func (IOBluetoothDevice) IsPaired

func (b IOBluetoothDevice) IsPaired() bool

Returns whether the target device is paired.

Return Value

Returns TRUE if the target device is paired, FALSE if not.

Discussion

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/isPaired()

func (IOBluetoothDevice) LastNameUpdate

func (b IOBluetoothDevice) LastNameUpdate() foundation.NSDate

Get the date/time of the last successful remote name request.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/lastNameUpdate

func (IOBluetoothDevice) Name

func (b IOBluetoothDevice) Name() string

Get the human readable name of the remote device.

Discussion

This only returns a value if a remote name request has been performed on the target device. If a successful remote name request has not been completed, nil is returned. To perform a remote name request, call -remoteNameRequest. If a remote name request has been successfully completed, the method -getLastNameUpdate will return the date/time of the last successful request.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/name

func (IOBluetoothDevice) NameOrAddress

func (b IOBluetoothDevice) NameOrAddress() string

Get the human readable name of the remote device. If the name is not present, it will return a string containing the device’s address.

Discussion

If a remote name request has been successfully completed, the device name will be returned. If not, a string containg the device address in the format of “XX-XX-XX-XX-XX-XX” will be returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/nameOrAddress

func (IOBluetoothDevice) OpenConnection

func (b IOBluetoothDevice) OpenConnection() kernel.IOReturn

Create a baseband connection to the device.

Return Value

Returns kIOReturnSuccess if the connection was successfully created.

Discussion

This method is synchronous and will not return until either a connection has been established or the create connection has failed (perhaps timed out). This method does the same thing as calling -openConnection: with a nil target. This call with proceed without authentication required, and using the default page timeout value. If authentication or a non-default page timeout is required the method -openConnection:withPageTimeout:authenticationRequired: should be used instead.

As of OS X 10.7, this method will no longer mask out “Connection Exists” ‘errors’ with a success result code; your code must account for the cases where the baseband connection is already open.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/openConnection()

func (IOBluetoothDevice) OpenConnectionWithPageTimeoutAuthenticationRequired

func (b IOBluetoothDevice) OpenConnectionWithPageTimeoutAuthenticationRequired(target objectivec.IObject, pageTimeoutValue BluetoothHCIPageTimeout, authenticationRequired bool) kernel.IOReturn

Create a baseband connection to the device.

target: The target to message when the create connection call is complete

pageTimeoutValue: The page timeout value to use for this call

authenticationRequired: BOOL value to indicate whether authentication should be required for the connection

Return Value

Returns kIOReturnSuccess if the connection was successfully created (or if asynchronous, if the CREATE_CONNECTION command was successfully issued).

Discussion

If a target is specified, the open connection call is asynchronous and on completion of the CREATE_CONNECTION command, the method -connectionComplete:status: will be called on the specified target. If no target is specified, the call is synchronous and will not return until the connection is open or the CREATE_CONNECTION call has failed.

NOTE: This method is only available in macOS 10.2.7 (Bluetooth v1.3) or later.

As of OS X 10.7, this method will no longer mask out “Connection Exists” ‘errors’ with a success result code; your code must account for the cases where the baseband connection is already open.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/openConnection(_:withPageTimeout:authenticationRequired:)

func (IOBluetoothDevice) OpenConnectionWithTarget

func (b IOBluetoothDevice) OpenConnectionWithTarget(target objectivec.IObject) kernel.IOReturn

Create a baseband connection to the device.

Return Value

Returns kIOReturnSuccess if the connection was successfully created (or if asynchronous, if the CREATE_CONNECTION command was successfully issued).

Discussion

If a target is specified, the open connection call is asynchronous and on completion of the CREATE_CONNECTION command, the method -connectionComplete:status: will be called on the specified target. If no target is specified, the call is synchronous and will not return until the connection is open or the CREATE_CONNECTION call has failed. This call with proceed without authentication required, and using the default page timeout value. If authentication or a non-default page timeout is required the method -openConnection:withPageTimeout:authenticationRequired: should be used instead.

As of OS X 10.7, this method will no longer mask out “Connection Exists” ‘errors’ with a success result code; your code must account for the cases where the baseband connection is already open.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/openConnection(_:)

func (IOBluetoothDevice) OpenL2CAPChannelAsyncWithPSMDelegate

func (b IOBluetoothDevice) OpenL2CAPChannelAsyncWithPSMDelegate(newChannel IIOBluetoothL2CAPChannel, psm BluetoothL2CAPPSM, channelDelegate objectivec.IObject) kernel.IOReturn

Opens a new L2CAP channel to the target device. Returns immediately after starting the opening process.

newChannel: A pointer to an IOBluetoothL2CAPChannel object to receive the L2CAP channel requested to be opened. The newChannel pointer will only be set if kIOReturnSuccess is returned.

psm: The L2CAP PSM value for the new channel.

channelDelegate: The object that will play the role of delegate for the channel. A channel delegate is the object the l2cap uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of the file “IOBluetoothL2CAPChannel.h” in the definition of the protocol IOBluetoothL2CAPChannelDelegate.

Return Value

Returns kIOReturnSuccess if the open process was successfully started (or if an existing L2CAP channel was found).

Discussion

This method will begin the process of opening a new L2CAP channel to the target device. The baseband connection to the device will be opened if it is not open already. The L2CAP channel open process will not complete until the client has registered an incoming data listener on the new channel. This prevents a situation where the channel succeeds in being configured and opened and receives data before the client is listening and is ready for it.

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/openL2CAPChannelAsync(_:withPSM:delegate:)

func (IOBluetoothDevice) OpenL2CAPChannelAsyncWithPSMWithConfigurationDelegate

func (b IOBluetoothDevice) OpenL2CAPChannelAsyncWithPSMWithConfigurationDelegate(newChannel IIOBluetoothL2CAPChannel, psm BluetoothL2CAPPSM, channelConfiguration foundation.INSDictionary, channelDelegate objectivec.IObject) kernel.IOReturn

Opens a new L2CAP channel to the target device. Returns immediately after starting the opening process.

newChannel: A pointer to an IOBluetoothL2CAPChannel object to receive the L2CAP channel requested to be opened. The newChannel pointer will only be set if kIOReturnSuccess is returned.

psm: The L2CAP PSM value for the new channel.

channelConfiguration: The dictionary that describes the initial configuration for the channel.

channelDelegate: The object that will play the role of delegate for the channel. A channel delegate is the object the l2cap uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of the file “IOBluetoothL2CAPChannel.h” in the definition of the protocol IOBluetoothL2CAPChannelDelegate.

Return Value

Returns kIOReturnSuccess if the open process was successfully started (or if an existing L2CAP channel was found). The channel must be released when the caller is done with it.

Discussion

This method will begin the process of opening a new L2CAP channel to the target device. The baseband connection to the device will be opened if it is not open already. The L2CAP channel open process will not complete until the client has registered an incoming data listener on the new channel. This prevents a situation where the channel succeeds in being configured and opened and receives data before the client is listening and is ready for it. The L2CAP channel object is already retained when this function returns success; the channel must be released when the caller is done with it.

NOTE: This method is only available in macOS 10.5 (Bluetooth v2.0) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/openL2CAPChannelAsync(_:withPSM:withConfiguration:delegate:)

func (IOBluetoothDevice) OpenL2CAPChannelSyncWithPSMDelegate

func (b IOBluetoothDevice) OpenL2CAPChannelSyncWithPSMDelegate(newChannel IIOBluetoothL2CAPChannel, psm BluetoothL2CAPPSM, channelDelegate objectivec.IObject) kernel.IOReturn

Opens a new L2CAP channel to the target device. Returns only after the channel is opened.

newChannel: A pointer to an IOBluetoothL2CAPChannel object to receive the L2CAP channel requested to be opened. The newChannel pointer will only be set if kIOReturnSuccess is returned.

psm: The L2CAP PSM value for the new channel.

channelDelegate: The object that will play the role of delegate for the channel. A channel delegate is the object the l2cap uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of the file “IOBluetoothL2CAPChannel.h” in the definition of the protocol IOBluetoothL2CAPChannelDelegate.

Return Value

Returns kIOReturnSuccess if the open process was successfully started (or if an existing L2CAP channel was found).

Discussion

This method will begin the process of opening a new L2CAP channel to the target device. The baseband connection to the device will be opened if it is not open already. The L2CAP channel open process will not complete until the client has registered an incoming data listener on the new channel. This prevents a situation where the channel succeeds in being configured and opened and receives data before the client is listening and is ready for it.

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/openL2CAPChannelSync(_:withPSM:delegate:)

func (IOBluetoothDevice) OpenL2CAPChannelSyncWithPSMWithConfigurationDelegate

func (b IOBluetoothDevice) OpenL2CAPChannelSyncWithPSMWithConfigurationDelegate(newChannel IIOBluetoothL2CAPChannel, psm BluetoothL2CAPPSM, channelConfiguration foundation.INSDictionary, channelDelegate objectivec.IObject) kernel.IOReturn

Opens a new L2CAP channel to the target device. Returns only after the channel is opened.

newChannel: A pointer to an IOBluetoothL2CAPChannel object to receive the L2CAP channel requested to be opened. The newChannel pointer will only be set if kIOReturnSuccess is returned.

psm: The L2CAP PSM value for the new channel.

channelConfiguration: The dictionary that describes the initial configuration for the channel.

channelDelegate: The object that will play the role of delegate for the channel. A channel delegate is the object the l2cap uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of the file “IOBluetoothL2CAPChannel.h” in the definition of the protocol IOBluetoothL2CAPChannelDelegate.

Return Value

Returns kIOReturnSuccess if the open process was successfully started (or if an existing L2CAP channel was found). The channel must be released when the caller is done with it.

Discussion

This method will begin the process of opening a new L2CAP channel to the target device. The baseband connection to the device will be opened if it is not open already. The L2CAP channel open process will not complete until the client has registered an incoming data listener on the new channel. This prevents a situation where the channel succeeds in being configured and opened and receives data before the client is listening and is ready for it. The L2CAP channel object is already retained when this function returns success; the channel must be released when the caller is done with it.

NOTE: This method is only available in macOS 10.5 (Bluetooth v2.0) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/openL2CAPChannelSync(_:withPSM:withConfiguration:delegate:)

func (IOBluetoothDevice) OpenRFCOMMChannelAsyncWithChannelIDDelegate

func (b IOBluetoothDevice) OpenRFCOMMChannelAsyncWithChannelIDDelegate(rfcommChannel IIOBluetoothRFCOMMChannel, channelID BluetoothRFCOMMChannelID, channelDelegate objectivec.IObject) kernel.IOReturn

Opens a new RFCOMM channel to the target device. Returns immediately.

rfcommChannel: A pointer to an IOBluetoothRFCOMMChannel object to receive the RFCOMM channel requested to be opened. The rfcommChannel pointer will only be set if kIOReturnSuccess is returned.

channelID: The RFCOMM channel ID for the new channel.

channelDelegate: The object that will play the role of delegate for the channel. A channel delegate is the object the rfcomm uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of the file “IOBluetoothRFCOMMChannel.h” in the definition of the protocol IOBluetoothRFCOMMChannelDelegate.

Return Value

Returns kIOReturnSuccess if the open process was successfully started (or if an existing RFCOMM channel was found). The channel must be released when the caller is done with it.

Discussion

This method will begin the process of opening a new RFCOMM channel to the target device. The baseband connection to the device will be opened if it is not open already. The RFCOMM channel open process will not complete until the client has registered an incoming data listener on the new channel. The RFCOMM channel object is already retained when this function returns success; the channel must be released when the caller is done with it.

You should verify that the channel you wish to open exists on the remote device before attempting to open it, by performing an SDP query. This is recommended because the service might have been removed from the, remote device or the channel assignments for the service could have changed (this is rare, but it does happen frequently on some devices). This also works around a bug that existed in early Leopard versions in certain situations where the method would return an error; in these instances, the desired RFCOMM channel could not be opened again until the calling app was restarted.

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/openRFCOMMChannelAsync(_:withChannelID:delegate:)

func (IOBluetoothDevice) OpenRFCOMMChannelSyncWithChannelIDDelegate

func (b IOBluetoothDevice) OpenRFCOMMChannelSyncWithChannelIDDelegate(rfcommChannel IIOBluetoothRFCOMMChannel, channelID BluetoothRFCOMMChannelID, channelDelegate objectivec.IObject) kernel.IOReturn

Opens a new RFCOMM channel to the target device. Returns only once the channel is open or failed to open.

rfcommChannel: A pointer to an IOBluetoothRFCOMMChannel object to receive the RFCOMM channel requested to be opened. The rfcommChannel pointer will only be set if kIOReturnSuccess is returned.

channelID: The RFCOMM channel ID for the new channel.

channelDelegate: The object that will play the role of delegate for the channel. A channel delegate is the object the rfcomm uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of the file “IOBluetoothRFCOMMChannel.h” in the definition of the protocol IOBluetoothRFCOMMChannelDelegate.

Return Value

Returns kIOReturnSuccess if the open process was successfully started (or if an existing RFCOMM channel was found). The channel must be released when the caller is done with it.

Discussion

This method will begin the process of opening a new RFCOMM channel to the target device. The baseband connection to the device will be opened if it is not open already. The RFCOMM channel open process will not complete until the client has registered an incoming data listener on the new channel. The RFCOMM channel object is already retained when this function returns success; the channel must be released when the caller is done with it.

You should verify that the channel you wish to open exists on the remote device before attempting to open it, by performing an SDP query. This is recommended because the service might have been removed from the, remote device or the channel assignments for the service could have changed (this is rare, but it does happen frequently on some devices). This also works around a bug that existed in early Leopard versions in certain situations where the method would return an error; in these instances, the desired RFCOMM channel could not be opened again until the calling app was restarted.

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/openRFCOMMChannelSync(_:withChannelID:delegate:)

func (IOBluetoothDevice) PerformSDPQuery

func (b IOBluetoothDevice) PerformSDPQuery(target objectivec.IObject) kernel.IOReturn

Performs an SDP query on the target device.

target: The target to message when the SDP query is complete

Return Value

Returns kIOReturnSuccess if the SDP query was successfully started.

Discussion

As a result of this call, a baseband connection will be built to the device (if not already connected). Then, an L2CAP channel will be opened to the SDP server on the device. At that point, a Service Search Attribute request will be issued with a UUID of 0x0100 (L2CAP) and an attribute range of 0x0000 - 0xffff specified. This will cause the SDP server to return all attributes of all L2CAP-derived services on the device. The results essentially encompass all services on the device. This function is always asynchronous. If a target is specified, when the SDP query is complete (or an error is encountered), the method -sdpQueryComplete:status: will be called on the given target. If no target is specified, the request is still asynchronous, but no callback will be made. That can be useful if the client has registered for SDP service changed notifications.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/performSDPQuery(_:)

func (IOBluetoothDevice) PerformSDPQueryUuids

func (b IOBluetoothDevice) PerformSDPQueryUuids(target objectivec.IObject, uuidArray foundation.INSArray) kernel.IOReturn

Performs an SDP query on the target device with the specified service UUIDs.

target: The target to message when the SDP query is complete

uuidArray: An array of IOBluetoothSDPUUID objects for each service the caller is interested in

Return Value

Returns kIOReturnSuccess if the SDP query was successfully started.

Discussion

As a result of this call, a baseband connection will be built to the device (if not already connected). Then, an L2CAP channel will be opened to the SDP server on the device. At that point, a Service Search Attribute request will be issued for each service UUID specified in the UUID array.

This function is always asynchronous. If a target is specified, when the SDP query is complete (or an error is encountered), the method -sdpQueryComplete:status: will be called on the given target. If no target is specified, the request is still asynchronous, but no callback will be made. That can be useful if the client has registered for SDP service changed notifications.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/performSDPQuery(_:uuids:)

func (IOBluetoothDevice) RSSI

Get the RSSI device (if connected), above or below the golden range. If the RSSI is within the golden range, a value of 0 is returned. For the actual RSSI value, use getRawRSSI. For more information, see the Bluetooth 4.0 Core Specification.

Return Value

Returns the RSSI of the device. If the value cannot be read (e.g. the device is disconnected), a value of +127 will be returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/rssi()

func (IOBluetoothDevice) RawRSSI

Get the raw RSSI device (if connected).

Return Value

Returns the raw RSSI of the device.

Discussion

This value is the perceived RSSI value, not relative the the golden range (see getRSSI for that value). This value will not available on all Bluetooth modules. If the value cannot be read (e.g. the device is disconnected) or is not available on a module, a value of +127 will be returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/rawRSSI()

func (IOBluetoothDevice) RecentAccessDate

func (b IOBluetoothDevice) RecentAccessDate() foundation.NSDate

Returns the date/time of the most recent access of the target device.

Return Value

Returns the date/time of the most recent access of the target device. If the device has not been accessed, nil is returned.

Discussion

This is the date that -recentDevices uses to sort its list of the most recently accessed devices.

NOTE: This method is only available in macOS 10.2.4 (Bluetooth v1.1) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/recentAccessDate()

func (IOBluetoothDevice) RegisterForDisconnectNotificationSelector

func (b IOBluetoothDevice) RegisterForDisconnectNotificationSelector(observer objectivec.IObject, inSelector objc.SEL) IIOBluetoothUserNotification

Allows a client to register for device disconnect notification.

observer: Target observer object

inSelector: Selector to be sent to the observer when the connection is destroyed

Return Value

Returns an IOBluetoothUserNotification representing the outstanding device disconnect notification. To unregister the notification, call -unregister of the returned IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned.

Discussion

The given selector will be called on the target observer when the target device’s connection is closed. The selector should contain two arguments. The first is the user notification object. The second is the IOBluetoothDevice that was disconnected.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/register(forDisconnectNotification:selector:)

func (IOBluetoothDevice) RemoteNameRequest

func (b IOBluetoothDevice) RemoteNameRequest(target objectivec.IObject) kernel.IOReturn

Issues a remote name request to the target device.

target: The target to message when the remote name request is complete

Return Value

Returns kIOReturnSuccess if the remote name request was successfully issued (and if synchronous, if the request completed successfully).

Discussion

If a target is specified, the request is asynchronous and on completion of the request, the method

- (void)remoteNameRequestComplete:(IOBluetoothDevice *)device status:(IOReturn)status;

will be called on the specified target. If no target is specified, the request is made synchronously and won’t return until the request is complete. This call with operate with the default page timeout value. If a different page timeout value is desired, the method -remoteNameRequest:withPageTimeout: should be used instead.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/remoteNameRequest(_:)

func (IOBluetoothDevice) RemoteNameRequestWithPageTimeout

func (b IOBluetoothDevice) RemoteNameRequestWithPageTimeout(target objectivec.IObject, pageTimeoutValue BluetoothHCIPageTimeout) kernel.IOReturn

Issues a remote name request to the target device.

target: The target to message when the remote name request is complete

pageTimeoutValue: The page timeout value to use for this call

Return Value

Returns kIOReturnSuccess if the remote name request was successfully issued (and if synchronous, if the request completed successfully).

Discussion

If a target is specified, the request is asynchronous and on completion of the REMOTE_NAME_REQUEST command, the method -remoteNameRequestComplete:status:name: will be called on the specified target. If no target is specified, the request is made synchronously and won’t return until the request is complete.

NOTE: This method is only available in macOS 10.2.7 (Bluetooth v1.3) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/remoteNameRequest(_:withPageTimeout:)

func (IOBluetoothDevice) RemoveFromFavorites

func (b IOBluetoothDevice) RemoveFromFavorites() kernel.IOReturn

Removes the target device from the user’s favorite devices list.

Return Value

Returns kIOReturnSuccess if the device was successfully removed from the user’s list of favorite devices.

Discussion

NOTE: This method is only available in macOS 10.2.4 (Bluetooth v1.1) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/removeFromFavorites()

func (IOBluetoothDevice) RequestAuthentication

func (b IOBluetoothDevice) RequestAuthentication() kernel.IOReturn

Requests that the existing baseband connection be authenticated.

Return Value

Returns kIOReturnSuccess if the connection has been successfully been authenticated. Returns an error if authentication fails or no baseband connection exists.

Discussion

In order to authenticate a baseband connection, a link key needs to be generated as a result of the pairing process. This call will synchronously initiate the pairing process with the target device and not return until the authentication process is complete. This API will be updated to allow for asynchronous operation.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/requestAuthentication()

func (IOBluetoothDevice) SendL2CAPEchoRequestLength

func (b IOBluetoothDevice) SendL2CAPEchoRequestLength(data unsafe.Pointer, length uint16) kernel.IOReturn

Send an echo request over the L2CAP connection to a remote device.

data: (Void *) - Pointer to buffer to send.

length: (UInt16) - Length of the buffer to send

Return Value

Returns kIOReturnSuccess if the echo request was able to be sent.

Discussion

The current implementation returns when the request has been sent, but does not indicate when a response is received. Also, the baseband connection must be up for the echo request to be sent. In the future, this method will also open the connection if necessary. The API will be updated to allow the client to be informed when the echo response has been received (both synchronously and asynchronously).

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/sendL2CAPEchoRequest(_:length:)

func (IOBluetoothDevice) ServiceClassMajor

func (b IOBluetoothDevice) ServiceClassMajor() BluetoothServiceClassMajor

Get the major service class of the device.

Discussion

This value is only meaningful if the target device has been seen during an inquiry. This can be by checking the result of -getLastInquiryUpdate. If nil is returned, then the device hasn’t been seen.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/serviceClassMajor

func (IOBluetoothDevice) Services

func (b IOBluetoothDevice) Services() foundation.INSArray

Gets an array of service records for the device.

Return Value

Returns an array of service records for the device if an SDP query has been performed. If no SDP query has been performed, nil is returned.

Discussion

The resulting array contains IOBluetoothSDPServiceRecord objects. The service records are only present if an SDP query has been done on the target object. This can be determined by calling -getLastServicesUpdate. It will return the last date/time of the SDP query. To initiate an SDP query on a device, use -performSDPQuery: as defined above.

Instead of allowing individual clients to query for different services and service attributes, the system request all of the device’s services and service attributes.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/services

func (IOBluetoothDevice) SetSupervisionTimeout

func (b IOBluetoothDevice) SetSupervisionTimeout(timeout uint16) kernel.IOReturn

Sets the connection supervision timeout.

timeout: A client-supplied link supervision timeout value to use to monitor the connection. The timeout value should be specified in slots, so you can use the BluetoothGetSlotsFromSeconds macro to get the proper value. e.g. BluetoothGetSlotsFromSeconds( 5.0 ) will give yield the proper number of slots (8000) for 5 seconds.

Return Value

Returns kIOReturnSuccess if it was possible to set the connection supervision timeout.

Discussion

NOTE: This method is only available in macOS 10.5 (Bluetooth v2.0) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/setSupervisionTimeout(_:)

type IOBluetoothDeviceAsyncCallbacks

type IOBluetoothDeviceAsyncCallbacks interface {
	objectivec.IObject

	// ConnectionCompleteStatus protocol.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceAsyncCallbacks/connectionComplete(_:status:)
	ConnectionCompleteStatus(device IIOBluetoothDevice, status kernel.IOReturn)

	// RemoteNameRequestCompleteStatus protocol.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceAsyncCallbacks/remoteNameRequestComplete(_:status:)
	RemoteNameRequestCompleteStatus(device IIOBluetoothDevice, status kernel.IOReturn)

	// SdpQueryCompleteStatus protocol.
	//
	// See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceAsyncCallbacks/sdpQueryComplete(_:status:)
	SdpQueryCompleteStatus(device IIOBluetoothDevice, status kernel.IOReturn)
}

IOBluetoothDeviceAsyncCallbacks protocol.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceAsyncCallbacks

type IOBluetoothDeviceAsyncCallbacksObject

type IOBluetoothDeviceAsyncCallbacksObject struct {
	objectivec.Object
}

IOBluetoothDeviceAsyncCallbacksObject wraps an existing Objective-C object that conforms to the IOBluetoothDeviceAsyncCallbacks protocol.

func IOBluetoothDeviceAsyncCallbacksObjectFromID

func IOBluetoothDeviceAsyncCallbacksObjectFromID(id objc.ID) IOBluetoothDeviceAsyncCallbacksObject

IOBluetoothDeviceAsyncCallbacksObjectFromID constructs a IOBluetoothDeviceAsyncCallbacksObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func (IOBluetoothDeviceAsyncCallbacksObject) BaseObject

type IOBluetoothDeviceClass

type IOBluetoothDeviceClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothDeviceClass

func GetIOBluetoothDeviceClass() IOBluetoothDeviceClass

GetIOBluetoothDeviceClass returns the class object for IOBluetoothDevice.

func (IOBluetoothDeviceClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothDeviceClass) Class

func (ic IOBluetoothDeviceClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

func (IOBluetoothDeviceClass) FavoriteDevices

func (_IOBluetoothDeviceClass IOBluetoothDeviceClass) FavoriteDevices() foundation.INSArray

Gets an array of the user’s favorite devices.

Return Value

Returns an array of device objects representing the user’s favorite devices. If the user has no favorites, nil is returned.

Discussion

The resulting array contains IOBluetoothDevice objects.

NOTE: This method is only available in macOS 10.2.4 (Bluetooth v1.1) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/favoriteDevices()

func (IOBluetoothDeviceClass) PairedDevices

func (_IOBluetoothDeviceClass IOBluetoothDeviceClass) PairedDevices() foundation.INSArray

Gets an array of all of the paired devices on the system.

Return Value

Returns an array of device objects for all of the paired devices on the system. If there are no paired devices, nil is returned.

Discussion

The resulting array contains IOBluetoothDevice objects. The paired devices are currently NOT stored per user, so this is all devices paired by any user.

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/pairedDevices()

func (IOBluetoothDeviceClass) RecentDevices

func (_IOBluetoothDeviceClass IOBluetoothDeviceClass) RecentDevices(numDevices uint64) foundation.INSArray

Gets an array of recently used Bluetooth devices.

numDevices: The number of devices to return.

Return Value

Returns an array of device objects recently used by the system. If no devices have been accessed, nil is returned.

Discussion

The resulting array contains IOBluetoothDevice objects sorted in reverse chronological order. The most recently accessed devices are first. If the numDevices parameter is 0, all devices accessed by the system are returned. If numDevices is non-zero, only the most recent devices are returned.

NOTE: This method is only available in macOS 10.2.4 (Bluetooth v1.1) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/recentDevices(_:)

func (IOBluetoothDeviceClass) RegisterForConnectNotificationsSelector

func (_IOBluetoothDeviceClass IOBluetoothDeviceClass) RegisterForConnectNotificationsSelector(observer objectivec.IObject, inSelector objc.SEL) IOBluetoothUserNotification

Allows a client to register for device connect notifications for any connection.

observer: Target observer object

inSelector: Selector to be sent to the observer when a new connection is made

Return Value

Returns an IOBluetoothUserNotification representing the outstanding device connect notification. To unregister the notification, call -unregister on the returned IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned. The returned IOBluetoothUserNotification object will be valid for as long as the notification is registered. It is not necessary to retain the result. Once -unregister is called on it, it will no longer be valid.

Discussion

The given selector will be called on the target observer whenever any device connection is made. The selector should accept two arguments. The first is the user notification object. The second is the device that was connected.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevice/register(forConnectNotifications:selector:)

type IOBluetoothDeviceInquiry

type IOBluetoothDeviceInquiry struct {
	objectivec.Object
}

Object representing a device inquiry that finds Bluetooth devices in-range of the computer, and (optionally) retrieves name information for them.

Overview

You should only use this object if your application needs to know about in-range devices and cannot use the GUI provided by the IOBluetoothUI framework. It will not let you perform unlimited back-to-back inquiries, but will instead throttle the number of attempted inquiries if too many are attempted within a small window of time. Important Note: DO NOT perform remote name requests on devices from delegate methods or while this object is in use. If you wish to do your own remote name requests on devices, do them after you have stopped this object. If you do not heed this warning, you could potentially deadlock your process.

Initializers

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry

func IOBluetoothDeviceInquiryFromID

func IOBluetoothDeviceInquiryFromID(id objc.ID) IOBluetoothDeviceInquiry

IOBluetoothDeviceInquiryFromID constructs a IOBluetoothDeviceInquiry from an objc.ID.

Object representing a device inquiry that finds Bluetooth devices in-range of the computer, and (optionally) retrieves name information for them.

func NewBluetoothDeviceInquiryWithDelegate

func NewBluetoothDeviceInquiryWithDelegate(delegate objectivec.IObject) IOBluetoothDeviceInquiry

Initializes an alloc’d inquiry object, and sets the delegate object, as if -setDelegate: were called on it.

delegate: A delegate object that wishes to receive messages from the inquiry object. Delegate methods are listed below, under IOBluetoothDeviceInquiryDelegate.

Return Value

A pointer to the initialized IOBluetoothDeviceInquiry object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/init(delegate:)

func NewIOBluetoothDeviceInquiry

func NewIOBluetoothDeviceInquiry() IOBluetoothDeviceInquiry

NewIOBluetoothDeviceInquiry creates a new IOBluetoothDeviceInquiry instance.

func (IOBluetoothDeviceInquiry) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothDeviceInquiry) ClearFoundDevices

func (b IOBluetoothDeviceInquiry) ClearFoundDevices()

Removes all found devices from the inquiry object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/clearFoundDevices()

func (IOBluetoothDeviceInquiry) FoundDevices

func (b IOBluetoothDeviceInquiry) FoundDevices() foundation.INSArray

Returns found IOBluetoothDevice objects as an array.

Return Value

Returns an NSArray of IOBluetoothDevice objects.

Discussion

Will not return nil. If there are no devices found, returns an array with length of 0.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/foundDevices()

func (IOBluetoothDeviceInquiry) Init

Init initializes the instance.

func (IOBluetoothDeviceInquiry) InitWithDelegate

Initializes an alloc’d inquiry object, and sets the delegate object, as if -setDelegate: were called on it.

delegate: A delegate object that wishes to receive messages from the inquiry object. Delegate methods are listed below, under IOBluetoothDeviceInquiryDelegate.

Return Value

A pointer to the initialized IOBluetoothDeviceInquiry object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/init(delegate:)

func (IOBluetoothDeviceInquiry) InquiryLength

func (b IOBluetoothDeviceInquiry) InquiryLength() uint8

Set the length of the inquiry that is performed each time -start is used on an inquiry object.

Discussion

A default of 10 seconds is used, unless a different value is specified using this method. Note that if you have called -start again too quickly, your inquiry may actually take much longer than what length you specify, as inquiries are throttled in the system. Also note that if you have the inquiry object updating device names for you, the whole inquiry process could be much longer than the specified length, depending on the number of devices found and how responsive to name requests they are. If you -must- have a strict inquiry length, disable name updates. In other words, this “length” only refers to the actual device discovery portion of the whole inquiry process.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/inquiryLength

func (IOBluetoothDeviceInquiry) SearchType

Set the devices that are found.

Discussion

A default of kIOBluetoothDeviceSearchClassic is used, unless a different value is specified using this method.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/searchType

func (IOBluetoothDeviceInquiry) SetDelegate

func (b IOBluetoothDeviceInquiry) SetDelegate(value objectivec.IObject)

func (IOBluetoothDeviceInquiry) SetInquiryLength

func (b IOBluetoothDeviceInquiry) SetInquiryLength(value uint8)

func (IOBluetoothDeviceInquiry) SetSearchCriteriaMajorDeviceClassMinorDeviceClass

func (b IOBluetoothDeviceInquiry) SetSearchCriteriaMajorDeviceClassMinorDeviceClass(inServiceClassMajor BluetoothServiceClassMajor, inMajorDeviceClass BluetoothDeviceClassMajor, inMinorDeviceClass BluetoothDeviceClassMinor)

Use this method to set the criteria for the device search.

inServiceClassMajor: Set the major service class for found devices. Set to kBluetoothServiceClassMajorAny for all devices. See BluetoothAssignedNumbers.h for possible values.

inMajorDeviceClass: Set the major device class for found devices. Set to kBluetoothDeviceClassMajorAny for all devices. See BluetoothAssignedNumbers.h for possible values.

inMinorDeviceClass: Set the minor device class for found devices. Set to kBluetoothDeviceClassMinorAny for all devices. See BluetoothAssignedNumbers.h for possible values.

Discussion

The default inquiry object will search for all types of devices. If you wish to find only keyboards, for example, you might use this method like this:

[myInquiryObject setSearchCriteria:kBluetoothServiceClassMajorAny majorDeviceClass:kBluetoothDeviceClassMajorPeripheral minorDeviceClass:kBluetoothDeviceClassMinorPeripheral1Keyboard];

However, we recommend only using this if you are certain of the device class you are looking for, as some devices may report a different/unexpected device class, and the search may miss the device you are interested in.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/setSearchCriteria(_:majorDeviceClass:minorDeviceClass:)

func (IOBluetoothDeviceInquiry) SetSearchType

func (IOBluetoothDeviceInquiry) SetUpdateNewDeviceNames

func (b IOBluetoothDeviceInquiry) SetUpdateNewDeviceNames(value bool)

func (IOBluetoothDeviceInquiry) Start

Tells inquiry object to begin the inquiry and name updating process, if specified.

Return Value

Returns kIOReturnSuccess if start was successful. Returns kIOReturnBusy if the object is already in process. May return other IOReturn values, as appropriate.

Discussion

Calling start multiple times in rapid succession or back-to-back will probably not produce the intended results. Inquiries are throttled if they are called too quickly in succession.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/start()

func (IOBluetoothDeviceInquiry) Stop

Halts the inquiry object. Could either stop the search for new devices, or the updating of found device names.

Return Value

Returns kIOReturnSuccess if the inquiry is successfully stopped. Returns kIOReturnNotPermitted if the inquiry object is already stopped. May return other IOReturn values, as appropriate.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/stop()

func (IOBluetoothDeviceInquiry) UpdateNewDeviceNames

func (b IOBluetoothDeviceInquiry) UpdateNewDeviceNames() bool

Sets whether or not the inquiry object will retrieve the names of devices found during the search.

Discussion

The default value for the inquiry object is TRUE, unless this method is used to change it.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiry/updateNewDeviceNames

type IOBluetoothDeviceInquiryClass

type IOBluetoothDeviceInquiryClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothDeviceInquiryClass

func GetIOBluetoothDeviceInquiryClass() IOBluetoothDeviceInquiryClass

GetIOBluetoothDeviceInquiryClass returns the class object for IOBluetoothDeviceInquiry.

func (IOBluetoothDeviceInquiryClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothDeviceInquiryClass) Class

Class returns the underlying Objective-C class pointer.

type IOBluetoothDeviceInquiryDelegate

type IOBluetoothDeviceInquiryDelegate interface {
	objectivec.IObject
}

This category on NSObject describes the delegate methods for the IOBluetoothDeviceInquiry object. All methods are optional, but it is highly recommended you implement them all. Do NOT invoke remote name requests on found IOBluetoothDevice objects unless the inquiry object has been stopped. Doing so may deadlock your process.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiryDelegate

type IOBluetoothDeviceInquiryDelegateConfig

type IOBluetoothDeviceInquiryDelegateConfig struct {

	// Instance Methods
	DeviceInquiryCompleteErrorAborted                       func(sender IOBluetoothDeviceInquiry, error_ kernel.IOReturn, aborted bool)
	DeviceInquiryDeviceFoundDevice                          func(sender IOBluetoothDeviceInquiry, device IOBluetoothDevice)
	DeviceInquiryDeviceNameUpdatedDeviceDevicesRemaining    func(sender IOBluetoothDeviceInquiry, device IOBluetoothDevice, devicesRemaining uint32)
	DeviceInquiryStarted                                    func(sender IOBluetoothDeviceInquiry)
	DeviceInquiryUpdatingDeviceNamesStartedDevicesRemaining func(sender IOBluetoothDeviceInquiry, devicesRemaining uint32)
}

IOBluetoothDeviceInquiryDelegateConfig holds optional typed callbacks for IOBluetoothDeviceInquiryDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type IOBluetoothDeviceInquiryDelegateObject

type IOBluetoothDeviceInquiryDelegateObject struct {
	objectivec.Object
}

IOBluetoothDeviceInquiryDelegateObject wraps an existing Objective-C object that conforms to the IOBluetoothDeviceInquiryDelegate protocol.

func IOBluetoothDeviceInquiryDelegateObjectFromID

func IOBluetoothDeviceInquiryDelegateObjectFromID(id objc.ID) IOBluetoothDeviceInquiryDelegateObject

IOBluetoothDeviceInquiryDelegateObjectFromID constructs a IOBluetoothDeviceInquiryDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewIOBluetoothDeviceInquiryDelegate

func NewIOBluetoothDeviceInquiryDelegate(config IOBluetoothDeviceInquiryDelegateConfig) IOBluetoothDeviceInquiryDelegateObject

NewIOBluetoothDeviceInquiryDelegate creates an Objective-C object implementing the IOBluetoothDeviceInquiryDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned IOBluetoothDeviceInquiryDelegateObject satisfies the IOBluetoothDeviceInquiryDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (IOBluetoothDeviceInquiryDelegateObject) BaseObject

func (IOBluetoothDeviceInquiryDelegateObject) DeviceInquiryCompleteErrorAborted

func (o IOBluetoothDeviceInquiryDelegateObject) DeviceInquiryCompleteErrorAborted(sender IIOBluetoothDeviceInquiry, error_ kernel.IOReturn, aborted bool)

sender: Inquiry object that sent this delegate message.

error: Error code. kIOReturnSuccess if the inquiry completed without incident.

aborted: TRUE if user called -stop on the inquiry.

Discussion

When the inquiry is completely stopped, this delegate method will be invoked. It will supply an error code value, kIOReturnSuccess if the inquiry stopped without problem, otherwise a non-kIOReturnSuccess error code will be supplied.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiryDelegate/deviceInquiryComplete(_:error:aborted:)

func (IOBluetoothDeviceInquiryDelegateObject) DeviceInquiryDeviceFoundDevice

func (o IOBluetoothDeviceInquiryDelegateObject) DeviceInquiryDeviceFoundDevice(sender IIOBluetoothDeviceInquiry, device IIOBluetoothDevice)

sender: Inquiry object that sent this delegate message.

device: IOBluetoothDevice that was found.

Discussion

A new device has been found. You do not need to retain the device - it will be held in the internal storage of the inquiry, and can be accessed later using -foundDevices.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiryDelegate/deviceInquiryDeviceFound(_:device:)

func (IOBluetoothDeviceInquiryDelegateObject) DeviceInquiryDeviceNameUpdatedDeviceDevicesRemaining

func (o IOBluetoothDeviceInquiryDelegateObject) DeviceInquiryDeviceNameUpdatedDeviceDevicesRemaining(sender IIOBluetoothDeviceInquiry, device IIOBluetoothDevice, devicesRemaining uint32)

sender: Inquiry object that sent this delegate message.

device: IOBluetoothDevice that was updated.

devicesRemaining: Number of devices remaining to update.

Discussion

A device name has been retrieved. Also indicates how many devices are left to be updated.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiryDelegate/deviceInquiryDeviceNameUpdated(_:device:devicesRemaining:)

func (IOBluetoothDeviceInquiryDelegateObject) DeviceInquiryStarted

sender: Inquiry object that sent this delegate message.

Discussion

This message will be delivered when the inquiry actually starts. Since the inquiry could be throttled, this message may not be received immediately after called -start.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiryDelegate/deviceInquiryStarted(_:)

func (IOBluetoothDeviceInquiryDelegateObject) DeviceInquiryUpdatingDeviceNamesStartedDevicesRemaining

func (o IOBluetoothDeviceInquiryDelegateObject) DeviceInquiryUpdatingDeviceNamesStartedDevicesRemaining(sender IIOBluetoothDeviceInquiry, devicesRemaining uint32)

sender: Inquiry object that sent this delegate message.

devicesRemaining: Number of devices remaining to update.

Discussion

The inquiry has begun updating device names that were found during the search.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceInquiryDelegate/deviceInquiryUpdatingDeviceNamesStarted(_:devicesRemaining:)

type IOBluetoothDevicePair

type IOBluetoothDevicePair struct {
	objectivec.Object
}

An instance of IOBluetoothDevicePair represents a pairing attempt to a remote Bluetooth device.

Overview

Use the IOBluetoothDevicePair object to attempt to pair with any Bluetooth device. Once -start is invoked on it, progress is returned to the delegate via the messages defined below. This object enables you to pair with devices within your application without having to use the standard panels provided by the IOBluetoothUI framework, allowing you to write custom UI to select devices, and still handle the ability to perform device pairings.

Of note is that this object MAY attempt to perform two low-level pairings, depending on the type of device you are attempting to pair. This is inconsequential to your code, however, as it occurs automatically and does not change the messaging.

Once started, the pairing can be stopped. This will set the delegate to nil and then attempt to disconnect from the device if already connected.

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePair

func IOBluetoothDevicePairFromID

func IOBluetoothDevicePairFromID(id objc.ID) IOBluetoothDevicePair

IOBluetoothDevicePairFromID constructs a IOBluetoothDevicePair from an objc.ID.

An instance of IOBluetoothDevicePair represents a pairing attempt to a remote Bluetooth device.

func NewBluetoothDevicePairWithDevice

func NewBluetoothDevicePairWithDevice(device IIOBluetoothDevice) IOBluetoothDevicePair

Creates an autorelease IOBluetoothDevicePair object with a device as the pairing target.

device: An IOBluetoothDevice to attept to pair with. The device is retained.

Return Value

Returns an IOReturn or Bluetooth error code, if the pairing could not be started.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePair/init(device:)

func NewIOBluetoothDevicePair

func NewIOBluetoothDevicePair() IOBluetoothDevicePair

NewIOBluetoothDevicePair creates a new IOBluetoothDevicePair instance.

func (IOBluetoothDevicePair) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothDevicePair) Device

Get the IOBluetoothDevice being used by the object.

Return Value

Device The IOBluetoothDevice object that the IOBluetoothDevicePair object is pairing with, as specified in -setDevice: or pairWithDevice:

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePair/device()

func (IOBluetoothDevicePair) Init

Init initializes the instance.

func (IOBluetoothDevicePair) ReplyPINCodePINCode

func (b IOBluetoothDevicePair) ReplyPINCodePINCode(PINCodeSize uint, PINCode *BluetoothPINCode)

This is the required reply to the devicePairingPINCodeRequest delegate message. Set the PIN code to use during pairing if required.

PINCodeSize: The PIN code length in octets (8 bits).

PINCode: PIN code for the device. Can be up to a maximum of 128 bits.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePair/replyPINCode(_:pinCode:)

func (IOBluetoothDevicePair) ReplyUserConfirmation

func (b IOBluetoothDevicePair) ReplyUserConfirmation(reply bool)

This is the required reply to the devicePairingUserConfirmationRequest delegate message.

reply: A yes/no answer provide by the user to the numeric comparison presented.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePair/replyUserConfirmation(_:)

func (IOBluetoothDevicePair) SetDelegate

func (b IOBluetoothDevicePair) SetDelegate(value objectivec.IObject)

func (IOBluetoothDevicePair) SetDevice

func (b IOBluetoothDevicePair) SetDevice(inDevice IIOBluetoothDevice)

Set the device object to pair with. It is retained by the object.

inDevice: The IOBluetoothDevice object that the IOBluetoothDevicePair object with which to perform a pairing.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePair/setDevice(_:)

func (IOBluetoothDevicePair) Start

Kicks off the pairing with the device.

Return Value

Returns an IOReturn or Bluetooth error code, if the pairing could not be started.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePair/start()

func (IOBluetoothDevicePair) Stop

func (b IOBluetoothDevicePair) Stop()

Stops the current pairing. Removes the delegate and disconnects if device was connected.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePair/stop()

type IOBluetoothDevicePairClass

type IOBluetoothDevicePairClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothDevicePairClass

func GetIOBluetoothDevicePairClass() IOBluetoothDevicePairClass

GetIOBluetoothDevicePairClass returns the class object for IOBluetoothDevicePair.

func (IOBluetoothDevicePairClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothDevicePairClass) Class

Class returns the underlying Objective-C class pointer.

type IOBluetoothDevicePairDelegate

type IOBluetoothDevicePairDelegate interface {
	objectivec.IObject
}

IOBluetoothDevicePairDelegate protocol.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDevicePairDelegate

type IOBluetoothDevicePairDelegateObject

type IOBluetoothDevicePairDelegateObject struct {
	objectivec.Object
}

IOBluetoothDevicePairDelegateObject wraps an existing Objective-C object that conforms to the IOBluetoothDevicePairDelegate protocol.

func IOBluetoothDevicePairDelegateObjectFromID

func IOBluetoothDevicePairDelegateObjectFromID(id objc.ID) IOBluetoothDevicePairDelegateObject

IOBluetoothDevicePairDelegateObjectFromID constructs a IOBluetoothDevicePairDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func (IOBluetoothDevicePairDelegateObject) BaseObject

type IOBluetoothDeviceRef

type IOBluetoothDeviceRef uintptr

IOBluetoothDeviceRef is an object that represents a Bluetooth I/O device.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceRef

type IOBluetoothDeviceSearchAttributes

type IOBluetoothDeviceSearchAttributes struct {
	Options              IOBluetoothDeviceSearchOptions
	MaxResults           uint32
	DeviceAttributeCount uint32
	AttributeList        *IOBluetoothDeviceSearchDeviceAttributes
}

IOBluetoothDeviceSearchAttributes - Structure used to search for particular devices.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceSearchAttributes

type IOBluetoothDeviceSearchDeviceAttributes

type IOBluetoothDeviceSearchDeviceAttributes struct {
	Address           BluetoothDeviceAddress
	Name              [248]uint8
	ServiceClassMajor kernel.BluetoothServiceClassMajor
	DeviceClassMajor  kernel.BluetoothDeviceClassMajor
	DeviceClassMinor  kernel.BluetoothDeviceClassMinor
}

IOBluetoothDeviceSearchDeviceAttributes - Structure used to search for particular devices.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceSearchDeviceAttributes

type IOBluetoothDeviceSearchOptionsBits

type IOBluetoothDeviceSearchOptionsBits uint32

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceSearchOptionsBits

const (
	KSearchOptionsAlwaysStartInquiry   IOBluetoothDeviceSearchOptionsBits = 1
	KSearchOptionsDiscardCachedResults IOBluetoothDeviceSearchOptionsBits = 2
	KSearchOptionsNone                 IOBluetoothDeviceSearchOptionsBits = 0
)

func (IOBluetoothDeviceSearchOptionsBits) String

type IOBluetoothDeviceSearchTypesBits

type IOBluetoothDeviceSearchTypesBits uint32

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothDeviceSearchTypesBits

const (
	KIOBluetoothDeviceSearchClassic IOBluetoothDeviceSearchTypesBits = 1
	KIOBluetoothDeviceSearchLE      IOBluetoothDeviceSearchTypesBits = 2
)

func (IOBluetoothDeviceSearchTypesBits) String

type IOBluetoothHandsFree

type IOBluetoothHandsFree struct {
	objectivec.Object
}

Hands free profile class.

Overview

Superclass of IOBluetoothHandsFreeDevice and IOBluetoothHandsFreeAudioGateway classes. Contains the common code used to support the bluetoooth hands free profile.

Initializers

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree

func IOBluetoothHandsFreeFromID

func IOBluetoothHandsFreeFromID(id objc.ID) IOBluetoothHandsFree

IOBluetoothHandsFreeFromID constructs a IOBluetoothHandsFree from an objc.ID.

Hands free profile class.

func NewBluetoothHandsFreeWithDeviceDelegate

func NewBluetoothHandsFreeWithDeviceDelegate(device IIOBluetoothDevice, inDelegate IOBluetoothHandsFreeDelegate) IOBluetoothHandsFree

Create a new IOBluetoothHandsFree object

device: An IOBluetoothDevice

inDelegate: An object to act as delegate that implements the IOBluetoothHandsFreeDelegate protocol.

Return Value

A newly created IOBluetoothHandsFreeAudioGateway object on success, nil on failure

Discussion

This method should be called on a subclass (IOBluetoothHandsFreeDevice or IOBluetoothHandsFreeAudioGateway) to get full functionality.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/init(device:delegate:)

func NewIOBluetoothHandsFree

func NewIOBluetoothHandsFree() IOBluetoothHandsFree

NewIOBluetoothHandsFree creates a new IOBluetoothHandsFree instance.

func (IOBluetoothHandsFree) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothHandsFree) Connect

func (b IOBluetoothHandsFree) Connect()

Connect to the device

Discussion

Connects to the device and sets up a service level connection (RFCOMM channel). Delegate methods will be called once the connection is complete or a failure occurs.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/connect()

func (IOBluetoothHandsFree) ConnectSCO

func (b IOBluetoothHandsFree) ConnectSCO()

Open a SCO connection with the device

Discussion

Opens a SCO connection with the device. The device must already have a service level connection or this will return immediately. Delegate methods will be called once the connection is complete of a failure occurs.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/connectSCO()

func (IOBluetoothHandsFree) Delegate

Return the delegate

Return Value

The delegate for the hands free object or nil if it doesn’t have a delegate.

Discussion

Returns the hands free object’s delegate.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/delegate

func (IOBluetoothHandsFree) Device

Return the IOBluetoothDevice.

Return Value

The IOBluetoothDevice object

Discussion

Returns the IOBluetoothDevice to connect with.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/device

func (IOBluetoothHandsFree) DeviceCallHoldModes

func (b IOBluetoothHandsFree) DeviceCallHoldModes() uint32

Return the device’s supported call hold modes.

Return Value

The SMS services supported

Discussion

Returns the device’s supported call hold modes bitmap. The values are described in “IOBluetoothHandsFreeCallHoldModes.”

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/deviceCallHoldModes

func (IOBluetoothHandsFree) DeviceSupportedFeatures

func (b IOBluetoothHandsFree) DeviceSupportedFeatures() uint32

Return the device’s supported features.

Return Value

The device features bitmap

Discussion

Returns the device’s supported features bitmap. The values are described in “IOBluetoothHandsFreeDeviceFeatures and IOBluetoothHandsFreeAudioGatewayFeatures.”

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/deviceSupportedFeatures

func (IOBluetoothHandsFree) DeviceSupportedSMSServices

func (b IOBluetoothHandsFree) DeviceSupportedSMSServices() uint32

Return the device’s supported SMS services.

Return Value

The SMS services supported

Discussion

Returns the device’s supported SMS services bitmap. The values are described in “IOBluetoothHandsFreeSMSSupport.”

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/deviceSupportedSMSServices

func (IOBluetoothHandsFree) Disconnect

func (b IOBluetoothHandsFree) Disconnect()

Disconnect from the device

Discussion

Disconnects from the device, closes the SCO and service level connection if they are connected. Delegate methods will be called once the disconnection is complete.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/disconnect()

func (IOBluetoothHandsFree) DisconnectSCO

func (b IOBluetoothHandsFree) DisconnectSCO()

Disconnect the SCO connection with the device

Discussion

Disconnects the SCO connection with the device (if one exists). Delegate methods will be called once the disconnection is complete.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/disconnectSCO()

func (IOBluetoothHandsFree) Indicator

func (b IOBluetoothHandsFree) Indicator(indicatorName string) int32

Return an indicator’s value

indicatorName: See “Hands free indicator constants,” for standard indicator names.

Discussion

Returns an indicator’s value.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/indicator(_:)

func (IOBluetoothHandsFree) Init

Init initializes the instance.

func (IOBluetoothHandsFree) InitWithDeviceDelegate

Create a new IOBluetoothHandsFree object

device: An IOBluetoothDevice

inDelegate: An object to act as delegate that implements the IOBluetoothHandsFreeDelegate protocol.

Return Value

A newly created IOBluetoothHandsFreeAudioGateway object on success, nil on failure

Discussion

This method should be called on a subclass (IOBluetoothHandsFreeDevice or IOBluetoothHandsFreeAudioGateway) to get full functionality.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/init(device:delegate:)

func (IOBluetoothHandsFree) InputVolume

func (b IOBluetoothHandsFree) InputVolume() float32

Return the input volume

Return Value

The input volume

Discussion

Returns the input volume between 0 and 1. 0 is the same as mute.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/inputVolume

func (IOBluetoothHandsFree) IsInputMuted

func (b IOBluetoothHandsFree) IsInputMuted() bool

Return the input mute state.

Discussion

Returns the inputs mute state.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/isInputMuted

func (IOBluetoothHandsFree) IsOutputMuted

func (b IOBluetoothHandsFree) IsOutputMuted() bool

Return the output mute state.

Discussion

Returns the outputs mute state.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/isOutputMuted

func (IOBluetoothHandsFree) IsSCOConnected

func (b IOBluetoothHandsFree) IsSCOConnected() bool

Determine if there is a SCO connection to the device

Return Value

YES if there is a SCO connection to the device; otherwise, NO.

Discussion

Determines if there is a SCO connection to the device.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/isSCOConnected()

func (IOBluetoothHandsFree) IsSMSEnabled

func (b IOBluetoothHandsFree) IsSMSEnabled() bool

Return YES if the device has SMS enabled.

Discussion

Returns YES if the device has SMS enabled (by responding to a CMGF command). NO if the device has not set an SMS mode or doesn’t support SMS.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/isSMSEnabled

func (IOBluetoothHandsFree) OutputVolume

func (b IOBluetoothHandsFree) OutputVolume() float32

Return the output volume

Return Value

The output volume

Discussion

Returns the output volume between 0 and 1. 0 is the same as mute.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/outputVolume

func (IOBluetoothHandsFree) SMSMode

Return the device’s SMS mode.

Return Value

The SMS mode

Discussion

Returns the device’s SMS mode. The values are described in “IOBluetoothSMSMode.”

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/smsMode

func (IOBluetoothHandsFree) SetDelegate

func (IOBluetoothHandsFree) SetIndicatorValue

func (b IOBluetoothHandsFree) SetIndicatorValue(indicatorName string, indicatorValue int32)

Set an indicator’s value

indicatorName: See “Hands free indicator constants,” for standard indicator names.

indicatorValue: Will set the indicator value as long as it is within the min and max values allowed.

Discussion

Sets an indicator’s value.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/setIndicator(_:value:)

func (IOBluetoothHandsFree) SetInputMuted

func (b IOBluetoothHandsFree) SetInputMuted(value bool)

func (IOBluetoothHandsFree) SetInputVolume

func (b IOBluetoothHandsFree) SetInputVolume(value float32)

func (IOBluetoothHandsFree) SetOutputMuted

func (b IOBluetoothHandsFree) SetOutputMuted(value bool)

func (IOBluetoothHandsFree) SetOutputVolume

func (b IOBluetoothHandsFree) SetOutputVolume(value float32)

func (IOBluetoothHandsFree) SetSupportedFeatures

func (b IOBluetoothHandsFree) SetSupportedFeatures(value uint32)

func (IOBluetoothHandsFree) SupportedFeatures

func (b IOBluetoothHandsFree) SupportedFeatures() uint32

Set the supported features

Discussion

Sets the supported features bitmap. The values are described in “IOBluetoothHandsFreeDeviceFeatures and IOBluetoothHandsFreeAudioGatewayFeatures.”

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFree/supportedFeatures

type IOBluetoothHandsFreeAudioGateway

type IOBluetoothHandsFreeAudioGateway struct {
	IOBluetoothHandsFree
}

An object that sends data to a connected Bluetooth hands-free phone or headset and processes commands from it.

Overview

This class represents the audio gateway portion of a Bluetooth audio profile.

Showing Status Indicators

Sending and Receiving Commands

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGateway

func IOBluetoothHandsFreeAudioGatewayFromID

func IOBluetoothHandsFreeAudioGatewayFromID(id objc.ID) IOBluetoothHandsFreeAudioGateway

IOBluetoothHandsFreeAudioGatewayFromID constructs a IOBluetoothHandsFreeAudioGateway from an objc.ID.

An object that sends data to a connected Bluetooth hands-free phone or headset and processes commands from it.

func NewBluetoothHandsFreeAudioGatewayWithDeviceDelegate

func NewBluetoothHandsFreeAudioGatewayWithDeviceDelegate(device IIOBluetoothDevice, inDelegate objectivec.IObject) IOBluetoothHandsFreeAudioGateway

Creates an object that controls a connected Bluetooth hands-free phone or headset.

device: A remote Bluetooth phone or headset.

inDelegate: A delegate that conforms to the IOBluetoothHandsFreeAudioGatewayDelegate protocol.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGateway/init(device:delegate:)

func NewIOBluetoothHandsFreeAudioGateway

func NewIOBluetoothHandsFreeAudioGateway() IOBluetoothHandsFreeAudioGateway

NewIOBluetoothHandsFreeAudioGateway creates a new IOBluetoothHandsFreeAudioGateway instance.

func (IOBluetoothHandsFreeAudioGateway) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothHandsFreeAudioGateway) CreateIndicatorMinMaxCurrentValue

func (b IOBluetoothHandsFreeAudioGateway) CreateIndicatorMinMaxCurrentValue(indicatorName string, minValue int32, maxValue int32, currentValue int32)

Sends a request to the Bluetooth device to show or update a status indicator.

indicatorName: The name of the indicator. Use one of the following constants:

- IOBluetoothHandsFreeIndicatorService - IOBluetoothHandsFreeIndicatorCall - IOBluetoothHandsFreeIndicatorCallSetup - IOBluetoothHandsFreeIndicatorCallHeld - IOBluetoothHandsFreeIndicatorSignal - IOBluetoothHandsFreeIndicatorRoam - IOBluetoothHandsFreeIndicatorBattChg

minValue: The minimum value for the indicator.

maxValue: The maximum value for the indicator.

currentValue: The current value of the indicator.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGateway/createIndicator(_:min:max:currentValue:)

func (IOBluetoothHandsFreeAudioGateway) Init

Init initializes the instance.

func (IOBluetoothHandsFreeAudioGateway) ProcessATCommand

func (b IOBluetoothHandsFreeAudioGateway) ProcessATCommand(atCommand string)

Processes a command from a connected Bluetooth hands-free phone or headset.

atCommand: A string containing the AT command sent from the hands-free Bluetooth device.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGateway/process(atCommand:)

func (IOBluetoothHandsFreeAudioGateway) SendOKResponse

func (b IOBluetoothHandsFreeAudioGateway) SendOKResponse()

Sends a success message to a connected Bluetooth hands-free phone or headset.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGateway/sendOKResponse()

func (IOBluetoothHandsFreeAudioGateway) SendResponse

func (b IOBluetoothHandsFreeAudioGateway) SendResponse(response string)

Sends data followed by a success message to a connected Bluetooth hands-free phone or headset.

response: A string containing the data.

Discussion

Calling this method has the same result as calling `sendResponse(response, true)`.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGateway/sendResponse(_:)

func (IOBluetoothHandsFreeAudioGateway) SendResponseWithOK

func (b IOBluetoothHandsFreeAudioGateway) SendResponseWithOK(response string, withOK bool)

Sends data followed by an optional success message to a connected Bluetooth hands-free phone or headset.

response: A string containing the data.

withOK: If `true`, send an [OK] message after sending the response.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGateway/sendResponse(_:withOK:)

type IOBluetoothHandsFreeAudioGatewayClass

type IOBluetoothHandsFreeAudioGatewayClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothHandsFreeAudioGatewayClass

func GetIOBluetoothHandsFreeAudioGatewayClass() IOBluetoothHandsFreeAudioGatewayClass

GetIOBluetoothHandsFreeAudioGatewayClass returns the class object for IOBluetoothHandsFreeAudioGateway.

func (IOBluetoothHandsFreeAudioGatewayClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothHandsFreeAudioGatewayClass) Class

Class returns the underlying Objective-C class pointer.

type IOBluetoothHandsFreeAudioGatewayDelegate

type IOBluetoothHandsFreeAudioGatewayDelegate interface {
	objectivec.IObject
}

A set of optional methods for receiving information about status changes for a connected Bluetooth hands-free phone or headset.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGatewayDelegate

type IOBluetoothHandsFreeAudioGatewayDelegateConfig

type IOBluetoothHandsFreeAudioGatewayDelegateConfig struct {

	// Receiving Status Change Information
	// HandsFreeHangup — Tells the delegate the connected Bluetooth hands-free phone or headset is sending a hang-up signal.
	HandsFreeHangup func(device IOBluetoothHandsFreeAudioGateway, hangup foundation.NSNumber)
	// HandsFreeRedial — Tells the delegate the connected Bluetooth hands-free phone or headset is redialing the last phone number.
	HandsFreeRedial func(device IOBluetoothHandsFreeAudioGateway, redial foundation.NSNumber)
}

IOBluetoothHandsFreeAudioGatewayDelegateConfig holds optional typed callbacks for IOBluetoothHandsFreeAudioGatewayDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type IOBluetoothHandsFreeAudioGatewayDelegateObject

type IOBluetoothHandsFreeAudioGatewayDelegateObject struct {
	objectivec.Object
}

IOBluetoothHandsFreeAudioGatewayDelegateObject wraps an existing Objective-C object that conforms to the IOBluetoothHandsFreeAudioGatewayDelegate protocol.

func IOBluetoothHandsFreeAudioGatewayDelegateObjectFromID

func IOBluetoothHandsFreeAudioGatewayDelegateObjectFromID(id objc.ID) IOBluetoothHandsFreeAudioGatewayDelegateObject

IOBluetoothHandsFreeAudioGatewayDelegateObjectFromID constructs a IOBluetoothHandsFreeAudioGatewayDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewIOBluetoothHandsFreeAudioGatewayDelegate

NewIOBluetoothHandsFreeAudioGatewayDelegate creates an Objective-C object implementing the IOBluetoothHandsFreeAudioGatewayDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned IOBluetoothHandsFreeAudioGatewayDelegateObject satisfies the IOBluetoothHandsFreeAudioGatewayDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (IOBluetoothHandsFreeAudioGatewayDelegateObject) BaseObject

func (IOBluetoothHandsFreeAudioGatewayDelegateObject) HandsFreeHangup

Tells the delegate the connected Bluetooth hands-free phone or headset is sending a hang-up signal.

device: The remote hands-free Bluetooth device that’s sending a hang-up signal.

hangup: A number that indicates whether the device is sending a hang-up signal. This value is always set to 1.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGatewayDelegate/handsFree(_:hangup:)

func (IOBluetoothHandsFreeAudioGatewayDelegateObject) HandsFreeRedial

Tells the delegate the connected Bluetooth hands-free phone or headset is redialing the last phone number.

device: The audio gateway for the remote hands-free Bluetooth device.

redial: A number that indicates whether the device is attempting to redial. This value is always set to 1.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGatewayDelegate/handsFree(_:redial:)

type IOBluetoothHandsFreeAudioGatewayFeatures

type IOBluetoothHandsFreeAudioGatewayFeatures uint32

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeAudioGatewayFeatures

const (
	IOBluetoothHandsFreeAudioGatewayFeatureAttachedNumberToVoiceTag IOBluetoothHandsFreeAudioGatewayFeatures = 16
	IOBluetoothHandsFreeAudioGatewayFeatureCodecNegotiation         IOBluetoothHandsFreeAudioGatewayFeatures = 512
	IOBluetoothHandsFreeAudioGatewayFeatureECAndOrNRFunction        IOBluetoothHandsFreeAudioGatewayFeatures = 2
	IOBluetoothHandsFreeAudioGatewayFeatureEnhancedCallControl      IOBluetoothHandsFreeAudioGatewayFeatures = 128
	IOBluetoothHandsFreeAudioGatewayFeatureEnhancedCallStatus       IOBluetoothHandsFreeAudioGatewayFeatures = 64
	IOBluetoothHandsFreeAudioGatewayFeatureExtendedErrorResultCodes IOBluetoothHandsFreeAudioGatewayFeatures = 256
	IOBluetoothHandsFreeAudioGatewayFeatureInBandRingTone           IOBluetoothHandsFreeAudioGatewayFeatures = 8
	IOBluetoothHandsFreeAudioGatewayFeatureRejectCallCapability     IOBluetoothHandsFreeAudioGatewayFeatures = 32
	IOBluetoothHandsFreeAudioGatewayFeatureThreeWayCalling          IOBluetoothHandsFreeAudioGatewayFeatures = 1
	IOBluetoothHandsFreeAudioGatewayFeatureVoiceRecognition         IOBluetoothHandsFreeAudioGatewayFeatures = 4
)

func (IOBluetoothHandsFreeAudioGatewayFeatures) String

type IOBluetoothHandsFreeCallHoldModes

type IOBluetoothHandsFreeCallHoldModes uint

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCallHoldModes

const (
	IOBluetoothHandsFreeCallHoldMode0    IOBluetoothHandsFreeCallHoldModes = 1
	IOBluetoothHandsFreeCallHoldMode1    IOBluetoothHandsFreeCallHoldModes = 2
	IOBluetoothHandsFreeCallHoldMode1idx IOBluetoothHandsFreeCallHoldModes = 4
	IOBluetoothHandsFreeCallHoldMode2    IOBluetoothHandsFreeCallHoldModes = 8
	IOBluetoothHandsFreeCallHoldMode2idx IOBluetoothHandsFreeCallHoldModes = 16
	IOBluetoothHandsFreeCallHoldMode3    IOBluetoothHandsFreeCallHoldModes = 32
	IOBluetoothHandsFreeCallHoldMode4    IOBluetoothHandsFreeCallHoldModes = 64
)

func (IOBluetoothHandsFreeCallHoldModes) String

type IOBluetoothHandsFreeClass

type IOBluetoothHandsFreeClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothHandsFreeClass

func GetIOBluetoothHandsFreeClass() IOBluetoothHandsFreeClass

GetIOBluetoothHandsFreeClass returns the class object for IOBluetoothHandsFree.

func (IOBluetoothHandsFreeClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothHandsFreeClass) Class

Class returns the underlying Objective-C class pointer.

type IOBluetoothHandsFreeCodecID

type IOBluetoothHandsFreeCodecID uint8

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeCodecID

const (
	IOBluetoothHandsFreeCodecIDAACELD IOBluetoothHandsFreeCodecID = 0x80
	IOBluetoothHandsFreeCodecIDCVSD   IOBluetoothHandsFreeCodecID = 0x1
	IOBluetoothHandsFreeCodecIDmSBC   IOBluetoothHandsFreeCodecID = 0x2
)

func (IOBluetoothHandsFreeCodecID) String

type IOBluetoothHandsFreeDelegate

type IOBluetoothHandsFreeDelegate interface {
	objectivec.IObject
}

IOBluetoothHandsFreeDelegate protocol.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDelegate

type IOBluetoothHandsFreeDelegateConfig

type IOBluetoothHandsFreeDelegateConfig struct {

	// Instance Methods
	HandsFreeConnected           func(device IOBluetoothHandsFree, status foundation.NSNumber)
	HandsFreeDisconnected        func(device IOBluetoothHandsFree, status foundation.NSNumber)
	HandsFreeScoConnectionClosed func(device IOBluetoothHandsFree, status foundation.NSNumber)
	HandsFreeScoConnectionOpened func(device IOBluetoothHandsFree, status foundation.NSNumber)
}

IOBluetoothHandsFreeDelegateConfig holds optional typed callbacks for IOBluetoothHandsFreeDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type IOBluetoothHandsFreeDelegateObject

type IOBluetoothHandsFreeDelegateObject struct {
	objectivec.Object
}

IOBluetoothHandsFreeDelegateObject wraps an existing Objective-C object that conforms to the IOBluetoothHandsFreeDelegate protocol.

func IOBluetoothHandsFreeDelegateObjectFromID

func IOBluetoothHandsFreeDelegateObjectFromID(id objc.ID) IOBluetoothHandsFreeDelegateObject

IOBluetoothHandsFreeDelegateObjectFromID constructs a IOBluetoothHandsFreeDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewIOBluetoothHandsFreeDelegate

func NewIOBluetoothHandsFreeDelegate(config IOBluetoothHandsFreeDelegateConfig) IOBluetoothHandsFreeDelegateObject

NewIOBluetoothHandsFreeDelegate creates an Objective-C object implementing the IOBluetoothHandsFreeDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned IOBluetoothHandsFreeDelegateObject satisfies the IOBluetoothHandsFreeDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (IOBluetoothHandsFreeDelegateObject) BaseObject

type IOBluetoothHandsFreeDevice

type IOBluetoothHandsFreeDevice struct {
	IOBluetoothHandsFree
}

An object you use to manage phone calls on a connected Bluetooth hands-free phone or headset.

Accepting Calls

Dialing Calls

Holding Calls

Ending Calls

Sending Messages and Commands

Requesting Status Information

Transferring Audio

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice

func IOBluetoothHandsFreeDeviceFromID

func IOBluetoothHandsFreeDeviceFromID(id objc.ID) IOBluetoothHandsFreeDevice

IOBluetoothHandsFreeDeviceFromID constructs a IOBluetoothHandsFreeDevice from an objc.ID.

An object you use to manage phone calls on a connected Bluetooth hands-free phone or headset.

func NewBluetoothHandsFreeDeviceWithDeviceDelegate

func NewBluetoothHandsFreeDeviceWithDeviceDelegate(device IIOBluetoothDevice, delegate objectivec.IObject) IOBluetoothHandsFreeDevice

Creates an object to manage phone calls on a hands-free Bluetooth device.

device: A Bluetooth device.

delegate: A delegate that conforms to the IOBluetoothHandsFreeDeviceDelegate protocol.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/init(device:delegate:)

func NewIOBluetoothHandsFreeDevice

func NewIOBluetoothHandsFreeDevice() IOBluetoothHandsFreeDevice

NewIOBluetoothHandsFreeDevice creates a new IOBluetoothHandsFreeDevice instance.

func (IOBluetoothHandsFreeDevice) AcceptCall

func (b IOBluetoothHandsFreeDevice) AcceptCall()

Accepts an incoming call.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/acceptCall()

func (IOBluetoothHandsFreeDevice) AcceptCallOnPhone

func (b IOBluetoothHandsFreeDevice) AcceptCallOnPhone()

Accepts an incoming call and transfers the audio to the managed hands-free phone or headset.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/acceptCallOnPhone()

func (IOBluetoothHandsFreeDevice) AddHeldCall

func (b IOBluetoothHandsFreeDevice) AddHeldCall()

Adds held calls to the current conversation.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/addHeldCall()

func (IOBluetoothHandsFreeDevice) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothHandsFreeDevice) CallTransfer

func (b IOBluetoothHandsFreeDevice) CallTransfer()

Ends all calls that are active or on hold, and accepts any waiting calls.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/callTransfer()

func (IOBluetoothHandsFreeDevice) CurrentCallList

func (b IOBluetoothHandsFreeDevice) CurrentCallList()

Requests that the Bluetooth audio gateway send the delegate a list of calls that are active, on hold, or being set up.

Discussion

The [HandsFreeCurrentCall] function of the delegate is called once for each current call.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/currentCallList()

func (IOBluetoothHandsFreeDevice) DialNumber

func (b IOBluetoothHandsFreeDevice) DialNumber(aNumber string)

Calls the phone number on a hands-free phone or headset.

aNumber: A string containing a phone number.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/dialNumber(_:)

func (IOBluetoothHandsFreeDevice) EndCall

func (b IOBluetoothHandsFreeDevice) EndCall()

Ends the current call or refuses an incoming call.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/endCall()

func (IOBluetoothHandsFreeDevice) HoldCall

func (b IOBluetoothHandsFreeDevice) HoldCall()

Places all active calls on hold and accepts a held or waiting call.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/holdCall()

func (IOBluetoothHandsFreeDevice) Init

Init initializes the instance.

func (IOBluetoothHandsFreeDevice) MemoryDial

func (b IOBluetoothHandsFreeDevice) MemoryDial(memoryLocation int32)

Calls the phone number stored in a speed dial or memory slot of the hands-free phone or headset.

memoryLocation: The speed dial or other memory index of a phone number.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/memoryDial(_:)

func (IOBluetoothHandsFreeDevice) PlaceAllOthersOnHold

func (b IOBluetoothHandsFreeDevice) PlaceAllOthersOnHold(index int32)

Places all calls except the call with the specified index on hold.

index: The index of the call that remains active.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/placeAllOthers(onHold:)

func (IOBluetoothHandsFreeDevice) Redial

func (b IOBluetoothHandsFreeDevice) Redial()

Calls the number stored on the hands-free phone or headset again.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/redial()

func (IOBluetoothHandsFreeDevice) ReleaseActiveCalls

func (b IOBluetoothHandsFreeDevice) ReleaseActiveCalls()

Ends all active calls and accepts a held or waiting call.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/releaseActiveCalls()

func (IOBluetoothHandsFreeDevice) ReleaseCall

func (b IOBluetoothHandsFreeDevice) ReleaseCall(index int32)

Ends the call with the specified index.

index: The index of the call to end.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/releaseCall(_:)

func (IOBluetoothHandsFreeDevice) ReleaseHeldCalls

func (b IOBluetoothHandsFreeDevice) ReleaseHeldCalls()

Ends all calls that are on hold or returns a busy signal for a waiting call.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/releaseHeldCalls()

func (IOBluetoothHandsFreeDevice) SendATCommand

func (b IOBluetoothHandsFreeDevice) SendATCommand(atCommand string)

Sends an AT command to the Bluetooth audio gateway.

atCommand: A string containing the AT command.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/send(atCommand:)

func (IOBluetoothHandsFreeDevice) SendATCommandTimeoutSelectorTarget

func (b IOBluetoothHandsFreeDevice) SendATCommandTimeoutSelectorTarget(atCommand string, timeout float32, selector objc.SEL, target objectivec.IObject)

Send an AT command to the Bluetooth audio gateway and performs a selector on completion or timeout.

atCommand: A string containing the AT command.

timeout: The number of seconds until the message times out.

selector: The function to call on completion or timeout.

target: The target object for the completion call.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/send(atCommand:timeout:selector:target:)

func (IOBluetoothHandsFreeDevice) SendDTMF

func (b IOBluetoothHandsFreeDevice) SendDTMF(character string)

Sends the tone associated with a phone key to the hands-free Bluetooth device.

character: The phone keypad character for the tone. The character must be one of the following:

- `0-9` - `#` - `*` - `A-D`

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/sendDTMF(_:)

func (IOBluetoothHandsFreeDevice) SendSMSMessage

func (b IOBluetoothHandsFreeDevice) SendSMSMessage(aNumber string, aMessage string)

Sends a text message to a phone number.

aNumber: The phone number to send the message to.

aMessage: A string containing a message. The message must be no longer than 160 characters.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/sendSMS(_:message:)

func (IOBluetoothHandsFreeDevice) SubscriberNumber

func (b IOBluetoothHandsFreeDevice) SubscriberNumber()

Requests that the Bluetooth audio gateway send the subscriber number to the delegate.

Discussion

The subscriber number is sent to the [HandsFreeSubscriberNumber] function of the delegate.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/subscriberNumber()

func (IOBluetoothHandsFreeDevice) TransferAudioToComputer

func (b IOBluetoothHandsFreeDevice) TransferAudioToComputer()

Moves the audio for current and future calls to a Mac.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/transferAudioToComputer()

func (IOBluetoothHandsFreeDevice) TransferAudioToPhone

func (b IOBluetoothHandsFreeDevice) TransferAudioToPhone()

Moves the audio for current or future calls to a phone.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDevice/transferAudioToPhone()

type IOBluetoothHandsFreeDeviceClass

type IOBluetoothHandsFreeDeviceClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothHandsFreeDeviceClass

func GetIOBluetoothHandsFreeDeviceClass() IOBluetoothHandsFreeDeviceClass

GetIOBluetoothHandsFreeDeviceClass returns the class object for IOBluetoothHandsFreeDevice.

func (IOBluetoothHandsFreeDeviceClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothHandsFreeDeviceClass) Class

Class returns the underlying Objective-C class pointer.

type IOBluetoothHandsFreeDeviceDelegate

type IOBluetoothHandsFreeDeviceDelegate interface {
	objectivec.IObject
	IOBluetoothHandsFreeDelegate
}

A set of optional methods for receiving status change updates and information about a connected Bluetooth hands-free phone or headset.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate

type IOBluetoothHandsFreeDeviceDelegateConfig

type IOBluetoothHandsFreeDeviceDelegateConfig struct {

	// Receiving Status Indicator Changes
	// HandsFreeCallSetupMode — Tells the delegate the call setup indicator of the connected Bluetooth hands-free phone or headset has changed.
	HandsFreeCallSetupMode func(device IOBluetoothHandsFreeDevice, callSetupMode foundation.NSNumber)
	// HandsFreeIsCallActive — Tells the delegate the active call indicator of the connected Bluetooth hands-free phone or headset has changed.
	HandsFreeIsCallActive func(device IOBluetoothHandsFreeDevice, isCallActive foundation.NSNumber)
	// HandsFreeIsServiceAvailable — Tells the delegate the service level indicator of the connected Bluetooth hands-free phone or headset has changed.
	HandsFreeIsServiceAvailable func(device IOBluetoothHandsFreeDevice, isServiceAvailable foundation.NSNumber)
	// HandsFreeSignalStrength — Tells the delegate the call setup signal strength indicator of the connected Bluetooth hands-free phone or headset has changed.
	HandsFreeSignalStrength func(device IOBluetoothHandsFreeDevice, signalStrength foundation.NSNumber)
	// HandsFreeCallHoldState — Tells the delegate the call held indicator of the connected Bluetooth hands-free phone or headset has changed.
	HandsFreeCallHoldState func(device IOBluetoothHandsFreeDevice, callHoldState foundation.NSNumber)
	// HandsFreeIsRoaming — Tells the delegate the roaming indicator of the connected Bluetooth hands-free phone or headset has changed.
	HandsFreeIsRoaming func(device IOBluetoothHandsFreeDevice, isRoaming foundation.NSNumber)
	// HandsFreeBatteryCharge — Tells the delegate the battery level indicator of the connected Bluetooth hands-free phone or headset has changed.
	HandsFreeBatteryCharge func(device IOBluetoothHandsFreeDevice, batteryCharge foundation.NSNumber)

	// Receiving Call Status
	// HandsFreeCurrentCall — Sends the delegate information about the current call.
	HandsFreeCurrentCall func(device IOBluetoothHandsFreeDevice, currentCall foundation.INSDictionary)

	// Receiving SMS Information
	// HandsFreeIncomingSMS — Tells the delegate there’s an incoming text message.
	HandsFreeIncomingSMS func(device IOBluetoothHandsFreeDevice, sms foundation.INSDictionary)

	// Receiving Other Information
	// HandsFreeRingAttempt — Tells the delegate the phone is ringing.
	HandsFreeRingAttempt func(device IOBluetoothHandsFreeDevice, ringAttempt foundation.NSNumber)
}

IOBluetoothHandsFreeDeviceDelegateConfig holds optional typed callbacks for IOBluetoothHandsFreeDeviceDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type IOBluetoothHandsFreeDeviceDelegateObject

type IOBluetoothHandsFreeDeviceDelegateObject struct {
	objectivec.Object
}

IOBluetoothHandsFreeDeviceDelegateObject wraps an existing Objective-C object that conforms to the IOBluetoothHandsFreeDeviceDelegate protocol.

func IOBluetoothHandsFreeDeviceDelegateObjectFromID

func IOBluetoothHandsFreeDeviceDelegateObjectFromID(id objc.ID) IOBluetoothHandsFreeDeviceDelegateObject

IOBluetoothHandsFreeDeviceDelegateObjectFromID constructs a IOBluetoothHandsFreeDeviceDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewIOBluetoothHandsFreeDeviceDelegate

func NewIOBluetoothHandsFreeDeviceDelegate(config IOBluetoothHandsFreeDeviceDelegateConfig) IOBluetoothHandsFreeDeviceDelegateObject

NewIOBluetoothHandsFreeDeviceDelegate creates an Objective-C object implementing the IOBluetoothHandsFreeDeviceDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned IOBluetoothHandsFreeDeviceDelegateObject satisfies the IOBluetoothHandsFreeDeviceDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (IOBluetoothHandsFreeDeviceDelegateObject) BaseObject

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeBatteryCharge

func (o IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeBatteryCharge(device IIOBluetoothHandsFreeDevice, batteryCharge foundation.NSNumber)

Tells the delegate the battery level indicator of the connected Bluetooth hands-free phone or headset has changed.

device: The connected Bluetooth hands-free phone or headset.

batteryCharge: The new value of the battery level indicator. For possible values, see IOBluetoothHandsFreeIndicatorBattChg.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:batteryCharge:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeCallHoldState

func (o IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeCallHoldState(device IIOBluetoothHandsFreeDevice, callHoldState foundation.NSNumber)

Tells the delegate the call held indicator of the connected Bluetooth hands-free phone or headset has changed.

device: The connected Bluetooth hands-free phone or headset.

callHoldState: The new value of the call hold indicator. For possible values, see IOBluetoothHandsFreeIndicatorCallHeld.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:callHoldState:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeCallSetupMode

func (o IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeCallSetupMode(device IIOBluetoothHandsFreeDevice, callSetupMode foundation.NSNumber)

Tells the delegate the call setup indicator of the connected Bluetooth hands-free phone or headset has changed.

device: The connected Bluetooth hands-free phone or headset.

callSetupMode: The new value of the call setup indicator. For possible values, see IOBluetoothHandsFreeIndicatorCallSetup.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:callSetupMode:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeCurrentCall

Sends the delegate information about the current call.

device: The connected Bluetooth hands-free phone or headset.

currentCall: A dictionary with the incoming SMS message. For dictionary keys, see Current Call Information Constants.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:currentCall:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeIncomingCallFrom

func (o IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeIncomingCallFrom(device IIOBluetoothHandsFreeDevice, number string)

Tells the delegate there’s an incoming call on the connected Bluetooth hands-free phone or headset.

device: The connected Bluetooth hands-free phone or headset.

number: The phone number of the caller.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:incomingCallFrom:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeIncomingSMS

Tells the delegate there’s an incoming text message.

device: The connected Bluetooth hands-free phone or headset.

sms: A dictionary containing the incoming SMS message. For dictionary keys, see SMS Dictionary Key Constants.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:incomingSMS:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeIsCallActive

func (o IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeIsCallActive(device IIOBluetoothHandsFreeDevice, isCallActive foundation.NSNumber)

Tells the delegate the active call indicator of the connected Bluetooth hands-free phone or headset has changed.

device: The connected Bluetooth hands-free phone or headset.

isCallActive: The new value of the active call indicator. For possible values, see IOBluetoothHandsFreeIndicatorCall.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:isCallActive:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeIsRoaming

Tells the delegate the roaming indicator of the connected Bluetooth hands-free phone or headset has changed.

device: The connected Bluetooth hands-free phone or headset.

isRoaming: The new value of the roaming indicator. For possible values, see IOBluetoothHandsFreeIndicatorRoam.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:isRoaming:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeIsServiceAvailable

func (o IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeIsServiceAvailable(device IIOBluetoothHandsFreeDevice, isServiceAvailable foundation.NSNumber)

Tells the delegate the service level indicator of the connected Bluetooth hands-free phone or headset has changed.

device: The connected Bluetooth hands-free phone or headset.

isServiceAvailable: The new service level. For possible values, see IOBluetoothHandsFreeIndicatorService.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:isServiceAvailable:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeRingAttempt

Tells the delegate the phone is ringing.

device: The connected Bluetooth hands-free phone or headset.

ringAttempt: The number of ring alerts received for the call.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:ringAttempt:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeSignalStrength

func (o IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeSignalStrength(device IIOBluetoothHandsFreeDevice, signalStrength foundation.NSNumber)

Tells the delegate the call setup signal strength indicator of the connected Bluetooth hands-free phone or headset has changed.

device: The connected Bluetooth hands-free phone or headset.

signalStrength: The new value of the signal strength indicator. For possible values, see IOBluetoothHandsFreeIndicatorSignal.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:signalStrength:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeSubscriberNumber

func (o IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeSubscriberNumber(device IIOBluetoothHandsFreeDevice, subscriberNumber string)

Tells the delegate the subscriber number of a call.

device: The connected Bluetooth hands-free phone or headset.

subscriberNumber: The subscriber number.

Discussion

If multiple subscriber numbers are on the gateway, this function is called once for each subscriber number.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:subscriberNumber:)

func (IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeUnhandledResultCode

func (o IOBluetoothHandsFreeDeviceDelegateObject) HandsFreeUnhandledResultCode(device IIOBluetoothHandsFreeDevice, resultCode string)

Tells the delegate the phone sent an unknown code.

device: The connected Bluetooth hands-free phone or headset.

resultCode: A string containing the result code. The `“/r/n”` strings are stripped from the beginning and end.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceDelegate/handsFree(_:unhandledResultCode:)

type IOBluetoothHandsFreeDeviceFeatures

type IOBluetoothHandsFreeDeviceFeatures uint32

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeDeviceFeatures

const (
	IOBluetoothHandsFreeDeviceFeatureCLIPresentation     IOBluetoothHandsFreeDeviceFeatures = 4
	IOBluetoothHandsFreeDeviceFeatureCodecNegotiation    IOBluetoothHandsFreeDeviceFeatures = 128
	IOBluetoothHandsFreeDeviceFeatureECAndOrNRFunction   IOBluetoothHandsFreeDeviceFeatures = 1
	IOBluetoothHandsFreeDeviceFeatureEnhancedCallControl IOBluetoothHandsFreeDeviceFeatures = 64
	IOBluetoothHandsFreeDeviceFeatureEnhancedCallStatus  IOBluetoothHandsFreeDeviceFeatures = 32
	IOBluetoothHandsFreeDeviceFeatureRemoteVolumeControl IOBluetoothHandsFreeDeviceFeatures = 16
	IOBluetoothHandsFreeDeviceFeatureThreeWayCalling     IOBluetoothHandsFreeDeviceFeatures = 2
	IOBluetoothHandsFreeDeviceFeatureVoiceRecognition    IOBluetoothHandsFreeDeviceFeatures = 8
)

func (IOBluetoothHandsFreeDeviceFeatures) String

type IOBluetoothHandsFreePDUMessageStatus

type IOBluetoothHandsFreePDUMessageStatus uint

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreePDUMessageStatus

const (
	IOBluetoothHandsFreePDUStatusAll       IOBluetoothHandsFreePDUMessageStatus = 4
	IOBluetoothHandsFreePDUStatusRecRead   IOBluetoothHandsFreePDUMessageStatus = 1
	IOBluetoothHandsFreePDUStatusRecUnread IOBluetoothHandsFreePDUMessageStatus = 0
	IOBluetoothHandsFreePDUStatusStoSent   IOBluetoothHandsFreePDUMessageStatus = 3
	IOBluetoothHandsFreePDUStatusStoUnsent IOBluetoothHandsFreePDUMessageStatus = 2
)

func (IOBluetoothHandsFreePDUMessageStatus) String

type IOBluetoothHandsFreeSMSSupport

type IOBluetoothHandsFreeSMSSupport uint

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHandsFreeSMSSupport

const (
	IOBluetoothHandsFreeManufactureSpecificSMSSupport IOBluetoothHandsFreeSMSSupport = 4
	IOBluetoothHandsFreePhase2SMSSupport              IOBluetoothHandsFreeSMSSupport = 1
	IOBluetoothHandsFreePhase2pSMSSupport             IOBluetoothHandsFreeSMSSupport = 2
)

func (IOBluetoothHandsFreeSMSSupport) String

type IOBluetoothHostController

type IOBluetoothHostController struct {
	objectivec.Object
}

This class is a representation of a Bluetooth Host Controller Interface that is present on the local computer (either plugged in externally or available internally).

Overview

This object can be used to ask a Bluetooth HCI for certain pieces of information, and be used to make it perform certain functions.

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostController

func IOBluetoothHostControllerFromID

func IOBluetoothHostControllerFromID(id objc.ID) IOBluetoothHostController

IOBluetoothHostControllerFromID constructs a IOBluetoothHostController from an objc.ID.

This class is a representation of a Bluetooth Host Controller Interface that is present on the local computer (either plugged in externally or available internally).

func NewIOBluetoothHostController

func NewIOBluetoothHostController() IOBluetoothHostController

NewIOBluetoothHostController creates a new IOBluetoothHostController instance.

func (IOBluetoothHostController) AddressAsString

func (b IOBluetoothHostController) AddressAsString() string

Convience routine to get the HCI controller’s Bluetooth address as an NSString object.

Return Value

Returns NSString *. nil if the address could not be retrieved.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostController/addressAsString()

func (IOBluetoothHostController) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothHostController) ClassOfDevice

Gets the current class of device value.

Return Value

Returns the current class of device value.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostController/classOfDevice()

func (IOBluetoothHostController) Init

Init initializes the instance.

func (IOBluetoothHostController) NameAsString

func (b IOBluetoothHostController) NameAsString() string

Gets the “friendly” name of HCI controller.

Return Value

Returns NSString with the device name, nil if there is not one or it cannot be read.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostController/nameAsString()

func (IOBluetoothHostController) PowerState

Gets the controller power state

Return Value

The current controller’s power state. This will be 1 for on, or 0 for off. Only Apple Bluetooth adapters support power off

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostController/powerState

func (IOBluetoothHostController) SetClassOfDeviceForTimeInterval

func (b IOBluetoothHostController) SetClassOfDeviceForTimeInterval(classOfDevice BluetoothClassOfDevice, seconds foundation.NSTimeInterval) kernel.IOReturn

Sets the current class of device value, for the specified amount of time. Note that the time interval must be set and valid. The range of acceptable values is 30-120 seconds. Anything above or below will be rounded up, or down, as appropriate.

Return Value

Returns the whether setting the class of device value was successful. 0 if success, error code otherwise.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostController/setClassOfDevice(_:forTimeInterval:)

func (IOBluetoothHostController) SetDelegate

func (b IOBluetoothHostController) SetDelegate(value objectivec.IObject)

type IOBluetoothHostControllerClass

type IOBluetoothHostControllerClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothHostControllerClass

func GetIOBluetoothHostControllerClass() IOBluetoothHostControllerClass

GetIOBluetoothHostControllerClass returns the class object for IOBluetoothHostController.

func (IOBluetoothHostControllerClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothHostControllerClass) Class

Class returns the underlying Objective-C class pointer.

func (IOBluetoothHostControllerClass) DefaultController

func (_IOBluetoothHostControllerClass IOBluetoothHostControllerClass) DefaultController() IOBluetoothHostController

Gets the default HCI controller object.

Return Value

A (autoreleased) pointer to the created IOBluetoothHostController object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothHostController/default()

type IOBluetoothL2CAPChannel

type IOBluetoothL2CAPChannel struct {
	IOBluetoothObject
}

An instance of IOBluetoothL2CAPChannel represents a single open L2CAP channel.

Overview

A client won’t create IOBluetoothL2CAPChannel objects directly. Instead, the IOBluetoothDevice’s L2CAP channel open API is responsible for opening a new L2CAP channel and returning an IOBluetoothL2CAPChannel instance representing that newly opened channel. Additionally, the IOBluetooth notification system will send notifications when new L2CAP channels are open (if requested).

After a new L2CAP channel is opened, the L2CAP configuration process will not be completed until an incoming data listener is registered with the IOBluetoothL2CAPChannel object. The reason for this is to due to the limited buffering done of incoming L2CAP data. This way, we avoid the situation where incoming data is received before the client is ready for it. Once a client is done with an IOBluetoothL2CAPChannel that it opened, it should call -closeChannel. Additionally, if the client does not intend to use the connection to the remote device any further, it should call -closeConnection on the IOBluetoothDevice object.

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel

func IOBluetoothL2CAPChannelFromID

func IOBluetoothL2CAPChannelFromID(id objc.ID) IOBluetoothL2CAPChannel

IOBluetoothL2CAPChannelFromID constructs a IOBluetoothL2CAPChannel from an objc.ID.

An instance of IOBluetoothL2CAPChannel represents a single open L2CAP channel.

func NewIOBluetoothL2CAPChannel

func NewIOBluetoothL2CAPChannel() IOBluetoothL2CAPChannel

NewIOBluetoothL2CAPChannel creates a new IOBluetoothL2CAPChannel instance.

func (IOBluetoothL2CAPChannel) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothL2CAPChannel) CloseChannel

func (b IOBluetoothL2CAPChannel) CloseChannel() kernel.IOReturn

Initiates the close process on an open L2CAP channel.

Return Value

Returns kIOReturnSuccess on success.

Discussion

This method may only be called by the client that opened the channel in the first place. In the future asynchronous and synchronous versions will be provided that let the client know when the close process has been finished.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/close()

func (IOBluetoothL2CAPChannel) Delegate

Returns the currently assigned delegate

Return Value

Returns the current delegate, or nil if one is not set.

Discussion

An incoming channel is one that was initiated by a remote device.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/delegate()

func (IOBluetoothL2CAPChannel) Device

Returns the IOBluetoothDevice to which the target L2CAP channel is open.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/device

func (IOBluetoothL2CAPChannel) IncomingMTU

Returns the current incoming MTU for the L2CAP channel.

Discussion

The incoming MTU represents the maximum L2CAP packet size for packets being sent by the remote device.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/incomingMTU

func (IOBluetoothL2CAPChannel) Init

Init initializes the instance.

func (IOBluetoothL2CAPChannel) IsIncoming

func (b IOBluetoothL2CAPChannel) IsIncoming() bool

Returns TRUE if the channel is an incoming channel.

Return Value

Returns TRUE if the channel is an incoming channel.

Discussion

An incoming channel is one that was initiated by a remote device.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/isIncoming()

func (IOBluetoothL2CAPChannel) LocalChannelID

Returns the local L2CAP channel ID for the target L2CAP channel.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/localChannelID

func (IOBluetoothL2CAPChannel) ObjectID

Returns the IOBluetoothObjectID of the given IOBluetoothL2CAPChannel.

Discussion

The IOBluetoothObjectID can be used as a global reference for a given IOBluetoothL2CAPChannel. It allows two separate applications to refer to the same IOBluetoothL2CAPChannel.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/objectID

func (IOBluetoothL2CAPChannel) OutgoingMTU

Returns the current outgoing MTU for the L2CAP channel.

Discussion

The outgoing MTU represents the maximum L2CAP packet size for packets being sent to the remote device.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/outgoingMTU

func (IOBluetoothL2CAPChannel) PSM

Returns the PSM for the target L2CAP channel.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/psm

func (IOBluetoothL2CAPChannel) RegisterForChannelCloseNotificationSelector

func (b IOBluetoothL2CAPChannel) RegisterForChannelCloseNotificationSelector(observer objectivec.IObject, inSelector objc.SEL) IIOBluetoothUserNotification

Allows a client to register for a channel close notification.

observer: Target observer object

inSelector: Selector to be sent to the observer when the L2CAP channel is closed.

Return Value

Returns an IOBluetoothUserNotification representing the outstanding L2CAP channel close notification. To unregister the notification, call -unregister of the returned IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned.

Discussion

The given selector will be called on the target observer when the L2CAP channel is closed. The selector should contain two arguments. The first is the user notification object. The second is the IOBluetoothL2CAPChannel that was closed.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/register(forChannelCloseNotification:selector:)

func (IOBluetoothL2CAPChannel) RemoteChannelID

Returns the remote L2CAP channel ID for the target L2CAP channel.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/remoteChannelID

func (IOBluetoothL2CAPChannel) RequestRemoteMTU

func (b IOBluetoothL2CAPChannel) RequestRemoteMTU(remoteMTU BluetoothL2CAPMTU) kernel.IOReturn

Initiates the process to reconfigure the L2CAP channel with a new outgoing MTU.

remoteMTU: The desired outgoing MTU.

Return Value

Returns kIOReturnSuccess if the channel re-configure process was successfully initiated.

Discussion

Currently, this API does not give an indication that the re-config process has completed. In the future additional API will be available to provide that information both synchronously and asynchronously.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/requestRemoteMTU(_:)

func (IOBluetoothL2CAPChannel) SetDelegate

func (b IOBluetoothL2CAPChannel) SetDelegate(channelDelegate objectivec.IObject) kernel.IOReturn

Allows an object to register itself as client of the L2CAP channel.

channelDelegate: The object that will play the role of channel delegate [NOTE the l2cap channel will retain the delegate].

Return Value

Returns kIOReturnSuccess if the delegate is successfully registered.

Discussion

A channel delegate is the object the L2CAP channel uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of this file in the definition of the informal protocol IOBluetoothL2CAPChannelDelegate. A newly opened L2CAP channel will not complete its configuration process until the client that opened it registers a connectionHandler. This prevents that case where incoming data is received before the client is ready.

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/setDelegate(_:)

func (IOBluetoothL2CAPChannel) SetDelegateWithConfiguration

func (b IOBluetoothL2CAPChannel) SetDelegateWithConfiguration(channelDelegate objectivec.IObject, channelConfiguration foundation.INSDictionary) kernel.IOReturn

Allows an object to register itself as client of the L2CAP channel.

channelDelegate: The object that will play the role of channel delegate.

channelConfiguration: The dictionary that describes the initial configuration for the channel.

Return Value

Returns kIOReturnSuccess if the delegate is successfully registered.

Discussion

A channel delegate is the object the L2CAP channel uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of this file in the definition of the informal protocol IOBluetoothL2CAPChannelDelegate. A newly opened L2CAP channel will not complete its configuration process until the client that opened it registers a connectionHandler. This prevents that case where incoming data is received before the client is ready.

NOTE: This method is only available in macOS 10.5 (Bluetooth v2.0) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/setDelegate(_:withConfiguration:)

func (IOBluetoothL2CAPChannel) WriteAsyncLengthRefcon

func (b IOBluetoothL2CAPChannel) WriteAsyncLengthRefcon(data unsafe.Pointer, length uint16, refcon uintptr) kernel.IOReturn

Writes the given data over the target L2CAP channel asynchronously to the remote device.

data: Pointer to the buffer containing the data to send.

length: The length of the given data buffer.

refcon: User supplied value that gets passed to the write callback.

Return Value

Returns kIOReturnSuccess if the data was buffered successfully.

Discussion

The length of the data may not exceed the L2CAP channel’s ougoing MTU. When the data has been successfully passed to the hardware to be transmitted, the delegate method -l2capChannelWriteComplete:refcon:status: will be called with the refcon passed into this method.

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/writeAsync(_:length:refcon:)

func (IOBluetoothL2CAPChannel) WriteSyncLength

func (b IOBluetoothL2CAPChannel) WriteSyncLength(data unsafe.Pointer, length uint16) kernel.IOReturn

Writes the given data synchronously over the target L2CAP channel to the remote device.

data: Pointer to the buffer containing the data to send.

length: The length of the given data buffer.

Return Value

Returns kIOReturnSuccess if the data was written successfully.

Discussion

The length of the data may not exceed the L2CAP channel’s ougoing MTU. This method will block until the data has been successfully sent to the hardware for transmission (or an error occurs).

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/writeSync(_:length:)

type IOBluetoothL2CAPChannelClass

type IOBluetoothL2CAPChannelClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothL2CAPChannelClass

func GetIOBluetoothL2CAPChannelClass() IOBluetoothL2CAPChannelClass

GetIOBluetoothL2CAPChannelClass returns the class object for IOBluetoothL2CAPChannel.

func (IOBluetoothL2CAPChannelClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothL2CAPChannelClass) Class

Class returns the underlying Objective-C class pointer.

func (IOBluetoothL2CAPChannelClass) RegisterForChannelOpenNotificationsSelector

func (_IOBluetoothL2CAPChannelClass IOBluetoothL2CAPChannelClass) RegisterForChannelOpenNotificationsSelector(object objectivec.IObject, selector objc.SEL) IOBluetoothUserNotification

Allows a client to register for L2CAP channel open notifications for any L2CAP channel.

object: Target object

selector: Selector to be called on the target object when a new L2CAP channel is opened.

Return Value

Returns an IOBluetoothUserNotification representing the outstanding L2CAP channel notification. To unregister the notification, call -unregister on the resulting IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned. The returned IOBluetoothUserNotification will be valid for as long as the notification is registered. It is not necessary to retain the result. Once -unregister is called on it, it will no longer be valid.

Discussion

The given selector will be called on the target object whenever any L2CAP channel is opened. The selector should accept two arguments. The first is the user notification object. The second is the IOBluetoothL2CAPChannel that was opened.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/register(forChannelOpenNotifications:selector:)

func (IOBluetoothL2CAPChannelClass) RegisterForChannelOpenNotificationsSelectorWithPSMDirection

func (_IOBluetoothL2CAPChannelClass IOBluetoothL2CAPChannelClass) RegisterForChannelOpenNotificationsSelectorWithPSMDirection(object objectivec.IObject, selector objc.SEL, psm BluetoothL2CAPPSM, inDirection IOBluetoothUserNotificationChannelDirection) IOBluetoothUserNotification

Allows a client to register for L2CAP channel open notifications for certain types of L2CAP channels.

object: Target object

selector: Selector to be called on the target object when a new L2CAP channel is opened.

psm: PSM to match a new L2CAP channel. If the PSM doesn’t matter, 0 may be passed in.

inDirection: The desired direction of the L2CAP channel - kIOBluetoothUserNotificationChannelDirectionAny if the direction doesn’t matter.

Return Value

Returns an IOBluetoothUserNotification representing the outstanding L2CAP channel notification. To unregister the notification, call -unregister on the resulting IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned. The returned IOBluetoothUserNotification will be valid for as long as the notification is registered. It is not necessary to retain the result. Once -unregister is called on it, it will no longer be valid.

Discussion

The given selector will be called on the target object whenever an L2CAP channel with the given attributes is opened. The selector should accept two arguments. The first is the user notification object. The second is the IOBluetoothL2CAPChannel that was opened.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/register(forChannelOpenNotifications:selector:withPSM:direction:)

func (IOBluetoothL2CAPChannelClass) WithObjectID

func (_IOBluetoothL2CAPChannelClass IOBluetoothL2CAPChannelClass) WithObjectID(objectID IOBluetoothObjectID) IOBluetoothL2CAPChannel

Returns the IObluetoothL2CAPChannel with the given IOBluetoothObjectID.

objectID: IOBluetoothObjectID of the desired IOBluetoothL2CAPChannel.

Return Value

Returns the IOBluetoothL2CAPChannel that matches the given IOBluetoothObjectID if one exists. If no matching L2CAP channel exists, nil is returned.

Discussion

The IOBluetoothObjectID can be used as a global reference for a given IOBluetoothL2CAPChannel. It allows two separate applications to refer to the same IOBluetoothL2CAPChannel object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannel/withObjectID(_:)

type IOBluetoothL2CAPChannelDataBlock

type IOBluetoothL2CAPChannelDataBlock struct {
	DataPtr  unsafe.Pointer
	DataSize uintptr
}

IOBluetoothL2CAPChannelDataBlock

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannelDataBlock

type IOBluetoothL2CAPChannelDelegate

type IOBluetoothL2CAPChannelDelegate interface {
	objectivec.IObject
}

IOBluetoothL2CAPChannelDelegate protocol.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannelDelegate

type IOBluetoothL2CAPChannelDelegateConfig

type IOBluetoothL2CAPChannelDelegateConfig struct {

	// Instance Methods
	L2capChannelClosed              func(l2capChannel IOBluetoothL2CAPChannel)
	L2capChannelOpenCompleteStatus  func(l2capChannel IOBluetoothL2CAPChannel, error_ kernel.IOReturn)
	L2capChannelQueueSpaceAvailable func(l2capChannel IOBluetoothL2CAPChannel)
	L2capChannelReconfigured        func(l2capChannel IOBluetoothL2CAPChannel)
}

IOBluetoothL2CAPChannelDelegateConfig holds optional typed callbacks for IOBluetoothL2CAPChannelDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type IOBluetoothL2CAPChannelDelegateObject

type IOBluetoothL2CAPChannelDelegateObject struct {
	objectivec.Object
}

IOBluetoothL2CAPChannelDelegateObject wraps an existing Objective-C object that conforms to the IOBluetoothL2CAPChannelDelegate protocol.

func IOBluetoothL2CAPChannelDelegateObjectFromID

func IOBluetoothL2CAPChannelDelegateObjectFromID(id objc.ID) IOBluetoothL2CAPChannelDelegateObject

IOBluetoothL2CAPChannelDelegateObjectFromID constructs a IOBluetoothL2CAPChannelDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewIOBluetoothL2CAPChannelDelegate

func NewIOBluetoothL2CAPChannelDelegate(config IOBluetoothL2CAPChannelDelegateConfig) IOBluetoothL2CAPChannelDelegateObject

NewIOBluetoothL2CAPChannelDelegate creates an Objective-C object implementing the IOBluetoothL2CAPChannelDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned IOBluetoothL2CAPChannelDelegateObject satisfies the IOBluetoothL2CAPChannelDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (IOBluetoothL2CAPChannelDelegateObject) BaseObject

type IOBluetoothL2CAPChannelEvent

type IOBluetoothL2CAPChannelEvent struct {
	EventType IOBluetoothL2CAPChannelEventType
	U         [4]uint64
	Status    int32
}

IOBluetoothL2CAPChannelEvent

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannelEvent

type IOBluetoothL2CAPChannelEventType

type IOBluetoothL2CAPChannelEventType uint32

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannelEventType

const (
	KIOBluetoothL2CAPChannelEventTypeClosed              IOBluetoothL2CAPChannelEventType = 0x3
	KIOBluetoothL2CAPChannelEventTypeData                IOBluetoothL2CAPChannelEventType = 0x1
	KIOBluetoothL2CAPChannelEventTypeOpenComplete        IOBluetoothL2CAPChannelEventType = 0x2
	KIOBluetoothL2CAPChannelEventTypeQueueSpaceAvailable IOBluetoothL2CAPChannelEventType = 0x6
	KIOBluetoothL2CAPChannelEventTypeReconfigured        IOBluetoothL2CAPChannelEventType = 0x4
	KIOBluetoothL2CAPChannelEventTypeWriteComplete       IOBluetoothL2CAPChannelEventType = 0x5
)

func (IOBluetoothL2CAPChannelEventType) String

type IOBluetoothOBEXSession

type IOBluetoothOBEXSession struct {
	OBEXSession
}

An OBEX Session with a Bluetooth RFCOMM channel as the transport.

Initializers

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession

func IOBluetoothOBEXSessionFromID

func IOBluetoothOBEXSessionFromID(id objc.ID) IOBluetoothOBEXSession

IOBluetoothOBEXSessionFromID constructs a IOBluetoothOBEXSession from an objc.ID.

An OBEX Session with a Bluetooth RFCOMM channel as the transport.

func NewBluetoothOBEXSessionWithDeviceChannelID

func NewBluetoothOBEXSessionWithDeviceChannelID(inDevice IIOBluetoothDevice, inChannelID BluetoothRFCOMMChannelID) IOBluetoothOBEXSession

Initializes a Bluetooth-based OBEX Session using a Bluetooth device.

inDevice: The bluetooth device on which to open the OBEXSession.

inChannelID: The RFCOMM channel ID to use when opening the connection.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/init(device:channelID:)

func NewBluetoothOBEXSessionWithIncomingRFCOMMChannelEventSelectorSelectorTargetRefCon

func NewBluetoothOBEXSessionWithIncomingRFCOMMChannelEventSelectorSelectorTargetRefCon(inChannel IIOBluetoothRFCOMMChannel, inEventSelector objc.SEL, inEventSelectorTarget objectivec.IObject, inUserRefCon uintptr) IOBluetoothOBEXSession

Initializes a Bluetooth-based OBEX Session using an incoming RFCOMM channel.

inChannel: RFCOMM channel ID of the desired channel to be used.

inEventSelector: The selector to be called when an event is received.

inEventSelectorTarget: The target object that get the selector message.

inUserRefCon: Caller reference constant, pass whatever you want, it will be returned to you in the selector.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/init(incomingRFCOMMChannel:eventSelector:selectorTarget:refCon:)

func NewBluetoothOBEXSessionWithSDPServiceRecord

func NewBluetoothOBEXSessionWithSDPServiceRecord(inSDPServiceRecord IIOBluetoothSDPServiceRecord) IOBluetoothOBEXSession

Initializes a Bluetooth-based OBEX Session using an SDP service record.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/init(sdpServiceRecord:)

func NewIOBluetoothOBEXSession

func NewIOBluetoothOBEXSession() IOBluetoothOBEXSession

NewIOBluetoothOBEXSession creates a new IOBluetoothOBEXSession instance.

func (IOBluetoothOBEXSession) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothOBEXSession) GetDevice

Get the Bluetooth Device being used by the session object.

Return Value

An IOBluetoothDevice object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/getDevice()

func (IOBluetoothOBEXSession) GetRFCOMMChannel

Get the Bluetooth RFCOMM channel being used by the session object.

Return Value

A IOBluetoothRFCOMMChannel object.

Discussion

This could potentially be nil even though you have a valid OBEX session, because the RFCOMM channel is only valid when the session is connected.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/getRFCOMMChannel()

func (IOBluetoothOBEXSession) Init

Init initializes the instance.

func (IOBluetoothOBEXSession) InitWithDeviceChannelID

func (b IOBluetoothOBEXSession) InitWithDeviceChannelID(inDevice IIOBluetoothDevice, inChannelID BluetoothRFCOMMChannelID) IOBluetoothOBEXSession

Initializes a Bluetooth-based OBEX Session using a Bluetooth device.

inDevice: The bluetooth device on which to open the OBEXSession.

inChannelID: The RFCOMM channel ID to use when opening the connection.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/init(device:channelID:)

func (IOBluetoothOBEXSession) InitWithIncomingRFCOMMChannelEventSelectorSelectorTargetRefCon

func (b IOBluetoothOBEXSession) InitWithIncomingRFCOMMChannelEventSelectorSelectorTargetRefCon(inChannel IIOBluetoothRFCOMMChannel, inEventSelector objc.SEL, inEventSelectorTarget objectivec.IObject, inUserRefCon uintptr) IOBluetoothOBEXSession

Initializes a Bluetooth-based OBEX Session using an incoming RFCOMM channel.

inChannel: RFCOMM channel ID of the desired channel to be used.

inEventSelector: The selector to be called when an event is received.

inEventSelectorTarget: The target object that get the selector message.

inUserRefCon: Caller reference constant, pass whatever you want, it will be returned to you in the selector.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/init(incomingRFCOMMChannel:eventSelector:selectorTarget:refCon:)

func (IOBluetoothOBEXSession) InitWithSDPServiceRecord

func (b IOBluetoothOBEXSession) InitWithSDPServiceRecord(inSDPServiceRecord IIOBluetoothSDPServiceRecord) IOBluetoothOBEXSession

Initializes a Bluetooth-based OBEX Session using an SDP service record.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/init(sdpServiceRecord:)

func (IOBluetoothOBEXSession) IsSessionTargetAMac

func (b IOBluetoothOBEXSession) IsSessionTargetAMac() bool

Tells whether the target device is a Mac by checking its service record.

Return Value

TRUE only if device service record has Mac entry, FALSE for all else.

Discussion

Tells whether the target device is a Mac by checking its service record.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/isSessionTargetAMac()

func (IOBluetoothOBEXSession) RestartTransmission

func (b IOBluetoothOBEXSession) RestartTransmission()

If the transmission was stopped due to the lack of buffers this call restarts it.

Discussion

If the transmission was stopeed due to the lack of buffers this call restarts it.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/restartTransmission()

func (IOBluetoothOBEXSession) SendBufferTroughChannel

func (b IOBluetoothOBEXSession) SendBufferTroughChannel() kernel.IOReturn

Sends the next block of data through the rfcomm channel.

Discussion

Since a send in the rfcomm channel is broken in multiple write calls (this actually is true only if the size is grater than the rfcomm MTU). Each write call is performed by sendBufferTroughChannel. This should never need to be overwritten.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/sendBufferTroughChannel()

func (IOBluetoothOBEXSession) SetOBEXSessionOpenConnectionCallbackRefCon

func (b IOBluetoothOBEXSession) SetOBEXSessionOpenConnectionCallbackRefCon(inCallback IOBluetoothOBEXSessionOpenConnectionCallback, inUserRefCon uintptr)

For C API support. Allows you to set the callback to be invoked when the OBEX connection is actually opened.

inCallback: Function to call on the target.

inUserRefCon: User’s reference constant, will be returned on the callback.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/setOBEXSessionOpenConnectionCallback(_:refCon:)

func (IOBluetoothOBEXSession) SetOpenTransportConnectionAsyncSelectorTargetRefCon

func (b IOBluetoothOBEXSession) SetOpenTransportConnectionAsyncSelectorTargetRefCon(inSelector objc.SEL, inSelectorTarget objectivec.IObject, inUserRefCon uintptr)

Allows you to set the selector to be used when a transport connection is opened, or fails to open.

inSelector: Selector to call on the target.

inSelectorTarget: Target to be called with the selector.

inUserRefCon: User’s refCon that will get passed to them when their selector is invoked.

Discussion

You do not need to call this on the session typically, unless you have subclassed the OBEXSession to implement a new transport and that transport supports async opening of connections. If it does not support async open, then using this is pointless.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/setOpenTransportConnectionAsyncSelector(_:target:refCon:)

type IOBluetoothOBEXSessionClass

type IOBluetoothOBEXSessionClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothOBEXSessionClass

func GetIOBluetoothOBEXSessionClass() IOBluetoothOBEXSessionClass

GetIOBluetoothOBEXSessionClass returns the class object for IOBluetoothOBEXSession.

func (IOBluetoothOBEXSessionClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothOBEXSessionClass) Class

Class returns the underlying Objective-C class pointer.

func (IOBluetoothOBEXSessionClass) WithDeviceChannelID

func (_IOBluetoothOBEXSessionClass IOBluetoothOBEXSessionClass) WithDeviceChannelID(inDevice IIOBluetoothDevice, inRFCOMMChannelID BluetoothRFCOMMChannelID) IOBluetoothOBEXSession

Creates a Bluetooth-based OBEX Session using a Bluetooth device and a Bluetooth RFCOMM channel ID.

inDevice: A valid Bluetooth device describing which device you want to connect to with Bluetooth/OBEX.

inRFCOMMChannelID: An RFCOMM Channel ID numbe that is available on the remote device. This channel will be used when the transport connection is attempted.

Discussion

Note that this does NOT mean the transport connection was open. It will be opened when OBEXConnect is invoked on the session object.

IMPORTANT NOTE In Bluetooth framework version 1.0.0, the session returned will NOT be autoreleased as it should be according to objc convention. This has been changed starting in Bluetooth version 1.0.1 and later, so it WILL be autoreleased upon return, so you will need to retain it if you want to reference it later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/withDevice(_:channelID:)

func (IOBluetoothOBEXSessionClass) WithIncomingRFCOMMChannelEventSelectorSelectorTargetRefCon

func (_IOBluetoothOBEXSessionClass IOBluetoothOBEXSessionClass) WithIncomingRFCOMMChannelEventSelectorSelectorTargetRefCon(inChannel IIOBluetoothRFCOMMChannel, inEventSelector objc.SEL, inEventSelectorTarget objectivec.IObject, inUserRefCon uintptr) IOBluetoothOBEXSession

Creates a Bluetooth-based OBEX Session using an incoming RFCOMM channel.

inChannel: The channel to use to create a connection to a device.

inEventSelector: The selector that gets called when an event occurs on the OBEX Session.

inEventSelectorTarget: The object that is used to call the above selector.

inUserRefCon: The reference constant. Pass whatever you wish - it will be returned to you in the selector.

Discussion

IMPORTANT NOTE In Bluetooth framework version 1.0.0, the session returned will NOT be autoreleased as it should be according to objc convention. This has been changed starting in Bluetooth version 1.0.1 and later, so it WILL be autoreleased upon return, so you will need to retain it if you want to reference it later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/withIncomingRFCOMMChannel(_:eventSelector:selectorTarget:refCon:)

func (IOBluetoothOBEXSessionClass) WithSDPServiceRecord

func (_IOBluetoothOBEXSessionClass IOBluetoothOBEXSessionClass) WithSDPServiceRecord(inSDPServiceRecord IIOBluetoothSDPServiceRecord) IOBluetoothOBEXSession

Creates a Bluetooth-based OBEX Session using an SDP service record, typically obtained from a device/service browser window controller.

inSDPServiceRecord: A valid SDP service record describing the service (and RFCOMM channel) you want to connect to with Bluetooth/OBEX.

Return Value

An OBEX session representing the device/rfcomm channel found in the service record. nil if we failed.

Discussion

Note that this does NOT mean the transport connection was open. It will be opened when OBEXConnect is invoked on the session object.

IMPORTANT NOTE In Bluetooth framework version 1.0.0, the session returned will NOT be autoreleased as it should be according to objc convention. This has been changed starting in Bluetooth version 1.0.1 and later, so it WILL be autoreleased upon return, so you will need to retain it if you want to reference it later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSession/withSDPServiceRecord(_:)

type IOBluetoothObject

type IOBluetoothObject struct {
	objectivec.Object
}

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothObject

func IOBluetoothObjectFromID

func IOBluetoothObjectFromID(id objc.ID) IOBluetoothObject

IOBluetoothObjectFromID constructs a IOBluetoothObject from an objc.ID.

func NewIOBluetoothObject

func NewIOBluetoothObject() IOBluetoothObject

NewIOBluetoothObject creates a new IOBluetoothObject instance.

func (IOBluetoothObject) Autorelease

func (b IOBluetoothObject) Autorelease() IOBluetoothObject

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothObject) Init

Init initializes the instance.

type IOBluetoothObjectClass

type IOBluetoothObjectClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothObjectClass

func GetIOBluetoothObjectClass() IOBluetoothObjectClass

GetIOBluetoothObjectClass returns the class object for IOBluetoothObject.

func (IOBluetoothObjectClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothObjectClass) Class

func (ic IOBluetoothObjectClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type IOBluetoothRFCOMMChannel

type IOBluetoothRFCOMMChannel struct {
	IOBluetoothObject
}

An instance of this class represents an RFCOMM channel as defined by the Bluetooth SDP spec..

Overview

An RFCOMM channel object can be obtained by opening an RFCOMM channel in a device, or by requesting a notification when a channel is created (this is commonly used to provide services).

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel

func IOBluetoothRFCOMMChannelFromID

func IOBluetoothRFCOMMChannelFromID(id objc.ID) IOBluetoothRFCOMMChannel

IOBluetoothRFCOMMChannelFromID constructs a IOBluetoothRFCOMMChannel from an objc.ID.

An instance of this class represents an RFCOMM channel as defined by the Bluetooth SDP spec..

func NewIOBluetoothRFCOMMChannel

func NewIOBluetoothRFCOMMChannel() IOBluetoothRFCOMMChannel

NewIOBluetoothRFCOMMChannel creates a new IOBluetoothRFCOMMChannel instance.

func (IOBluetoothRFCOMMChannel) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothRFCOMMChannel) CloseChannel

func (b IOBluetoothRFCOMMChannel) CloseChannel() kernel.IOReturn

Close the channel.

Return Value

An error code value. 0 if successful.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/close()

func (IOBluetoothRFCOMMChannel) Delegate

Returns the object delegate

Return Value

The current delegate, or nil

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/delegate()

func (IOBluetoothRFCOMMChannel) GetChannelID

Returns the object rfcomm channel ID.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/getID()

func (IOBluetoothRFCOMMChannel) GetDevice

Returns the Bluetooth Device that carries the rfcomm data.

Return Value

The IOBluetoothDevice object .

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/getDevice()

func (IOBluetoothRFCOMMChannel) GetMTU

Returns the channel maximum transfer unit.

Return Value

Channel MTU size .

Discussion

Returns the length of the largest chunk of data that this channel can carry. If the caller wishes to use the write:length:sleep: api the length of the data can not be bigger than the channel MTU (maximum transfer unit).

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/getMTU()

func (IOBluetoothRFCOMMChannel) GetObjectID

Returns the IOBluetoothObjectID of the given IOBluetoothRFCOMMChannel.

Return Value

Returns the IOBluetoothObjectID of the given IOBluetoothRFCOMMChannel.

Discussion

The IOBluetoothObjectID can be used as a global reference for a given IOBluetoothRFCOMMChannel. It allows two separate applications to refer to the same IOBluetoothRFCOMMChannel.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/getObjectID()

func (IOBluetoothRFCOMMChannel) GetRFCOMMChannelRef

func (b IOBluetoothRFCOMMChannel) GetRFCOMMChannelRef() IOBluetoothRFCOMMChannelRef

Returns an IOBluetoothRFCOMMChannelRef representation of the target IOBluetoothRFCOMMChannel object.

Return Value

Returns an IOBluetoothRFCOMMChannelRef representation of the target IOBluetoothRFCOMMChannel object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/getRef()

func (IOBluetoothRFCOMMChannel) Init

Init initializes the instance.

func (IOBluetoothRFCOMMChannel) IsIncoming

func (b IOBluetoothRFCOMMChannel) IsIncoming() bool

Returns the direction of the channel. An incoming channel is one that was opened by the remote device.

Return Value

Returns TRUE if the channel was opened by the remote device, FALSE if the channel was opened by this object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/isIncoming()

func (IOBluetoothRFCOMMChannel) IsOpen

func (b IOBluetoothRFCOMMChannel) IsOpen() bool

Returns the state of the channel.

Return Value

TRUE if the channel state is open, FALSE otherwise.

Discussion

note that “not open” means closed, opening and closing.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/isOpen()

func (IOBluetoothRFCOMMChannel) IsTransmissionPaused

func (b IOBluetoothRFCOMMChannel) IsTransmissionPaused() bool

Returns TRUE if flow control is off.

Return Value

TRUE if the action of sending data will block the current thread, FALSE otherwise.

Discussion

Returns true if the remote device flow control is stopping out transmission. This is useful because we do not buffer data, we stop the transmitting actor. With this method the transmitter can check if sending data is going to be successful or is going to block.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/isTransmissionPaused()

func (IOBluetoothRFCOMMChannel) RegisterForChannelCloseNotificationSelector

func (b IOBluetoothRFCOMMChannel) RegisterForChannelCloseNotificationSelector(observer objectivec.IObject, inSelector objc.SEL) IIOBluetoothUserNotification

Allows a client to register for a channel close notification.

observer: Target observer object

inSelector: Selector to be sent to the observer when the RFCOMM channel is closed.

Return Value

Returns an IOBluetoothUserNotification representing the outstanding RFCOMM channel close notification. To unregister the notification, call -unregister of the returned IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned.

Discussion

The given selector will be called on the target observer when the RFCOMM channel is closed. The selector should contain two arguments. The first is the user notification object. The second is the IOBluetoothRFCOMMChannel that was closed.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/register(forChannelCloseNotification:selector:)

func (IOBluetoothRFCOMMChannel) SendRemoteLineStatus

func (b IOBluetoothRFCOMMChannel) SendRemoteLineStatus(lineStatus BluetoothRFCOMMLineStatus) kernel.IOReturn

Sends an error to the remote side.

lineStatus: The error type. The error code can be NoError, OverrunError, ParityError or FramingError.

Return Value

An error code value. 0 if successful.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/sendRemoteLineStatus(_:)

func (IOBluetoothRFCOMMChannel) SetDelegate

func (b IOBluetoothRFCOMMChannel) SetDelegate(delegate objectivec.IObject) kernel.IOReturn

Allows an object to register itself as a client of the RFCOMM channel.

delegate: The object that will play the role of channel delegate [NOTE the rfcomm channel will reatin the delegate].

Return Value

Returns kIOReturnSuccess if the delegate is successfully registered.

Discussion

A channel delegate is the object the RFCOMM channel uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of this file in the definition of the informal protocol IOBluetoothRFCOMMChannelDelegate.

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later. NOTE: Before OS X 10.6, the delegate was retained. On 10.6 and later, it is not.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/setDelegate(_:)

func (IOBluetoothRFCOMMChannel) SetSerialParametersDataBitsParityStopBits

func (b IOBluetoothRFCOMMChannel) SetSerialParametersDataBitsParityStopBits(speed uint32, nBits uint8, parity BluetoothRFCOMMParityType, bitStop uint8) kernel.IOReturn

Changes the parameters of the serial connection.

speed: The baudrate.

nBits: Number of data bits.

parity: The type of parity can be NoParity, OddParity, EvenParity or MaxParity.

bitStop: Number of stop bits.

Return Value

An error code value. 0 if successful.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/setSerialParameters(_:dataBits:parity:stopBits:)

func (IOBluetoothRFCOMMChannel) WriteAsyncLengthRefcon

func (b IOBluetoothRFCOMMChannel) WriteAsyncLengthRefcon(data unsafe.Pointer, length uint16, refcon uintptr) kernel.IOReturn

Sends a block of data in the channel asynchronously.

data: A pointer to the data buffer to be sent.

length: The length of the buffer to be sent (in bytes).

refcon: User supplied value that gets passed to the write callback.

Return Value

Returns kIOReturnSuccess if the data was buffered successfully.

Discussion

The number of bytes to be sent must not exceed the channel MTU. If the return value is an error condition none of the data was sent. Once the data has been successfully passed to the hardware to be transmitted, the delegate method -rfcommChannelWriteComplete:refcon:status: will be called with the refcon that was passed to this method.

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/writeAsync(_:length:refcon:)

func (IOBluetoothRFCOMMChannel) WriteSyncLength

func (b IOBluetoothRFCOMMChannel) WriteSyncLength(data unsafe.Pointer, length uint16) kernel.IOReturn

Sends a block of data in the channel synchronously.

data: A pointer to the data buffer to be sent.

length: The length of the buffer to be sent (in bytes).

Return Value

Returns kIOReturnSuccess if the data was written successfully.

Discussion

Sends data through the channel. The number of bytes to be sent must not exceed the channel MTU. If the return value is an error condition none of the data was sent. This method will block until the data has been successfully sent to the hardware for transmission (or until an error occurs).

NOTE: This method is only available in macOS 10.2.5 (Bluetooth v1.2) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/writeSync(_:length:)

type IOBluetoothRFCOMMChannelClass

type IOBluetoothRFCOMMChannelClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothRFCOMMChannelClass

func GetIOBluetoothRFCOMMChannelClass() IOBluetoothRFCOMMChannelClass

GetIOBluetoothRFCOMMChannelClass returns the class object for IOBluetoothRFCOMMChannel.

func (IOBluetoothRFCOMMChannelClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothRFCOMMChannelClass) Class

Class returns the underlying Objective-C class pointer.

func (IOBluetoothRFCOMMChannelClass) RegisterForChannelOpenNotificationsSelector

func (_IOBluetoothRFCOMMChannelClass IOBluetoothRFCOMMChannelClass) RegisterForChannelOpenNotificationsSelector(object objectivec.IObject, selector objc.SEL) IOBluetoothUserNotification

Allows a client to register for RFCOMM channel open notifications for any RFCOMM channel.

object: Target object

selector: Selector to be called on the target object when a new RFCOMM channel is opened. the format for the selector is: -(void) selectorName:(IOBluetoothUserNotification *)inNotification channel:(IOBluetoothRFCOMMChannel *)newChannel

Return Value

Returns an IOBluetoothUserNotification representing the outstanding RFCOMM channel notification. To unregister the notification, call -unregister on the resulting IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned. The returned IOBluetoothUserNotification will be valid for as long as the notification is registered. It is not necessary to retain the result. Once -unregister is called on it, it will no longer be valid.

Discussion

The given selector will be called on the target object whenever any RFCOMM channel is opened. The selector should accept two arguments. The first is the user notification object. The second is the IOBluetoothRFCOMMChannel that was opened.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/register(forChannelOpenNotifications:selector:)

func (IOBluetoothRFCOMMChannelClass) RegisterForChannelOpenNotificationsSelectorWithChannelIDDirection

func (_IOBluetoothRFCOMMChannelClass IOBluetoothRFCOMMChannelClass) RegisterForChannelOpenNotificationsSelectorWithChannelIDDirection(object objectivec.IObject, selector objc.SEL, channelID BluetoothRFCOMMChannelID, inDirection IOBluetoothUserNotificationChannelDirection) IOBluetoothUserNotification

Allows a client to register for RFCOMM channel open notifications for certain types of RFCOMM channels.

object: Target object

selector: Selector to be called on the target object when a new RFCOMM channel is opened. the format for the selector is: -(void) selectorName:(IOBluetoothUserNotification *)inNotification channel:(IOBluetoothRFCOMMChannel *)newChannel

channelID: RFCOMM channel ID to match a new RFCOMM channel. If the channel ID doesn’t matter, 0 may be passed in.

inDirection: The desired direction of the RFCOMM channel - kIOBluetoothUserNotificationChannelDirectionAny if the direction doesn’t matter.

Discussion

The given selector will be called on the target object whenever an RFCOMM channel with the given attributes is opened. The selector should accept two arguments. The first is the user notification object. The second is the IOBluetoothRFCOMMChannel that was opened.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/register(forChannelOpenNotifications:selector:withChannelID:direction:)

func (IOBluetoothRFCOMMChannelClass) WithObjectID

func (_IOBluetoothRFCOMMChannelClass IOBluetoothRFCOMMChannelClass) WithObjectID(objectID IOBluetoothObjectID) IOBluetoothRFCOMMChannel

Returns the IObluetoothRFCOMMChannel with the given IOBluetoothObjectID.

objectID: IOBluetoothObjectID of the desired IObluetoothRFCOMMChannel.

Return Value

Returns the IObluetoothRFCOMMChannel that matches the given IOBluetoothObjectID if one exists. If no matching RFCOMM channel exists, nil is returned.

Discussion

The IOBluetoothObjectID can be used as a global reference for a given IObluetoothRFCOMMChannel. It allows two separate applications to refer to the same IObluetoothRFCOMMChannel object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/withObjectID(_:)

func (IOBluetoothRFCOMMChannelClass) WithRFCOMMChannelRef

func (_IOBluetoothRFCOMMChannelClass IOBluetoothRFCOMMChannelClass) WithRFCOMMChannelRef(rfcommChannelRef IOBluetoothRFCOMMChannelRef) IOBluetoothRFCOMMChannel

Method call to convert an IOBluetoothRFCOMMChannelRef into an IOBluetoothRFCOMMChannel *.

rfcommChannelRef: IOBluetoothRFCOMMChannelRef for which an IOBluetoothRFCOMMChannel * is desired.

Return Value

Returns the IOBluetoothRFCOMMChannel * for the given IOBluetoothRFCOMMChannelRef.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannel/withRFCOMMChannelRef(_:)

type IOBluetoothRFCOMMChannelDelegate

type IOBluetoothRFCOMMChannelDelegate interface {
	objectivec.IObject
}

IOBluetoothRFCOMMChannelDelegate protocol.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothRFCOMMChannelDelegate

type IOBluetoothRFCOMMChannelDelegateConfig

type IOBluetoothRFCOMMChannelDelegateConfig struct {

	// Instance Methods
	RfcommChannelClosed                func(rfcommChannel IOBluetoothRFCOMMChannel)
	RfcommChannelControlSignalsChanged func(rfcommChannel IOBluetoothRFCOMMChannel)
	RfcommChannelFlowControlChanged    func(rfcommChannel IOBluetoothRFCOMMChannel)
	RfcommChannelOpenCompleteStatus    func(rfcommChannel IOBluetoothRFCOMMChannel, error_ kernel.IOReturn)
	RfcommChannelQueueSpaceAvailable   func(rfcommChannel IOBluetoothRFCOMMChannel)
}

IOBluetoothRFCOMMChannelDelegateConfig holds optional typed callbacks for IOBluetoothRFCOMMChannelDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type IOBluetoothRFCOMMChannelDelegateObject

type IOBluetoothRFCOMMChannelDelegateObject struct {
	objectivec.Object
}

IOBluetoothRFCOMMChannelDelegateObject wraps an existing Objective-C object that conforms to the IOBluetoothRFCOMMChannelDelegate protocol.

func IOBluetoothRFCOMMChannelDelegateObjectFromID

func IOBluetoothRFCOMMChannelDelegateObjectFromID(id objc.ID) IOBluetoothRFCOMMChannelDelegateObject

IOBluetoothRFCOMMChannelDelegateObjectFromID constructs a IOBluetoothRFCOMMChannelDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewIOBluetoothRFCOMMChannelDelegate

func NewIOBluetoothRFCOMMChannelDelegate(config IOBluetoothRFCOMMChannelDelegateConfig) IOBluetoothRFCOMMChannelDelegateObject

NewIOBluetoothRFCOMMChannelDelegate creates an Objective-C object implementing the IOBluetoothRFCOMMChannelDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned IOBluetoothRFCOMMChannelDelegateObject satisfies the IOBluetoothRFCOMMChannelDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (IOBluetoothRFCOMMChannelDelegateObject) BaseObject

type IOBluetoothSDPDataElement

type IOBluetoothSDPDataElement struct {
	objectivec.Object
}

An instance of this class represents a single SDP data element as defined by the Bluetooth SDP spec.

Overview

The data types described by the spec have been mapped onto the base Foundation classes NSNumber, NSArray, NSData as well as IOBluetoothSDPUUID. The number and boolean types (type descriptor 1, 2 and 5) are represented as NSNumber objects with the exception of 128-bit numbers which are represented as NSData objects in their raw format. The UUID type (type descriptor 3) is represented by IOBluetoothSDPUUID. The string and URL types (type descriptor 4 and 8) are represented by NSString. The sequence types (type descriptor 6 and 7) are represented by NSArray.

Typically, you will not need to create an IOBluetoothSDPDataElement directly, the system will do that automatically for both client and server operations. However, the current API for adding SDP services to the system does allow the use of an NSDictionary based format for creating new services. The purpose for that is to allow a service to be built up completely in a text file (a plist for example) and then easily imported into an app and added to the system without a lot of tedious code to build up the entire SDP service record.

The basis for that NSDictionary structure comes from the IOBluetoothSDPDataElement. At its simplest, a data element is made up of three parts: the type descriptor, the size (from which the size descriptor is generated) and the actual value. To provide a complete representation of a data element, an NSDictionary with three entries can be used. Each of the three entries has a key/value pair representing one of the three attributes of a data element. The first key/value pair has a key ‘DataElementType’ that contains a number value with the actual type descriptor for the data element. The second pair has a key ‘DataElementSize’ that contains the actual size of the element in bytes. The size descriptor will be calculated based on the size and type of the element. The third pair is the value itself whose key is ‘DataElementValue’ and whose type corresponds to the type mapping above.

In addition to this complete description of a data element, their are some shortcuts that can be used for some of the common types and sizes.

If the ‘DataElementType’ value is one of the numeric types (1, 2), the ‘DataElementValue’ can be an NSData instead of an NSNumber. In that case, the numeric data is taken in network byte order (MSB first). Additionally, the ‘DataElementSize’ parameter may be omitted and the size will be taken from the length of the data object.

If the ‘DataElementType’ value is the nil type (0), no ‘DataElementSize’ or ‘DataElementValue’ entries are needed.

If the ‘DataElementType’ value is any of the other types, the ‘DataElementSize’ entry is not needed since the size will be taken directly from the value (data, array, string).

In the case where the element is an unsigned, 32-bit integer (type descriptor 1, size descriptor 4), the value itself may simply be a number (instead of a dictionary as in the previous examples). In the case where the element is a UUID (type descriptor 3), the value itself may be a data object. The UUID type will be inferred and the size taken from the length of the data object.

In the case where the element is a text string (type descriptor 4), the value may be a string object. The text string type will be inferred and the size taken from the length of the string.

In the case where the element is a data element sequence, the value may be an array object. The type will be inferred and the size taken from the length of the array. Additionally, the array must contain sub-elements that will be parsed out individually.

Initializers

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement

func IOBluetoothSDPDataElementFromID

func IOBluetoothSDPDataElementFromID(id objc.ID) IOBluetoothSDPDataElement

IOBluetoothSDPDataElementFromID constructs a IOBluetoothSDPDataElement from an objc.ID.

An instance of this class represents a single SDP data element as defined by the Bluetooth SDP spec.

func NewBluetoothSDPDataElementWithElementValue

func NewBluetoothSDPDataElementWithElementValue(element objectivec.NSObject) IOBluetoothSDPDataElement

Initializes a new IOBluetoothSDPDataElement with the given value.

element: The data element value of one of the specified types.

Return Value

Returns self if successful. Returns nil if there was an error parsing the element value.

Discussion

The value must follow the format listed above and must be an instance of NSData, NSString, NSNumber, NSArray, NSDictionary, IOBluetoothSDPUUID.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/init(elementValue:)

func NewBluetoothSDPDataElementWithTypeSizeDescriptorSizeValue

func NewBluetoothSDPDataElementWithTypeSizeDescriptorSizeValue(newType BluetoothSDPDataElementTypeDescriptor, newSizeDescriptor BluetoothSDPDataElementSizeDescriptor, newSize uint32, newValue objectivec.NSObject) IOBluetoothSDPDataElement

Initializes a new IOBluetoothSDPDataElement with the given attributes.

newType: The type descriptor for the data element.

newSizeDescriptor: The size descriptor for the data element (verify it matches the size parameter).

newSize: The size of the data element in bytes (make sure it is a valid size for the given size descriptor).

newValue: The raw value itself. This must be the base NSString, NSNumber, NSArray or NSData objects. It may not be NSDictionary. If a dictionary format is present, use +withElementValue:.

Return Value

Returns self if successful. Returns nil if an error is encountered (not likely due to the limited error checking currently done).

Discussion

Warning - be careful using this method. There is next to no error checking done on the attributes. It is entirely possible to construct an invalid data element. It is recommended that +withElementValue: be used instead of this one.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/init(type:sizeDescriptor:size:value:)

func NewIOBluetoothSDPDataElement

func NewIOBluetoothSDPDataElement() IOBluetoothSDPDataElement

NewIOBluetoothSDPDataElement creates a new IOBluetoothSDPDataElement instance.

func (IOBluetoothSDPDataElement) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothSDPDataElement) ContainsDataElement

func (b IOBluetoothSDPDataElement) ContainsDataElement(dataElement IIOBluetoothSDPDataElement) bool

Checks to see if the target data element is the same as the dataElement parameter or if it contains the dataElement parameter (if its a sequence type).

dataElement: The data element to compare with (and search for).

Return Value

Returns TRUE if the target either matches the given data element or if it contains the given data element.

Discussion

If the target data element is not a sequence type, this method simply compares the two data elements. If it is a sequence type, it will search through the sequence (and sub-sequences) for the dataElement parameter.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/contains(_:)

func (IOBluetoothSDPDataElement) ContainsValue

func (b IOBluetoothSDPDataElement) ContainsValue(cmpValue objectivec.NSObject) bool

Checks to see if the target data element’s value is the same as the value parameter or if it contains the value parameter.

cmpValue: The value to compare with (and search for).

Return Value

Returns TRUE if the target’s value either matches the given value or if it contains the given value.

Discussion

This method works just like -containsDataElement: except that it is comparing the value objects directly.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/containsValue(_:)

func (IOBluetoothSDPDataElement) EncodeWithCoder

func (b IOBluetoothSDPDataElement) EncodeWithCoder(coder foundation.INSCoder)

func (IOBluetoothSDPDataElement) GetArrayValue

func (b IOBluetoothSDPDataElement) GetArrayValue() foundation.INSArray

If the data element is represented by an array object, it returns the value as an NSArray.

Return Value

Returns an NSArray representation of the data element if it is a sequence type.

Discussion

The data types represented by an array object are 6 (data element sequence) and 7 (data element alternative).

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getArrayValue()

func (IOBluetoothSDPDataElement) GetDataValue

func (b IOBluetoothSDPDataElement) GetDataValue() foundation.NSData

If the data element is represented by a data object, it returns the value as an NSData.

Return Value

Returns an NSData representation of the data element if it is a 128-bit number.

Discussion

The data types represented by a data object are 128-bit versions of 1 (unsigned int) and 2 (signed int).

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getDataValue()

func (IOBluetoothSDPDataElement) GetNumberValue

func (b IOBluetoothSDPDataElement) GetNumberValue() foundation.NSNumber

If the data element is represented by a number, it returns the value as an NSNumber.

Return Value

Returns an NSNumber representation of the data element if it is a numeric type.

Discussion

The data types represented by a number are 1 (unsigned int), 2 (signed int) and 5 (boolean) except for 128-bit versions of 1 and 2.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getNumberValue()

func (IOBluetoothSDPDataElement) GetSDPDataElementRef

Returns an IOBluetoothSDPDataElementRef representation of the target IOBluetoothSDPDataElement object.

Return Value

Returns an IOBluetoothSDPDataElementRef representation of the target IOBluetoothSDPDataElement object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getRef()

func (IOBluetoothSDPDataElement) GetSize

func (b IOBluetoothSDPDataElement) GetSize() uint32

Returns the size in bytes of the target data element.

Return Value

Returns the size in bytes of the target data element.

Discussion

The size is valid whether the data element has a fixed or variable size descriptor.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getSize()

func (IOBluetoothSDPDataElement) GetSizeDescriptor

Returns the SDP spec defined data element size descriptor for the target data element.

Return Value

Returns the size descriptor for the target data element.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getSizeDescriptor()

func (IOBluetoothSDPDataElement) GetStringValue

func (b IOBluetoothSDPDataElement) GetStringValue() string

If the data element is represented by a string object, it returns the value as an NSString.

Return Value

Returns an NSString representation of the data element if it is a text or URL type.

Discussion

The data types represented by a string object are 4 (text string) and 8 (URL).

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getStringValue()

func (IOBluetoothSDPDataElement) GetTypeDescriptor

Returns the SDP spec defined data element type descriptor for the target data element.

Return Value

Returns the type descriptor for the target data element.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getTypeDescriptor()

func (IOBluetoothSDPDataElement) GetUUIDValue

If the data element is a UUID (type 3), it returns the value as an IOBluetoothSDPUUID.

Return Value

Returns an IOBluetoothSDPUUID representation of the data element if it is a UUID.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getUUIDValue()

func (IOBluetoothSDPDataElement) GetValue

Returns the object value of the data element.

Return Value

Returns the object value of the target data element.

Discussion

The value returned may be an NSNumber, NSString, NSData, NSArray or IOBluetoothSDPDataElement depending on the type of the data element.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/getValue()

func (IOBluetoothSDPDataElement) Init

Init initializes the instance.

func (IOBluetoothSDPDataElement) InitWithElementValue

Initializes a new IOBluetoothSDPDataElement with the given value.

element: The data element value of one of the specified types.

Return Value

Returns self if successful. Returns nil if there was an error parsing the element value.

Discussion

The value must follow the format listed above and must be an instance of NSData, NSString, NSNumber, NSArray, NSDictionary, IOBluetoothSDPUUID.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/init(elementValue:)

func (IOBluetoothSDPDataElement) InitWithTypeSizeDescriptorSizeValue

func (b IOBluetoothSDPDataElement) InitWithTypeSizeDescriptorSizeValue(newType BluetoothSDPDataElementTypeDescriptor, newSizeDescriptor BluetoothSDPDataElementSizeDescriptor, newSize uint32, newValue objectivec.NSObject) IOBluetoothSDPDataElement

Initializes a new IOBluetoothSDPDataElement with the given attributes.

newType: The type descriptor for the data element.

newSizeDescriptor: The size descriptor for the data element (verify it matches the size parameter).

newSize: The size of the data element in bytes (make sure it is a valid size for the given size descriptor).

newValue: The raw value itself. This must be the base NSString, NSNumber, NSArray or NSData objects. It may not be NSDictionary. If a dictionary format is present, use +withElementValue:.

Return Value

Returns self if successful. Returns nil if an error is encountered (not likely due to the limited error checking currently done).

Discussion

Warning - be careful using this method. There is next to no error checking done on the attributes. It is entirely possible to construct an invalid data element. It is recommended that +withElementValue: be used instead of this one.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/init(type:sizeDescriptor:size:value:)

type IOBluetoothSDPDataElementClass

type IOBluetoothSDPDataElementClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothSDPDataElementClass

func GetIOBluetoothSDPDataElementClass() IOBluetoothSDPDataElementClass

GetIOBluetoothSDPDataElementClass returns the class object for IOBluetoothSDPDataElement.

func (IOBluetoothSDPDataElementClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothSDPDataElementClass) Class

Class returns the underlying Objective-C class pointer.

func (IOBluetoothSDPDataElementClass) WithElementValue

func (_IOBluetoothSDPDataElementClass IOBluetoothSDPDataElementClass) WithElementValue(element objectivec.NSObject) IOBluetoothSDPDataElement

Creates a new IOBluetoothSDPDataElement with the given value.

element: The data element value of one of the specified types.

Return Value

Returns the newly allocated data element object. Returns nil if there was an error parsing the element value. The returned IOBluetoothSDPDataElement object has been autoreleased, so it is not necessary for the caller to release it. If the object is to be referenced and kept around, retain should be called.

Discussion

The value must follow the format listed above and must be an instance of NSData, NSString, NSNumber, NSArray, NSDictionary, IOBluetoothSDPUUID.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/withElementValue(_:)

func (IOBluetoothSDPDataElementClass) WithSDPDataElementRef

func (_IOBluetoothSDPDataElementClass IOBluetoothSDPDataElementClass) WithSDPDataElementRef(sdpDataElementRef IOBluetoothSDPDataElementRef) IOBluetoothSDPDataElement

Method call to convert an IOBluetoothSDPDataElementRef into an IOBluetoothSDPDataElement *.

sdpDataElementRef: IOBluetoothSDPDataElementRef for which an IOBluetoothSDPDataElement * is desired.

Return Value

Returns the IOBluetoothSDPDataElement * for the given IOBluetoothSDPDataElementRef.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/withSDPDataElementRef(_:)

func (IOBluetoothSDPDataElementClass) WithTypeSizeDescriptorSizeValue

func (_IOBluetoothSDPDataElementClass IOBluetoothSDPDataElementClass) WithTypeSizeDescriptorSizeValue(type_ BluetoothSDPDataElementTypeDescriptor, newSizeDescriptor BluetoothSDPDataElementSizeDescriptor, newSize uint32, newValue objectivec.NSObject) IOBluetoothSDPDataElement

Creates a new IOBluetoothSDPDataElement with the given attributes.

type: The type descriptor for the data element.

newSizeDescriptor: The size descriptor for the data element (verify it matches the size parameter).

newSize: The size of the data element in bytes (make sure it is a valid size for the given size descriptor).

newValue: The raw value itself. This must be the base NSString, NSNumber, NSArray or NSData objects. It may not be NSDictionary. If a dictionary format is present, use +withElementValue:.

Return Value

Returns the newly allocated data element object. Returns nil if an error is encountered (not likely due to the limited error checking currently done). The returned IOBluetoothSDPDataElement object has been autoreleased, so it is not necessary for the caller to release it. If the object is to be referenced and kept around, retain should be called.

Discussion

Warning - be careful using this method. There is next to no error checking done on the attributes. It is entirely possible to construct an invalid data element. It is recommended that +withElementValue: be used instead of this one.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPDataElement/withType(_:sizeDescriptor:size:value:)

type IOBluetoothSDPServiceAttribute

type IOBluetoothSDPServiceAttribute struct {
	objectivec.Object
}

IOBluetoothSDPServiceAttribute represents a single SDP service attribute.

Overview

A service attribute contains two components: an attribute ID and a data element.

Initializers

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute

func IOBluetoothSDPServiceAttributeFromID

func IOBluetoothSDPServiceAttributeFromID(id objc.ID) IOBluetoothSDPServiceAttribute

IOBluetoothSDPServiceAttributeFromID constructs a IOBluetoothSDPServiceAttribute from an objc.ID.

IOBluetoothSDPServiceAttribute represents a single SDP service attribute.

func NewBluetoothSDPServiceAttributeWithIDAttributeElement

func NewBluetoothSDPServiceAttributeWithIDAttributeElement(newAttributeID BluetoothSDPServiceAttributeID, attributeElement IIOBluetoothSDPDataElement) IOBluetoothSDPServiceAttribute

Initializes a new service attribute with the given ID and data element.

newAttributeID: The attribute ID of the new service attribute.

attributeElement: The data element of the new service attribute.

Return Value

Returns self if successful. Returns nil if there was an error.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute/init(id:attributeElement:)

func NewBluetoothSDPServiceAttributeWithIDAttributeElementValue

func NewBluetoothSDPServiceAttributeWithIDAttributeElementValue(newAttributeID BluetoothSDPServiceAttributeID, attributeElementValue objectivec.NSObject) IOBluetoothSDPServiceAttribute

Initializes a new service attribute with the given ID and element value.

newAttributeID: The attribute ID of the new service attribute.

attributeElementValue: The data element value of the new service attribute

Return Value

Returns self if successful. Returns nil if there was an error parsing the element value.

Discussion

See +[IOBluetoothSDPDataElement withElementValue:] for a description of the types that may be passed in as the attributeElementValue.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute/init(id:attributeElementValue:)

func NewIOBluetoothSDPServiceAttribute

func NewIOBluetoothSDPServiceAttribute() IOBluetoothSDPServiceAttribute

NewIOBluetoothSDPServiceAttribute creates a new IOBluetoothSDPServiceAttribute instance.

func (IOBluetoothSDPServiceAttribute) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothSDPServiceAttribute) EncodeWithCoder

func (b IOBluetoothSDPServiceAttribute) EncodeWithCoder(coder foundation.INSCoder)

func (IOBluetoothSDPServiceAttribute) GetAttributeID

Returns the attribute ID for the target service attribute.

Return Value

Returns the attribute ID for the target service attribute.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute/getID()

func (IOBluetoothSDPServiceAttribute) GetDataElement

Returns the data element for the target service attribute.

Return Value

Returns the data element for the target service attribute.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute/getDataElement()

func (IOBluetoothSDPServiceAttribute) GetIDDataElement

Returns the data element representing the attribute ID for the target service attribute.

Return Value

Returns the data element representing the attribute ID for the target service attribute.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute/getIDDataElement()

func (IOBluetoothSDPServiceAttribute) Init

Init initializes the instance.

func (IOBluetoothSDPServiceAttribute) InitWithIDAttributeElement

Initializes a new service attribute with the given ID and data element.

newAttributeID: The attribute ID of the new service attribute.

attributeElement: The data element of the new service attribute.

Return Value

Returns self if successful. Returns nil if there was an error.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute/init(id:attributeElement:)

func (IOBluetoothSDPServiceAttribute) InitWithIDAttributeElementValue

func (b IOBluetoothSDPServiceAttribute) InitWithIDAttributeElementValue(newAttributeID BluetoothSDPServiceAttributeID, attributeElementValue objectivec.NSObject) IOBluetoothSDPServiceAttribute

Initializes a new service attribute with the given ID and element value.

newAttributeID: The attribute ID of the new service attribute.

attributeElementValue: The data element value of the new service attribute

Return Value

Returns self if successful. Returns nil if there was an error parsing the element value.

Discussion

See +[IOBluetoothSDPDataElement withElementValue:] for a description of the types that may be passed in as the attributeElementValue.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute/init(id:attributeElementValue:)

type IOBluetoothSDPServiceAttributeClass

type IOBluetoothSDPServiceAttributeClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothSDPServiceAttributeClass

func GetIOBluetoothSDPServiceAttributeClass() IOBluetoothSDPServiceAttributeClass

GetIOBluetoothSDPServiceAttributeClass returns the class object for IOBluetoothSDPServiceAttribute.

func (IOBluetoothSDPServiceAttributeClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothSDPServiceAttributeClass) Class

Class returns the underlying Objective-C class pointer.

func (IOBluetoothSDPServiceAttributeClass) WithIDAttributeElement

func (_IOBluetoothSDPServiceAttributeClass IOBluetoothSDPServiceAttributeClass) WithIDAttributeElement(newAttributeID BluetoothSDPServiceAttributeID, attributeElement IIOBluetoothSDPDataElement) IOBluetoothSDPServiceAttribute

Creates a new service attribute with the given ID and data element.

newAttributeID: The attribute ID of the new service attribute.

attributeElement: The data element of the new service attribute.

Return Value

Returns the newly allocated service attribute object. Returns nil if there was an error. The returned IOBluetoothSDPDataElement object has been autoreleased, so it is not necessary for the caller to release it. If the object is to be referenced and kept around, retain should be called.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute/withID(_:attributeElement:)

func (IOBluetoothSDPServiceAttributeClass) WithIDAttributeElementValue

func (_IOBluetoothSDPServiceAttributeClass IOBluetoothSDPServiceAttributeClass) WithIDAttributeElementValue(newAttributeID BluetoothSDPServiceAttributeID, attributeElementValue objectivec.NSObject) IOBluetoothSDPServiceAttribute

Creates a new service attribute with the given ID and element value.

newAttributeID: The attribute ID of the new service attribute.

attributeElementValue: The data element value of the new service attribute

Return Value

Returns the newly allocated service attribute object. Returns nil if there was an error parsing the element value. The returned IOBluetoothSDPDataElement object has been autoreleased, so it is not necessary for the caller to release it. If the object is to be referenced and kept around, retain should be called.

Discussion

See +[IOBluetoothSDPDataElement withElementValue:] for a description of the types that may be passed in as the attributeElementValue.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceAttribute/withID(_:attributeElementValue:)

type IOBluetoothSDPServiceRecord

type IOBluetoothSDPServiceRecord struct {
	objectivec.Object
}

An instance of this class represents a single SDP service record.

Overview

As a service record, an instance of this class has an NSDictionary of service attributes. It also has a link to the IOBluetoothDevice that the service belongs to. The service dictionary is keyed off of the attribute ID of each attribute represented as an NSNumber.

Initializers

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord

func IOBluetoothSDPServiceRecordFromID

func IOBluetoothSDPServiceRecordFromID(id objc.ID) IOBluetoothSDPServiceRecord

IOBluetoothSDPServiceRecordFromID constructs a IOBluetoothSDPServiceRecord from an objc.ID.

An instance of this class represents a single SDP service record.

func NewBluetoothSDPServiceRecordWithServiceDictionaryDevice

func NewBluetoothSDPServiceRecordWithServiceDictionaryDevice(serviceDict foundation.INSDictionary, device IIOBluetoothDevice) IOBluetoothSDPServiceRecord

Returns an initialized IOBluetoothSDPServiceRecord * with the attributes specified in the provided service dictionary. Provide a pointer to an IOBlueotothDevice if you wish to associate the record to a specific IOBluetoothDevice.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/init(serviceDictionary:device:)

func NewIOBluetoothSDPServiceRecord

func NewIOBluetoothSDPServiceRecord() IOBluetoothSDPServiceRecord

NewIOBluetoothSDPServiceRecord creates a new IOBluetoothSDPServiceRecord instance.

func (IOBluetoothSDPServiceRecord) Attributes

Returns an NSDictionary containing the attributes for the service.

Return Value

Returns an NSDictionary containing the attributes for the target service.

Discussion

The attribute dictionary is keyed off of the attribute id represented as an NSNumber. The values in the NSDictionary are IOBluetoothSDPDataElement objects representing the data element for the given attribute.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/attributes

func (IOBluetoothSDPServiceRecord) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothSDPServiceRecord) Device

Returns the IOBluetoothDevice that the target service belongs to.

Return Value

Returns the IOBluetoothDevice that the target service belongs to. If the service is one the local host is vending, then nil is returned.

Discussion

If the service is a local service (i.e. one the current host is vending out), then nil is returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/device

func (IOBluetoothSDPServiceRecord) EncodeWithCoder

func (b IOBluetoothSDPServiceRecord) EncodeWithCoder(coder foundation.INSCoder)

func (IOBluetoothSDPServiceRecord) GetAttributeDataElement

Returns the data element for the given attribute ID in the target service.

attributeID: The attribute ID of the desired attribute.

Return Value

Returns the data element for the given attribute ID in the target service. If the service does not contain an attribute with the given ID, then nil is returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/getAttributeDataElement(_:)

func (IOBluetoothSDPServiceRecord) GetL2CAPPSM

Allows the discovery of the L2CAP PSM assigned to the service.

outPSM: A pointer to the location that will get the found L2CAP PSM.

Return Value

Returns kIOReturnSuccess if the PSM is found.

Discussion

This method will search through the ProtoclDescriptorList attribute to find an entry with the L2CAP UUID (UUID16: 0x0100). If one is found, it gets the second element of the data element sequence and sets the outPSM pointer to it. The PSM value only gets set when kIOReturnSuccess is returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/getL2CAPPSM(_:)

func (IOBluetoothSDPServiceRecord) GetRFCOMMChannelID

func (b IOBluetoothSDPServiceRecord) GetRFCOMMChannelID(rfcommChannelID *BluetoothRFCOMMChannelID) kernel.IOReturn

Allows the discovery of the RFCOMM channel ID assigned to the service.

rfcommChannelID: A pointer to the location that will get the found RFCOMM channel ID.

Return Value

Returns kIOReturnSuccess if the channel ID is found.

Discussion

This method will search through the ProtoclDescriptorList attribute to find an entry with the RFCOMM UUID (UUID16: 0x0003). If one is found, it gets the second element of the data element sequence and sets the rfcommChannelID pointer to it. The channel ID only gets set when kIOReturnSuccess is returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/getRFCOMMChannelID(_:)

func (IOBluetoothSDPServiceRecord) GetSDPServiceRecordRef

Returns an IOBluetoothSDPServiceRecordRef representation of the target IOBluetoothSDPServiceRecord object.

Return Value

Returns an IOBluetoothSDPServiceRecordRef representation of the target IOBluetoothSDPServiceRecord object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/getRef()

func (IOBluetoothSDPServiceRecord) GetServiceName

func (b IOBluetoothSDPServiceRecord) GetServiceName() string

Returns the name of the service.

Return Value

Returns the name of the target service.

Discussion

This is currently implemented to simply return the attribute with an id of 0x0100. In the future, it will be extended to allow name localization based on the user’s chosen language or other languages.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/getServiceName()

func (IOBluetoothSDPServiceRecord) GetServiceRecordHandle

func (b IOBluetoothSDPServiceRecord) GetServiceRecordHandle(outServiceRecordHandle *BluetoothSDPServiceRecordHandle) kernel.IOReturn

Allows the discovery of the service record handle assigned to the service.

outServiceRecordHandle: A pointer to the location that will get the found service record handle.

Return Value

Returns kIOReturnSuccess if the service record handle is found.

Discussion

This method will search through the attributes to find the one representing the service record handle. If one is found the outServiceRecordHandle param is set with the value. The outServiceRecordHandle value only gets set when kIOReturnSuccess is returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/getHandle(_:)

func (IOBluetoothSDPServiceRecord) HasServiceFromArray

func (b IOBluetoothSDPServiceRecord) HasServiceFromArray(array foundation.INSArray) bool

Returns TRUE if any one of the UUIDs in the given array is found in the target service.

array: An NSArray of IOBluetoothSDPUUID objects to search for in the target service.

Return Value

Returns TRUE if any of the given UUIDs are present in the service.

Discussion

The given array should contain IOBluetoothSDPUUID objects. It is currently implemented such that it returns TRUE if any of the UUIDs are found. However in the future, it is likely that this will change to more closely match the functionality in the SDP spec so that it only returns TRUE if all of the given UUIDs are present. That way, both AND and OR comparisons can be implemented. Please make a note of this potential change.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/hasService(from:)

func (IOBluetoothSDPServiceRecord) Init

Init initializes the instance.

func (IOBluetoothSDPServiceRecord) InitWithServiceDictionaryDevice

func (b IOBluetoothSDPServiceRecord) InitWithServiceDictionaryDevice(serviceDict foundation.INSDictionary, device IIOBluetoothDevice) IOBluetoothSDPServiceRecord

Returns an initialized IOBluetoothSDPServiceRecord * with the attributes specified in the provided service dictionary. Provide a pointer to an IOBlueotothDevice if you wish to associate the record to a specific IOBluetoothDevice.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/init(serviceDictionary:device:)

func (IOBluetoothSDPServiceRecord) MatchesSearchArray

func (b IOBluetoothSDPServiceRecord) MatchesSearchArray(searchArray foundation.INSArray) bool

Returns TRUE any of the UUID arrays in the search array match the target service.

searchArray: An NSArray of NSArrays of IOBluetoothSDPUUID objects.

Return Value

Returns [TRUE] if any of the UUID arrays match.

Discussion

The given array should contain NSArray objects. Each sub-NSArray should contain IOBluetoothSDPUUID objects. In turn, each sub-NSArray gets passed to -matchesUUIDArray: If any of those returns [TRUE], then the search stops and [TRUE] is returned. Essentially the primary NSArray contains the OR operations and each sub-array contains the AND operations.

NOTE: This method is only available in macOS 10.2.4 (Bluetooth v1.1) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/matchesSearch(_:)

func (IOBluetoothSDPServiceRecord) MatchesUUID16

func (b IOBluetoothSDPServiceRecord) MatchesUUID16(uuid16 BluetoothSDPUUID16) bool

Returns TRUE the UUID16 is found in the target service.

uuid16: A BluetoothSDPUUID16 to search for in the target service.

Return Value

Returns TRUE if the UUID16 is present in the service.

Discussion

NOTE: This method is only available in macOS 10.7 or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/matchesUUID16(_:)

func (IOBluetoothSDPServiceRecord) MatchesUUIDArray

func (b IOBluetoothSDPServiceRecord) MatchesUUIDArray(uuidArray foundation.INSArray) bool

Returns TRUE if ALL of the UUIDs in the given array is found in the target service.

uuidArray: An NSArray of IOBluetoothSDPUUID objects to search for in the target service.

Return Value

Returns TRUE if all of the given UUIDs are present in the service.

Discussion

The given array should contain IOBluetoothSDPUUID objects. It only returns TRUE if all of the UUIDs are found. This method is like hasServiceFromArray: except that it requires that all UUIDs match instead of any of them matching.

NOTE: This method is only available in macOS 10.2.4 (Bluetooth v1.1) or later.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/matchesUUIDArray(_:)

func (IOBluetoothSDPServiceRecord) RemoveServiceRecord

func (b IOBluetoothSDPServiceRecord) RemoveServiceRecord() kernel.IOReturn

Removes the service from the local SDP server.

Return Value

Returns kIOReturnSuccess if successful.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/remove()

func (IOBluetoothSDPServiceRecord) SortedAttributes

func (b IOBluetoothSDPServiceRecord) SortedAttributes() foundation.INSArray

Returns a sorted array of SDP attributes

Return Value

Returns a sorted array of SDP attributes

Discussion

This method will walk all the elements of the service record and return an array of IOBluetoothSDPServiceAttribute objects sorted by attributeID

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/sortedAttributes-swift.property

type IOBluetoothSDPServiceRecordClass

type IOBluetoothSDPServiceRecordClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothSDPServiceRecordClass

func GetIOBluetoothSDPServiceRecordClass() IOBluetoothSDPServiceRecordClass

GetIOBluetoothSDPServiceRecordClass returns the class object for IOBluetoothSDPServiceRecord.

func (IOBluetoothSDPServiceRecordClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothSDPServiceRecordClass) Class

Class returns the underlying Objective-C class pointer.

func (IOBluetoothSDPServiceRecordClass) PublishedServiceRecordWithDictionary

func (_IOBluetoothSDPServiceRecordClass IOBluetoothSDPServiceRecordClass) PublishedServiceRecordWithDictionary(serviceDict foundation.INSDictionary) IOBluetoothSDPServiceRecord

Adds a service to the local SDP server.

serviceDict: A dictionary containing the attributes for the new service

Return Value

Returns an IOBluetoothSDPServiceRecord * with the attributes specified in the provided dictionary.

Discussion

Each entry in the dictionary representing the service contains the individual attributes. Each attribute in the dict is keyed by a string that must begin with a hex number representing the attribute ID. The key string may contain additional characters if desired as long as they follow a space after the ID hex string. The attribute value must follow the dictionary format described by IOBluetoothSDPDataElement. This dictionary format allows a service dict to be created as a plist file and then loaded into the system rather than built up in code. See the example code for an example of how can be done.

If the service record handle, L2CAP PSM or RFCOMM channel ID specified in the dictionary are in use, an alternate one will be assigned.

In addition to attributes that represent the service itself, additional attributes may be specified that control the local behavior of the service. To specify these local attributes, an additional property titled “LocalAttributes” may be added to the root of the service dict. The value of this property must be a dictionary that contains the individual local attributes.

Currently, only two local attributes are supported: “Persistent” and “TargetApplication”.

The “Persistent” local attribute must be either a boolean or number representing whether the service should be persistent. A persistent service will be saved off and restored any time the Bluetooth hardware is present. It will persist through reboots and can only be removed by calling IOBluetoothRemoveServiceWithRecordHandle(). This attribute is optional. By default, if no “Persistent” local property is present, the service will only exist temporarily. It will be removed either when IOBluetoothRemoveServiceWithRecordHandle() is called or when the client application exits.

The “TargetApplication” local attribute is used to specify an application to be launched when a remote device attempts to connect to the service (by opening either an L2CAP or RFCOMM channel of the type specified in the service). This value must be a string representing the absolute path to the target executable (not just the .app wrapper - i.e. /System/Library/CoreServices/OBEXAgent.app/Contents/MacOS/OBEXAgent). This attribute is optional. If no “TargetApplication” local attribute is specified, no special action will take place when an incoming connection to the service is created. It is up to the client to be monitoring for the connection and to do the right thing when one appears.

The “LocalAttributes” property is optional. If it is not specified, by default the created service is transient and will be removed when the client exits.

Additional local attributes to further control incoming services will be added in the future.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/publishedServiceRecord(with:)

func (IOBluetoothSDPServiceRecordClass) WithSDPServiceRecordRef

func (_IOBluetoothSDPServiceRecordClass IOBluetoothSDPServiceRecordClass) WithSDPServiceRecordRef(sdpServiceRecordRef IOBluetoothSDPServiceRecordRef) IOBluetoothSDPServiceRecord

Method call to convert an IOBluetoothSDPServiceRecordRef into an IOBluetoothSDPServiceRecord *.

sdpServiceRecordRef: IOBluetoothSDPServiceRecordRef for which an IOBluetoothSDPServiceRecord * is desired.

Return Value

Returns the IOBluetoothSDPServiceRecord * for the given IOBluetoothSDPServiceRecordRef.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/withSDPServiceRecordRef(_:)

func (IOBluetoothSDPServiceRecordClass) WithServiceDictionaryDevice

func (_IOBluetoothSDPServiceRecordClass IOBluetoothSDPServiceRecordClass) WithServiceDictionaryDevice(serviceDict foundation.INSDictionary, device IIOBluetoothDevice) IOBluetoothSDPServiceRecord

Returns an IOBluetoothSDPServiceRecord * with the attributes specified in the provided service dictionary. Provide a pointer to an IOBlueotothDevice if you wish to associate the record to a specific IOBluetoothDevice.

Return Value

Returns an IOBluetoothSDPServiceRecord * with the attributes specified in the provided dictionary.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPServiceRecord/withServiceDictionary(_:device:)

type IOBluetoothSDPUUID

type IOBluetoothSDPUUID struct {
	foundation.NSData
}

An NSData subclass that represents a UUID as defined in the Bluetooth SDP spec.

Overview

The IOBluetoothSDPUUID class can represent a UUID of any valid size (16, 32 or 128 bits). It provides the ability to compare two UUIDs no matter what their size as well as the ability to promote the size of a UUID to a larger one.

Initializers

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID

func IOBluetoothSDPUUIDFromID

func IOBluetoothSDPUUIDFromID(id objc.ID) IOBluetoothSDPUUID

IOBluetoothSDPUUIDFromID constructs a IOBluetoothSDPUUID from an objc.ID.

An NSData subclass that represents a UUID as defined in the Bluetooth SDP spec.

func NewBluetoothSDPUUIDUuidWithBytesLength

func NewBluetoothSDPUUIDUuidWithBytesLength(bytes []byte) IOBluetoothSDPUUID

Creates a new IOBluetoothSDPUUID object with the given bytes of the given length.

bytes: An array of bytes representing the UUID.

length: The length of the array of bytes.

Return Value

Returns the new IOBluetoothSDPUUID object or nil on failure.

Discussion

If the length is invalid for a UUID, nil is returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/init(bytes:length:)

func NewBluetoothSDPUUIDUuidWithData

func NewBluetoothSDPUUIDUuidWithData(data foundation.NSData) IOBluetoothSDPUUID

Creates a new IOBluetoothSDPUUID object from the given NSData.

data: The NSData containing the UUID bytes.

Return Value

Returns the new IOBluetoothSDPUUID object or nil on failure.

Discussion

If the length of the NSData is invalid for a UUID, nil is returned.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/init(data:)

func NewBluetoothSDPUUIDWithUUID16

func NewBluetoothSDPUUIDWithUUID16(uuid16 BluetoothSDPUUID16) IOBluetoothSDPUUID

Initializes a new 16-bit IOBluetoothSDPUUID with the given UUID16

uuid16: A scalar representing a 16-bit UUID

Return Value

Returns self.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/init(uuid16:)

func NewBluetoothSDPUUIDWithUUID32

func NewBluetoothSDPUUIDWithUUID32(uuid32 BluetoothSDPUUID32) IOBluetoothSDPUUID

Creates a new 32-bit IOBluetoothSDPUUID with the given UUID32

uuid32: A scalar representing a 32-bit UUID

Return Value

Returns self.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/init(uuid32:)

func NewIOBluetoothSDPUUID

func NewIOBluetoothSDPUUID() IOBluetoothSDPUUID

NewIOBluetoothSDPUUID creates a new IOBluetoothSDPUUID instance.

func (IOBluetoothSDPUUID) Autorelease

func (b IOBluetoothSDPUUID) Autorelease() IOBluetoothSDPUUID

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothSDPUUID) GetUUIDWithLength

func (b IOBluetoothSDPUUID) GetUUIDWithLength(newLength uint32) IIOBluetoothSDPUUID

Returns an IOBluetoothSDPUUID object matching the target UUID, but with the given number of bytes.

newLength: The desired length for the UUID.

Return Value

Returns an IOBluetoothSDPUUID object with the same data as the target but with the given length if it is possible to do so. Otherwise, nil is returned.

Discussion

If the target object is the same length as newLength, it returns self. If newLength is greater it creates a new IOBluetoothSDPUUID object with the correct value for the given length. If newLength is smaller, it will attempt to create a new IOBluetoothSDPUUID that is smaller if the data matches the Bluetooth UUID base. This downconversion is currently unimplemented.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/getWithLength(_:)

func (IOBluetoothSDPUUID) Init

Init initializes the instance.

func (IOBluetoothSDPUUID) InitWithUUID16

func (b IOBluetoothSDPUUID) InitWithUUID16(uuid16 BluetoothSDPUUID16) IOBluetoothSDPUUID

Initializes a new 16-bit IOBluetoothSDPUUID with the given UUID16

uuid16: A scalar representing a 16-bit UUID

Return Value

Returns self.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/init(uuid16:)

func (IOBluetoothSDPUUID) InitWithUUID32

func (b IOBluetoothSDPUUID) InitWithUUID32(uuid32 BluetoothSDPUUID32) IOBluetoothSDPUUID

Creates a new 32-bit IOBluetoothSDPUUID with the given UUID32

uuid32: A scalar representing a 32-bit UUID

Return Value

Returns self.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/init(uuid32:)

func (IOBluetoothSDPUUID) IsEqualToUUID

func (b IOBluetoothSDPUUID) IsEqualToUUID(otherUUID IIOBluetoothSDPUUID) bool

Compares the target IOBluetoothSDPUUID object with the given otherUUID object.

otherUUID: The UUID object to be compared with the target.

Return Value

Returns true if the UUID values of each object are equal. This includes the case where the sizes are different but the data itself is the same when the Bluetooth UUID base is applied.

Discussion

This method will compare the two UUID values independent of their length.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/isEqual(to:)

type IOBluetoothSDPUUIDClass

type IOBluetoothSDPUUIDClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothSDPUUIDClass

func GetIOBluetoothSDPUUIDClass() IOBluetoothSDPUUIDClass

GetIOBluetoothSDPUUIDClass returns the class object for IOBluetoothSDPUUID.

func (IOBluetoothSDPUUIDClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothSDPUUIDClass) Class

func (ic IOBluetoothSDPUUIDClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

func (IOBluetoothSDPUUIDClass) Uuid16

func (_IOBluetoothSDPUUIDClass IOBluetoothSDPUUIDClass) Uuid16(uuid16 BluetoothSDPUUID16) IOBluetoothSDPUUID

Creates a new 16-bit IOBluetoothSDPUUID with the given UUID16

uuid16: A scalar representing a 16-bit UUID

Return Value

Returns the new IOBluetoothSDPUUID object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/uuid16(_:)

func (IOBluetoothSDPUUIDClass) Uuid32

func (_IOBluetoothSDPUUIDClass IOBluetoothSDPUUIDClass) Uuid32(uuid32 BluetoothSDPUUID32) IOBluetoothSDPUUID

Creates a new 32-bit IOBluetoothSDPUUID with the given UUID32

uuid32: A scalar representing a 32-bit UUID

Return Value

Returns the new IOBluetoothSDPUUID object.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSDPUUID/uuid32(_:)

type IOBluetoothSMSMode

type IOBluetoothSMSMode uint

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothSMSMode

const (
	IOBluetoothSMSModePDU  IOBluetoothSMSMode = 0
	IOBluetoothSMSModeText IOBluetoothSMSMode = 1
)

func (IOBluetoothSMSMode) String

func (e IOBluetoothSMSMode) String() string

type IOBluetoothUserNotification

type IOBluetoothUserNotification struct {
	objectivec.Object
}

Represents a registered notification.

Overview

When registering for various notifications in the system, an IOBluetoothUserNotification object is returned. To unregister from the notification, call -unregister on the IOBluetoothUserNotification object. Once -unregister is called, the object will no longer be valid.

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothUserNotification

func IOBluetoothUserNotificationFromID

func IOBluetoothUserNotificationFromID(id objc.ID) IOBluetoothUserNotification

IOBluetoothUserNotificationFromID constructs a IOBluetoothUserNotification from an objc.ID.

Represents a registered notification.

func NewIOBluetoothUserNotification

func NewIOBluetoothUserNotification() IOBluetoothUserNotification

NewIOBluetoothUserNotification creates a new IOBluetoothUserNotification instance.

func (IOBluetoothUserNotification) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (IOBluetoothUserNotification) Init

Init initializes the instance.

func (IOBluetoothUserNotification) Unregister

func (b IOBluetoothUserNotification) Unregister()

Called to unregister the target notification.

Discussion

Once this method has completed, the target IOBluetoothUserNotification will no longer be valid.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothUserNotification/unregister()

type IOBluetoothUserNotificationCallback

type IOBluetoothUserNotificationCallback = func(userRefCon unsafe.Pointer, inRef IOBluetoothDeviceRef, status IOBluetoothDeviceRef)

IOBluetoothUserNotificationCallback is callback function definition for user notifications.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothUserNotificationCallback

type IOBluetoothUserNotificationChannelDirection

type IOBluetoothUserNotificationChannelDirection uint32

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothUserNotificationChannelDirection

const (
	KIOBluetoothUserNotificationChannelDirectionAny      IOBluetoothUserNotificationChannelDirection = 0
	KIOBluetoothUserNotificationChannelDirectionIncoming IOBluetoothUserNotificationChannelDirection = 1
	KIOBluetoothUserNotificationChannelDirectionOutgoing IOBluetoothUserNotificationChannelDirection = 2
)

func (IOBluetoothUserNotificationChannelDirection) String

type IOBluetoothUserNotificationClass

type IOBluetoothUserNotificationClass struct {
	// contains filtered or unexported fields
}

func GetIOBluetoothUserNotificationClass

func GetIOBluetoothUserNotificationClass() IOBluetoothUserNotificationClass

GetIOBluetoothUserNotificationClass returns the class object for IOBluetoothUserNotification.

func (IOBluetoothUserNotificationClass) Alloc

Alloc allocates memory for a new instance of the class.

func (IOBluetoothUserNotificationClass) Class

Class returns the underlying Objective-C class pointer.

type IOBluetoothUserNotificationRef

type IOBluetoothUserNotificationRef uintptr

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothUserNotificationRef

func IOBluetoothL2CAPChannelRegisterForChannelCloseNotification

func IOBluetoothL2CAPChannelRegisterForChannelCloseNotification(channel IOBluetoothL2CAPChannelRef, callback IOBluetoothUserNotificationCallback, inRefCon unsafe.Pointer) IOBluetoothUserNotificationRef

IOBluetoothL2CAPChannelRegisterForChannelCloseNotification allows a client to register for a channel close notification.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothL2CAPChannelRegisterForChannelCloseNotification(_:_:_:)

type KBluetoothAirMode

type KBluetoothAirMode uint32
const (
	KBluetoothAirModeALawLog         KBluetoothAirMode = 0x1
	KBluetoothAirModeCVSD            KBluetoothAirMode = 0x2
	KBluetoothAirModeTransparentData KBluetoothAirMode = 0x3
	KBluetoothAirModeULawLog         KBluetoothAirMode = 0
)

func (KBluetoothAirMode) String

func (e KBluetoothAirMode) String() string

type KBluetoothConnectionHandle

type KBluetoothConnectionHandle uint32
const (
	KBluetoothConnectionHandleNone                 KBluetoothConnectionHandle = 0xffff
	KBluetoothConnectionHandleSerialDeviceReserved KBluetoothConnectionHandle = 0xfff
)

func (KBluetoothConnectionHandle) String

type KBluetoothDeviceClassMajor

type KBluetoothDeviceClassMajor uint32
const (
	KBluetoothDeviceClassMajorAny            KBluetoothDeviceClassMajor = '*'<<24 | '*'<<16 | '*'<<8 | '*' // '****'
	KBluetoothDeviceClassMajorAudio          KBluetoothDeviceClassMajor = 0x4
	KBluetoothDeviceClassMajorComputer       KBluetoothDeviceClassMajor = 0x1
	KBluetoothDeviceClassMajorEnd            KBluetoothDeviceClassMajor = 'n'<<24 | 'o'<<16 | 'n'<<8 | 'f' // 'nonf'
	KBluetoothDeviceClassMajorHealth         KBluetoothDeviceClassMajor = 0x9
	KBluetoothDeviceClassMajorImaging        KBluetoothDeviceClassMajor = 0x6
	KBluetoothDeviceClassMajorLANAccessPoint KBluetoothDeviceClassMajor = 0x3
	KBluetoothDeviceClassMajorMiscellaneous  KBluetoothDeviceClassMajor = 0
	KBluetoothDeviceClassMajorNone           KBluetoothDeviceClassMajor = 'n'<<24 | 'o'<<16 | 'n'<<8 | 'e' // 'none'
	KBluetoothDeviceClassMajorPeripheral     KBluetoothDeviceClassMajor = 0x5
	KBluetoothDeviceClassMajorPhone          KBluetoothDeviceClassMajor = 0x2
	KBluetoothDeviceClassMajorToy            KBluetoothDeviceClassMajor = 0x8
	KBluetoothDeviceClassMajorUnclassified   KBluetoothDeviceClassMajor = 0x1f
	KBluetoothDeviceClassMajorWearable       KBluetoothDeviceClassMajor = 0x7
)

func (KBluetoothDeviceClassMajor) String

type KBluetoothDeviceClassMinor

type KBluetoothDeviceClassMinor uint32
const (
	KBluetoothDeviceClassMinorAny                             KBluetoothDeviceClassMinor = '*'<<24 | '*'<<16 | '*'<<8 | '*' // '****'
	KBluetoothDeviceClassMinorAudioCamcorder                  KBluetoothDeviceClassMinor = 0xd
	KBluetoothDeviceClassMinorAudioCar                        KBluetoothDeviceClassMinor = 0x8
	KBluetoothDeviceClassMinorAudioGamingToy                  KBluetoothDeviceClassMinor = 0x12
	KBluetoothDeviceClassMinorAudioHandsFree                  KBluetoothDeviceClassMinor = 0x2
	KBluetoothDeviceClassMinorAudioHeadphones                 KBluetoothDeviceClassMinor = 0x6
	KBluetoothDeviceClassMinorAudioHeadset                    KBluetoothDeviceClassMinor = 0x1
	KBluetoothDeviceClassMinorAudioHiFi                       KBluetoothDeviceClassMinor = 0xa
	KBluetoothDeviceClassMinorAudioLoudspeaker                KBluetoothDeviceClassMinor = 0x5
	KBluetoothDeviceClassMinorAudioMicrophone                 KBluetoothDeviceClassMinor = 0x4
	KBluetoothDeviceClassMinorAudioPortable                   KBluetoothDeviceClassMinor = 0x7
	KBluetoothDeviceClassMinorAudioReserved1                  KBluetoothDeviceClassMinor = 0x3
	KBluetoothDeviceClassMinorAudioReserved2                  KBluetoothDeviceClassMinor = 0x11
	KBluetoothDeviceClassMinorAudioSetTopBox                  KBluetoothDeviceClassMinor = 0x9
	KBluetoothDeviceClassMinorAudioUnclassified               KBluetoothDeviceClassMinor = 0
	KBluetoothDeviceClassMinorAudioVCR                        KBluetoothDeviceClassMinor = 0xb
	KBluetoothDeviceClassMinorAudioVideoCamera                KBluetoothDeviceClassMinor = 0xc
	KBluetoothDeviceClassMinorAudioVideoConferencing          KBluetoothDeviceClassMinor = 0x10
	KBluetoothDeviceClassMinorAudioVideoDisplayAndLoudspeaker KBluetoothDeviceClassMinor = 0xf
	KBluetoothDeviceClassMinorAudioVideoMonitor               KBluetoothDeviceClassMinor = 0xe
	KBluetoothDeviceClassMinorComputerDesktopWorkstation      KBluetoothDeviceClassMinor = 0x1
	KBluetoothDeviceClassMinorComputerHandheld                KBluetoothDeviceClassMinor = 0x4
	KBluetoothDeviceClassMinorComputerLaptop                  KBluetoothDeviceClassMinor = 0x3
	KBluetoothDeviceClassMinorComputerPalmSized               KBluetoothDeviceClassMinor = 0x5
	KBluetoothDeviceClassMinorComputerServer                  KBluetoothDeviceClassMinor = 0x2
	KBluetoothDeviceClassMinorComputerUnclassified            KBluetoothDeviceClassMinor = 0
	KBluetoothDeviceClassMinorComputerWearable                KBluetoothDeviceClassMinor = 0x6
	KBluetoothDeviceClassMinorEnd                             KBluetoothDeviceClassMinor = 'n'<<24 | 'o'<<16 | 'n'<<8 | 'f' // 'nonf'
	KBluetoothDeviceClassMinorHealthBloodPressureMonitor      KBluetoothDeviceClassMinor = 0x1
	KBluetoothDeviceClassMinorHealthDataDisplay               KBluetoothDeviceClassMinor = 0x7
	KBluetoothDeviceClassMinorHealthGlucoseMeter              KBluetoothDeviceClassMinor = 0x4
	KBluetoothDeviceClassMinorHealthHeartRateMonitor          KBluetoothDeviceClassMinor = 0x6
	KBluetoothDeviceClassMinorHealthPulseOximeter             KBluetoothDeviceClassMinor = 0x5
	KBluetoothDeviceClassMinorHealthScale                     KBluetoothDeviceClassMinor = 0x3
	KBluetoothDeviceClassMinorHealthThermometer               KBluetoothDeviceClassMinor = 0x2
	KBluetoothDeviceClassMinorHealthUndefined                 KBluetoothDeviceClassMinor = 0
	KBluetoothDeviceClassMinorImaging1Camera                  KBluetoothDeviceClassMinor = 0x8
	KBluetoothDeviceClassMinorImaging1Display                 KBluetoothDeviceClassMinor = 0x4
	KBluetoothDeviceClassMinorImaging1Printer                 KBluetoothDeviceClassMinor = 0x20
	KBluetoothDeviceClassMinorImaging1Scanner                 KBluetoothDeviceClassMinor = 0x10
	KBluetoothDeviceClassMinorImaging2Unclassified            KBluetoothDeviceClassMinor = 0
	KBluetoothDeviceClassMinorNone                            KBluetoothDeviceClassMinor = 'n'<<24 | 'o'<<16 | 'n'<<8 | 'e' // 'none'
	KBluetoothDeviceClassMinorPeripheral1Combo                KBluetoothDeviceClassMinor = 0x30
	KBluetoothDeviceClassMinorPeripheral1Keyboard             KBluetoothDeviceClassMinor = 0x10
	KBluetoothDeviceClassMinorPeripheral1Pointing             KBluetoothDeviceClassMinor = 0x20
	KBluetoothDeviceClassMinorPeripheral2AnyPointing          KBluetoothDeviceClassMinor = 'p'<<24 | 'o'<<16 | 'i'<<8 | 'n' // 'poin'
	KBluetoothDeviceClassMinorPeripheral2CardReader           KBluetoothDeviceClassMinor = 0x6
	KBluetoothDeviceClassMinorPeripheral2DigitalPen           KBluetoothDeviceClassMinor = 0x7
	KBluetoothDeviceClassMinorPeripheral2DigitizerTablet      KBluetoothDeviceClassMinor = 0x5
	KBluetoothDeviceClassMinorPeripheral2Gamepad              KBluetoothDeviceClassMinor = 0x2
	KBluetoothDeviceClassMinorPeripheral2GesturalInputDevice  KBluetoothDeviceClassMinor = 0x9
	KBluetoothDeviceClassMinorPeripheral2HandheldScanner      KBluetoothDeviceClassMinor = 0x8
	KBluetoothDeviceClassMinorPeripheral2Joystick             KBluetoothDeviceClassMinor = 0x1
	KBluetoothDeviceClassMinorPeripheral2RemoteControl        KBluetoothDeviceClassMinor = 0x3
	KBluetoothDeviceClassMinorPeripheral2SensingDevice        KBluetoothDeviceClassMinor = 0x4
	KBluetoothDeviceClassMinorPeripheral2Unclassified         KBluetoothDeviceClassMinor = 0
	KBluetoothDeviceClassMinorPhoneCellular                   KBluetoothDeviceClassMinor = 0x1
	KBluetoothDeviceClassMinorPhoneCommonISDNAccess           KBluetoothDeviceClassMinor = 0x5
	KBluetoothDeviceClassMinorPhoneCordless                   KBluetoothDeviceClassMinor = 0x2
	KBluetoothDeviceClassMinorPhoneSmartPhone                 KBluetoothDeviceClassMinor = 0x3
	KBluetoothDeviceClassMinorPhoneUnclassified               KBluetoothDeviceClassMinor = 0
	KBluetoothDeviceClassMinorPhoneWiredModemOrVoiceGateway   KBluetoothDeviceClassMinor = 0x4
	KBluetoothDeviceClassMinorToyController                   KBluetoothDeviceClassMinor = 0x4
	KBluetoothDeviceClassMinorToyDollActionFigure             KBluetoothDeviceClassMinor = 0x3
	KBluetoothDeviceClassMinorToyGame                         KBluetoothDeviceClassMinor = 0x5
	KBluetoothDeviceClassMinorToyRobot                        KBluetoothDeviceClassMinor = 0x1
	KBluetoothDeviceClassMinorToyVehicle                      KBluetoothDeviceClassMinor = 0x2
	KBluetoothDeviceClassMinorWearableGlasses                 KBluetoothDeviceClassMinor = 0x5
	KBluetoothDeviceClassMinorWearableHelmet                  KBluetoothDeviceClassMinor = 0x4
	KBluetoothDeviceClassMinorWearableJacket                  KBluetoothDeviceClassMinor = 0x3
	KBluetoothDeviceClassMinorWearablePager                   KBluetoothDeviceClassMinor = 0x2
	KBluetoothDeviceClassMinorWearableWristWatch              KBluetoothDeviceClassMinor = 0x1
)

func (KBluetoothDeviceClassMinor) String

type KBluetoothDontAllowRoleSwitch

type KBluetoothDontAllowRoleSwitch uint32
const (
	KBluetoothAllowRoleSwitch          KBluetoothDontAllowRoleSwitch = 0x1
	KBluetoothDontAllowRoleSwitchValue KBluetoothDontAllowRoleSwitch = 0
)

func (KBluetoothDontAllowRoleSwitch) String

type KBluetoothEncryptionEnable

type KBluetoothEncryptionEnable uint32
const (
	KBluetoothEncryptionEnableBREDRAESCCM KBluetoothEncryptionEnable = 0x2
	KBluetoothEncryptionEnableBREDRE0     KBluetoothEncryptionEnable = 0x1
	KBluetoothEncryptionEnableLEAESCCM    KBluetoothEncryptionEnable = 0x1
	KBluetoothEncryptionEnableOff         KBluetoothEncryptionEnable = 0
	KBluetoothEncryptionEnableOn          KBluetoothEncryptionEnable = 0x1
)

func (KBluetoothEncryptionEnable) String

type KBluetoothGAPAppearance

type KBluetoothGAPAppearance uint32
const (
	KBluetoothGAPAppearanceGenericBarcodeScanner               KBluetoothGAPAppearance = 704
	KBluetoothGAPAppearanceGenericBloodPressure                KBluetoothGAPAppearance = 896
	KBluetoothGAPAppearanceGenericClock                        KBluetoothGAPAppearance = 256
	KBluetoothGAPAppearanceGenericComputer                     KBluetoothGAPAppearance = 128
	KBluetoothGAPAppearanceGenericCycling                      KBluetoothGAPAppearance = 1152
	KBluetoothGAPAppearanceGenericDisplay                      KBluetoothGAPAppearance = 320
	KBluetoothGAPAppearanceGenericEyeGlasses                   KBluetoothGAPAppearance = 448
	KBluetoothGAPAppearanceGenericGlucoseMeter                 KBluetoothGAPAppearance = 1024
	KBluetoothGAPAppearanceGenericHeartrateSensor              KBluetoothGAPAppearance = 832
	KBluetoothGAPAppearanceGenericHumanInterfaceDevice         KBluetoothGAPAppearance = 960
	KBluetoothGAPAppearanceGenericKeyring                      KBluetoothGAPAppearance = 576
	KBluetoothGAPAppearanceGenericMediaPlayer                  KBluetoothGAPAppearance = 640
	KBluetoothGAPAppearanceGenericPhone                        KBluetoothGAPAppearance = 64
	KBluetoothGAPAppearanceGenericRemoteControl                KBluetoothGAPAppearance = 384
	KBluetoothGAPAppearanceGenericRunningWalkingSensor         KBluetoothGAPAppearance = 1088
	KBluetoothGAPAppearanceGenericTag                          KBluetoothGAPAppearance = 512
	KBluetoothGAPAppearanceGenericThermometer                  KBluetoothGAPAppearance = 768
	KBluetoothGAPAppearanceGenericWatch                        KBluetoothGAPAppearance = 192
	KBluetoothGAPAppearanceHumanInterfaceDeviceBarcodeScanner  KBluetoothGAPAppearance = 968
	KBluetoothGAPAppearanceHumanInterfaceDeviceCardReader      KBluetoothGAPAppearance = 966
	KBluetoothGAPAppearanceHumanInterfaceDeviceDigitalPen      KBluetoothGAPAppearance = 967
	KBluetoothGAPAppearanceHumanInterfaceDeviceDigitizerTablet KBluetoothGAPAppearance = 965
	KBluetoothGAPAppearanceHumanInterfaceDeviceGamepad         KBluetoothGAPAppearance = 964
	KBluetoothGAPAppearanceHumanInterfaceDeviceJoystick        KBluetoothGAPAppearance = 963
	KBluetoothGAPAppearanceHumanInterfaceDeviceKeyboard        KBluetoothGAPAppearance = 961
	KBluetoothGAPAppearanceHumanInterfaceDeviceMouse           KBluetoothGAPAppearance = 962
	KBluetoothGAPAppearanceUnknown                             KBluetoothGAPAppearance = 0
)

func (KBluetoothGAPAppearance) String

func (e KBluetoothGAPAppearance) String() string

type KBluetoothGeneralInquiryAccessCodeIndex

type KBluetoothGeneralInquiryAccessCodeIndex uint32
const (
	KBluetoothGeneralInquiryAccessCodeIndexValue KBluetoothGeneralInquiryAccessCodeIndex = 0
	KBluetoothGeneralInquiryAccessCodeLAPValue   KBluetoothGeneralInquiryAccessCodeIndex = 0x9e8b33
	KBluetoothLimitedInquiryAccessCodeEnd        KBluetoothGeneralInquiryAccessCodeIndex = 10390273
	KBluetoothLimitedInquiryAccessCodeIndex      KBluetoothGeneralInquiryAccessCodeIndex = 1
	KBluetoothLimitedInquiryAccessCodeLAPValue   KBluetoothGeneralInquiryAccessCodeIndex = 0x9e8b00
)

func (KBluetoothGeneralInquiryAccessCodeIndex) String

type KBluetoothHCICommandPacketHeaderSize

type KBluetoothHCICommandPacketHeaderSize uint32
const (
	KBluetoothHCICommandPacketHeaderSizeValue KBluetoothHCICommandPacketHeaderSize = 3
	KBluetoothHCICommandPacketMaxDataSize     KBluetoothHCICommandPacketHeaderSize = 255
	KBluetoothHCIDataPacketHeaderSize         KBluetoothHCICommandPacketHeaderSize = 4
	KBluetoothHCIDataPacketMaxDataSize        KBluetoothHCICommandPacketHeaderSize = 65535
	KBluetoothHCIEventPacketHeaderSize        KBluetoothHCICommandPacketHeaderSize = 2
	KBluetoothHCIEventPacketMaxDataSize       KBluetoothHCICommandPacketHeaderSize = 255
	KBluetoothHCIMaxCommandPacketSize         KBluetoothHCICommandPacketHeaderSize = 258
	KBluetoothHCIMaxDataPacketSize            KBluetoothHCICommandPacketHeaderSize = 65539
	KBluetoothHCIMaxEventPacketSize           KBluetoothHCICommandPacketHeaderSize = 257
)

func (KBluetoothHCICommandPacketHeaderSize) String

type KBluetoothHCIErroneousDataReporting

type KBluetoothHCIErroneousDataReporting uint32
const (
	KBluetoothHCIErroneousDataReportingDisabled      KBluetoothHCIErroneousDataReporting = 0
	KBluetoothHCIErroneousDataReportingEnabled       KBluetoothHCIErroneousDataReporting = 0x1
	KBluetoothHCIErroneousDataReportingReservedEnd   KBluetoothHCIErroneousDataReporting = 0xff
	KBluetoothHCIErroneousDataReportingReservedStart KBluetoothHCIErroneousDataReporting = 0x2
)

func (KBluetoothHCIErroneousDataReporting) String

type KBluetoothHCIError

type KBluetoothHCIError uint32
const (
	KBluetoothHCIErrorACLConnectionAlreadyExists                    KBluetoothHCIError = 0xb
	KBluetoothHCIErrorAuthenticationFailure                         KBluetoothHCIError = 0x5
	KBluetoothHCIErrorChannelClassificationNotSupported             KBluetoothHCIError = 0x2e
	KBluetoothHCIErrorCoarseClockAdjustmentRejected                 KBluetoothHCIError = 0x40
	KBluetoothHCIErrorCommandDisallowed                             KBluetoothHCIError = 0xc
	KBluetoothHCIErrorConnectionFailedToBeEstablished               KBluetoothHCIError = 0x3e
	KBluetoothHCIErrorConnectionRejectedDueToNoSuitableChannelFound KBluetoothHCIError = 0x39
	KBluetoothHCIErrorConnectionTerminatedByLocalHost               KBluetoothHCIError = 0x16
	KBluetoothHCIErrorConnectionTerminatedDueToMICFailure           KBluetoothHCIError = 0x3d
	KBluetoothHCIErrorConnectionTimeout                             KBluetoothHCIError = 0x8
	KBluetoothHCIErrorControllerBusy                                KBluetoothHCIError = 0x3a
	KBluetoothHCIErrorDifferentTransactionCollision                 KBluetoothHCIError = 0x2a
	KBluetoothHCIErrorDirectedAdvertisingTimeout                    KBluetoothHCIError = 0x3c
	KBluetoothHCIErrorEncryptionModeNotAcceptable                   KBluetoothHCIError = 0x25
	KBluetoothHCIErrorExtendedInquiryResponseTooLarge               KBluetoothHCIError = 0x36
	KBluetoothHCIErrorHardwareFailure                               KBluetoothHCIError = 0x3
	KBluetoothHCIErrorHostBusyPairing                               KBluetoothHCIError = 0x38
	KBluetoothHCIErrorHostRejectedLimitedResources                  KBluetoothHCIError = 0xd
	KBluetoothHCIErrorHostRejectedRemoteDeviceIsPersonal            KBluetoothHCIError = 0xf
	KBluetoothHCIErrorHostRejectedSecurityReasons                   KBluetoothHCIError = 0xe
	KBluetoothHCIErrorHostRejectedUnacceptableDeviceAddress         KBluetoothHCIError = 0xf
	KBluetoothHCIErrorHostTimeout                                   KBluetoothHCIError = 0x10
	KBluetoothHCIErrorInstantPassed                                 KBluetoothHCIError = 0x28
	KBluetoothHCIErrorInsufficientSecurity                          KBluetoothHCIError = 0x2f
	KBluetoothHCIErrorInvalidHCICommandParameters                   KBluetoothHCIError = 0x12
	KBluetoothHCIErrorInvalidLMPParameters                          KBluetoothHCIError = 0x1e
	KBluetoothHCIErrorKeyMissing                                    KBluetoothHCIError = 0x6
	KBluetoothHCIErrorLMPErrorTransactionCollision                  KBluetoothHCIError = 0x23
	KBluetoothHCIErrorLMPPDUNotAllowed                              KBluetoothHCIError = 0x24
	KBluetoothHCIErrorLMPResponseTimeout                            KBluetoothHCIError = 0x22
	KBluetoothHCIErrorMACConnectionFailed                           KBluetoothHCIError = 0x3f
	KBluetoothHCIErrorMax                                           KBluetoothHCIError = 0x40
	KBluetoothHCIErrorMaxNumberOfConnections                        KBluetoothHCIError = 0x9
	KBluetoothHCIErrorMaxNumberOfSCOConnectionsToADevice            KBluetoothHCIError = 0xa
	KBluetoothHCIErrorMemoryFull                                    KBluetoothHCIError = 0x7
	KBluetoothHCIErrorNoConnection                                  KBluetoothHCIError = 0x2
	KBluetoothHCIErrorOtherEndTerminatedConnectionAboutToPowerOff   KBluetoothHCIError = 0x15
	KBluetoothHCIErrorOtherEndTerminatedConnectionLowResources      KBluetoothHCIError = 0x14
	KBluetoothHCIErrorOtherEndTerminatedConnectionUserEnded         KBluetoothHCIError = 0x13
	KBluetoothHCIErrorPageTimeout                                   KBluetoothHCIError = 0x4
	KBluetoothHCIErrorPairingNotAllowed                             KBluetoothHCIError = 0x18
	KBluetoothHCIErrorPairingWithUnitKeyNotSupported                KBluetoothHCIError = 0x29
	KBluetoothHCIErrorParameterOutOfMandatoryRange                  KBluetoothHCIError = 0x30
	KBluetoothHCIErrorQoSNotSupported                               KBluetoothHCIError = 0x27
	KBluetoothHCIErrorQoSRejected                                   KBluetoothHCIError = 0x2d
	KBluetoothHCIErrorQoSUnacceptableParameter                      KBluetoothHCIError = 0x2c
	KBluetoothHCIErrorRepeatedAttempts                              KBluetoothHCIError = 0x17
	KBluetoothHCIErrorReservedSlotViolation                         KBluetoothHCIError = 0x34
	KBluetoothHCIErrorRoleChangeNotAllowed                          KBluetoothHCIError = 0x21
	KBluetoothHCIErrorRoleSwitchFailed                              KBluetoothHCIError = 0x35
	KBluetoothHCIErrorRoleSwitchPending                             KBluetoothHCIError = 0x31
	KBluetoothHCIErrorSCOAirModeRejected                            KBluetoothHCIError = 0x1d
	KBluetoothHCIErrorSCOIntervalRejected                           KBluetoothHCIError = 0x1c
	KBluetoothHCIErrorSCOOffsetRejected                             KBluetoothHCIError = 0x1b
	KBluetoothHCIErrorSecureSimplePairingNotSupportedByHost         KBluetoothHCIError = 0x37
	KBluetoothHCIErrorSuccess                                       KBluetoothHCIError = 0
	KBluetoothHCIErrorUnacceptableConnectionInterval                KBluetoothHCIError = 0x3b
	KBluetoothHCIErrorUnitKeyUsed                                   KBluetoothHCIError = 0x26
	KBluetoothHCIErrorUnknownHCICommand                             KBluetoothHCIError = 0x1
	KBluetoothHCIErrorUnknownLMPPDU                                 KBluetoothHCIError = 0x19
	KBluetoothHCIErrorUnspecifiedError                              KBluetoothHCIError = 0x1f
	KBluetoothHCIErrorUnsupportedFeatureOrParameterValue            KBluetoothHCIError = 0x11
	KBluetoothHCIErrorUnsupportedLMPParameterValue                  KBluetoothHCIError = 0x20
	KBluetoothHCIErrorUnsupportedRemoteFeature                      KBluetoothHCIError = 0x1a
)

func (KBluetoothHCIError) String

func (e KBluetoothHCIError) String() string

type KBluetoothHCIEventInquiryComplete

type KBluetoothHCIEventInquiryComplete uint32
const (
	KBluetoothHCIEventAMPReceiverReport                       KBluetoothHCIEventInquiryComplete = 0x4b
	KBluetoothHCIEventAMPStartTest                            KBluetoothHCIEventInquiryComplete = 0x49
	KBluetoothHCIEventAMPStatusChange                         KBluetoothHCIEventInquiryComplete = 0x4d
	KBluetoothHCIEventAMPTestEnd                              KBluetoothHCIEventInquiryComplete = 0x4a
	KBluetoothHCIEventAuthenticationComplete                  KBluetoothHCIEventInquiryComplete = 0x6
	KBluetoothHCIEventChangeConnectionLinkKeyComplete         KBluetoothHCIEventInquiryComplete = 0x9
	KBluetoothHCIEventChannelSelected                         KBluetoothHCIEventInquiryComplete = 0x41
	KBluetoothHCIEventCommandComplete                         KBluetoothHCIEventInquiryComplete = 0xe
	KBluetoothHCIEventCommandStatus                           KBluetoothHCIEventInquiryComplete = 0xf
	KBluetoothHCIEventConnectionComplete                      KBluetoothHCIEventInquiryComplete = 0x3
	KBluetoothHCIEventConnectionPacketType                    KBluetoothHCIEventInquiryComplete = 0x1d
	KBluetoothHCIEventConnectionRequest                       KBluetoothHCIEventInquiryComplete = 0x4
	KBluetoothHCIEventDataBufferOverflow                      KBluetoothHCIEventInquiryComplete = 0x1a
	KBluetoothHCIEventDisconnectionComplete                   KBluetoothHCIEventInquiryComplete = 0x5
	KBluetoothHCIEventDisconnectionLogicalLinkComplete        KBluetoothHCIEventInquiryComplete = 0x46
	KBluetoothHCIEventDisconnectionPhysicalLinkComplete       KBluetoothHCIEventInquiryComplete = 0x42
	KBluetoothHCIEventEncryptionChange                        KBluetoothHCIEventInquiryComplete = 0x8
	KBluetoothHCIEventEncryptionKeyRefreshComplete            KBluetoothHCIEventInquiryComplete = 0x30
	KBluetoothHCIEventEnhancedFlushComplete                   KBluetoothHCIEventInquiryComplete = 0x39
	KBluetoothHCIEventExtendedInquiryResult                   KBluetoothHCIEventInquiryComplete = 0x2f
	KBluetoothHCIEventFlowSpecModifyComplete                  KBluetoothHCIEventInquiryComplete = 0x47
	KBluetoothHCIEventFlowSpecificationComplete               KBluetoothHCIEventInquiryComplete = 0x21
	KBluetoothHCIEventFlushOccurred                           KBluetoothHCIEventInquiryComplete = 0x11
	KBluetoothHCIEventHardwareError                           KBluetoothHCIEventInquiryComplete = 0x10
	KBluetoothHCIEventIOCapabilityRequest                     KBluetoothHCIEventInquiryComplete = 0x31
	KBluetoothHCIEventIOCapabilityResponse                    KBluetoothHCIEventInquiryComplete = 0x32
	KBluetoothHCIEventInquiryCompleteValue                    KBluetoothHCIEventInquiryComplete = 0x1
	KBluetoothHCIEventInquiryResult                           KBluetoothHCIEventInquiryComplete = 0x2
	KBluetoothHCIEventInquiryResultWithRSSI                   KBluetoothHCIEventInquiryComplete = 0x22
	KBluetoothHCIEventKeypressNotification                    KBluetoothHCIEventInquiryComplete = 0x3c
	KBluetoothHCIEventLEMetaEvent                             KBluetoothHCIEventInquiryComplete = 0x3e
	KBluetoothHCIEventLinkKeyNotification                     KBluetoothHCIEventInquiryComplete = 0x18
	KBluetoothHCIEventLinkKeyRequest                          KBluetoothHCIEventInquiryComplete = 0x17
	KBluetoothHCIEventLinkSupervisionTimeoutChanged           KBluetoothHCIEventInquiryComplete = 0x38
	KBluetoothHCIEventLogicalLinkComplete                     KBluetoothHCIEventInquiryComplete = 0x45
	KBluetoothHCIEventLogoTesting                             KBluetoothHCIEventInquiryComplete = 0xfe
	KBluetoothHCIEventLoopbackCommand                         KBluetoothHCIEventInquiryComplete = 0x19
	KBluetoothHCIEventMasterLinkKeyComplete                   KBluetoothHCIEventInquiryComplete = 0xa
	KBluetoothHCIEventMaxSlotsChange                          KBluetoothHCIEventInquiryComplete = 0x1b
	KBluetoothHCIEventModeChange                              KBluetoothHCIEventInquiryComplete = 0x14
	KBluetoothHCIEventNumberOfCompletedDataBlocks             KBluetoothHCIEventInquiryComplete = 0x48
	KBluetoothHCIEventNumberOfCompletedPackets                KBluetoothHCIEventInquiryComplete = 0x13
	KBluetoothHCIEventPINCodeRequest                          KBluetoothHCIEventInquiryComplete = 0x16
	KBluetoothHCIEventPageScanModeChange                      KBluetoothHCIEventInquiryComplete = 0x1f
	KBluetoothHCIEventPageScanRepetitionModeChange            KBluetoothHCIEventInquiryComplete = 0x20
	KBluetoothHCIEventPhysicalLinkComplete                    KBluetoothHCIEventInquiryComplete = 0x40
	KBluetoothHCIEventPhysicalLinkLossEarlyWarning            KBluetoothHCIEventInquiryComplete = 0x43
	KBluetoothHCIEventPhysicalLinkRecovery                    KBluetoothHCIEventInquiryComplete = 0x44
	KBluetoothHCIEventQoSSetupComplete                        KBluetoothHCIEventInquiryComplete = 0xd
	KBluetoothHCIEventQoSViolation                            KBluetoothHCIEventInquiryComplete = 0x1e
	KBluetoothHCIEventReadClockOffsetComplete                 KBluetoothHCIEventInquiryComplete = 0x1c
	KBluetoothHCIEventReadRemoteExtendedFeaturesComplete      KBluetoothHCIEventInquiryComplete = 0x23
	KBluetoothHCIEventReadRemoteSupportedFeaturesComplete     KBluetoothHCIEventInquiryComplete = 0xb
	KBluetoothHCIEventReadRemoteVersionInformationComplete    KBluetoothHCIEventInquiryComplete = 0xc
	KBluetoothHCIEventRemoteHostSupportedFeaturesNotification KBluetoothHCIEventInquiryComplete = 0x3d
	KBluetoothHCIEventRemoteNameRequestComplete               KBluetoothHCIEventInquiryComplete = 0x7
	KBluetoothHCIEventRemoteOOBDataRequest                    KBluetoothHCIEventInquiryComplete = 0x35
	KBluetoothHCIEventReturnLinkKeys                          KBluetoothHCIEventInquiryComplete = 0x15
	KBluetoothHCIEventRoleChange                              KBluetoothHCIEventInquiryComplete = 0x12
	KBluetoothHCIEventShortRangeModeChangeComplete            KBluetoothHCIEventInquiryComplete = 0x4c
	KBluetoothHCIEventSimplePairingComplete                   KBluetoothHCIEventInquiryComplete = 0x36
	KBluetoothHCIEventSniffSubrating                          KBluetoothHCIEventInquiryComplete = 0x2e
	KBluetoothHCIEventSynchronousConnectionChanged            KBluetoothHCIEventInquiryComplete = 0x2d
	KBluetoothHCIEventSynchronousConnectionComplete           KBluetoothHCIEventInquiryComplete = 0x2c
	KBluetoothHCIEventUserConfirmationRequest                 KBluetoothHCIEventInquiryComplete = 0x33
	KBluetoothHCIEventUserPasskeyNotification                 KBluetoothHCIEventInquiryComplete = 0x3b
	KBluetoothHCIEventUserPasskeyRequest                      KBluetoothHCIEventInquiryComplete = 0x34
	KBluetoothHCIEventVendorSpecific                          KBluetoothHCIEventInquiryComplete = 0xff
	KBluetoothHCISubEventLEAdvertisingReport                  KBluetoothHCIEventInquiryComplete = 0x2
	KBluetoothHCISubEventLEAdvertisingSetTerminated           KBluetoothHCIEventInquiryComplete = 0x12
	KBluetoothHCISubEventLEChannelSelectionAlgorithm          KBluetoothHCIEventInquiryComplete = 0x14
	KBluetoothHCISubEventLEConnectionComplete                 KBluetoothHCIEventInquiryComplete = 0x1
	KBluetoothHCISubEventLEConnectionUpdateComplete           KBluetoothHCIEventInquiryComplete = 0x3
	KBluetoothHCISubEventLEDataLengthChange                   KBluetoothHCIEventInquiryComplete = 0x7
	KBluetoothHCISubEventLEDirectAdvertisingReport            KBluetoothHCIEventInquiryComplete = 0xb
	KBluetoothHCISubEventLEEnhancedConnectionComplete         KBluetoothHCIEventInquiryComplete = 0xa
	KBluetoothHCISubEventLEExtendedAdvertising                KBluetoothHCIEventInquiryComplete = 0xd
	KBluetoothHCISubEventLEGenerateDHKeyComplete              KBluetoothHCIEventInquiryComplete = 0x9
	KBluetoothHCISubEventLELongTermKeyRequest                 KBluetoothHCIEventInquiryComplete = 0x5
	KBluetoothHCISubEventLEPeriodicAdvertisingReport          KBluetoothHCIEventInquiryComplete = 0xf
	KBluetoothHCISubEventLEPeriodicAdvertisingSyncEstablished KBluetoothHCIEventInquiryComplete = 0xe
	KBluetoothHCISubEventLEPeriodicAdvertisingSyncLost        KBluetoothHCIEventInquiryComplete = 0x10
	KBluetoothHCISubEventLEPhyUpdateComplete                  KBluetoothHCIEventInquiryComplete = 0xc
	KBluetoothHCISubEventLEReadLocalP256PublicKeyComplete     KBluetoothHCIEventInquiryComplete = 0x8
	KBluetoothHCISubEventLEReadRemoteUsedFeaturesComplete     KBluetoothHCIEventInquiryComplete = 0x4
	KBluetoothHCISubEventLERemoteConnectionParameterRequest   KBluetoothHCIEventInquiryComplete = 0x6
	KBluetoothHCISubEventLEScanRequestReceived                KBluetoothHCIEventInquiryComplete = 0x13
	KBluetoothHCISubEventLEScanTimeout                        KBluetoothHCIEventInquiryComplete = 0x11
)

func (KBluetoothHCIEventInquiryComplete) String

type KBluetoothHCIEventMask

type KBluetoothHCIEventMask uint32
const (
	KBluetoothHCIEventMaskAll                                  KBluetoothHCIEventMask = 0xffffffff
	KBluetoothHCIEventMaskAuthenticationComplete               KBluetoothHCIEventMask = 0x20
	KBluetoothHCIEventMaskChangeConnectionLinkKeyComplete      KBluetoothHCIEventMask = 0x100
	KBluetoothHCIEventMaskCommandComplete                      KBluetoothHCIEventMask = 0x2000
	KBluetoothHCIEventMaskCommandStatus                        KBluetoothHCIEventMask = 0x4000
	KBluetoothHCIEventMaskConnectionComplete                   KBluetoothHCIEventMask = 0x4
	KBluetoothHCIEventMaskConnectionPacketTypeChanged          KBluetoothHCIEventMask = 0x10000000
	KBluetoothHCIEventMaskConnectionRequest                    KBluetoothHCIEventMask = 0x8
	KBluetoothHCIEventMaskDataBufferOverflow                   KBluetoothHCIEventMask = 0x2000000
	KBluetoothHCIEventMaskDefault                              KBluetoothHCIEventMask = 4294967295
	KBluetoothHCIEventMaskDisconnectionComplete                KBluetoothHCIEventMask = 0x10
	KBluetoothHCIEventMaskEncryptionChange                     KBluetoothHCIEventMask = 0x80
	KBluetoothHCIEventMaskFlushOccurred                        KBluetoothHCIEventMask = 0x10000
	KBluetoothHCIEventMaskHardwareError                        KBluetoothHCIEventMask = 0x8000
	KBluetoothHCIEventMaskInquiryComplete                      KBluetoothHCIEventMask = 0x1
	KBluetoothHCIEventMaskInquiryResult                        KBluetoothHCIEventMask = 0x2
	KBluetoothHCIEventMaskLinkKeyNotification                  KBluetoothHCIEventMask = 0x800000
	KBluetoothHCIEventMaskLinkKeyRequest                       KBluetoothHCIEventMask = 0x400000
	KBluetoothHCIEventMaskLoopbackCommand                      KBluetoothHCIEventMask = 0x1000000
	KBluetoothHCIEventMaskMasterLinkKeyComplete                KBluetoothHCIEventMask = 0x200
	KBluetoothHCIEventMaskMaxSlotsChange                       KBluetoothHCIEventMask = 0x4000000
	KBluetoothHCIEventMaskModeChange                           KBluetoothHCIEventMask = 0x80000
	KBluetoothHCIEventMaskNone                                 KBluetoothHCIEventMask = 0
	KBluetoothHCIEventMaskNumberOfCompletedPackets             KBluetoothHCIEventMask = 0x40000
	KBluetoothHCIEventMaskPINCodeRequest                       KBluetoothHCIEventMask = 0x200000
	KBluetoothHCIEventMaskPageScanModeChange                   KBluetoothHCIEventMask = 0x40000000
	KBluetoothHCIEventMaskPageScanRepetitionModeChange         KBluetoothHCIEventMask = 0x80000000
	KBluetoothHCIEventMaskQoSSetupComplete                     KBluetoothHCIEventMask = 0x1000
	KBluetoothHCIEventMaskQoSViolation                         KBluetoothHCIEventMask = 0x20000000
	KBluetoothHCIEventMaskReadClockOffsetComplete              KBluetoothHCIEventMask = 0x8000000
	KBluetoothHCIEventMaskReadRemoteSupportedFeaturesComplete  KBluetoothHCIEventMask = 0x400
	KBluetoothHCIEventMaskReadRemoteVersionInformationComplete KBluetoothHCIEventMask = 0x800
	KBluetoothHCIEventMaskRemoteNameRequestComplete            KBluetoothHCIEventMask = 0x40
	KBluetoothHCIEventMaskReturnLinkKeys                       KBluetoothHCIEventMask = 0x100000
	KBluetoothHCIEventMaskRoleChange                           KBluetoothHCIEventMask = 0x20000
)

func (KBluetoothHCIEventMask) String

func (e KBluetoothHCIEventMask) String() string

type KBluetoothHCILoopbackMode

type KBluetoothHCILoopbackMode uint32
const (
	KBluetoothHCILoopbackModeLocal  KBluetoothHCILoopbackMode = 0x1
	KBluetoothHCILoopbackModeOff    KBluetoothHCILoopbackMode = 0
	KBluetoothHCILoopbackModeRemote KBluetoothHCILoopbackMode = 0x2
)

func (KBluetoothHCILoopbackMode) String

func (e KBluetoothHCILoopbackMode) String() string

type KBluetoothHCIOpCodeNoOp

type KBluetoothHCIOpCodeNoOp uint32
const (
	KBluetoothHCICommandAMPTest                                         KBluetoothHCIOpCodeNoOp = 0x9
	KBluetoothHCICommandAMPTestEnd                                      KBluetoothHCIOpCodeNoOp = 0x8
	KBluetoothHCICommandAcceptConnectionRequest                         KBluetoothHCIOpCodeNoOp = 0x9
	KBluetoothHCICommandAcceptSniffRequest                              KBluetoothHCIOpCodeNoOp = 0x31
	KBluetoothHCICommandAcceptSynchronousConnectionRequest              KBluetoothHCIOpCodeNoOp = 0x29
	KBluetoothHCICommandAddSCOConnection                                KBluetoothHCIOpCodeNoOp = 0x7
	KBluetoothHCICommandAuthenticationRequested                         KBluetoothHCIOpCodeNoOp = 0x11
	KBluetoothHCICommandChangeConnectionLinkKey                         KBluetoothHCIOpCodeNoOp = 0x15
	KBluetoothHCICommandChangeConnectionPacketType                      KBluetoothHCIOpCodeNoOp = 0xf
	KBluetoothHCICommandChangeLocalName                                 KBluetoothHCIOpCodeNoOp = 0x13
	KBluetoothHCICommandCreateConnection                                KBluetoothHCIOpCodeNoOp = 0x5
	KBluetoothHCICommandCreateConnectionCancel                          KBluetoothHCIOpCodeNoOp = 0x8
	KBluetoothHCICommandCreateNewUnitKey                                KBluetoothHCIOpCodeNoOp = 0xb
	KBluetoothHCICommandDeleteReservedLTADDR                            KBluetoothHCIOpCodeNoOp = 0x75
	KBluetoothHCICommandDeleteStoredLinkKey                             KBluetoothHCIOpCodeNoOp = 0x12
	KBluetoothHCICommandDisconnect                                      KBluetoothHCIOpCodeNoOp = 0x6
	KBluetoothHCICommandEnableAMPReceiverReports                        KBluetoothHCIOpCodeNoOp = 0x7
	KBluetoothHCICommandEnableDeviceUnderTestMode                       KBluetoothHCIOpCodeNoOp = 0x3
	KBluetoothHCICommandEnhancedAcceptSynchronousConnectionRequest      KBluetoothHCIOpCodeNoOp = 0x3e
	KBluetoothHCICommandEnhancedFlush                                   KBluetoothHCIOpCodeNoOp = 0x5f
	KBluetoothHCICommandEnhancedSetupSynchronousConnection              KBluetoothHCIOpCodeNoOp = 0x3d
	KBluetoothHCICommandExitParkMode                                    KBluetoothHCIOpCodeNoOp = 0x6
	KBluetoothHCICommandExitPeriodicInquiryMode                         KBluetoothHCIOpCodeNoOp = 0x4
	KBluetoothHCICommandExitSniffMode                                   KBluetoothHCIOpCodeNoOp = 0x4
	KBluetoothHCICommandFlowSpecification                               KBluetoothHCIOpCodeNoOp = 0x10
	KBluetoothHCICommandFlush                                           KBluetoothHCIOpCodeNoOp = 0x8
	KBluetoothHCICommandGetLinkQuality                                  KBluetoothHCIOpCodeNoOp = 0x3
	KBluetoothHCICommandGetMWSTransportLayerConfiguration               KBluetoothHCIOpCodeNoOp = 0xc
	KBluetoothHCICommandGroupHostController                             KBluetoothHCIOpCodeNoOp = 0x3
	KBluetoothHCICommandGroupInformational                              KBluetoothHCIOpCodeNoOp = 0x4
	KBluetoothHCICommandGroupLinkControl                                KBluetoothHCIOpCodeNoOp = 0x1
	KBluetoothHCICommandGroupLinkPolicy                                 KBluetoothHCIOpCodeNoOp = 0x2
	KBluetoothHCICommandGroupLogoTesting                                KBluetoothHCIOpCodeNoOp = 0x3e
	KBluetoothHCICommandGroupLowEnergy                                  KBluetoothHCIOpCodeNoOp = 0x8
	KBluetoothHCICommandGroupMax                                        KBluetoothHCIOpCodeNoOp = 0x40
	KBluetoothHCICommandGroupNoOp                                       KBluetoothHCIOpCodeNoOp = 0
	KBluetoothHCICommandGroupStatus                                     KBluetoothHCIOpCodeNoOp = 0x5
	KBluetoothHCICommandGroupTesting                                    KBluetoothHCIOpCodeNoOp = 0x6
	KBluetoothHCICommandGroupVendorSpecific                             KBluetoothHCIOpCodeNoOp = 0x3f
	KBluetoothHCICommandHoldMode                                        KBluetoothHCIOpCodeNoOp = 0x1
	KBluetoothHCICommandHostBufferSize                                  KBluetoothHCIOpCodeNoOp = 0x33
	KBluetoothHCICommandHostNumberOfCompletedPackets                    KBluetoothHCIOpCodeNoOp = 0x35
	KBluetoothHCICommandIOCapabilityRequestNegativeReply                KBluetoothHCIOpCodeNoOp = 0x34
	KBluetoothHCICommandIOCapabilityRequestReply                        KBluetoothHCIOpCodeNoOp = 0x2b
	KBluetoothHCICommandInquiry                                         KBluetoothHCIOpCodeNoOp = 0x1
	KBluetoothHCICommandInquiryCancel                                   KBluetoothHCIOpCodeNoOp = 0x2
	KBluetoothHCICommandLEAddDeviceToPeriodicAdvertiserList             KBluetoothHCIOpCodeNoOp = 0x47
	KBluetoothHCICommandLEAddDeviceToResolvingList                      KBluetoothHCIOpCodeNoOp = 0x27
	KBluetoothHCICommandLEAddDeviceToWhiteList                          KBluetoothHCIOpCodeNoOp = 0x11
	KBluetoothHCICommandLEClearAdvertisingSets                          KBluetoothHCIOpCodeNoOp = 0x3d
	KBluetoothHCICommandLEClearPeriodicAdvertiserList                   KBluetoothHCIOpCodeNoOp = 0x49
	KBluetoothHCICommandLEClearResolvingList                            KBluetoothHCIOpCodeNoOp = 0x29
	KBluetoothHCICommandLEClearWhiteList                                KBluetoothHCIOpCodeNoOp = 0x10
	KBluetoothHCICommandLEConnectionUpdate                              KBluetoothHCIOpCodeNoOp = 0x13
	KBluetoothHCICommandLECreateConnection                              KBluetoothHCIOpCodeNoOp = 0xd
	KBluetoothHCICommandLECreateConnectionCancel                        KBluetoothHCIOpCodeNoOp = 0xe
	KBluetoothHCICommandLEEncrypt                                       KBluetoothHCIOpCodeNoOp = 0x17
	KBluetoothHCICommandLEEnhancedReceiverTest                          KBluetoothHCIOpCodeNoOp = 0x33
	KBluetoothHCICommandLEEnhancedTransmitterTest                       KBluetoothHCIOpCodeNoOp = 0x34
	KBluetoothHCICommandLEExtendedCreateConnection                      KBluetoothHCIOpCodeNoOp = 0x43
	KBluetoothHCICommandLEGenerateDHKey                                 KBluetoothHCIOpCodeNoOp = 0x26
	KBluetoothHCICommandLELongTermKeyRequestNegativeReply               KBluetoothHCIOpCodeNoOp = 0x1b
	KBluetoothHCICommandLELongTermKeyRequestReply                       KBluetoothHCIOpCodeNoOp = 0x1a
	KBluetoothHCICommandLEPeriodicAdvertisingCreateSync                 KBluetoothHCIOpCodeNoOp = 0x44
	KBluetoothHCICommandLEPeriodicAdvertisingCreateSyncCancel           KBluetoothHCIOpCodeNoOp = 0x45
	KBluetoothHCICommandLEPeriodicAdvertisingTerminateSync              KBluetoothHCIOpCodeNoOp = 0x46
	KBluetoothHCICommandLERand                                          KBluetoothHCIOpCodeNoOp = 0x18
	KBluetoothHCICommandLEReadAdvertisingChannelTxPower                 KBluetoothHCIOpCodeNoOp = 0x7
	KBluetoothHCICommandLEReadBufferSize                                KBluetoothHCIOpCodeNoOp = 0x2
	KBluetoothHCICommandLEReadChannelMap                                KBluetoothHCIOpCodeNoOp = 0x15
	KBluetoothHCICommandLEReadLocalP256PublicKey                        KBluetoothHCIOpCodeNoOp = 0x25
	KBluetoothHCICommandLEReadLocalResolvableAddress                    KBluetoothHCIOpCodeNoOp = 0x2c
	KBluetoothHCICommandLEReadLocalSupportedFeatures                    KBluetoothHCIOpCodeNoOp = 0x3
	KBluetoothHCICommandLEReadMaximumDataLength                         KBluetoothHCIOpCodeNoOp = 0x2f
	KBluetoothHCICommandLEReadNumberofSupportedAdvertisingSets          KBluetoothHCIOpCodeNoOp = 0x3b
	KBluetoothHCICommandLEReadPeerResolvableAddress                     KBluetoothHCIOpCodeNoOp = 0x2b
	KBluetoothHCICommandLEReadPeriodicAdvertiserListSize                KBluetoothHCIOpCodeNoOp = 0x4a
	KBluetoothHCICommandLEReadPhy                                       KBluetoothHCIOpCodeNoOp = 0x30
	KBluetoothHCICommandLEReadRFPathCompensation                        KBluetoothHCIOpCodeNoOp = 0x4c
	KBluetoothHCICommandLEReadRemoteUsedFeatures                        KBluetoothHCIOpCodeNoOp = 0x16
	KBluetoothHCICommandLEReadResolvingListSize                         KBluetoothHCIOpCodeNoOp = 0x2a
	KBluetoothHCICommandLEReadSuggestedDefaultDataLength                KBluetoothHCIOpCodeNoOp = 0x23
	KBluetoothHCICommandLEReadSupportedStates                           KBluetoothHCIOpCodeNoOp = 0x1c
	KBluetoothHCICommandLEReadTransmitPower                             KBluetoothHCIOpCodeNoOp = 0x4b
	KBluetoothHCICommandLEReadWhiteListSize                             KBluetoothHCIOpCodeNoOp = 0xf
	KBluetoothHCICommandLEReceiverTest                                  KBluetoothHCIOpCodeNoOp = 0x1d
	KBluetoothHCICommandLERemoteConnectionParameterRequestNegativeReply KBluetoothHCIOpCodeNoOp = 0x21
	KBluetoothHCICommandLERemoteConnectionParameterRequestReply         KBluetoothHCIOpCodeNoOp = 0x20
	KBluetoothHCICommandLERemoveAdvertisingSet                          KBluetoothHCIOpCodeNoOp = 0x3c
	KBluetoothHCICommandLERemoveDeviceFromPeriodicAdvertiserList        KBluetoothHCIOpCodeNoOp = 0x48
	KBluetoothHCICommandLERemoveDeviceFromResolvingList                 KBluetoothHCIOpCodeNoOp = 0x28
	KBluetoothHCICommandLERemoveDeviceFromWhiteList                     KBluetoothHCIOpCodeNoOp = 0x12
	KBluetoothHCICommandLESetAddressResolutionEnable                    KBluetoothHCIOpCodeNoOp = 0x2d
	KBluetoothHCICommandLESetAdvertiseEnable                            KBluetoothHCIOpCodeNoOp = 0xa
	KBluetoothHCICommandLESetAdvertisingData                            KBluetoothHCIOpCodeNoOp = 0x8
	KBluetoothHCICommandLESetAdvertisingParameters                      KBluetoothHCIOpCodeNoOp = 0x6
	KBluetoothHCICommandLESetAdvertisingSetRandomAddress                KBluetoothHCIOpCodeNoOp = 0x35
	KBluetoothHCICommandLESetDataLength                                 KBluetoothHCIOpCodeNoOp = 0x22
	KBluetoothHCICommandLESetDefaultPhy                                 KBluetoothHCIOpCodeNoOp = 0x31
	KBluetoothHCICommandLESetEventMask                                  KBluetoothHCIOpCodeNoOp = 0x1
	KBluetoothHCICommandLESetExtendedAdvertisingData                    KBluetoothHCIOpCodeNoOp = 0x37
	KBluetoothHCICommandLESetExtendedAdvertisingEnableCommand           KBluetoothHCIOpCodeNoOp = 0x39
	KBluetoothHCICommandLESetExtendedAdvertisingParameters              KBluetoothHCIOpCodeNoOp = 0x36
	KBluetoothHCICommandLESetExtendedScanEnable                         KBluetoothHCIOpCodeNoOp = 0x42
	KBluetoothHCICommandLESetExtendedScanParameters                     KBluetoothHCIOpCodeNoOp = 0x41
	KBluetoothHCICommandLESetExtendedScanResponseData                   KBluetoothHCIOpCodeNoOp = 0x38
	KBluetoothHCICommandLESetHostChannelClassification                  KBluetoothHCIOpCodeNoOp = 0x14
	KBluetoothHCICommandLESetPeriodicAdvertisingData                    KBluetoothHCIOpCodeNoOp = 0x3f
	KBluetoothHCICommandLESetPeriodicAdvertisingEnable                  KBluetoothHCIOpCodeNoOp = 0x40
	KBluetoothHCICommandLESetPeriodicAdvertisingParameters              KBluetoothHCIOpCodeNoOp = 0x3e
	KBluetoothHCICommandLESetPhy                                        KBluetoothHCIOpCodeNoOp = 0x32
	KBluetoothHCICommandLESetPrivacyMode                                KBluetoothHCIOpCodeNoOp = 0x4e
	KBluetoothHCICommandLESetRandomAddress                              KBluetoothHCIOpCodeNoOp = 0x5
	KBluetoothHCICommandLESetResolvablePrivateAddressTimeout            KBluetoothHCIOpCodeNoOp = 0x2e
	KBluetoothHCICommandLESetScanEnable                                 KBluetoothHCIOpCodeNoOp = 0xc
	KBluetoothHCICommandLESetScanParameters                             KBluetoothHCIOpCodeNoOp = 0xb
	KBluetoothHCICommandLESetScanResponseData                           KBluetoothHCIOpCodeNoOp = 0x9
	KBluetoothHCICommandLEStartEncryption                               KBluetoothHCIOpCodeNoOp = 0x19
	KBluetoothHCICommandLETestEnd                                       KBluetoothHCIOpCodeNoOp = 0x1f
	KBluetoothHCICommandLETransmitterTest                               KBluetoothHCIOpCodeNoOp = 0x1e
	KBluetoothHCICommandLEWriteRFPathCompensation                       KBluetoothHCIOpCodeNoOp = 0x4d
	KBluetoothHCICommandLEWriteSuggestedDefaultDataLength               KBluetoothHCIOpCodeNoOp = 0x24
	KBluetoothHCICommandLinkKeyRequestNegativeReply                     KBluetoothHCIOpCodeNoOp = 0xc
	KBluetoothHCICommandLinkKeyRequestReply                             KBluetoothHCIOpCodeNoOp = 0xb
	KBluetoothHCICommandMasterLinkKey                                   KBluetoothHCIOpCodeNoOp = 0x17
	KBluetoothHCICommandMax                                             KBluetoothHCIOpCodeNoOp = 0x3ff
	KBluetoothHCICommandNoOp                                            KBluetoothHCIOpCodeNoOp = 0
	KBluetoothHCICommandPINCodeRequestNegativeReply                     KBluetoothHCIOpCodeNoOp = 0xe
	KBluetoothHCICommandPINCodeRequestReply                             KBluetoothHCIOpCodeNoOp = 0xd
	KBluetoothHCICommandParkMode                                        KBluetoothHCIOpCodeNoOp = 0x5
	KBluetoothHCICommandPeriodicInquiryMode                             KBluetoothHCIOpCodeNoOp = 0x3
	KBluetoothHCICommandQoSSetup                                        KBluetoothHCIOpCodeNoOp = 0x7
	KBluetoothHCICommandReadAFHChannelAssessmentMode                    KBluetoothHCIOpCodeNoOp = 0x48
	KBluetoothHCICommandReadAFHMappings                                 KBluetoothHCIOpCodeNoOp = 0x6
	KBluetoothHCICommandReadAuthenticatedPayloadTimeout                 KBluetoothHCIOpCodeNoOp = 0x7b
	KBluetoothHCICommandReadAuthenticationEnable                        KBluetoothHCIOpCodeNoOp = 0x1f
	KBluetoothHCICommandReadAutomaticFlushTimeout                       KBluetoothHCIOpCodeNoOp = 0x27
	KBluetoothHCICommandReadBestEffortFlushTimeout                      KBluetoothHCIOpCodeNoOp = 0x69
	KBluetoothHCICommandReadBufferSize                                  KBluetoothHCIOpCodeNoOp = 0x5
	KBluetoothHCICommandReadClassOfDevice                               KBluetoothHCIOpCodeNoOp = 0x23
	KBluetoothHCICommandReadClock                                       KBluetoothHCIOpCodeNoOp = 0x7
	KBluetoothHCICommandReadClockOffset                                 KBluetoothHCIOpCodeNoOp = 0x1f
	KBluetoothHCICommandReadConnectionAcceptTimeout                     KBluetoothHCIOpCodeNoOp = 0x15
	KBluetoothHCICommandReadCountryCode                                 KBluetoothHCIOpCodeNoOp = 0x7
	KBluetoothHCICommandReadCurrentIACLAP                               KBluetoothHCIOpCodeNoOp = 0x39
	KBluetoothHCICommandReadDataBlockSize                               KBluetoothHCIOpCodeNoOp = 0xa
	KBluetoothHCICommandReadDefaultErroneousDataReporting               KBluetoothHCIOpCodeNoOp = 0x5a
	KBluetoothHCICommandReadDefaultLinkPolicySettings                   KBluetoothHCIOpCodeNoOp = 0xe
	KBluetoothHCICommandReadDeviceAddress                               KBluetoothHCIOpCodeNoOp = 0x9
	KBluetoothHCICommandReadEncryptionKeySize                           KBluetoothHCIOpCodeNoOp = 0x8
	KBluetoothHCICommandReadEncryptionMode                              KBluetoothHCIOpCodeNoOp = 0x21
	KBluetoothHCICommandReadEnhancedTransmitPowerLevel                  KBluetoothHCIOpCodeNoOp = 0x68
	KBluetoothHCICommandReadExtendedInquiryLength                       KBluetoothHCIOpCodeNoOp = 0x80
	KBluetoothHCICommandReadExtendedInquiryResponse                     KBluetoothHCIOpCodeNoOp = 0x51
	KBluetoothHCICommandReadExtendedPageTimeout                         KBluetoothHCIOpCodeNoOp = 0x7e
	KBluetoothHCICommandReadFailedContactCounter                        KBluetoothHCIOpCodeNoOp = 0x1
	KBluetoothHCICommandReadFlowControlMode                             KBluetoothHCIOpCodeNoOp = 0x66
	KBluetoothHCICommandReadHoldModeActivity                            KBluetoothHCIOpCodeNoOp = 0x2b
	KBluetoothHCICommandReadInquiryMode                                 KBluetoothHCIOpCodeNoOp = 0x44
	KBluetoothHCICommandReadInquiryResponseTransmitPower                KBluetoothHCIOpCodeNoOp = 0x58
	KBluetoothHCICommandReadInquiryScanActivity                         KBluetoothHCIOpCodeNoOp = 0x1d
	KBluetoothHCICommandReadInquiryScanType                             KBluetoothHCIOpCodeNoOp = 0x42
	KBluetoothHCICommandReadLEHostSupported                             KBluetoothHCIOpCodeNoOp = 0x6c
	KBluetoothHCICommandReadLMPHandle                                   KBluetoothHCIOpCodeNoOp = 0x20
	KBluetoothHCICommandReadLinkPolicySettings                          KBluetoothHCIOpCodeNoOp = 0xc
	KBluetoothHCICommandReadLinkSupervisionTimeout                      KBluetoothHCIOpCodeNoOp = 0x36
	KBluetoothHCICommandReadLocalAMPASSOC                               KBluetoothHCIOpCodeNoOp = 0xa
	KBluetoothHCICommandReadLocalAMPInfo                                KBluetoothHCIOpCodeNoOp = 0x9
	KBluetoothHCICommandReadLocalExtendedFeatures                       KBluetoothHCIOpCodeNoOp = 0x4
	KBluetoothHCICommandReadLocalName                                   KBluetoothHCIOpCodeNoOp = 0x14
	KBluetoothHCICommandReadLocalOOBData                                KBluetoothHCIOpCodeNoOp = 0x57
	KBluetoothHCICommandReadLocalOOBExtendedData                        KBluetoothHCIOpCodeNoOp = 0x7d
	KBluetoothHCICommandReadLocalSupportedCodecs                        KBluetoothHCIOpCodeNoOp = 0xb
	KBluetoothHCICommandReadLocalSupportedCommands                      KBluetoothHCIOpCodeNoOp = 0x2
	KBluetoothHCICommandReadLocalSupportedFeatures                      KBluetoothHCIOpCodeNoOp = 0x3
	KBluetoothHCICommandReadLocalVersionInformation                     KBluetoothHCIOpCodeNoOp = 0x1
	KBluetoothHCICommandReadLocationData                                KBluetoothHCIOpCodeNoOp = 0x64
	KBluetoothHCICommandReadLogicalLinkAcceptTimeout                    KBluetoothHCIOpCodeNoOp = 0x61
	KBluetoothHCICommandReadLoopbackMode                                KBluetoothHCIOpCodeNoOp = 0x1
	KBluetoothHCICommandReadNumberOfBroadcastRetransmissions            KBluetoothHCIOpCodeNoOp = 0x29
	KBluetoothHCICommandReadNumberOfSupportedIAC                        KBluetoothHCIOpCodeNoOp = 0x38
	KBluetoothHCICommandReadPINType                                     KBluetoothHCIOpCodeNoOp = 0x9
	KBluetoothHCICommandReadPageScanActivity                            KBluetoothHCIOpCodeNoOp = 0x1b
	KBluetoothHCICommandReadPageScanMode                                KBluetoothHCIOpCodeNoOp = 0x3d
	KBluetoothHCICommandReadPageScanPeriodMode                          KBluetoothHCIOpCodeNoOp = 0x3b
	KBluetoothHCICommandReadPageScanType                                KBluetoothHCIOpCodeNoOp = 0x46
	KBluetoothHCICommandReadPageTimeout                                 KBluetoothHCIOpCodeNoOp = 0x17
	KBluetoothHCICommandReadRSSI                                        KBluetoothHCIOpCodeNoOp = 0x5
	KBluetoothHCICommandReadRemoteExtendedFeatures                      KBluetoothHCIOpCodeNoOp = 0x1c
	KBluetoothHCICommandReadRemoteSupportedFeatures                     KBluetoothHCIOpCodeNoOp = 0x1b
	KBluetoothHCICommandReadRemoteVersionInformation                    KBluetoothHCIOpCodeNoOp = 0x1d
	KBluetoothHCICommandReadSCOFlowControlEnable                        KBluetoothHCIOpCodeNoOp = 0x2e
	KBluetoothHCICommandReadScanEnable                                  KBluetoothHCIOpCodeNoOp = 0x19
	KBluetoothHCICommandReadSecureConnectionsHostSupport                KBluetoothHCIOpCodeNoOp = 0x79
	KBluetoothHCICommandReadSimplePairingMode                           KBluetoothHCIOpCodeNoOp = 0x55
	KBluetoothHCICommandReadStoredLinkKey                               KBluetoothHCIOpCodeNoOp = 0xd
	KBluetoothHCICommandReadSynchronizationTrainParameters              KBluetoothHCIOpCodeNoOp = 0x77
	KBluetoothHCICommandReadTransmitPowerLevel                          KBluetoothHCIOpCodeNoOp = 0x2d
	KBluetoothHCICommandReadVoiceSetting                                KBluetoothHCIOpCodeNoOp = 0x25
	KBluetoothHCICommandReceiveSynchronizationTrain                     KBluetoothHCIOpCodeNoOp = 0x44
	KBluetoothHCICommandRefreshEncryptionKey                            KBluetoothHCIOpCodeNoOp = 0x53
	KBluetoothHCICommandRejectConnectionRequest                         KBluetoothHCIOpCodeNoOp = 0xa
	KBluetoothHCICommandRejectSniffRequest                              KBluetoothHCIOpCodeNoOp = 0x32
	KBluetoothHCICommandRejectSynchronousConnectionRequest              KBluetoothHCIOpCodeNoOp = 0x2a
	KBluetoothHCICommandRemoteNameRequest                               KBluetoothHCIOpCodeNoOp = 0x19
	KBluetoothHCICommandRemoteNameRequestCancel                         KBluetoothHCIOpCodeNoOp = 0x1a
	KBluetoothHCICommandRemoteOOBDataRequestNegativeReply               KBluetoothHCIOpCodeNoOp = 0x33
	KBluetoothHCICommandRemoteOOBDataRequestReply                       KBluetoothHCIOpCodeNoOp = 0x30
	KBluetoothHCICommandRemoteOOBExtendedDataRequestReply               KBluetoothHCIOpCodeNoOp = 0x45
	KBluetoothHCICommandReset                                           KBluetoothHCIOpCodeNoOp = 0x3
	KBluetoothHCICommandResetFailedContactCounter                       KBluetoothHCIOpCodeNoOp = 0x2
	KBluetoothHCICommandRoleDiscovery                                   KBluetoothHCIOpCodeNoOp = 0x9
	KBluetoothHCICommandSendKeypressNotification                        KBluetoothHCIOpCodeNoOp = 0x60
	KBluetoothHCICommandSetAFHClassification                            KBluetoothHCIOpCodeNoOp = 0x3f
	KBluetoothHCICommandSetConnectionEncryption                         KBluetoothHCIOpCodeNoOp = 0x13
	KBluetoothHCICommandSetConnectionlessPeripheralBroadcast            KBluetoothHCIOpCodeNoOp = 0x41
	KBluetoothHCICommandSetConnectionlessPeripheralBroadcastData        KBluetoothHCIOpCodeNoOp = 0x76
	KBluetoothHCICommandSetConnectionlessPeripheralBroadcastReceive     KBluetoothHCIOpCodeNoOp = 0x42
	KBluetoothHCICommandSetConnectionlessSlaveBroadcast                 KBluetoothHCIOpCodeNoOp = 65
	KBluetoothHCICommandSetConnectionlessSlaveBroadcastData             KBluetoothHCIOpCodeNoOp = 118
	KBluetoothHCICommandSetConnectionlessSlaveBroadcastReceive          KBluetoothHCIOpCodeNoOp = 66
	KBluetoothHCICommandSetEventFilter                                  KBluetoothHCIOpCodeNoOp = 0x5
	KBluetoothHCICommandSetEventMask                                    KBluetoothHCIOpCodeNoOp = 0x1
	KBluetoothHCICommandSetEventMaskPageTwo                             KBluetoothHCIOpCodeNoOp = 0x63
	KBluetoothHCICommandSetExternalFrameConfiguration                   KBluetoothHCIOpCodeNoOp = 0x6f
	KBluetoothHCICommandSetHostControllerToHostFlowControl              KBluetoothHCIOpCodeNoOp = 0x31
	KBluetoothHCICommandSetMWSChannelParameters                         KBluetoothHCIOpCodeNoOp = 0x6e
	KBluetoothHCICommandSetMWSPATTERNConfiguration                      KBluetoothHCIOpCodeNoOp = 0x73
	KBluetoothHCICommandSetMWSScanFrequencyTable                        KBluetoothHCIOpCodeNoOp = 0x72
	KBluetoothHCICommandSetMWSSignaling                                 KBluetoothHCIOpCodeNoOp = 0x70
	KBluetoothHCICommandSetMWSTransportLayer                            KBluetoothHCIOpCodeNoOp = 0x71
	KBluetoothHCICommandSetReservedLTADDR                               KBluetoothHCIOpCodeNoOp = 0x74
	KBluetoothHCICommandSetTriggeredClockCapture                        KBluetoothHCIOpCodeNoOp = 0xd
	KBluetoothHCICommandSetupSynchronousConnection                      KBluetoothHCIOpCodeNoOp = 0x28
	KBluetoothHCICommandShortRangeMode                                  KBluetoothHCIOpCodeNoOp = 0x6b
	KBluetoothHCICommandSniffMode                                       KBluetoothHCIOpCodeNoOp = 0x3
	KBluetoothHCICommandSniffSubrating                                  KBluetoothHCIOpCodeNoOp = 0x11
	KBluetoothHCICommandStartSynchronizationTrain                       KBluetoothHCIOpCodeNoOp = 0x43
	KBluetoothHCICommandSwitchRole                                      KBluetoothHCIOpCodeNoOp = 0xb
	KBluetoothHCICommandTruncatedPage                                   KBluetoothHCIOpCodeNoOp = 0x3f
	KBluetoothHCICommandTruncatedPageCancel                             KBluetoothHCIOpCodeNoOp = 0x40
	KBluetoothHCICommandUserConfirmationRequestNegativeReply            KBluetoothHCIOpCodeNoOp = 0x2d
	KBluetoothHCICommandUserConfirmationRequestReply                    KBluetoothHCIOpCodeNoOp = 0x2c
	KBluetoothHCICommandUserPasskeyRequestNegativeReply                 KBluetoothHCIOpCodeNoOp = 0x2f
	KBluetoothHCICommandUserPasskeyRequestReply                         KBluetoothHCIOpCodeNoOp = 0x2e
	KBluetoothHCICommandWriteAFHChannelAssessmentMode                   KBluetoothHCIOpCodeNoOp = 0x49
	KBluetoothHCICommandWriteAuthenticatedPayloadTimeout                KBluetoothHCIOpCodeNoOp = 0x7c
	KBluetoothHCICommandWriteAuthenticationEnable                       KBluetoothHCIOpCodeNoOp = 0x20
	KBluetoothHCICommandWriteAutomaticFlushTimeout                      KBluetoothHCIOpCodeNoOp = 0x28
	KBluetoothHCICommandWriteBestEffortFlushTimeout                     KBluetoothHCIOpCodeNoOp = 0x6a
	KBluetoothHCICommandWriteClassOfDevice                              KBluetoothHCIOpCodeNoOp = 0x24
	KBluetoothHCICommandWriteConnectionAcceptTimeout                    KBluetoothHCIOpCodeNoOp = 0x16
	KBluetoothHCICommandWriteCurrentIACLAP                              KBluetoothHCIOpCodeNoOp = 0x3a
	KBluetoothHCICommandWriteDefaultErroneousDataReporting              KBluetoothHCIOpCodeNoOp = 0x5b
	KBluetoothHCICommandWriteDefaultLinkPolicySettings                  KBluetoothHCIOpCodeNoOp = 0xf
	KBluetoothHCICommandWriteEncryptionMode                             KBluetoothHCIOpCodeNoOp = 0x22
	KBluetoothHCICommandWriteExtendedInquiryLength                      KBluetoothHCIOpCodeNoOp = 0x81
	KBluetoothHCICommandWriteExtendedInquiryResponse                    KBluetoothHCIOpCodeNoOp = 0x52
	KBluetoothHCICommandWriteExtendedPageTimeout                        KBluetoothHCIOpCodeNoOp = 0x7f
	KBluetoothHCICommandWriteFlowControlMode                            KBluetoothHCIOpCodeNoOp = 0x67
	KBluetoothHCICommandWriteHoldModeActivity                           KBluetoothHCIOpCodeNoOp = 0x2c
	KBluetoothHCICommandWriteInquiryMode                                KBluetoothHCIOpCodeNoOp = 0x45
	KBluetoothHCICommandWriteInquiryResponseTransmitPower               KBluetoothHCIOpCodeNoOp = 0x59
	KBluetoothHCICommandWriteInquiryScanActivity                        KBluetoothHCIOpCodeNoOp = 0x1e
	KBluetoothHCICommandWriteInquiryScanType                            KBluetoothHCIOpCodeNoOp = 0x43
	KBluetoothHCICommandWriteLEHostSupported                            KBluetoothHCIOpCodeNoOp = 0x6d
	KBluetoothHCICommandWriteLinkPolicySettings                         KBluetoothHCIOpCodeNoOp = 0xd
	KBluetoothHCICommandWriteLinkSupervisionTimeout                     KBluetoothHCIOpCodeNoOp = 0x37
	KBluetoothHCICommandWriteLocationData                               KBluetoothHCIOpCodeNoOp = 0x65
	KBluetoothHCICommandWriteLogicalLinkAcceptTimeout                   KBluetoothHCIOpCodeNoOp = 0x62
	KBluetoothHCICommandWriteLoopbackMode                               KBluetoothHCIOpCodeNoOp = 0x2
	KBluetoothHCICommandWriteNumberOfBroadcastRetransmissions           KBluetoothHCIOpCodeNoOp = 0x2a
	KBluetoothHCICommandWritePINType                                    KBluetoothHCIOpCodeNoOp = 0xa
	KBluetoothHCICommandWritePageScanActivity                           KBluetoothHCIOpCodeNoOp = 0x1c
	KBluetoothHCICommandWritePageScanMode                               KBluetoothHCIOpCodeNoOp = 0x3e
	KBluetoothHCICommandWritePageScanPeriodMode                         KBluetoothHCIOpCodeNoOp = 0x3c
	KBluetoothHCICommandWritePageScanType                               KBluetoothHCIOpCodeNoOp = 0x47
	KBluetoothHCICommandWritePageTimeout                                KBluetoothHCIOpCodeNoOp = 0x18
	KBluetoothHCICommandWriteRemoteAMPASSOC                             KBluetoothHCIOpCodeNoOp = 0xb
	KBluetoothHCICommandWriteSCOFlowControlEnable                       KBluetoothHCIOpCodeNoOp = 0x2f
	KBluetoothHCICommandWriteScanEnable                                 KBluetoothHCIOpCodeNoOp = 0x1a
	KBluetoothHCICommandWriteSecureConnectionsHostSupport               KBluetoothHCIOpCodeNoOp = 0x7a
	KBluetoothHCICommandWriteSimplePairingDebugMode                     KBluetoothHCIOpCodeNoOp = 0x4
	KBluetoothHCICommandWriteSimplePairingMode                          KBluetoothHCIOpCodeNoOp = 0x56
	KBluetoothHCICommandWriteStoredLinkKey                              KBluetoothHCIOpCodeNoOp = 0x11
	KBluetoothHCICommandWriteSynchronizationTrainParameters             KBluetoothHCIOpCodeNoOp = 0x78
	KBluetoothHCICommandWriteVoiceSetting                               KBluetoothHCIOpCodeNoOp = 0x26
	KBluetoothHCIOpCodeNoOpValue                                        KBluetoothHCIOpCodeNoOp = 0
)

func (KBluetoothHCIOpCodeNoOp) String

func (e KBluetoothHCIOpCodeNoOp) String() string

type KBluetoothHCITransportUSB

type KBluetoothHCITransportUSB uint32
const (
	// KBluetoothHCITransportUSBClassCode: # Discussion
	KBluetoothHCITransportUSBClassCode KBluetoothHCITransportUSB = 0xe0
	// KBluetoothHCITransportUSBProtocolCode: # Discussion
	KBluetoothHCITransportUSBProtocolCode KBluetoothHCITransportUSB = 0x1
	// KBluetoothHCITransportUSBSubClassCode: # Discussion
	KBluetoothHCITransportUSBSubClassCode KBluetoothHCITransportUSB = 0x1
)

func (KBluetoothHCITransportUSB) String

func (e KBluetoothHCITransportUSB) String() string

type KBluetoothKeyFlag

type KBluetoothKeyFlag uint32
const (
	KBluetoothKeyFlagSemiPermanent KBluetoothKeyFlag = 0
	KBluetoothKeyFlagTemporary     KBluetoothKeyFlag = 0x1
)

func (KBluetoothKeyFlag) String

func (e KBluetoothKeyFlag) String() string

type KBluetoothKeyType

type KBluetoothKeyType uint32
const (
	KBluetoothKeyTypeAuthenticatedCombination       KBluetoothKeyType = 0x5
	KBluetoothKeyTypeAuthenticatedCombinationP256   KBluetoothKeyType = 0x8
	KBluetoothKeyTypeChangedCombination             KBluetoothKeyType = 0x6
	KBluetoothKeyTypeCombination                    KBluetoothKeyType = 0
	KBluetoothKeyTypeDebugCombination               KBluetoothKeyType = 0x3
	KBluetoothKeyTypeLocalUnit                      KBluetoothKeyType = 0x1
	KBluetoothKeyTypeRemoteUnit                     KBluetoothKeyType = 0x2
	KBluetoothKeyTypeUnauthenticatedCombination     KBluetoothKeyType = 0x4
	KBluetoothKeyTypeUnauthenticatedCombinationP256 KBluetoothKeyType = 0x7
)

func (KBluetoothKeyType) String

func (e KBluetoothKeyType) String() string

type KBluetoothL2CAPChannel

type KBluetoothL2CAPChannel uint32
const (
	KBluetoothL2CAPChannelAMPManagerProtocol   KBluetoothL2CAPChannel = 0x3
	KBluetoothL2CAPChannelAMPTestManager       KBluetoothL2CAPChannel = 0x3f
	KBluetoothL2CAPChannelAttributeProtocol    KBluetoothL2CAPChannel = 0x4
	KBluetoothL2CAPChannelBREDRSecurityManager KBluetoothL2CAPChannel = 0x7
	KBluetoothL2CAPChannelConnectionLessData   KBluetoothL2CAPChannel = 0x2
	KBluetoothL2CAPChannelDynamicEnd           KBluetoothL2CAPChannel = 0xffff
	KBluetoothL2CAPChannelDynamicStart         KBluetoothL2CAPChannel = 0x40
	KBluetoothL2CAPChannelEnd                  KBluetoothL2CAPChannel = 0xffff
	KBluetoothL2CAPChannelLEAP                 KBluetoothL2CAPChannel = 0x2a
	KBluetoothL2CAPChannelLEAS                 KBluetoothL2CAPChannel = 0x2b
	KBluetoothL2CAPChannelLESignalling         KBluetoothL2CAPChannel = 0x5
	KBluetoothL2CAPChannelMagicPairing         KBluetoothL2CAPChannel = 0x30
	KBluetoothL2CAPChannelMagnet               KBluetoothL2CAPChannel = 0x3a
	KBluetoothL2CAPChannelNull                 KBluetoothL2CAPChannel = 0
	KBluetoothL2CAPChannelReservedEnd          KBluetoothL2CAPChannel = 0x3e
	KBluetoothL2CAPChannelReservedStart        KBluetoothL2CAPChannel = 0x8
	KBluetoothL2CAPChannelSecurityManager      KBluetoothL2CAPChannel = 0x6
	KBluetoothL2CAPChannelSignalling           KBluetoothL2CAPChannel = 0x1
)

func (KBluetoothL2CAPChannel) String

func (e KBluetoothL2CAPChannel) String() string

type KBluetoothL2CAPConfigurationOptionMTULength

type KBluetoothL2CAPConfigurationOptionMTULength uint32
const (
	KBluetoothL2CAPConfigurationOptionFlushTimeoutLength                 KBluetoothL2CAPConfigurationOptionMTULength = 2
	KBluetoothL2CAPConfigurationOptionMTULengthValue                     KBluetoothL2CAPConfigurationOptionMTULength = 2
	KBluetoothL2CAPConfigurationOptionQoSLength                          KBluetoothL2CAPConfigurationOptionMTULength = 22
	KBluetoothL2CAPConfigurationOptionRetransmissionAndFlowControlLength KBluetoothL2CAPConfigurationOptionMTULength = 9
)

func (KBluetoothL2CAPConfigurationOptionMTULength) String

type KBluetoothL2CAPFlushTimeout

type KBluetoothL2CAPFlushTimeout uint32
const (
	KBluetoothL2CAPFlushTimeoutEnd         KBluetoothL2CAPFlushTimeout = 65536
	KBluetoothL2CAPFlushTimeoutForever     KBluetoothL2CAPFlushTimeout = 0xffff
	KBluetoothL2CAPFlushTimeoutImmediate   KBluetoothL2CAPFlushTimeout = 0x1
	KBluetoothL2CAPFlushTimeoutUseExisting KBluetoothL2CAPFlushTimeout = 0
)

func (KBluetoothL2CAPFlushTimeout) String

type KBluetoothL2CAPMTULowEnergyDefault

type KBluetoothL2CAPMTULowEnergyDefault uint32
const (
	KBluetoothL2CAPFlushTimeoutDefault       KBluetoothL2CAPMTULowEnergyDefault = 65535
	KBluetoothL2CAPMTUDefault                KBluetoothL2CAPMTULowEnergyDefault = 0x3f9
	KBluetoothL2CAPMTULowEnergyDefaultValue  KBluetoothL2CAPMTULowEnergyDefault = 27
	KBluetoothL2CAPMTULowEnergyMax           KBluetoothL2CAPMTULowEnergyDefault = 251
	KBluetoothL2CAPMTUMaximum                KBluetoothL2CAPMTULowEnergyDefault = 0xffff
	KBluetoothL2CAPMTUMinimum                KBluetoothL2CAPMTULowEnergyDefault = 0x30
	KBluetoothL2CAPMTUSIG                    KBluetoothL2CAPMTULowEnergyDefault = 0x30
	KBluetoothL2CAPMTUStart                  KBluetoothL2CAPMTULowEnergyDefault = 0x7fff
	KBluetoothL2CAPQoSDelayVariationDefault  KBluetoothL2CAPMTULowEnergyDefault = 0xffffffff
	KBluetoothL2CAPQoSFlagsDefault           KBluetoothL2CAPMTULowEnergyDefault = 0
	KBluetoothL2CAPQoSLatencyDefault         KBluetoothL2CAPMTULowEnergyDefault = 0xffffffff
	KBluetoothL2CAPQoSPeakBandwidthDefault   KBluetoothL2CAPMTULowEnergyDefault = 0
	KBluetoothL2CAPQoSTokenBucketSizeDefault KBluetoothL2CAPMTULowEnergyDefault = 0
	KBluetoothL2CAPQoSTokenRateDefault       KBluetoothL2CAPMTULowEnergyDefault = 0
	KBluetoothL2CAPQoSTypeDefault            KBluetoothL2CAPMTULowEnergyDefault = 1
)

func (KBluetoothL2CAPMTULowEnergyDefault) String

type KBluetoothL2CAPMaxPacketSize

type KBluetoothL2CAPMaxPacketSize uint32
const (
	KBluetoothACLLogicalChannelL2CAPContinue KBluetoothL2CAPMaxPacketSize = 1
	KBluetoothACLLogicalChannelL2CAPStart    KBluetoothL2CAPMaxPacketSize = 2
	KBluetoothACLLogicalChannelLMP           KBluetoothL2CAPMaxPacketSize = 3
	KBluetoothACLLogicalChannelReserved      KBluetoothL2CAPMaxPacketSize = 0
	KBluetoothL2CAPMaxPacketSizeValue        KBluetoothL2CAPMaxPacketSize = 65535
)

func (KBluetoothL2CAPMaxPacketSize) String

type KBluetoothL2CAPPSM

type KBluetoothL2CAPPSM uint32
const (
	KBluetoothL2CAPPSMAACP             KBluetoothL2CAPPSM = 0x1001
	KBluetoothL2CAPPSMATT              KBluetoothL2CAPPSM = 0x1f
	KBluetoothL2CAPPSMAVCTP            KBluetoothL2CAPPSM = 0x17
	KBluetoothL2CAPPSMAVCTP_Browsing   KBluetoothL2CAPPSM = 0x1b
	KBluetoothL2CAPPSMAVDTP            KBluetoothL2CAPPSM = 0x19
	KBluetoothL2CAPPSMBNEP             KBluetoothL2CAPPSM = 0xf
	KBluetoothL2CAPPSMD2D              KBluetoothL2CAPPSM = 0x100f
	KBluetoothL2CAPPSMDynamicEnd       KBluetoothL2CAPPSM = 0xffff
	KBluetoothL2CAPPSMDynamicStart     KBluetoothL2CAPPSM = 0x1001
	KBluetoothL2CAPPSMHIDControl       KBluetoothL2CAPPSM = 0x11
	KBluetoothL2CAPPSMHIDInterrupt     KBluetoothL2CAPPSM = 0x13
	KBluetoothL2CAPPSMNone             KBluetoothL2CAPPSM = 0
	KBluetoothL2CAPPSMRFCOMM           KBluetoothL2CAPPSM = 0x3
	KBluetoothL2CAPPSMReservedEnd      KBluetoothL2CAPPSM = 0x1000
	KBluetoothL2CAPPSMReservedStart    KBluetoothL2CAPPSM = 0x1
	KBluetoothL2CAPPSMSDP              KBluetoothL2CAPPSM = 0x1
	KBluetoothL2CAPPSMTCS_BIN          KBluetoothL2CAPPSM = 0x5
	KBluetoothL2CAPPSMTCS_BIN_Cordless KBluetoothL2CAPPSM = 0x7
	KBluetoothL2CAPPSMUID_C_Plane      KBluetoothL2CAPPSM = 0x1d
)

func (KBluetoothL2CAPPSM) String

func (e KBluetoothL2CAPPSM) String() string

type KBluetoothL2CAPTCICommand

type KBluetoothL2CAPTCICommand uint32
const (
	KBluetoothL2CAPTCICommandL2CA_ConfigReq         KBluetoothL2CAPTCICommand = 0x3
	KBluetoothL2CAPTCICommandL2CA_ConfigResp        KBluetoothL2CAPTCICommand = 0x13
	KBluetoothL2CAPTCICommandL2CA_ConnectReq        KBluetoothL2CAPTCICommand = 0x1
	KBluetoothL2CAPTCICommandL2CA_ConnectResp       KBluetoothL2CAPTCICommand = 0x11
	KBluetoothL2CAPTCICommandL2CA_DisableCLT        KBluetoothL2CAPTCICommand = 0x4
	KBluetoothL2CAPTCICommandL2CA_DisconnectReq     KBluetoothL2CAPTCICommand = 0x2
	KBluetoothL2CAPTCICommandL2CA_DisconnectResp    KBluetoothL2CAPTCICommand = 0x12
	KBluetoothL2CAPTCICommandL2CA_EnableCLT         KBluetoothL2CAPTCICommand = 0x5
	KBluetoothL2CAPTCICommandL2CA_GetInfo           KBluetoothL2CAPTCICommand = 0xe
	KBluetoothL2CAPTCICommandL2CA_GroupAddMember    KBluetoothL2CAPTCICommand = 0x8
	KBluetoothL2CAPTCICommandL2CA_GroupClose        KBluetoothL2CAPTCICommand = 0x7
	KBluetoothL2CAPTCICommandL2CA_GroupCreate       KBluetoothL2CAPTCICommand = 0x6
	KBluetoothL2CAPTCICommandL2CA_GroupMembership   KBluetoothL2CAPTCICommand = 0xa
	KBluetoothL2CAPTCICommandL2CA_GroupRemoveMember KBluetoothL2CAPTCICommand = 0x9
	KBluetoothL2CAPTCICommandL2CA_Ping              KBluetoothL2CAPTCICommand = 0xd
	KBluetoothL2CAPTCICommandL2CA_ReadData          KBluetoothL2CAPTCICommand = 0xc
	KBluetoothL2CAPTCICommandL2CA_Reserved1         KBluetoothL2CAPTCICommand = 0xf
	KBluetoothL2CAPTCICommandL2CA_Reserved2         KBluetoothL2CAPTCICommand = 0x10
	KBluetoothL2CAPTCICommandL2CA_WriteData         KBluetoothL2CAPTCICommand = 0xb
	KBluetoothL2CAPTCICommandReserved               KBluetoothL2CAPTCICommand = 0
)

func (KBluetoothL2CAPTCICommand) String

func (e KBluetoothL2CAPTCICommand) String() string

type KBluetoothL2CAPTCIEventID

type KBluetoothL2CAPTCIEventID uint32
const (
	KBluetoothL2CAPTCIEventIDL2CA_ConfigInd       KBluetoothL2CAPTCIEventID = 0x2
	KBluetoothL2CAPTCIEventIDL2CA_ConnectInd      KBluetoothL2CAPTCIEventID = 0x1
	KBluetoothL2CAPTCIEventIDL2CA_DisconnectInd   KBluetoothL2CAPTCIEventID = 0x3
	KBluetoothL2CAPTCIEventIDL2CA_QoSViolationInd KBluetoothL2CAPTCIEventID = 0x4
	KBluetoothL2CAPTCIEventIDL2CA_TimeOutInd      KBluetoothL2CAPTCIEventID = 0x5
	KBluetoothL2CAPTCIEventIDReserved             KBluetoothL2CAPTCIEventID = 0
)

func (KBluetoothL2CAPTCIEventID) String

func (e KBluetoothL2CAPTCIEventID) String() string

type KBluetoothLEMaxTX

type KBluetoothLEMaxTX uint32
const (
	KBluetoothLEMaxTXOctetsDefault KBluetoothLEMaxTX = 0x80
	KBluetoothLEMaxTXOctetsMax     KBluetoothLEMaxTX = 0xfb
	KBluetoothLEMaxTXOctetsMin     KBluetoothLEMaxTX = 0x1b
	KBluetoothLEMaxTXTimeDefault   KBluetoothLEMaxTX = 27
	KBluetoothLEMaxTXTimeMax       KBluetoothLEMaxTX = 0x848
	KBluetoothLEMaxTXTimeMin       KBluetoothLEMaxTX = 0x148
)

func (KBluetoothLEMaxTX) String

func (e KBluetoothLEMaxTX) String() string

type KBluetoothLESecurityManagerNoBonding

type KBluetoothLESecurityManagerNoBonding uint32
const (
	KBluetoothLESecurityManagerBonding        KBluetoothLESecurityManagerNoBonding = 1
	KBluetoothLESecurityManagerNoBondingValue KBluetoothLESecurityManagerNoBonding = 0
	KBluetoothLESecurityManagerReservedEnd    KBluetoothLESecurityManagerNoBonding = 3
	KBluetoothLESecurityManagerReservedStart  KBluetoothLESecurityManagerNoBonding = 2
)

func (KBluetoothLESecurityManagerNoBonding) String

type KBluetoothLETX

type KBluetoothLETX uint32
const (
	KBluetoothLETXOctetsDefault KBluetoothLETX = 0x1b
	KBluetoothLETXOctetsMax     KBluetoothLETX = 0xfb
	KBluetoothLETXOctetsMin     KBluetoothLETX = 0x1b
	KBluetoothLETXTimeDefault   KBluetoothLETX = 0x148
	KBluetoothLETXTimeMax       KBluetoothLETX = 0x848
	KBluetoothLETXTimeMin       KBluetoothLETX = 0x148
)

func (KBluetoothLETX) String

func (e KBluetoothLETX) String() string

type KBluetoothPacket

type KBluetoothPacket uint32
const (
	KBluetoothPacketType2DH1Omit  KBluetoothPacket = 0x2
	KBluetoothPacketType2DH3Omit  KBluetoothPacket = 0x100
	KBluetoothPacketType2DH5Omit  KBluetoothPacket = 0x1000
	KBluetoothPacketType3DH1Omit  KBluetoothPacket = 0x4
	KBluetoothPacketType3DH3Omit  KBluetoothPacket = 0x200
	KBluetoothPacketType3DM5Omit  KBluetoothPacket = 0x2000
	KBluetoothPacketTypeAUX       KBluetoothPacket = 0x200
	KBluetoothPacketTypeDH1       KBluetoothPacket = 0x10
	KBluetoothPacketTypeDH3       KBluetoothPacket = 0x800
	KBluetoothPacketTypeDH5       KBluetoothPacket = 0x8000
	KBluetoothPacketTypeDM1       KBluetoothPacket = 0x8
	KBluetoothPacketTypeDM3       KBluetoothPacket = 0x400
	KBluetoothPacketTypeDM5       KBluetoothPacket = 0x4000
	KBluetoothPacketTypeDV        KBluetoothPacket = 0x100
	KBluetoothPacketTypeEnd       KBluetoothPacket = 32769
	KBluetoothPacketTypeHV1       KBluetoothPacket = 0x20
	KBluetoothPacketTypeHV2       KBluetoothPacket = 0x40
	KBluetoothPacketTypeHV3       KBluetoothPacket = 0x80
	KBluetoothPacketTypeReserved1 KBluetoothPacket = 0x1
)

func (KBluetoothPacket) String

func (e KBluetoothPacket) String() string

type KBluetoothPageScanMode

type KBluetoothPageScanMode uint32
const (
	KBluetoothPageScanModeMandatory KBluetoothPageScanMode = 0
	KBluetoothPageScanModeOptional1 KBluetoothPageScanMode = 0x1
	KBluetoothPageScanModeOptional2 KBluetoothPageScanMode = 0x2
	KBluetoothPageScanModeOptional3 KBluetoothPageScanMode = 0x3
)

func (KBluetoothPageScanMode) String

func (e KBluetoothPageScanMode) String() string

type KBluetoothPageScanPeriodMode

type KBluetoothPageScanPeriodMode uint32
const (
	KBluetoothPageScanPeriodModeP0 KBluetoothPageScanPeriodMode = 0
	KBluetoothPageScanPeriodModeP1 KBluetoothPageScanPeriodMode = 0x1
	KBluetoothPageScanPeriodModeP2 KBluetoothPageScanPeriodMode = 0x2
)

func (KBluetoothPageScanPeriodMode) String

type KBluetoothPageScanRepetitionMode

type KBluetoothPageScanRepetitionMode uint32
const (
	KBluetoothPageScanRepetitionModeR0 KBluetoothPageScanRepetitionMode = 0
	KBluetoothPageScanRepetitionModeR1 KBluetoothPageScanRepetitionMode = 0x1
	KBluetoothPageScanRepetitionModeR2 KBluetoothPageScanRepetitionMode = 0x2
)

func (KBluetoothPageScanRepetitionMode) String

type KBluetoothRole

type KBluetoothRole uint32
const (
	KBluetoothRoleBecomeCentral    KBluetoothRole = 0
	KBluetoothRoleBecomeMaster     KBluetoothRole = 0
	KBluetoothRoleRemainPeripheral KBluetoothRole = 0x1
	KBluetoothRoleRemainSlave      KBluetoothRole = 1
)

func (KBluetoothRole) String

func (e KBluetoothRole) String() string

type KBluetoothSDPDataElementType

type KBluetoothSDPDataElementType uint32
const (
	KBluetoothSDPDataElementTypeBoolean                KBluetoothSDPDataElementType = 5
	KBluetoothSDPDataElementTypeDataElementAlternative KBluetoothSDPDataElementType = 7
	KBluetoothSDPDataElementTypeDataElementSequence    KBluetoothSDPDataElementType = 6
	KBluetoothSDPDataElementTypeNil                    KBluetoothSDPDataElementType = 0
	KBluetoothSDPDataElementTypeReservedEnd            KBluetoothSDPDataElementType = 31
	KBluetoothSDPDataElementTypeReservedStart          KBluetoothSDPDataElementType = 9
	KBluetoothSDPDataElementTypeSignedInt              KBluetoothSDPDataElementType = 2
	KBluetoothSDPDataElementTypeString                 KBluetoothSDPDataElementType = 4
	KBluetoothSDPDataElementTypeURL                    KBluetoothSDPDataElementType = 8
	KBluetoothSDPDataElementTypeUUID                   KBluetoothSDPDataElementType = 3
	KBluetoothSDPDataElementTypeUnsignedInt            KBluetoothSDPDataElementType = 1
)

func (KBluetoothSDPDataElementType) String

type KBluetoothSDPErrorCode

type KBluetoothSDPErrorCode uint32
const (
	KBluetoothSDPErrorCodeInsufficientResources      KBluetoothSDPErrorCode = 0x6
	KBluetoothSDPErrorCodeInvalidContinuationState   KBluetoothSDPErrorCode = 0x5
	KBluetoothSDPErrorCodeInvalidPDUSize             KBluetoothSDPErrorCode = 0x4
	KBluetoothSDPErrorCodeInvalidRequestSyntax       KBluetoothSDPErrorCode = 0x3
	KBluetoothSDPErrorCodeInvalidSDPVersion          KBluetoothSDPErrorCode = 0x1
	KBluetoothSDPErrorCodeInvalidServiceRecordHandle KBluetoothSDPErrorCode = 0x2
	KBluetoothSDPErrorCodeReserved                   KBluetoothSDPErrorCode = 0
	KBluetoothSDPErrorCodeReservedEnd                KBluetoothSDPErrorCode = 0xffff
	KBluetoothSDPErrorCodeReservedStart              KBluetoothSDPErrorCode = 0x7
	KBluetoothSDPErrorCodeSuccess                    KBluetoothSDPErrorCode = 0
)

func (KBluetoothSDPErrorCode) String

func (e KBluetoothSDPErrorCode) String() string

type KBluetoothSDPPDUID

type KBluetoothSDPPDUID uint32
const (
	KBluetoothSDPPDUIDErrorResponse                  KBluetoothSDPPDUID = 1
	KBluetoothSDPPDUIDReserved                       KBluetoothSDPPDUID = 0
	KBluetoothSDPPDUIDServiceAttributeRequest        KBluetoothSDPPDUID = 4
	KBluetoothSDPPDUIDServiceAttributeResponse       KBluetoothSDPPDUID = 5
	KBluetoothSDPPDUIDServiceSearchAttributeRequest  KBluetoothSDPPDUID = 6
	KBluetoothSDPPDUIDServiceSearchAttributeResponse KBluetoothSDPPDUID = 7
	KBluetoothSDPPDUIDServiceSearchRequest           KBluetoothSDPPDUID = 2
	KBluetoothSDPPDUIDServiceSearchResponse          KBluetoothSDPPDUID = 3
)

func (KBluetoothSDPPDUID) String

func (e KBluetoothSDPPDUID) String() string

type KBluetoothSDPUUID16

type KBluetoothSDPUUID16 uint32
const (
	KBluetoothSDPUUID16ATT                    KBluetoothSDPUUID16 = 0x7
	KBluetoothSDPUUID16AVCTP                  KBluetoothSDPUUID16 = 0x17
	KBluetoothSDPUUID16AVDTP                  KBluetoothSDPUUID16 = 0x19
	KBluetoothSDPUUID16BNEP                   KBluetoothSDPUUID16 = 0xf
	KBluetoothSDPUUID16Base                   KBluetoothSDPUUID16 = 0
	KBluetoothSDPUUID16CMPT                   KBluetoothSDPUUID16 = 0x1b
	KBluetoothSDPUUID16FTP                    KBluetoothSDPUUID16 = 0xa
	KBluetoothSDPUUID16HIDP                   KBluetoothSDPUUID16 = 0x11
	KBluetoothSDPUUID16HTTP                   KBluetoothSDPUUID16 = 0xc
	KBluetoothSDPUUID16HardcopyControlChannel KBluetoothSDPUUID16 = 0x12
	KBluetoothSDPUUID16HardcopyDataChannel    KBluetoothSDPUUID16 = 0x14
	KBluetoothSDPUUID16HardcopyNotification   KBluetoothSDPUUID16 = 0x16
	KBluetoothSDPUUID16IP                     KBluetoothSDPUUID16 = 0x9
	KBluetoothSDPUUID16L2CAP                  KBluetoothSDPUUID16 = 0x100
	KBluetoothSDPUUID16MCAPControlChannel     KBluetoothSDPUUID16 = 0x1e
	KBluetoothSDPUUID16MCAPDataChannel        KBluetoothSDPUUID16 = 0x1f
	KBluetoothSDPUUID16OBEX                   KBluetoothSDPUUID16 = 0x8
	KBluetoothSDPUUID16RFCOMM                 KBluetoothSDPUUID16 = 0x3
	KBluetoothSDPUUID16SDP                    KBluetoothSDPUUID16 = 0x1
	KBluetoothSDPUUID16TCP                    KBluetoothSDPUUID16 = 0x4
	KBluetoothSDPUUID16TCSAT                  KBluetoothSDPUUID16 = 0x6
	KBluetoothSDPUUID16TCSBIN                 KBluetoothSDPUUID16 = 0x5
	KBluetoothSDPUUID16UDI_C_Plane            KBluetoothSDPUUID16 = 0x1d
	KBluetoothSDPUUID16UDP                    KBluetoothSDPUUID16 = 0x2
	KBluetoothSDPUUID16UPNP                   KBluetoothSDPUUID16 = 0x10
	KBluetoothSDPUUID16WSP                    KBluetoothSDPUUID16 = 0xe
)

func (KBluetoothSDPUUID16) String

func (e KBluetoothSDPUUID16) String() string

type KBluetoothServiceClassMajor

type KBluetoothServiceClassMajor uint32
const (
	KBluetoothServiceClassMajorAny                     KBluetoothServiceClassMajor = '*'<<24 | '*'<<16 | '*'<<8 | '*' // '****'
	KBluetoothServiceClassMajorAudio                   KBluetoothServiceClassMajor = 0x100
	KBluetoothServiceClassMajorCapturing               KBluetoothServiceClassMajor = 0x40
	KBluetoothServiceClassMajorEnd                     KBluetoothServiceClassMajor = 'n'<<24 | 'o'<<16 | 'n'<<8 | 'f' // 'nonf'
	KBluetoothServiceClassMajorInformation             KBluetoothServiceClassMajor = 0x400
	KBluetoothServiceClassMajorLimitedDiscoverableMode KBluetoothServiceClassMajor = 0x1
	KBluetoothServiceClassMajorNetworking              KBluetoothServiceClassMajor = 0x10
	KBluetoothServiceClassMajorNone                    KBluetoothServiceClassMajor = 'n'<<24 | 'o'<<16 | 'n'<<8 | 'e' // 'none'
	KBluetoothServiceClassMajorObjectTransfer          KBluetoothServiceClassMajor = 0x80
	KBluetoothServiceClassMajorPositioning             KBluetoothServiceClassMajor = 0x8
	KBluetoothServiceClassMajorRendering               KBluetoothServiceClassMajor = 0x20
	KBluetoothServiceClassMajorReserved1               KBluetoothServiceClassMajor = 0x2
	KBluetoothServiceClassMajorReserved2               KBluetoothServiceClassMajor = 0x4
	KBluetoothServiceClassMajorTelephony               KBluetoothServiceClassMajor = 0x200
)

func (KBluetoothServiceClassMajor) String

type KBluetoothSynchronousConnectionPacket

type KBluetoothSynchronousConnectionPacket uint32
const (
	KBluetoothSynchronousConnectionPacketType2EV3Omit  KBluetoothSynchronousConnectionPacket = 0x40
	KBluetoothSynchronousConnectionPacketType2EV5Omit  KBluetoothSynchronousConnectionPacket = 0x100
	KBluetoothSynchronousConnectionPacketType3EV3Omit  KBluetoothSynchronousConnectionPacket = 0x80
	KBluetoothSynchronousConnectionPacketType3EV5Omit  KBluetoothSynchronousConnectionPacket = 0x200
	KBluetoothSynchronousConnectionPacketTypeAll       KBluetoothSynchronousConnectionPacket = 0xffff
	KBluetoothSynchronousConnectionPacketTypeEV3       KBluetoothSynchronousConnectionPacket = 0x8
	KBluetoothSynchronousConnectionPacketTypeEV4       KBluetoothSynchronousConnectionPacket = 0x10
	KBluetoothSynchronousConnectionPacketTypeEV5       KBluetoothSynchronousConnectionPacket = 0x20
	KBluetoothSynchronousConnectionPacketTypeEnd       KBluetoothSynchronousConnectionPacket = 65536
	KBluetoothSynchronousConnectionPacketTypeFutureUse KBluetoothSynchronousConnectionPacket = 0xfc00
	KBluetoothSynchronousConnectionPacketTypeHV1       KBluetoothSynchronousConnectionPacket = 0x1
	KBluetoothSynchronousConnectionPacketTypeHV2       KBluetoothSynchronousConnectionPacket = 0x2
	KBluetoothSynchronousConnectionPacketTypeHV3       KBluetoothSynchronousConnectionPacket = 0x4
	KBluetoothSynchronousConnectionPacketTypeNone      KBluetoothSynchronousConnectionPacket = 0
)

func (KBluetoothSynchronousConnectionPacket) String

type KBluetoothVoiceSettingAirCodingFormat

type KBluetoothVoiceSettingAirCodingFormat uint32
const (
	KBluetoothVoiceSettingAirCodingFormatALaw            KBluetoothVoiceSettingAirCodingFormat = 0x2
	KBluetoothVoiceSettingAirCodingFormatCVSD            KBluetoothVoiceSettingAirCodingFormat = 0
	KBluetoothVoiceSettingAirCodingFormatMask            KBluetoothVoiceSettingAirCodingFormat = 0x3
	KBluetoothVoiceSettingAirCodingFormatTransparentData KBluetoothVoiceSettingAirCodingFormat = 0x3
	KBluetoothVoiceSettingAirCodingFormatULaw            KBluetoothVoiceSettingAirCodingFormat = 0x1
)

func (KBluetoothVoiceSettingAirCodingFormat) String

type KBluetoothVoiceSettingInputCoding

type KBluetoothVoiceSettingInputCoding uint32
const (
	KBluetoothVoiceSettingInputCodingALawInputCoding   KBluetoothVoiceSettingInputCoding = 0x200
	KBluetoothVoiceSettingInputCodingLinearInputCoding KBluetoothVoiceSettingInputCoding = 0
	KBluetoothVoiceSettingInputCodingMask              KBluetoothVoiceSettingInputCoding = 0x300
	KBluetoothVoiceSettingInputCodingULawInputCoding   KBluetoothVoiceSettingInputCoding = 0x100
)

func (KBluetoothVoiceSettingInputCoding) String

type KBluetoothVoiceSettingInputData

type KBluetoothVoiceSettingInputData uint32
const (
	KBluetoothVoiceSettingInputDataFormat1sComplement  KBluetoothVoiceSettingInputData = 0
	KBluetoothVoiceSettingInputDataFormat2sComplement  KBluetoothVoiceSettingInputData = 0x40
	KBluetoothVoiceSettingInputDataFormatMask          KBluetoothVoiceSettingInputData = 0xc0
	KBluetoothVoiceSettingInputDataFormatSignMagnitude KBluetoothVoiceSettingInputData = 0x80
	KBluetoothVoiceSettingInputDataFormatUnsigned      KBluetoothVoiceSettingInputData = 0xc0
)

func (KBluetoothVoiceSettingInputData) String

type KBluetoothVoiceSettingInputSample

type KBluetoothVoiceSettingInputSample uint32
const (
	KBluetoothVoiceSettingInputSampleSize16Bit KBluetoothVoiceSettingInputSample = 0x20
	KBluetoothVoiceSettingInputSampleSize8Bit  KBluetoothVoiceSettingInputSample = 0
	KBluetoothVoiceSettingInputSampleSizeMask  KBluetoothVoiceSettingInputSample = 0x20
)

func (KBluetoothVoiceSettingInputSample) String

type NSData

type NSData = _undefined

type NSObject

type NSObject = _undefined

type OBEXAbortCommandData

type OBEXAbortCommandData struct {
	HeaderDataPtr    unsafe.Pointer
	HeaderDataLength uintptr
}

OBEXAbortCommandData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXAbortCommandData

type OBEXAbortCommandResponseData

type OBEXAbortCommandResponseData struct {
	ServerResponseOpCode OBEXOpCode
	HeaderDataPtr        unsafe.Pointer
	HeaderDataLength     uintptr
}

OBEXAbortCommandResponseData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXAbortCommandResponseData

type OBEXConnectCommandData

type OBEXConnectCommandData struct {
	HeaderDataPtr    unsafe.Pointer
	HeaderDataLength uintptr
	MaxPacketSize    OBEXMaxPacketLength
	Version          OBEXVersion
	Flags            OBEXFlags
}

OBEXConnectCommandData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXConnectCommandData

type OBEXConnectCommandResponseData

type OBEXConnectCommandResponseData struct {
	ServerResponseOpCode OBEXOpCode
	HeaderDataPtr        unsafe.Pointer
	HeaderDataLength     uintptr
	MaxPacketSize        OBEXMaxPacketLength
	Version              OBEXVersion
	Flags                OBEXFlags
}

OBEXConnectCommandResponseData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXConnectCommandResponseData

type OBEXConnectFlagValues

type OBEXConnectFlagValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXConnectFlagValues

const (
	KOBEXConnectFlag1Reserved                       OBEXConnectFlagValues = 2
	KOBEXConnectFlag2Reserved                       OBEXConnectFlagValues = 4
	KOBEXConnectFlag3Reserved                       OBEXConnectFlagValues = 8
	KOBEXConnectFlag4Reserved                       OBEXConnectFlagValues = 16
	KOBEXConnectFlag5Reserved                       OBEXConnectFlagValues = 32
	KOBEXConnectFlag6Reserved                       OBEXConnectFlagValues = 64
	KOBEXConnectFlag7Reserved                       OBEXConnectFlagValues = 128
	KOBEXConnectFlagNone                            OBEXConnectFlagValues = 0
	KOBEXConnectFlagSupportMultipleItLMPConnections OBEXConnectFlagValues = 1
)

func (OBEXConnectFlagValues) String

func (e OBEXConnectFlagValues) String() string

type OBEXDisconnectCommandData

type OBEXDisconnectCommandData struct {
	HeaderDataPtr    unsafe.Pointer
	HeaderDataLength uintptr
}

OBEXDisconnectCommandData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXDisconnectCommandData

type OBEXDisconnectCommandResponseData

type OBEXDisconnectCommandResponseData struct {
	ServerResponseOpCode OBEXOpCode
	HeaderDataPtr        unsafe.Pointer
	HeaderDataLength     uintptr
}

OBEXDisconnectCommandResponseData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXDisconnectCommandResponseData

type OBEXError

type OBEXError = int32

OBEXError is codes for OBEX errors. If the return value was not in the following range, then it is most likely resulting from kernel code/IOKit, and you should consult IOReturn.h for those codes.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXError

func IOBluetoothOBEXSessionCreateWithIOBluetoothDeviceRefAndChannelNumber deprecated

func IOBluetoothOBEXSessionCreateWithIOBluetoothDeviceRefAndChannelNumber(inDeviceRef IOBluetoothDeviceRef, inChannelID kernel.BluetoothRFCOMMChannelID, outSessionRef *OBEXSessionRef) OBEXError

IOBluetoothOBEXSessionCreateWithIOBluetoothDeviceRefAndChannelNumber create an OBEX session with a device ref and an RFCOMM channel ID.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSessionCreateWithIOBluetoothDeviceRefAndChannelNumber

func IOBluetoothOBEXSessionCreateWithIOBluetoothSDPServiceRecordRef deprecated

func IOBluetoothOBEXSessionCreateWithIOBluetoothSDPServiceRecordRef(inSDPServiceRef IOBluetoothSDPServiceRecordRef, outSessionRef *OBEXSessionRef) OBEXError

IOBluetoothOBEXSessionCreateWithIOBluetoothSDPServiceRecordRef create an OBEX session with a service ref, usually obtained from the device browser.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSessionCreateWithIOBluetoothSDPServiceRecordRef

func IOBluetoothOBEXSessionCreateWithIncomingIOBluetoothRFCOMMChannel deprecated

func IOBluetoothOBEXSessionCreateWithIncomingIOBluetoothRFCOMMChannel(inRFCOMMChannelRef IOBluetoothRFCOMMChannelRef, inCallback OBEXSessionEventCallback, inUserRefCon uintptr, outSessionRef *OBEXSessionRef) OBEXError

IOBluetoothOBEXSessionCreateWithIncomingIOBluetoothRFCOMMChannel create an OBEX session with an IOBluetoothRFCOMMchannel.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSessionCreateWithIncomingIOBluetoothRFCOMMChannel

func IOBluetoothOBEXSessionOpenTransportConnection deprecated

func IOBluetoothOBEXSessionOpenTransportConnection(inSessionRef OBEXSessionRef, inCallback IOBluetoothOBEXSessionOpenConnectionCallback, inUserRefCon uintptr) OBEXError

IOBluetoothOBEXSessionOpenTransportConnection.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/IOBluetoothOBEXSessionOpenTransportConnection

func OBEXAddApplicationParameterHeader

func OBEXAddApplicationParameterHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddApplicationParameterHeader add bytes representing an application parameter to a dictionary of OBEX headers.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddApplicationParameterHeader(_:_:_:)

func OBEXAddAuthorizationChallengeHeader

func OBEXAddAuthorizationChallengeHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddAuthorizationChallengeHeader add an authorization challenge header to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddAuthorizationChallengeHeader(_:_:_:)

func OBEXAddAuthorizationResponseHeader

func OBEXAddAuthorizationResponseHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddAuthorizationResponseHeader add an authorization Response header to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddAuthorizationResponseHeader(_:_:_:)

func OBEXAddBodyHeader

func OBEXAddBodyHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, isEndOfBody bool, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddBodyHeader add bytes of data to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddBodyHeader(_:_:_:_:)

func OBEXAddByteSequenceHeader

func OBEXAddByteSequenceHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddByteSequenceHeader add a byte sequence header to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddByteSequenceHeader(_:_:_:)

func OBEXAddConnectionIDHeader

func OBEXAddConnectionIDHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddConnectionIDHeader add bytes representing a connection ID to a dictionary of OBEX headers.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddConnectionIDHeader(_:_:_:)

func OBEXAddCountHeader

func OBEXAddCountHeader(count uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddCountHeader add a CFStringRef to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddCountHeader(_:_:)

func OBEXAddDescriptionHeader

func OBEXAddDescriptionHeader(description corefoundation.CFStringRef, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddDescriptionHeader add a CFStringRef to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddDescriptionHeader(_:_:)

func OBEXAddHTTPHeader

func OBEXAddHTTPHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddHTTPHeader add bytes of data to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddHTTPHeader(_:_:_:)

func OBEXAddLengthHeader

func OBEXAddLengthHeader(length uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddLengthHeader add a CFStringRef to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddLengthHeader(_:_:)

func OBEXAddNameHeader

OBEXAddNameHeader add a CFStringRef to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddNameHeader(_:_:)

func OBEXAddObjectClassHeader

func OBEXAddObjectClassHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddObjectClassHeader add an object class header to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddObjectClassHeader(_:_:_:)

func OBEXAddTargetHeader

func OBEXAddTargetHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddTargetHeader add bytes of data to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddTargetHeader(_:_:_:)

func OBEXAddTime4ByteHeader

func OBEXAddTime4ByteHeader(time4Byte uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddTime4ByteHeader add a CFStringRef to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddTime4ByteHeader(_:_:)

func OBEXAddTimeISOHeader

func OBEXAddTimeISOHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddTimeISOHeader add bytes to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddTimeISOHeader(_:_:_:)

func OBEXAddTypeHeader

OBEXAddTypeHeader add a CFStringRef to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddTypeHeader(_:_:)

func OBEXAddUserDefinedHeader

func OBEXAddUserDefinedHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddUserDefinedHeader add a user-defined custom header to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddUserDefinedHeader(_:_:_:)

func OBEXAddWhoHeader

func OBEXAddWhoHeader(inHeaderData unsafe.Pointer, inHeaderDataLength uint32, dictRef corefoundation.CFMutableDictionaryRef) OBEXError

OBEXAddWhoHeader add bytes of data to a dictionary of OBEXheaders.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXAddWhoHeader(_:_:_:)

func OBEXSessionAbort deprecated

func OBEXSessionAbort(inSessionRef OBEXSessionRef, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionAbort send an abort command to a remote OBEX server.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionAbort

func OBEXSessionAbortResponse deprecated

func OBEXSessionAbortResponse(inSessionRef OBEXSessionRef, inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionAbortResponse send a response to a abort command to the remote client.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionAbortResponse

func OBEXSessionConnect deprecated

func OBEXSessionConnect(inSessionRef OBEXSessionRef, inFlags OBEXFlags, inMaxPacketLength OBEXMaxPacketLength, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionConnect establishes an OBEX connection to the target device for the session.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionConnect

func OBEXSessionConnectResponse deprecated

func OBEXSessionConnectResponse(inSessionRef OBEXSessionRef, inResponseOpCode OBEXOpCode, inFlags OBEXFlags, inMaxPacketLength OBEXMaxPacketLength, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionConnectResponse send a response to a connect command to the remote client.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionConnectResponse

func OBEXSessionDelete deprecated

func OBEXSessionDelete(inSessionRef OBEXSessionRef) OBEXError

OBEXSessionDelete destroy an OBEX session.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionDelete

func OBEXSessionDisconnect deprecated

func OBEXSessionDisconnect(inSessionRef OBEXSessionRef, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionDisconnect send a disconnect command to a remote OBEX server.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionDisconnect

func OBEXSessionDisconnectResponse deprecated

func OBEXSessionDisconnectResponse(inSessionRef OBEXSessionRef, inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionDisconnectResponse send a response to a disconnect command to the remote client.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionDisconnectResponse

func OBEXSessionGet deprecated

func OBEXSessionGet(inSessionRef OBEXSessionRef, inIsFinalChunk bool, inHeadersData unsafe.Pointer, inHeadersDataLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionGet send a get command to a remote OBEX server.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionGet

func OBEXSessionGetAvailableCommandPayloadLength deprecated

func OBEXSessionGetAvailableCommandPayloadLength(inSessionRef OBEXSessionRef, inOpCode OBEXOpCode, outLength *OBEXMaxPacketLength) OBEXError

OBEXSessionGetAvailableCommandPayloadLength gets space available for your data for a particular command response you are trying to send.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionGetAvailableCommandPayloadLength

func OBEXSessionGetAvailableCommandResponsePayloadLength deprecated

func OBEXSessionGetAvailableCommandResponsePayloadLength(inSessionRef OBEXSessionRef, inOpCode OBEXOpCode, outLength *OBEXMaxPacketLength) OBEXError

OBEXSessionGetAvailableCommandResponsePayloadLength gets space available for your data for a particular command response you are trying to send.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionGetAvailableCommandResponsePayloadLength

func OBEXSessionGetMaxPacketLength deprecated

func OBEXSessionGetMaxPacketLength(inSessionRef OBEXSessionRef, outLength *OBEXMaxPacketLength) OBEXError

OBEXSessionGetMaxPacketLength gets current max packet length.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionGetMaxPacketLength

func OBEXSessionGetResponse deprecated

func OBEXSessionGetResponse(inSessionRef OBEXSessionRef, inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionGetResponse send a response to a get command to the remote client.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionGetResponse

func OBEXSessionHasOpenOBEXConnection deprecated

func OBEXSessionHasOpenOBEXConnection(inSessionRef OBEXSessionRef, outIsConnected *bool) OBEXError

OBEXSessionHasOpenOBEXConnection allows you to test the session for an open OBEX connection for a particular session.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionHasOpenOBEXConnection

func OBEXSessionPut deprecated

func OBEXSessionPut(inSessionRef OBEXSessionRef, inIsFinalChunk bool, inHeadersData unsafe.Pointer, inHeadersDataLength uintptr, inBodyData unsafe.Pointer, inBodyDataLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionPut send a put command to a remote OBEX server.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionPut

func OBEXSessionPutResponse deprecated

func OBEXSessionPutResponse(inSessionRef OBEXSessionRef, inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionPutResponse send a response to a put command to the remote client.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionPutResponse

func OBEXSessionSetPath deprecated

func OBEXSessionSetPath(inSessionRef OBEXSessionRef, inFlags OBEXFlags, inConstants OBEXConstants, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionSetPath send a set path command to a remote OBEX server.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionSetPath

func OBEXSessionSetPathResponse deprecated

func OBEXSessionSetPathResponse(inSessionRef OBEXSessionRef, inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionSetPathResponse send a response to a set path command to the remote client.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionSetPathResponse

func OBEXSessionSetServerCallback deprecated

func OBEXSessionSetServerCallback(inSessionRef OBEXSessionRef, inCallback OBEXSessionEventCallback, inUserRefCon uintptr) OBEXError

OBEXSessionSetServerCallback.

Deprecated: Deprecated since macOS 10.6.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionSetServerCallback

type OBEXErrorCodes

type OBEXErrorCodes int32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXErrorCodes

const (
	KOBEXBadArgumentError OBEXErrorCodes = -21854
	KOBEXBadRequestError  OBEXErrorCodes = -21856
	KOBEXCancelledError   OBEXErrorCodes = -21857
	KOBEXConflictError    OBEXErrorCodes = -21861
	// KOBEXErrorRangeMax: # Discussion
	KOBEXErrorRangeMax OBEXErrorCodes = -21899
	// KOBEXErrorRangeMin: # Discussion
	KOBEXErrorRangeMin                OBEXErrorCodes = -21850
	KOBEXForbiddenError               OBEXErrorCodes = -21858
	KOBEXGeneralError                 OBEXErrorCodes = -21850
	KOBEXInternalError                OBEXErrorCodes = -21853
	KOBEXMethodNotAllowedError        OBEXErrorCodes = -21862
	KOBEXNoResourcesError             OBEXErrorCodes = -21851
	KOBEXNotAcceptableError           OBEXErrorCodes = -21860
	KOBEXNotFoundError                OBEXErrorCodes = -21863
	KOBEXNotImplementedError          OBEXErrorCodes = -21864
	KOBEXPreconditionFailedError      OBEXErrorCodes = -21865
	KOBEXSessionAlreadyConnectedError OBEXErrorCodes = -21882
	KOBEXSessionBadRequestError       OBEXErrorCodes = -21877
	KOBEXSessionBadResponseError      OBEXErrorCodes = -21878
	KOBEXSessionBusyError             OBEXErrorCodes = -21875
	KOBEXSessionNoTransportError      OBEXErrorCodes = -21879
	KOBEXSessionNotConnectedError     OBEXErrorCodes = -21876
	KOBEXSessionTimeoutError          OBEXErrorCodes = -21881
	KOBEXSessionTransportDiedError    OBEXErrorCodes = -21880
	KOBEXSuccess                      OBEXErrorCodes = 0
	KOBEXTimeoutError                 OBEXErrorCodes = -21855
	KOBEXUnauthorizedError            OBEXErrorCodes = -21859
	KOBEXUnsupportedError             OBEXErrorCodes = -21852
)

func (OBEXErrorCodes) String

func (e OBEXErrorCodes) String() string

type OBEXErrorData

type OBEXErrorData struct {
	Error      OBEXError
	DataPtr    unsafe.Pointer
	DataLength uintptr
}

OBEXErrorData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXErrorData

type OBEXFileTransferServices

type OBEXFileTransferServices struct {
	objectivec.Object
}

Implements advanced OBEX operations in addition to simple PUT and GET.

Overview

All operations are asynchronous and will callback over a respective delegate method if the initial return value is successful. The initial return value usually concerns the state of this object where as the delegate return value reflects the response of the remote device.

Initializers

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices

func NewOBEXFileTransferServices

func NewOBEXFileTransferServices() OBEXFileTransferServices

NewOBEXFileTransferServices creates a new OBEXFileTransferServices instance.

func NewOBEXFileTransferServicesWithOBEXSession

func NewOBEXFileTransferServicesWithOBEXSession(inOBEXSession IIOBluetoothOBEXSession) OBEXFileTransferServices

Create a new OBEXFileTransferServices object

inOBEXSession: A valid IOBluetoothOBEXSession

Return Value

A newly created OBEXFileTransferServices object on success, nil on failure

Discussion

This object must be constructed with a valid IOBluetoothOBEXSession. The given IOBluetoothOBEXSession does not need to be connected to the remote server. OBEXFileTransferServices can be manually connected through the provided connection methods.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/init(obexSession:)

func OBEXFileTransferServicesFromID

func OBEXFileTransferServicesFromID(id objc.ID) OBEXFileTransferServices

OBEXFileTransferServicesFromID constructs a OBEXFileTransferServices from an objc.ID.

Implements advanced OBEX operations in addition to simple PUT and GET.

func (OBEXFileTransferServices) Abort

Abort the current operation

Return Value

kOBEXSuccess, or kOBEXGeneralError if no command is in progress. ABORT commands can only be sent on our turn, meaning we may have to timeout if the target side never responds to the command in progress. In that case this object will call back with a status of kOBEXTimeoutError and an error. Further results returned through the fileTransferServicesAbortComplete: delegate method if initially successful.

Discussion

Attempts send an abort request to the remote device. Returns the OBEXFileTransferServices object to an idle state though the state of the remote device is not guaranteed.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/abort()

func (OBEXFileTransferServices) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (OBEXFileTransferServices) ChangeCurrentFolderBackward

func (o OBEXFileTransferServices) ChangeCurrentFolderBackward() OBEXError

Change to the directory above the current level if not at the root

Return Value

kOBEXSuccess or kOBEXSessionBusyError initially. Further results returned through the fileTransferServicesPathChangeComplete: delegate method if initially successful.

Discussion

Equivalent to ‘cd ..’ only if remote path is not already at root.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/changeCurrentFolderBackward()

func (OBEXFileTransferServices) ChangeCurrentFolderForwardToPath

func (o OBEXFileTransferServices) ChangeCurrentFolderForwardToPath(inDirName string) OBEXError

Change the remote path

inDirName: The name of the remote folder to be set as current

Return Value

kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further results returned through the fileTransferServicesPathChangeComplete: delegate method if initially successful.

Discussion

Equivalent to ‘cd dirName’.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/changeCurrentFolderForward(toPath:)

func (OBEXFileTransferServices) ChangeCurrentFolderToRoot

func (o OBEXFileTransferServices) ChangeCurrentFolderToRoot() OBEXError

Asynchronously change to the remote root directory

Discussion

Equivalent to ‘cd ~/’

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/changeCurrentFolderToRoot()

func (OBEXFileTransferServices) ConnectToFTPService

func (o OBEXFileTransferServices) ConnectToFTPService() OBEXError

Connect to a remote device for FTP operations

Return Value

kOBEXSuccess, kOBEXSessionBusyError, or kOBEXSessionAlreadyConnectedError, kOBEXNoResourcesError initially. Further results returned through the fileTransferServicesConnectionComplete: delegate method if initially successful.

Discussion

If the OBEXSession given to OBEXFileTransferServices on creation is not connected it can be manually connected through this method.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/connectToFTPService()

func (OBEXFileTransferServices) ConnectToObjectPushService

func (o OBEXFileTransferServices) ConnectToObjectPushService() OBEXError

Connect to a remote device for ObjectPush operations. Most of the FTP functionality of this object will be disabled.

Return Value

kOBEXSuccess, kOBEXSessionBusyError, or kOBEXSessionAlreadyConnectedError, kOBEXNoResourcesError initially. Further results returned through the fileTransferServicesConnectionComplete: delegate method if initially successful.

Discussion

If the OBEXSession given to OBEXFileTransferServices on creation is not connected it can be manually connected through this method.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/connectToObjectPushService()

func (OBEXFileTransferServices) CopyRemoteFileToLocalPath

func (o OBEXFileTransferServices) CopyRemoteFileToLocalPath(inRemoteFileName string, inLocalPathAndName string) OBEXError

Copy a remote file to a local path

inRemoteFileName: The name of the remote file to get

inLocalPathAndName: The path and name of where the received file will go

Return Value

kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError. initially. Further results returned through the fileTransferServicesGetComplete: and fileTransferServicesGetProgress: delegate methods if initially successful.

Discussion

Equivalent to ‘cp remotePath/remoteFileName localPathAndName’.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/copyRemoteFile(_:toLocalPath:)

func (OBEXFileTransferServices) CreateFolder

func (o OBEXFileTransferServices) CreateFolder(inDirName string) OBEXError

Create a folder on the remote target

inDirName: The name of the folder to be created

Return Value

kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further results returned through the fileTransferServicesCreateFolderComplete delegate method if initially successful.

Discussion

Equivalent to ‘mkdir dirName’.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/createFolder(_:)

func (OBEXFileTransferServices) CurrentPath

func (o OBEXFileTransferServices) CurrentPath() string

Get the remote current directory path during an FTP session

Return Value

The current path being browsed over FTP

Discussion

This path is changed with each path-specific command called on OBEXFileTransferServices.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/currentPath()

func (OBEXFileTransferServices) Disconnect

func (o OBEXFileTransferServices) Disconnect() OBEXError

Disconnect from the remote device

Return Value

kOBEXSuccess, kOBEXSessionNotConnectedError, or kOBEXSessionBusyError initially. Further results returned through the fileTransferServicesDisconnectionComplete: delegate method if initially successful.

Discussion

The user can manually disconnect the OBEXSession from the remote device if they want to. OBEXFileTransferServices will disconnect the OBEXSession at release only if it was responsible for opening the connection via a connect method.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/disconnect()

func (OBEXFileTransferServices) GetDefaultVCard

func (o OBEXFileTransferServices) GetDefaultVCard(inLocalPathAndName string) OBEXError

Get the remote default VCard, if it is supported

inLocalPathAndName: The path and name of where the received file will go

Return Value

kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further results returned through the fileTransferServicesGetComplete: and fileTransferServicesGetProgress: delegate methods if initially successful.

Discussion

Some devices such as cellphones and computers support default VCards

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/getDefaultVCard(_:)

func (OBEXFileTransferServices) Init

Init initializes the instance.

func (OBEXFileTransferServices) InitWithOBEXSession

func (o OBEXFileTransferServices) InitWithOBEXSession(inOBEXSession IIOBluetoothOBEXSession) OBEXFileTransferServices

Create a new OBEXFileTransferServices object

inOBEXSession: A valid IOBluetoothOBEXSession

Return Value

A newly created OBEXFileTransferServices object on success, nil on failure

Discussion

This object must be constructed with a valid IOBluetoothOBEXSession. The given IOBluetoothOBEXSession does not need to be connected to the remote server. OBEXFileTransferServices can be manually connected through the provided connection methods.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/init(obexSession:)

func (OBEXFileTransferServices) IsBusy

func (o OBEXFileTransferServices) IsBusy() bool

Get the action state of the module

Return Value

Success or failure code.

Discussion

OBEXFileTransferServices will be considered “busy” when an operation in taking place or has not completed. Calling abort: on this module will not automatically reset its busy state. The user will have to wait for the operation to complete or for the current operation to timeout.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/isBusy()

func (OBEXFileTransferServices) IsConnected

func (o OBEXFileTransferServices) IsConnected() bool

Get the connected state of this module.

Return Value

Success or failure code.

Discussion

Asks the OBEXSession that was passed to it on creation if it has an open OBEX connection

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/isConnected()

func (OBEXFileTransferServices) RemoveItem

func (o OBEXFileTransferServices) RemoveItem(inItemName string) OBEXError

Remove a remote item.

inItemName: The name of the remote item to be removed

Return Value

kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further results returned through the fileTransferServicesRemoveItemComplete: delegate method if initially successful.

Discussion

Not supported for use on Apple computer targets

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/removeItem(_:)

func (OBEXFileTransferServices) RetrieveFolderListing

func (o OBEXFileTransferServices) RetrieveFolderListing() OBEXError

Get a remote directory listing

Return Value

kOBEXSuccess or kOBEXSessionBusyError initially. Further results returned through the fileTransferServicesRetrieveFolderListingComplete: delegate method if initially successful.

Discussion

Equivalent to ‘ls’.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/retrieveFolderListing()

func (OBEXFileTransferServices) SendDataTypeName

func (o OBEXFileTransferServices) SendDataTypeName(inData foundation.NSData, inType string, inName string) OBEXError

Send data to a remote target

inData: The data to be sent

inType: The type of the data to be sent that will be used in the OBEX type header, usually a mime-type. For example, use “text/x-vCard” when sending vCards. This argument is optional.

inName: The name of the file that the data can be referenced as.

Return Value

kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further results returned through the fileTransferServicesSendComplete: and fileTransferServicesSendProgress: delegate methods if initially successful.

Discussion

Use this method when you have data to send but no file to read from.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/send(_:type:name:)

func (OBEXFileTransferServices) SendFile

func (o OBEXFileTransferServices) SendFile(inLocalPathAndName string) OBEXError

Put a local file to the remote target

inLocalPathAndName: The name and path of the file to be sent an instance of OBEXFilePut.

Return Value

kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further results returned through the fileTransferServicesSendComplete: and fileTransferServicesSendProgress: delegate methods if initially successful.

Discussion

Equivalent to ‘mv inLocalFilePath remoteCurrentPath’.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/sendFile(_:)

func (OBEXFileTransferServices) SetDelegate

func (o OBEXFileTransferServices) SetDelegate(value objectivec.IObject)

type OBEXFileTransferServicesClass

type OBEXFileTransferServicesClass struct {
	// contains filtered or unexported fields
}

func GetOBEXFileTransferServicesClass

func GetOBEXFileTransferServicesClass() OBEXFileTransferServicesClass

GetOBEXFileTransferServicesClass returns the class object for OBEXFileTransferServices.

func (OBEXFileTransferServicesClass) Alloc

Alloc allocates memory for a new instance of the class.

func (OBEXFileTransferServicesClass) Class

Class returns the underlying Objective-C class pointer.

func (OBEXFileTransferServicesClass) WithOBEXSession

func (_OBEXFileTransferServicesClass OBEXFileTransferServicesClass) WithOBEXSession(inOBEXSession IIOBluetoothOBEXSession) OBEXFileTransferServices

Create a new OBEXFileTransferServices object

inOBEXSession: A valid IOBluetoothOBEXSession

Return Value

A newly created OBEXFileTransferServices object on success, nil on failure

Discussion

This object must be constructed with a valid IOBluetoothOBEXSession. The given IOBluetoothOBEXSession does not need to be connected to the remote server. This module can be manually connected through the connect() method.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXFileTransferServices/withOBEXSession(_:)

type OBEXGetCommandData

type OBEXGetCommandData struct {
	HeaderDataPtr    unsafe.Pointer
	HeaderDataLength uintptr
}

OBEXGetCommandData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXGetCommandData

type OBEXGetCommandResponseData

type OBEXGetCommandResponseData struct {
	ServerResponseOpCode OBEXOpCode
	HeaderDataPtr        unsafe.Pointer
	HeaderDataLength     uintptr
}

OBEXGetCommandResponseData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXGetCommandResponseData

type OBEXHeaderIdentifiers

type OBEXHeaderIdentifiers uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXHeaderIdentifiers

const (
	// KOBEXHeaderIDAppParameters: # Discussion
	KOBEXHeaderIDAppParameters OBEXHeaderIdentifiers = 0x4c
	// KOBEXHeaderIDAuthorizationChallenge: # Discussion
	KOBEXHeaderIDAuthorizationChallenge OBEXHeaderIdentifiers = 0x4d
	// KOBEXHeaderIDAuthorizationResponse: # Discussion
	KOBEXHeaderIDAuthorizationResponse OBEXHeaderIdentifiers = 0x4e
	// KOBEXHeaderIDBody: # Discussion
	KOBEXHeaderIDBody OBEXHeaderIdentifiers = 0x48
	// KOBEXHeaderIDConnectionID: # Discussion
	KOBEXHeaderIDConnectionID OBEXHeaderIdentifiers = 0xcb
	// KOBEXHeaderIDCount: # Discussion
	KOBEXHeaderIDCount OBEXHeaderIdentifiers = 0xc0
	// KOBEXHeaderIDDescription: # Discussion
	KOBEXHeaderIDDescription OBEXHeaderIdentifiers = 0x5
	// KOBEXHeaderIDEndOfBody: # Discussion
	KOBEXHeaderIDEndOfBody OBEXHeaderIdentifiers = 0x49
	// KOBEXHeaderIDHTTP: # Discussion
	KOBEXHeaderIDHTTP OBEXHeaderIdentifiers = 0x47
	// KOBEXHeaderIDLength: # Discussion
	KOBEXHeaderIDLength OBEXHeaderIdentifiers = 0xc3
	// KOBEXHeaderIDName: # Discussion
	KOBEXHeaderIDName OBEXHeaderIdentifiers = 0x1
	// KOBEXHeaderIDOBEX13CreatorID: # Discussion
	KOBEXHeaderIDOBEX13CreatorID OBEXHeaderIdentifiers = 0xcf
	// KOBEXHeaderIDOBEX13ObjectClass: # Discussion
	KOBEXHeaderIDOBEX13ObjectClass OBEXHeaderIdentifiers = 0x51
	// KOBEXHeaderIDOBEX13SessionParameters: # Discussion
	KOBEXHeaderIDOBEX13SessionParameters OBEXHeaderIdentifiers = 0x52
	// KOBEXHeaderIDOBEX13SessionSequenceNumber: # Discussion
	KOBEXHeaderIDOBEX13SessionSequenceNumber OBEXHeaderIdentifiers = 0x93
	// KOBEXHeaderIDOBEX13WANUUID: # Discussion
	KOBEXHeaderIDOBEX13WANUUID OBEXHeaderIdentifiers = 0x50
	// KOBEXHeaderIDObjectClass: # Discussion
	KOBEXHeaderIDObjectClass OBEXHeaderIdentifiers = 0x4f
	// KOBEXHeaderIDReservedRangeEnd: # Discussion
	KOBEXHeaderIDReservedRangeEnd OBEXHeaderIdentifiers = 0x2f
	// KOBEXHeaderIDReservedRangeStart: # Discussion
	KOBEXHeaderIDReservedRangeStart OBEXHeaderIdentifiers = 0x10
	// KOBEXHeaderIDTarget: # Discussion
	KOBEXHeaderIDTarget OBEXHeaderIdentifiers = 0x46
	// KOBEXHeaderIDTime4Byte: # Discussion
	KOBEXHeaderIDTime4Byte OBEXHeaderIdentifiers = 0xc4
	// KOBEXHeaderIDTimeISO: # Discussion
	KOBEXHeaderIDTimeISO OBEXHeaderIdentifiers = 0x44
	// KOBEXHeaderIDType: # Discussion
	KOBEXHeaderIDType OBEXHeaderIdentifiers = 0x42
	// KOBEXHeaderIDUserDefinedRangeEnd: # Discussion
	KOBEXHeaderIDUserDefinedRangeEnd OBEXHeaderIdentifiers = 0x3f
	// KOBEXHeaderIDUserDefinedRangeStart: # Discussion
	KOBEXHeaderIDUserDefinedRangeStart OBEXHeaderIdentifiers = 0x30
	// KOBEXHeaderIDWho: # Discussion
	KOBEXHeaderIDWho OBEXHeaderIdentifiers = 0x4a
)

func (OBEXHeaderIdentifiers) String

func (e OBEXHeaderIdentifiers) String() string

type OBEXNonceFlagValues

type OBEXNonceFlagValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXNonceFlagValues

const (
	KOBEXNonceFlag2Reserved            OBEXNonceFlagValues = 4
	KOBEXNonceFlag3Reserved            OBEXNonceFlagValues = 8
	KOBEXNonceFlag4Reserved            OBEXNonceFlagValues = 16
	KOBEXNonceFlag5Reserved            OBEXNonceFlagValues = 32
	KOBEXNonceFlag6Reserved            OBEXNonceFlagValues = 64
	KOBEXNonceFlag7Reserved            OBEXNonceFlagValues = 128
	KOBEXNonceFlagAccessModeReadOnly   OBEXNonceFlagValues = 2
	KOBEXNonceFlagNone                 OBEXNonceFlagValues = 0
	KOBEXNonceFlagSendUserIDInResponse OBEXNonceFlagValues = 1
)

func (OBEXNonceFlagValues) String

func (e OBEXNonceFlagValues) String() string

type OBEXOpCodeCommandValues

type OBEXOpCodeCommandValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXOpCodeCommandValues

const (
	KOBEXOpCodeAbort                  OBEXOpCodeCommandValues = 0xff
	KOBEXOpCodeConnect                OBEXOpCodeCommandValues = 0x80
	KOBEXOpCodeDisconnect             OBEXOpCodeCommandValues = 0x81
	KOBEXOpCodeGet                    OBEXOpCodeCommandValues = 0x3
	KOBEXOpCodeGetWithHighBitSet      OBEXOpCodeCommandValues = 0x83
	KOBEXOpCodePut                    OBEXOpCodeCommandValues = 0x2
	KOBEXOpCodePutWithHighBitSet      OBEXOpCodeCommandValues = 0x82
	KOBEXOpCodeReserved               OBEXOpCodeCommandValues = 0x4
	KOBEXOpCodeReservedRangeEnd       OBEXOpCodeCommandValues = 0xf
	KOBEXOpCodeReservedRangeStart     OBEXOpCodeCommandValues = 0x6
	KOBEXOpCodeReservedWithHighBitSet OBEXOpCodeCommandValues = 0x84
	KOBEXOpCodeSetPath                OBEXOpCodeCommandValues = 0x85
	KOBEXOpCodeUserDefinedEnd         OBEXOpCodeCommandValues = 0x1f
	KOBEXOpCodeUserDefinedStart       OBEXOpCodeCommandValues = 0x10
)

func (OBEXOpCodeCommandValues) String

func (e OBEXOpCodeCommandValues) String() string

type OBEXOpCodeResponseValues

type OBEXOpCodeResponseValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXOpCodeResponseValues

const (
	KOBEXResponseCodeAccepted                                OBEXOpCodeResponseValues = 0x22
	KOBEXResponseCodeAcceptedWithFinalBit                    OBEXOpCodeResponseValues = 0xa2
	KOBEXResponseCodeBadGateway                              OBEXOpCodeResponseValues = 0x52
	KOBEXResponseCodeBadGatewayWithFinalBit                  OBEXOpCodeResponseValues = 0xd2
	KOBEXResponseCodeBadRequest                              OBEXOpCodeResponseValues = 0x40
	KOBEXResponseCodeBadRequestWithFinalBit                  OBEXOpCodeResponseValues = 0xc0
	KOBEXResponseCodeConflict                                OBEXOpCodeResponseValues = 0x49
	KOBEXResponseCodeConflictWithFinalBit                    OBEXOpCodeResponseValues = 0xc9
	KOBEXResponseCodeContinue                                OBEXOpCodeResponseValues = 0x10
	KOBEXResponseCodeContinueWithFinalBit                    OBEXOpCodeResponseValues = 0x90
	KOBEXResponseCodeCreated                                 OBEXOpCodeResponseValues = 0x21
	KOBEXResponseCodeCreatedWithFinalBit                     OBEXOpCodeResponseValues = 0xa1
	KOBEXResponseCodeDatabaseFull                            OBEXOpCodeResponseValues = 0x60
	KOBEXResponseCodeDatabaseFullWithFinalBit                OBEXOpCodeResponseValues = 0xe0
	KOBEXResponseCodeDatabaseLocked                          OBEXOpCodeResponseValues = 0x61
	KOBEXResponseCodeDatabaseLockedWithFinalBit              OBEXOpCodeResponseValues = 0xe1
	KOBEXResponseCodeForbidden                               OBEXOpCodeResponseValues = 0x43
	KOBEXResponseCodeForbiddenWithFinalBit                   OBEXOpCodeResponseValues = 0xc3
	KOBEXResponseCodeGatewayTimeout                          OBEXOpCodeResponseValues = 0x54
	KOBEXResponseCodeGatewayTimeoutWithFinalBit              OBEXOpCodeResponseValues = 0xd4
	KOBEXResponseCodeGone                                    OBEXOpCodeResponseValues = 0x4a
	KOBEXResponseCodeGoneWithFinalBit                        OBEXOpCodeResponseValues = 0xca
	KOBEXResponseCodeHTTPVersionNotSupported                 OBEXOpCodeResponseValues = 0x55
	KOBEXResponseCodeHTTPVersionNotSupportedWithFinalBit     OBEXOpCodeResponseValues = 0xd5
	KOBEXResponseCodeInternalServerError                     OBEXOpCodeResponseValues = 0x50
	KOBEXResponseCodeInternalServerErrorWithFinalBit         OBEXOpCodeResponseValues = 0xd0
	KOBEXResponseCodeLengthRequired                          OBEXOpCodeResponseValues = 0x4b
	KOBEXResponseCodeLengthRequiredFinalBit                  OBEXOpCodeResponseValues = 0xcb
	KOBEXResponseCodeMethodNotAllowed                        OBEXOpCodeResponseValues = 0x45
	KOBEXResponseCodeMethodNotAllowedWithFinalBit            OBEXOpCodeResponseValues = 0xc5
	KOBEXResponseCodeMovedPermanently                        OBEXOpCodeResponseValues = 0x31
	KOBEXResponseCodeMovedPermanentlyWithFinalBit            OBEXOpCodeResponseValues = 0xb1
	KOBEXResponseCodeMovedTemporarily                        OBEXOpCodeResponseValues = 0x32
	KOBEXResponseCodeMovedTemporarilyWithFinalBit            OBEXOpCodeResponseValues = 0xb2
	KOBEXResponseCodeMultipleChoices                         OBEXOpCodeResponseValues = 0x30
	KOBEXResponseCodeMultipleChoicesWithFinalBit             OBEXOpCodeResponseValues = 0xb0
	KOBEXResponseCodeNoContent                               OBEXOpCodeResponseValues = 0x24
	KOBEXResponseCodeNoContentWithFinalBit                   OBEXOpCodeResponseValues = 0xa4
	KOBEXResponseCodeNonAuthoritativeInfo                    OBEXOpCodeResponseValues = 0x23
	KOBEXResponseCodeNonAuthoritativeInfoWithFinalBit        OBEXOpCodeResponseValues = 0xa3
	KOBEXResponseCodeNotAcceptable                           OBEXOpCodeResponseValues = 0x46
	KOBEXResponseCodeNotAcceptableWithFinalBit               OBEXOpCodeResponseValues = 0xc6
	KOBEXResponseCodeNotFound                                OBEXOpCodeResponseValues = 0x44
	KOBEXResponseCodeNotFoundWithFinalBit                    OBEXOpCodeResponseValues = 0xc4
	KOBEXResponseCodeNotImplemented                          OBEXOpCodeResponseValues = 0x51
	KOBEXResponseCodeNotImplementedWithFinalBit              OBEXOpCodeResponseValues = 0xd1
	KOBEXResponseCodeNotModified                             OBEXOpCodeResponseValues = 0x34
	KOBEXResponseCodeNotModifiedWithFinalBit                 OBEXOpCodeResponseValues = 0xb4
	KOBEXResponseCodePartialContent                          OBEXOpCodeResponseValues = 0x26
	KOBEXResponseCodePartialContentWithFinalBit              OBEXOpCodeResponseValues = 0xa6
	KOBEXResponseCodePaymentRequired                         OBEXOpCodeResponseValues = 0x42
	KOBEXResponseCodePaymentRequiredWithFinalBit             OBEXOpCodeResponseValues = 0xc2
	KOBEXResponseCodePreconditionFailed                      OBEXOpCodeResponseValues = 0x4c
	KOBEXResponseCodePreconditionFailedWithFinalBit          OBEXOpCodeResponseValues = 0xcc
	KOBEXResponseCodeProxyAuthenticationRequired             OBEXOpCodeResponseValues = 0x47
	KOBEXResponseCodeProxyAuthenticationRequiredWithFinalBit OBEXOpCodeResponseValues = 0xc7
	KOBEXResponseCodeRequestTimeOut                          OBEXOpCodeResponseValues = 0x48
	KOBEXResponseCodeRequestTimeOutWithFinalBit              OBEXOpCodeResponseValues = 0xc8
	KOBEXResponseCodeRequestURLTooLarge                      OBEXOpCodeResponseValues = 0x4e
	KOBEXResponseCodeRequestURLTooLargeWithFinalBit          OBEXOpCodeResponseValues = 0xce
	KOBEXResponseCodeRequestedEntityTooLarge                 OBEXOpCodeResponseValues = 0x4d
	KOBEXResponseCodeRequestedEntityTooLargeWithFinalBit     OBEXOpCodeResponseValues = 0xcd
	KOBEXResponseCodeReservedRangeEnd                        OBEXOpCodeResponseValues = 0xf
	KOBEXResponseCodeReservedRangeStart                      OBEXOpCodeResponseValues = 0
	KOBEXResponseCodeResetContent                            OBEXOpCodeResponseValues = 0x25
	KOBEXResponseCodeResetContentWithFinalBit                OBEXOpCodeResponseValues = 0xa5
	KOBEXResponseCodeSeeOther                                OBEXOpCodeResponseValues = 0x33
	KOBEXResponseCodeSeeOtherWithFinalBit                    OBEXOpCodeResponseValues = 0xb3
	KOBEXResponseCodeServiceUnavailable                      OBEXOpCodeResponseValues = 0x53
	KOBEXResponseCodeServiceUnavailableWithFinalBit          OBEXOpCodeResponseValues = 0xd3
	KOBEXResponseCodeSuccess                                 OBEXOpCodeResponseValues = 0x20
	KOBEXResponseCodeSuccessWithFinalBit                     OBEXOpCodeResponseValues = 0xa0
	KOBEXResponseCodeUnauthorized                            OBEXOpCodeResponseValues = 0x41
	KOBEXResponseCodeUnauthorizedWithFinalBit                OBEXOpCodeResponseValues = 0xc1
	KOBEXResponseCodeUnsupportedMediaType                    OBEXOpCodeResponseValues = 0x4f
	KOBEXResponseCodeUnsupportedMediaTypeWithFinalBit        OBEXOpCodeResponseValues = 0xcf
	KOBEXResponseCodeUseProxy                                OBEXOpCodeResponseValues = 0x35
	KOBEXResponseCodeUseProxyWithFinalBit                    OBEXOpCodeResponseValues = 0xb5
)

func (OBEXOpCodeResponseValues) String

func (e OBEXOpCodeResponseValues) String() string

type OBEXOpCodeSessionValues

type OBEXOpCodeSessionValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXOpCodeSessionValues

const (
	KOBEXOpCodeCloseSession   OBEXOpCodeSessionValues = 0x1
	KOBEXOpCodeCreateSession  OBEXOpCodeSessionValues = 0
	KOBEXOpCodeResumeSession  OBEXOpCodeSessionValues = 0x3
	KOBEXOpCodeSetTimeout     OBEXOpCodeSessionValues = 0x4
	KOBEXOpCodeSuspendSession OBEXOpCodeSessionValues = 0x2
)

func (OBEXOpCodeSessionValues) String

func (e OBEXOpCodeSessionValues) String() string

type OBEXPutCommandData

type OBEXPutCommandData struct {
	HeaderDataPtr      unsafe.Pointer
	HeaderDataLength   uintptr
	BodyDataLeftToSend uintptr
}

OBEXPutCommandData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXPutCommandData

type OBEXPutCommandResponseData

type OBEXPutCommandResponseData struct {
	ServerResponseOpCode OBEXOpCode
	HeaderDataPtr        unsafe.Pointer
	HeaderDataLength     uintptr
}

OBEXPutCommandResponseData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXPutCommandResponseData

type OBEXPutFlagValues

type OBEXPutFlagValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXPutFlagValues

const (
	KOBEXPutFlag2Reserved           OBEXPutFlagValues = 4
	KOBEXPutFlag3Reserved           OBEXPutFlagValues = 8
	KOBEXPutFlag4Reserved           OBEXPutFlagValues = 16
	KOBEXPutFlag5Reserved           OBEXPutFlagValues = 32
	KOBEXPutFlag6Reserved           OBEXPutFlagValues = 64
	KOBEXPutFlag7Reserved           OBEXPutFlagValues = 128
	KOBEXPutFlagDontCreateDirectory OBEXPutFlagValues = 2
	KOBEXPutFlagGoToParentDirFirst  OBEXPutFlagValues = 1
	KOBEXPutFlagNone                OBEXPutFlagValues = 0
)

func (OBEXPutFlagValues) String

func (e OBEXPutFlagValues) String() string

type OBEXRealmValues

type OBEXRealmValues uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXRealmValues

const (
	KOBEXRealmASCII    OBEXRealmValues = 0
	KOBEXRealmISO88591 OBEXRealmValues = 0x1
	KOBEXRealmISO88592 OBEXRealmValues = 0x2
	KOBEXRealmISO88593 OBEXRealmValues = 0x3
	KOBEXRealmISO88594 OBEXRealmValues = 0x4
	KOBEXRealmISO88595 OBEXRealmValues = 0x5
	KOBEXRealmISO88596 OBEXRealmValues = 0x6
	KOBEXRealmISO88597 OBEXRealmValues = 0x7
	KOBEXRealmISO88598 OBEXRealmValues = 0x8
	KOBEXRealmISO88599 OBEXRealmValues = 0x9
	KOBEXRealmUNICODE  OBEXRealmValues = 0xff
)

func (OBEXRealmValues) String

func (e OBEXRealmValues) String() string

type OBEXSession

type OBEXSession struct {
	objectivec.Object
}

Object representing an OBEX connection to a remote target.

Overview

You will have no need for a obtaining/using a raw OBEXSession, since it requires an underlying transport to do anything useful. However, once you have an object that is a subclass of this class, you can use the functions herein to manipulate that OBEXSession. First off, you will want to use OBEXConnect (if you are a client session) to actually cause the transport to open a connection to a remote target and establish an OBEX connection over it. From there you can issue more commands based on the responses from a server.

If you are a server session, the first thing you should receive is an OBEXConnect command packet, and you will want to issue an OBEXConnectResponse packet, with your reesponse to that command (success, denied, bad request, etc.).

You can use the session accessors to access certain information, such as the negotiated max packet length.

If you wish to implement your own OBEXSession over a transport such as ethernet, you will need to see the end of the file to determine which functions to override, and what to pass to those functions.

No timeout mechanism has been implemented so far for an OBEXSessions. If you need timeouts, you will need to implement them yourself. This is being explored for a future revision. However, be aware that the OBEX Specification does not explicitly require timeouts, so be sure you allow ample time for commands to complete, as some devices may be slow when sending large amounts of data.

Instance Methods

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession

func NewOBEXSession

func NewOBEXSession() OBEXSession

NewOBEXSession creates a new OBEXSession instance.

func OBEXSessionFromID

func OBEXSessionFromID(id objc.ID) OBEXSession

OBEXSessionFromID constructs a OBEXSession from an objc.ID.

Object representing an OBEX connection to a remote target.

func (OBEXSession) Autorelease

func (o OBEXSession) Autorelease() OBEXSession

Autorelease adds the receiver to the current autorelease pool.

func (OBEXSession) ClientHandleIncomingData

func (o OBEXSession) ClientHandleIncomingData(event *OBEXTransportEvent)

Tranport subclasses need to invoke this from their own data-receive handlers. For example, when data is received over a Bluetooth RFCOMM channel in the IOBluetoothOBEXSession, it in turn calls this to dispatch the data. If you do not handle this case, your server session will not work, guaranteed.

event: New event received from the transport.

Discussion

Tranport subclasses must call this for OBEX client sessions to work!

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/clientHandleIncomingData(_:)

func (OBEXSession) CloseTransportConnection

func (o OBEXSession) CloseTransportConnection() OBEXError

You must override this - it will be called when the transport connection should be shutdown.

Return Value

Return whether or not the transport connection was closed successfully or not. Return OBEXSuccess ( 0 ) on success, otherwise an error code.

Discussion

Tranport subclasses must override this! When called you should take whatever steps are necessary to actually close down the transport connection.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/closeTransportConnection()

func (OBEXSession) GetAvailableCommandPayloadLength

func (o OBEXSession) GetAvailableCommandPayloadLength(inOpCode OBEXOpCode) OBEXMaxPacketLength

Determine the maximum amount of data you can send in a particular command as an OBEX client session.

inOpCode: The opcode you are interested in sending (as a client).

Return Value

The maximum amount of data a particular packet can handle, after accounting for any command overhead.

Discussion

Each OBEX Command has a certain amount of overhead. Since the negotiated max packet length does not indicate what the maximum data amount you can send in a particular command’s packet, you can use this function to determine how much data to provide in optional headers or body data headers.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/getAvailableCommandPayloadLength(_:)

func (OBEXSession) GetAvailableCommandResponsePayloadLength

func (o OBEXSession) GetAvailableCommandResponsePayloadLength(inOpCode OBEXOpCode) OBEXMaxPacketLength

Determine the maximum amount of data you can send in a particular command response as an OBEX server session.

inOpCode: The opcode you are interested in responding to (as a server).

Return Value

The maximum amount of data a particular packet can handle, after accounting for any command response overhead.

Discussion

Each OBEX Command response has a certain amount of overhead. Since the negotiated max packet length does not indicate what the maximum data amount you can send in a particular response’s packet, you can use this function to determine how much data to provide in optional headers or body data headers.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/getAvailableCommandResponsePayloadLength(_:)

func (OBEXSession) GetMaxPacketLength

func (o OBEXSession) GetMaxPacketLength() OBEXMaxPacketLength

Gets current max packet length.

Return Value

Max packet length.

Discussion

This value could change before and after a connect command has been sent or a connect command response has been received, since the recipient could negotiate a lower max packet size.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/getMaxPacketLength()

func (OBEXSession) HasOpenOBEXConnection

func (o OBEXSession) HasOpenOBEXConnection() bool

Has a successful connect packet been sent and received? This API tells you so.

Return Value

True or false, we are OBEX-connected to another OBEX entity.

Discussion

A “transport” connection may exist (such as a Bluetooth baseband connection), but the OBEX connection may not be established over that transport. If it has been, this function returns true.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/hasOpenOBEXConnection()

func (OBEXSession) HasOpenTransportConnection

func (o OBEXSession) HasOpenTransportConnection() bool

You must override this - it will be called periodically to determine if a transport connection is open or not.

Return Value

Return whether or not the transport connection is still open.

Discussion

Tranport subclasses must override this! When called you simply return if the transport connection is still open or not.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/hasOpenTransportConnection()

func (OBEXSession) Init

func (o OBEXSession) Init() OBEXSession

Init initializes the instance.

func (OBEXSession) OBEXAbortOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXAbortOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send an OBEX Abort command to the session’s target.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXAbortHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the transport. You will receive a response to your command on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexAbort(_:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXAbortResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXAbortResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send an abort response to a session’s target.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

`- (void)OBEXAbortResponseHandler:(const OBEXSessionEvent*)inSessionEvent;`

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the underlying OBEX transport. You will receive any responses to your command response on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexAbortResponse(_:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXConnectMaxPacketLengthOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXConnectMaxPacketLengthOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inFlags OBEXFlags, inMaxPacketLength OBEXMaxPacketLength, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Initiate an OBEX connection to a device. Causes underlying transport (Bluetooth, et al) to attempt to connect to a remote device. After success, an OBEX connect packet is sent to establish the OBEX Connection.

inFlags: OBEX connect flags. See OBEX.h for possibilities.

inMaxPacketLength: Maximum packet size you want to support. May be negotiated down, depending on target device.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXConnectHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the transport. You will receive a response to your command on your selector. If you have already established an OBEX connection and you call this again you will get an ‘kOBEXSessionAlreadyConnectedError’ as a result.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexConnect(_:maxPacketLength:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXConnectResponseFlagsMaxPacketLengthOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXConnectResponseFlagsMaxPacketLengthOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inFlags OBEXFlags, inMaxPacketLength OBEXMaxPacketLength, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send a connect response to a session’s target.

inResponseOpCode: OBEX response constant. See OBEX.h for possibilities.

inFlags: OBEX connect flags. See OBEX.h for possibilities.

inMaxPacketLength: Maximum packet size you want your OBEX session to communicate with. This MUST be lower than the max packet size the client has reported to you in the connect command you received from it.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXConnectResponseHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the underlying OBEX transport. You will receive any responses to your command response on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexConnectResponse(_:flags:maxPacketLength:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXDisconnectOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXDisconnectOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send an OBEX Disconnect command to the session’s target. THIS DOES NOT necessarily close the underlying transport connection. Deleting the session will ensure that closure.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXDisconnectHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the transport. You will receive a response to your command on your selector. Be careful not to exceed the max packet length in your optional headers, or your command will be rejected. It is recommended that you call getMaxPacketLength on your session before issuing this command so you know how much data the session’s target will accept in a single transaction.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexDisconnect(_:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXDisconnectResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXDisconnectResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send a disconnect response to a session’s target.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXDisconnectResponseHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the underlying OBEX transport. You will receive any responses to your command response on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexDisconnectResponse(_:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXGetHeadersHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXGetHeadersHeadersLengthEventSelectorSelectorTargetRefCon(isFinalChunk bool, inHeaders unsafe.Pointer, inHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send an OBEX Get command to the session’s target.

isFinalChunk: Specify if this request is complete in one shot - that all the headers you are supplying will fit in the negotiated max packet length.

inHeaders: Can be NULL. Ptr to some data you want to send as your headers, such as Length, Name, etc. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for your convenience.

inHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXGetHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the transport. You will receive a response to your command on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexGet(_:headers:headersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXGetResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXGetResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send a get response to a session’s target.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXGetResponseHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the underlying OBEX transport. You will receive any responses to your command response on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexGetResponse(_:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXPutHeadersDataHeadersDataLengthBodyDataBodyDataLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXPutHeadersDataHeadersDataLengthBodyDataBodyDataLengthEventSelectorSelectorTargetRefCon(isFinalChunk bool, inHeadersData unsafe.Pointer, inHeadersDataLength uintptr, inBodyData unsafe.Pointer, inBodyDataLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send an OBEX Put command to the session’s target.

isFinalChunk: Specify if this request is complete in one shot - that all the headers you are supplying will fit in the negotiated max packet length.

inHeadersData: Can be NULL. Ptr to some data you want to send as your headers, such as Length, Name, etc. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inHeadersDataLength: Length of data in ptr passed in above.

inBodyData: Can be NULL. Ptr to some data you want to send as your BODY header. Do not construct a real OBEX header here, it will be done for you - just pass a pointer to your data, we’ll do the rest. HOWEVER, be aware that some overhead (3 bytes) will be added to the data in constructing the BODY header for you.

inBodyDataLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXPutHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the transport. You will receive a response to your command on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexPut(_:headersData:headersDataLength:bodyData:bodyDataLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXPutResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXPutResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send a put response to a session’s target.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXPutResponseHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the underlying OBEX transport. You will receive any responses to your command response on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexPutResponse(_:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXSetPathConstantsOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXSetPathConstantsOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inFlags OBEXFlags, inConstants OBEXConstants, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send an OBEX SetPath command to the session’s target.

inFlags: OBEX setpath flags. See OBEX.h for possibilities.

inConstants: OBEX setpath constants. See OBEX.h for possibilities.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXSetPathHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the transport. You will receive a response to your command on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexSetPath(_:constants:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OBEXSetPathResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon

func (o OBEXSession) OBEXSetPathResponseOptionalHeadersOptionalHeadersLengthEventSelectorSelectorTargetRefCon(inResponseOpCode OBEXOpCode, inOptionalHeaders unsafe.Pointer, inOptionalHeadersLength uintptr, inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Send a set path response to a session’s target.

inOptionalHeaders: Can be NULL. Ptr to some data you want to send as your optional headers. Use the provided header contruction kit in OBEX.h and OBEXHeadersToBytes() for convenience.

inOptionalHeadersLength: Length of data in ptr passed in above.

inSelector: A VALID selector to be called when something interesting happens due to this call. Selector in your target object MUST have the following signature, or it will not be called properly (look for error messages in Console.app):

- (void)OBEXSetPathResponseHandler:(const OBEXSessionEvent*)inSessionEvent;

inTarget: A VALID target object for the selector.

inUserRefCon: Whatever you want to pass here. It will be passed back to you in the refCon portion of the OBEXSessionEvent struct. nil is, of course, OK here.

Discussion

A NULL selector or target will result in an error. After return, the data passed in will have been sent over the underlying OBEX transport. You will receive any responses to your command response on your selector.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/obexSetPathResponse(_:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:)

func (OBEXSession) OpenTransportConnectionSelectorTargetRefCon

func (o OBEXSession) OpenTransportConnectionSelectorTargetRefCon(inSelector objc.SEL, inTarget objectivec.IObject, inUserRefCon uintptr) OBEXError

Opens a transport connection to a device. A Bluetooth connection is one example of a transport.

inSelector: Selector to call for success, failure or timeout.

inTarget: Target on which to call the selector.

inUserRefCon: Caller’s reference constant.

Discussion

Tranport subclasses must override this! when called you should attempt to open your transport connection, and if you are successful, return kOBEXSuccess, otherwise an interesting error code.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/openTransportConnection(_:selectorTarget:refCon:)

func (OBEXSession) SendDataToTransportDataLength

func (o OBEXSession) SendDataToTransportDataLength(inDataToSend unsafe.Pointer, inDataLength uintptr) OBEXError

You must override this to send data over your transport. This does nothing by default, it will return a kOBEXUnsupportedError.

inDataToSend: Data to shove over the transport to a remote OBEX session.

inDataLength: Length of data passed in.

Discussion

Tranport subclasses must override this! When called you should send the data over the transport to the remote session.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/sendData(toTransport:dataLength:)

func (OBEXSession) ServerHandleIncomingData

func (o OBEXSession) ServerHandleIncomingData(event *OBEXTransportEvent)

Tranport subclasses need to invoke this from their own data-receive handlers. For example, when data is received over a Bluetooth RFCOMM channel in the IOBluetoothOBEXSession, it in turn calls this to dispatch the data. If you do not handle this case, your server session will not work, guaranteed.

event: New event received from the transport.

Discussion

Tranport subclasses must call this for OBEX server sessions to work!

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/serverHandleIncomingData(_:)

func (OBEXSession) SetEventCallback

func (o OBEXSession) SetEventCallback(inEventCallback OBEXSessionEventCallback)

Sets the C-API callback used when the session recieves data.

inEventCallback: Function to callback. Should be non-NULL, unless you are attempting to clear the callback, but doing that doesn’t make much sense.

Discussion

This is really not intended for client sessions. Only subclasses would really be interested in using this. They should set these when their subclass object is created, because otherwise they will have no way of receiving the initial command data packet. This is a partner to setEventRefCon, described below.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/setEventCallback(_:)

func (OBEXSession) SetEventRefCon

func (o OBEXSession) SetEventRefCon(inRefCon unsafe.Pointer)

Sets the C-API callback refCon used when the session recieves data.

inRefCon: User’s refCon that will get passed when their event callback is invoked.

Discussion

This is really not intended for client sessions. Only subclasses would really be interested in using this. They should set these when their subclass object is created, because otherwise they will have no context in their callback.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/setEventRefCon(_:)

func (OBEXSession) SetEventSelectorTargetRefCon

func (o OBEXSession) SetEventSelectorTargetRefCon(inEventSelector objc.SEL, inEventSelectorTarget objectivec.IObject, inUserRefCon uintptr)

Allow you to set a selector to be called when events occur on the OBEX session.

inEventSelector: Selector to call on the target.

inEventSelectorTarget: Target to be called with the selector.

inUserRefCon: User’s refCon that will get passed when their event callback is invoked.

Discussion

Really not needed to be used, since the event selector will get set when an OBEX command is sent out.

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSession/setEventSelector(_:target:refCon:)

type OBEXSessionClass

type OBEXSessionClass struct {
	// contains filtered or unexported fields
}

func GetOBEXSessionClass

func GetOBEXSessionClass() OBEXSessionClass

GetOBEXSessionClass returns the class object for OBEXSession.

func (OBEXSessionClass) Alloc

func (oc OBEXSessionClass) Alloc() OBEXSession

Alloc allocates memory for a new instance of the class.

func (OBEXSessionClass) Class

func (oc OBEXSessionClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type OBEXSessionEvent

type OBEXSessionEvent struct {
	Type             OBEXSessionEventType
	Session          OBEXSessionRef
	RefCon           unsafe.Pointer
	IsEndOfEventData bool
	Reserved1        unsafe.Pointer
	Reserved2        unsafe.Pointer
	U                [4]uint64
}

OBEXSessionEvent

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionEvent

type OBEXSessionEventTypes

type OBEXSessionEventTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionEventTypes

const (
	KOBEXSessionEventTypeAbortCommandReceived              OBEXSessionEventTypes = 'O'<<24 | 'S'<<16 | 'E'<<8 | 'A' // 'OSEA'
	KOBEXSessionEventTypeAbortCommandResponseReceived      OBEXSessionEventTypes = 'O'<<24 | 'C'<<16 | 'E'<<8 | 'A' // 'OCEA'
	KOBEXSessionEventTypeConnectCommandReceived            OBEXSessionEventTypes = 'O'<<24 | 'S'<<16 | 'E'<<8 | 'C' // 'OSEC'
	KOBEXSessionEventTypeConnectCommandResponseReceived    OBEXSessionEventTypes = 'O'<<24 | 'C'<<16 | 'E'<<8 | 'C' // 'OCEC'
	KOBEXSessionEventTypeDisconnectCommandReceived         OBEXSessionEventTypes = 'O'<<24 | 'S'<<16 | 'E'<<8 | 'D' // 'OSED'
	KOBEXSessionEventTypeDisconnectCommandResponseReceived OBEXSessionEventTypes = 'O'<<24 | 'C'<<16 | 'E'<<8 | 'D' // 'OCED'
	KOBEXSessionEventTypeError                             OBEXSessionEventTypes = 'O'<<24 | 'G'<<16 | 'E'<<8 | 'E' // 'OGEE'
	KOBEXSessionEventTypeGetCommandReceived                OBEXSessionEventTypes = 'O'<<24 | 'S'<<16 | 'E'<<8 | 'G' // 'OSEG'
	KOBEXSessionEventTypeGetCommandResponseReceived        OBEXSessionEventTypes = 'O'<<24 | 'C'<<16 | 'E'<<8 | 'G' // 'OCEG'
	KOBEXSessionEventTypePutCommandReceived                OBEXSessionEventTypes = 'O'<<24 | 'S'<<16 | 'E'<<8 | 'P' // 'OSEP'
	KOBEXSessionEventTypePutCommandResponseReceived        OBEXSessionEventTypes = 'O'<<24 | 'C'<<16 | 'E'<<8 | 'P' // 'OCEP'
	KOBEXSessionEventTypeSetPathCommandReceived            OBEXSessionEventTypes = 'O'<<24 | 'S'<<16 | 'E'<<8 | 'S' // 'OSES'
	KOBEXSessionEventTypeSetPathCommandResponseReceived    OBEXSessionEventTypes = 'O'<<24 | 'C'<<16 | 'E'<<8 | 'S' // 'OCES'
)

func (OBEXSessionEventTypes) String

func (e OBEXSessionEventTypes) String() string

type OBEXSessionParameterTags

type OBEXSessionParameterTags uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXSessionParameterTags

const (
	KOBEXSessionParameterTagDeviceAddress      OBEXSessionParameterTags = 0
	KOBEXSessionParameterTagNextSequenceNumber OBEXSessionParameterTags = 0x3
	KOBEXSessionParameterTagNonce              OBEXSessionParameterTags = 0x1
	KOBEXSessionParameterTagSessionID          OBEXSessionParameterTags = 0x2
	KOBEXSessionParameterTagSessionOpcode      OBEXSessionParameterTags = 0x5
	KOBEXSessionParameterTagTimeout            OBEXSessionParameterTags = 0x4
)

func (OBEXSessionParameterTags) String

func (e OBEXSessionParameterTags) String() string

type OBEXSetPathCommandData

type OBEXSetPathCommandData struct {
	HeaderDataPtr    unsafe.Pointer
	HeaderDataLength uintptr
	Flags            OBEXFlags
	Constants        OBEXConstants
}

OBEXSetPathCommandData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXSetPathCommandData

type OBEXSetPathCommandResponseData

type OBEXSetPathCommandResponseData struct {
	ServerResponseOpCode OBEXOpCode
	HeaderDataPtr        unsafe.Pointer
	HeaderDataLength     uintptr
	Flags                OBEXFlags
	Constants            OBEXConstants
}

OBEXSetPathCommandResponseData - Part of the OBEXSessionEvent structure.

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXSetPathCommandResponseData

type OBEXTransportEvent

type OBEXTransportEvent struct {
	Type       OBEXTransportEventType
	Status     OBEXError
	DataPtr    unsafe.Pointer
	DataLength uintptr
}

OBEXTransportEvent

[Full Topic] [Full Topic]: https://developer.apple.com/documentation/IOBluetooth/OBEXTransportEvent

type OBEXTransportEventTypes

type OBEXTransportEventTypes uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXTransportEventTypes

const (
	KOBEXTransportEventTypeDataReceived OBEXTransportEventTypes = 'D'<<24 | 'a'<<16 | 't'<<8 | 'A' // 'DatA'
	KOBEXTransportEventTypeStatus       OBEXTransportEventTypes = 'S'<<24 | 't'<<16 | 'a'<<8 | 'T' // 'StaT'
)

func (OBEXTransportEventTypes) String

func (e OBEXTransportEventTypes) String() string

type OBEXVersions

type OBEXVersions uint32

See: https://developer.apple.com/documentation/IOBluetooth/OBEXVersions

const (
	KOBEXVersion10 OBEXVersions = 0x10
)

func (OBEXVersions) String

func (e OBEXVersions) String() string

type ProtocolParameters

type ProtocolParameters uint32

See: https://developer.apple.com/documentation/IOBluetooth/ProtocolParameters

const (
	KBluetoothSDPProtocolParameterBNEPSupportedNetworkPacketTypeList ProtocolParameters = 2
	KBluetoothSDPProtocolParameterBNEPVersion                        ProtocolParameters = 1
	KBluetoothSDPProtocolParameterL2CAPPSM                           ProtocolParameters = 1
	KBluetoothSDPProtocolParameterRFCOMMChannel                      ProtocolParameters = 1
	KBluetoothSDPProtocolParameterTCPPort                            ProtocolParameters = 1
	KBluetoothSDPProtocolParameterUDPPort                            ProtocolParameters = 1
)

func (ProtocolParameters) String

func (e ProtocolParameters) String() string

type SDPAttributeDeviceIdentificationRecord

type SDPAttributeDeviceIdentificationRecord uint32

See: https://developer.apple.com/documentation/IOBluetooth/SDPAttributeDeviceIdentificationRecord

const (
	KBluetoothSDPAttributeDeviceIdentifierClientExecutableURL SDPAttributeDeviceIdentificationRecord = 0xb
	KBluetoothSDPAttributeDeviceIdentifierDocumentationURL    SDPAttributeDeviceIdentificationRecord = 0xa
	KBluetoothSDPAttributeDeviceIdentifierPrimaryRecord       SDPAttributeDeviceIdentificationRecord = 0x204
	KBluetoothSDPAttributeDeviceIdentifierProductID           SDPAttributeDeviceIdentificationRecord = 0x202
	KBluetoothSDPAttributeDeviceIdentifierReservedRangeEnd    SDPAttributeDeviceIdentificationRecord = 0x2ff
	KBluetoothSDPAttributeDeviceIdentifierReservedRangeStart  SDPAttributeDeviceIdentificationRecord = 0x206
	KBluetoothSDPAttributeDeviceIdentifierServiceDescription  SDPAttributeDeviceIdentificationRecord = 0x1
	KBluetoothSDPAttributeDeviceIdentifierSpecificationID     SDPAttributeDeviceIdentificationRecord = 0x200
	KBluetoothSDPAttributeDeviceIdentifierVendorID            SDPAttributeDeviceIdentificationRecord = 0x201
	KBluetoothSDPAttributeDeviceIdentifierVendorIDSource      SDPAttributeDeviceIdentificationRecord = 0x205
	KBluetoothSDPAttributeDeviceIdentifierVersion             SDPAttributeDeviceIdentificationRecord = 0x203
)

func (SDPAttributeDeviceIdentificationRecord) String

type SDPAttributeIdentifierCodes

type SDPAttributeIdentifierCodes uint32

See: https://developer.apple.com/documentation/IOBluetooth/SDPAttributeIdentifierCodes

const (
	KBluetoothSDPAttributeIdentifierAdditionalProtocolsDescriptorList SDPAttributeIdentifierCodes = 0xd
	KBluetoothSDPAttributeIdentifierAudioFeedbackSupport              SDPAttributeIdentifierCodes = 0x305
	KBluetoothSDPAttributeIdentifierBluetoothProfileDescriptorList    SDPAttributeIdentifierCodes = 0x9
	KBluetoothSDPAttributeIdentifierBrowseGroupList                   SDPAttributeIdentifierCodes = 0x5
	KBluetoothSDPAttributeIdentifierClientExecutableURL               SDPAttributeIdentifierCodes = 0xb
	KBluetoothSDPAttributeIdentifierDocumentationURL                  SDPAttributeIdentifierCodes = 0xa
	KBluetoothSDPAttributeIdentifierExternalNetwork                   SDPAttributeIdentifierCodes = 0x301
	KBluetoothSDPAttributeIdentifierFaxClass1Support                  SDPAttributeIdentifierCodes = 0x302
	KBluetoothSDPAttributeIdentifierFaxClass2Support                  SDPAttributeIdentifierCodes = 0x304
	KBluetoothSDPAttributeIdentifierFaxClass2_0Support                SDPAttributeIdentifierCodes = 0x303
	KBluetoothSDPAttributeIdentifierGroupID                           SDPAttributeIdentifierCodes = 0x200
	KBluetoothSDPAttributeIdentifierHIDBatteryPower                   SDPAttributeIdentifierCodes = 0x209
	KBluetoothSDPAttributeIdentifierHIDBootDevice                     SDPAttributeIdentifierCodes = 0x20e
	KBluetoothSDPAttributeIdentifierHIDCountryCode                    SDPAttributeIdentifierCodes = 0x203
	KBluetoothSDPAttributeIdentifierHIDDescriptorList                 SDPAttributeIdentifierCodes = 0x206
	KBluetoothSDPAttributeIdentifierHIDDeviceSubclass                 SDPAttributeIdentifierCodes = 0x202
	KBluetoothSDPAttributeIdentifierHIDLangIDBaseList                 SDPAttributeIdentifierCodes = 0x207
	KBluetoothSDPAttributeIdentifierHIDNormallyConnectable            SDPAttributeIdentifierCodes = 0x20d
	KBluetoothSDPAttributeIdentifierHIDParserVersion                  SDPAttributeIdentifierCodes = 0x201
	KBluetoothSDPAttributeIdentifierHIDProfileVersion                 SDPAttributeIdentifierCodes = 0x20b
	KBluetoothSDPAttributeIdentifierHIDReconnectInitiate              SDPAttributeIdentifierCodes = 0x205
	KBluetoothSDPAttributeIdentifierHIDReleaseNumber                  SDPAttributeIdentifierCodes = 0x200
	KBluetoothSDPAttributeIdentifierHIDRemoteWake                     SDPAttributeIdentifierCodes = 0x20a
	KBluetoothSDPAttributeIdentifierHIDSDPDisable                     SDPAttributeIdentifierCodes = 0x208
	KBluetoothSDPAttributeIdentifierHIDSSRHostMaxLatency              SDPAttributeIdentifierCodes = 0x20f
	KBluetoothSDPAttributeIdentifierHIDSSRHostMinTimeout              SDPAttributeIdentifierCodes = 0x210
	KBluetoothSDPAttributeIdentifierHIDSupervisionTimeout             SDPAttributeIdentifierCodes = 0x20c
	KBluetoothSDPAttributeIdentifierHIDVirtualCable                   SDPAttributeIdentifierCodes = 0x204
	KBluetoothSDPAttributeIdentifierHomepageURL                       SDPAttributeIdentifierCodes = 0x308
	KBluetoothSDPAttributeIdentifierIPSubnet                          SDPAttributeIdentifierCodes = 0x200
	KBluetoothSDPAttributeIdentifierIconURL                           SDPAttributeIdentifierCodes = 0xc
	KBluetoothSDPAttributeIdentifierLanguageBaseAttributeIDList       SDPAttributeIdentifierCodes = 0x6
	KBluetoothSDPAttributeIdentifierMaxNetAccessRate                  SDPAttributeIdentifierCodes = 0x30c
	KBluetoothSDPAttributeIdentifierNetAccessType                     SDPAttributeIdentifierCodes = 0x30b
	KBluetoothSDPAttributeIdentifierNetwork                           SDPAttributeIdentifierCodes = 0x301
	KBluetoothSDPAttributeIdentifierNetworkAddress                    SDPAttributeIdentifierCodes = 0x306
	KBluetoothSDPAttributeIdentifierProtocolDescriptorList            SDPAttributeIdentifierCodes = 0x4
	KBluetoothSDPAttributeIdentifierProviderName                      SDPAttributeIdentifierCodes = 0x2
	KBluetoothSDPAttributeIdentifierRemoteAudioVolumeControl          SDPAttributeIdentifierCodes = 0x302
	KBluetoothSDPAttributeIdentifierSecurityDescription               SDPAttributeIdentifierCodes = 0x30a
	KBluetoothSDPAttributeIdentifierServiceAvailability               SDPAttributeIdentifierCodes = 0x8
	KBluetoothSDPAttributeIdentifierServiceClassIDList                SDPAttributeIdentifierCodes = 0x1
	KBluetoothSDPAttributeIdentifierServiceDatabaseState              SDPAttributeIdentifierCodes = 0x201
	KBluetoothSDPAttributeIdentifierServiceDescription                SDPAttributeIdentifierCodes = 0x1
	KBluetoothSDPAttributeIdentifierServiceID                         SDPAttributeIdentifierCodes = 0x3
	KBluetoothSDPAttributeIdentifierServiceInfoTimeToLive             SDPAttributeIdentifierCodes = 0x7
	KBluetoothSDPAttributeIdentifierServiceName                       SDPAttributeIdentifierCodes = 0
	KBluetoothSDPAttributeIdentifierServiceRecordHandle               SDPAttributeIdentifierCodes = 0
	KBluetoothSDPAttributeIdentifierServiceRecordState                SDPAttributeIdentifierCodes = 0x2
	KBluetoothSDPAttributeIdentifierServiceVersion                    SDPAttributeIdentifierCodes = 0x300
	KBluetoothSDPAttributeIdentifierSupportedCapabilities             SDPAttributeIdentifierCodes = 0x310
	KBluetoothSDPAttributeIdentifierSupportedDataStoresList           SDPAttributeIdentifierCodes = 0x301
	KBluetoothSDPAttributeIdentifierSupportedFeatures                 SDPAttributeIdentifierCodes = 0x311
	KBluetoothSDPAttributeIdentifierSupportedFunctions                SDPAttributeIdentifierCodes = 0x312
	KBluetoothSDPAttributeIdentifierSupporterFormatsList              SDPAttributeIdentifierCodes = 0x303
	KBluetoothSDPAttributeIdentifierTotalImagingDataCapacity          SDPAttributeIdentifierCodes = 0x313
	KBluetoothSDPAttributeIdentifierVersionNumberList                 SDPAttributeIdentifierCodes = 0x200
	KBluetoothSDPAttributeIdentifierWAPGateway                        SDPAttributeIdentifierCodes = 0x307
	KBluetoothSDPAttributeIdentifierWAPStackType                      SDPAttributeIdentifierCodes = 0x309
)

func (SDPAttributeIdentifierCodes) String

type SDPServiceClasses

type SDPServiceClasses uint32

See: https://developer.apple.com/documentation/IOBluetooth/SDPServiceClasses

const (
	KBluetoothSDPUUID16ServiceClassAVRemoteControl                       SDPServiceClasses = 0x110e
	KBluetoothSDPUUID16ServiceClassAVRemoteControlController             SDPServiceClasses = 0x110f
	KBluetoothSDPUUID16ServiceClassAVRemoteControlTarget                 SDPServiceClasses = 0x110c
	KBluetoothSDPUUID16ServiceClassAdvancedAudioDistribution             SDPServiceClasses = 0x110d
	KBluetoothSDPUUID16ServiceClassAudioSink                             SDPServiceClasses = 0x110b
	KBluetoothSDPUUID16ServiceClassAudioSource                           SDPServiceClasses = 0x110a
	KBluetoothSDPUUID16ServiceClassAudioVideo                            SDPServiceClasses = 0x112c
	KBluetoothSDPUUID16ServiceClassBasicPrinting                         SDPServiceClasses = 0x1122
	KBluetoothSDPUUID16ServiceClassBrowseGroupDescriptor                 SDPServiceClasses = 0x1001
	KBluetoothSDPUUID16ServiceClassCommonISDNAccess                      SDPServiceClasses = 0x1128
	KBluetoothSDPUUID16ServiceClassCordlessTelephony                     SDPServiceClasses = 0x1109
	KBluetoothSDPUUID16ServiceClassDialupNetworking                      SDPServiceClasses = 0x1103
	KBluetoothSDPUUID16ServiceClassDirectPrinting                        SDPServiceClasses = 0x1118
	KBluetoothSDPUUID16ServiceClassDirectPrintingReferenceObjectsService SDPServiceClasses = 0x1120
	KBluetoothSDPUUID16ServiceClassFax                                   SDPServiceClasses = 0x1111
	KBluetoothSDPUUID16ServiceClassGATT                                  SDPServiceClasses = 0x1801
	KBluetoothSDPUUID16ServiceClassGN                                    SDPServiceClasses = 0x1117
	KBluetoothSDPUUID16ServiceClassGenericAudio                          SDPServiceClasses = 0x1203
	KBluetoothSDPUUID16ServiceClassGenericFileTransfer                   SDPServiceClasses = 0x1202
	KBluetoothSDPUUID16ServiceClassGenericNetworking                     SDPServiceClasses = 0x1201
	KBluetoothSDPUUID16ServiceClassGenericTelephony                      SDPServiceClasses = 0x1204
	KBluetoothSDPUUID16ServiceClassGlobalNavigationSatelliteSystem       SDPServiceClasses = 0x1135
	KBluetoothSDPUUID16ServiceClassGlobalNavigationSatelliteSystemServer SDPServiceClasses = 0x1136
	KBluetoothSDPUUID16ServiceClassHCR_Print                             SDPServiceClasses = 0x1126
	KBluetoothSDPUUID16ServiceClassHCR_Scan                              SDPServiceClasses = 0x1127
	KBluetoothSDPUUID16ServiceClassHandsFree                             SDPServiceClasses = 0x111e
	KBluetoothSDPUUID16ServiceClassHandsFreeAudioGateway                 SDPServiceClasses = 0x111f
	KBluetoothSDPUUID16ServiceClassHardcopyCableReplacement              SDPServiceClasses = 0x1125
	KBluetoothSDPUUID16ServiceClassHeadset                               SDPServiceClasses = 0x1108
	KBluetoothSDPUUID16ServiceClassHeadsetAudioGateway                   SDPServiceClasses = 0x1112
	KBluetoothSDPUUID16ServiceClassHeadset_HS                            SDPServiceClasses = 0x1131
	KBluetoothSDPUUID16ServiceClassHealthDevice                          SDPServiceClasses = 0x1400
	KBluetoothSDPUUID16ServiceClassHealthDeviceSink                      SDPServiceClasses = 0x1402
	KBluetoothSDPUUID16ServiceClassHealthDeviceSource                    SDPServiceClasses = 0x1401
	KBluetoothSDPUUID16ServiceClassHumanInterfaceDeviceService           SDPServiceClasses = 0x1124
	KBluetoothSDPUUID16ServiceClassImaging                               SDPServiceClasses = 0x111a
	KBluetoothSDPUUID16ServiceClassImagingAutomaticArchive               SDPServiceClasses = 0x111c
	KBluetoothSDPUUID16ServiceClassImagingReferencedObjects              SDPServiceClasses = 0x111d
	KBluetoothSDPUUID16ServiceClassImagingResponder                      SDPServiceClasses = 0x111b
	KBluetoothSDPUUID16ServiceClassIntercom                              SDPServiceClasses = 0x1110
	KBluetoothSDPUUID16ServiceClassIrMCSync                              SDPServiceClasses = 0x1104
	KBluetoothSDPUUID16ServiceClassIrMCSyncCommand                       SDPServiceClasses = 0x1107
	KBluetoothSDPUUID16ServiceClassLANAccessUsingPPP                     SDPServiceClasses = 0x1102
	KBluetoothSDPUUID16ServiceClassMessageAccessProfile                  SDPServiceClasses = 0x1134
	KBluetoothSDPUUID16ServiceClassMessageAccessServer                   SDPServiceClasses = 0x1132
	KBluetoothSDPUUID16ServiceClassMessageNotificationServer             SDPServiceClasses = 0x1133
	KBluetoothSDPUUID16ServiceClassNAP                                   SDPServiceClasses = 0x1116
	KBluetoothSDPUUID16ServiceClassOBEXFileTransfer                      SDPServiceClasses = 0x1106
	KBluetoothSDPUUID16ServiceClassOBEXObjectPush                        SDPServiceClasses = 0x1105
	KBluetoothSDPUUID16ServiceClassPANU                                  SDPServiceClasses = 0x1115
	KBluetoothSDPUUID16ServiceClassPhonebookAccess                       SDPServiceClasses = 0x1130
	KBluetoothSDPUUID16ServiceClassPhonebookAccess_PCE                   SDPServiceClasses = 0x112e
	KBluetoothSDPUUID16ServiceClassPhonebookAccess_PSE                   SDPServiceClasses = 0x112f
	KBluetoothSDPUUID16ServiceClassPnPInformation                        SDPServiceClasses = 0x1200
	KBluetoothSDPUUID16ServiceClassPrintingStatus                        SDPServiceClasses = 0x1123
	KBluetoothSDPUUID16ServiceClassPublicBrowseGroup                     SDPServiceClasses = 0x1002
	KBluetoothSDPUUID16ServiceClassReferencePrinting                     SDPServiceClasses = 0x1119
	KBluetoothSDPUUID16ServiceClassReflectedUI                           SDPServiceClasses = 0x1121
	KBluetoothSDPUUID16ServiceClassSIM_Access                            SDPServiceClasses = 0x112d
	KBluetoothSDPUUID16ServiceClassSerialPort                            SDPServiceClasses = 0x1101
	KBluetoothSDPUUID16ServiceClassServiceDiscoveryServer                SDPServiceClasses = 0x1000
	KBluetoothSDPUUID16ServiceClassUDI_MT                                SDPServiceClasses = 0x112a
	KBluetoothSDPUUID16ServiceClassUDI_TA                                SDPServiceClasses = 0x112b
	KBluetoothSDPUUID16ServiceClassVideoConferencingGW                   SDPServiceClasses = 0x1129
	KBluetoothSDPUUID16ServiceClassVideoDistribution                     SDPServiceClasses = 0x1305
	KBluetoothSDPUUID16ServiceClassVideoSink                             SDPServiceClasses = 0x1304
	KBluetoothSDPUUID16ServiceClassVideoSource                           SDPServiceClasses = 0x1303
	KBluetoothSDPUUID16ServiceClassWAP                                   SDPServiceClasses = 0x1113
	KBluetoothSDPUUID16ServiceClassWAPClient                             SDPServiceClasses = 0x1114
)

func (SDPServiceClasses) String

func (e SDPServiceClasses) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL