blob: c0d3c9754c4ede541c2a1d952623e9e4ec3d5f7e [file] [log] [blame]
package linux
import "github.com/paypal/gatt/linux/gioctl"
const (
ioctlSize = uintptr(4)
hciMaxDevices = 16
typHCI = 72 // 'H'
)
var (
hciUpDevice = gioctl.IoW(typHCI, 201, ioctlSize) // HCIDEVUP
hciDownDevice = gioctl.IoW(typHCI, 202, ioctlSize) // HCIDEVDOWN
hciResetDevice = gioctl.IoW(typHCI, 203, ioctlSize) // HCIDEVRESET
hciGetDeviceList = gioctl.IoR(typHCI, 210, ioctlSize) // HCIGETDEVLIST
hciGetDeviceInfo = gioctl.IoR(typHCI, 211, ioctlSize) // HCIGETDEVINFO
)
type devRequest struct {
id uint16
opt uint32
}
type devListRequest struct {
devNum uint16
devRequest [hciMaxDevices]devRequest
}
type hciDevInfo struct {
id uint16
name [8]byte
bdaddr [6]byte
flags uint32
devType uint8
features [8]uint8
pktType uint32
linkPolicy uint32
linkMode uint32
aclMtu uint16
aclPkts uint16
scoMtu uint16
scoPkts uint16
stats hciDevStats
}
type hciDevStats struct {
errRx uint32
errTx uint32
cmdTx uint32
evtRx uint32
aclTx uint32
aclRx uint32
scoTx uint32
scoRx uint32
byteRx uint32
byteTx uint32
}