mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-03 15:47:35 -04:00
unix: add sockaddr_hci support for linux.
Change-Id: Ic2eb52d4e9f7b80992707b125c11be54d7973314 Reviewed-on: https://go-review.googlesource.com/21674 Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
8fdfb00a6a
commit
a80ff226bd
@@ -394,6 +394,19 @@ func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
|||||||
return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil
|
return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SockaddrHCI struct {
|
||||||
|
Dev uint16
|
||||||
|
Channel uint16
|
||||||
|
raw RawSockaddrHCI
|
||||||
|
}
|
||||||
|
|
||||||
|
func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
||||||
|
sa.raw.Family = AF_BLUETOOTH
|
||||||
|
sa.raw.Dev = sa.Dev
|
||||||
|
sa.raw.Channel = sa.Channel
|
||||||
|
return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil
|
||||||
|
}
|
||||||
|
|
||||||
func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
|
func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
|
||||||
switch rsa.Addr.Family {
|
switch rsa.Addr.Family {
|
||||||
case AF_NETLINK:
|
case AF_NETLINK:
|
||||||
|
|||||||
@@ -196,6 +196,8 @@ type RawSockaddrLinklayer C.struct_sockaddr_ll
|
|||||||
|
|
||||||
type RawSockaddrNetlink C.struct_sockaddr_nl
|
type RawSockaddrNetlink C.struct_sockaddr_nl
|
||||||
|
|
||||||
|
type RawSockaddrHCI C.struct_sockaddr_hci
|
||||||
|
|
||||||
type RawSockaddr C.struct_sockaddr
|
type RawSockaddr C.struct_sockaddr
|
||||||
|
|
||||||
type RawSockaddrAny C.struct_sockaddr_any
|
type RawSockaddrAny C.struct_sockaddr_any
|
||||||
@@ -235,6 +237,7 @@ const (
|
|||||||
SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un
|
SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un
|
||||||
SizeofSockaddrLinklayer = C.sizeof_struct_sockaddr_ll
|
SizeofSockaddrLinklayer = C.sizeof_struct_sockaddr_ll
|
||||||
SizeofSockaddrNetlink = C.sizeof_struct_sockaddr_nl
|
SizeofSockaddrNetlink = C.sizeof_struct_sockaddr_nl
|
||||||
|
SizeofSockaddrHCI = C.sizeof_struct_sockaddr_hci
|
||||||
SizeofLinger = C.sizeof_struct_linger
|
SizeofLinger = C.sizeof_struct_linger
|
||||||
SizeofIPMreq = C.sizeof_struct_ip_mreq
|
SizeofIPMreq = C.sizeof_struct_ip_mreq
|
||||||
SizeofIPMreqn = C.sizeof_struct_ip_mreqn
|
SizeofIPMreqn = C.sizeof_struct_ip_mreqn
|
||||||
|
|||||||
@@ -188,6 +188,12 @@ type RawSockaddrNetlink struct {
|
|||||||
Groups uint32
|
Groups uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RawSockaddrHCI struct {
|
||||||
|
Family uint16
|
||||||
|
Dev uint16
|
||||||
|
Channel uint16
|
||||||
|
}
|
||||||
|
|
||||||
type RawSockaddr struct {
|
type RawSockaddr struct {
|
||||||
Family uint16
|
Family uint16
|
||||||
Data [14]int8
|
Data [14]int8
|
||||||
@@ -310,6 +316,7 @@ const (
|
|||||||
SizeofSockaddrUnix = 0x6e
|
SizeofSockaddrUnix = 0x6e
|
||||||
SizeofSockaddrLinklayer = 0x14
|
SizeofSockaddrLinklayer = 0x14
|
||||||
SizeofSockaddrNetlink = 0xc
|
SizeofSockaddrNetlink = 0xc
|
||||||
|
SizeofSockaddrHCI = 0x6
|
||||||
SizeofLinger = 0x8
|
SizeofLinger = 0x8
|
||||||
SizeofIPMreq = 0x8
|
SizeofIPMreq = 0x8
|
||||||
SizeofIPMreqn = 0xc
|
SizeofIPMreqn = 0xc
|
||||||
|
|||||||
@@ -190,6 +190,12 @@ type RawSockaddrNetlink struct {
|
|||||||
Groups uint32
|
Groups uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RawSockaddrHCI struct {
|
||||||
|
Family uint16
|
||||||
|
Dev uint16
|
||||||
|
Channel uint16
|
||||||
|
}
|
||||||
|
|
||||||
type RawSockaddr struct {
|
type RawSockaddr struct {
|
||||||
Family uint16
|
Family uint16
|
||||||
Data [14]int8
|
Data [14]int8
|
||||||
@@ -314,6 +320,7 @@ const (
|
|||||||
SizeofSockaddrUnix = 0x6e
|
SizeofSockaddrUnix = 0x6e
|
||||||
SizeofSockaddrLinklayer = 0x14
|
SizeofSockaddrLinklayer = 0x14
|
||||||
SizeofSockaddrNetlink = 0xc
|
SizeofSockaddrNetlink = 0xc
|
||||||
|
SizeofSockaddrHCI = 0x6
|
||||||
SizeofLinger = 0x8
|
SizeofLinger = 0x8
|
||||||
SizeofIPMreq = 0x8
|
SizeofIPMreq = 0x8
|
||||||
SizeofIPMreqn = 0xc
|
SizeofIPMreqn = 0xc
|
||||||
|
|||||||
@@ -192,6 +192,12 @@ type RawSockaddrNetlink struct {
|
|||||||
Groups uint32
|
Groups uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RawSockaddrHCI struct {
|
||||||
|
Family uint16
|
||||||
|
Dev uint16
|
||||||
|
Channel uint16
|
||||||
|
}
|
||||||
|
|
||||||
type RawSockaddr struct {
|
type RawSockaddr struct {
|
||||||
Family uint16
|
Family uint16
|
||||||
Data [14]uint8
|
Data [14]uint8
|
||||||
@@ -314,6 +320,7 @@ const (
|
|||||||
SizeofSockaddrUnix = 0x6e
|
SizeofSockaddrUnix = 0x6e
|
||||||
SizeofSockaddrLinklayer = 0x14
|
SizeofSockaddrLinklayer = 0x14
|
||||||
SizeofSockaddrNetlink = 0xc
|
SizeofSockaddrNetlink = 0xc
|
||||||
|
SizeofSockaddrHCI = 0x6
|
||||||
SizeofLinger = 0x8
|
SizeofLinger = 0x8
|
||||||
SizeofIPMreq = 0x8
|
SizeofIPMreq = 0x8
|
||||||
SizeofIPMreqn = 0xc
|
SizeofIPMreqn = 0xc
|
||||||
|
|||||||
@@ -200,6 +200,12 @@ type RawSockaddrNetlink struct {
|
|||||||
Groups uint32
|
Groups uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RawSockaddrHCI struct {
|
||||||
|
Family uint16
|
||||||
|
Dev uint16
|
||||||
|
Channel uint16
|
||||||
|
}
|
||||||
|
|
||||||
type RawSockaddr struct {
|
type RawSockaddr struct {
|
||||||
Family uint16
|
Family uint16
|
||||||
Data [14]int8
|
Data [14]int8
|
||||||
@@ -324,6 +330,7 @@ const (
|
|||||||
SizeofSockaddrUnix = 0x6e
|
SizeofSockaddrUnix = 0x6e
|
||||||
SizeofSockaddrLinklayer = 0x14
|
SizeofSockaddrLinklayer = 0x14
|
||||||
SizeofSockaddrNetlink = 0xc
|
SizeofSockaddrNetlink = 0xc
|
||||||
|
SizeofSockaddrHCI = 0x6
|
||||||
SizeofLinger = 0x8
|
SizeofLinger = 0x8
|
||||||
SizeofIPMreq = 0x8
|
SizeofIPMreq = 0x8
|
||||||
SizeofIPMreqn = 0xc
|
SizeofIPMreqn = 0xc
|
||||||
|
|||||||
@@ -200,6 +200,12 @@ type RawSockaddrNetlink struct {
|
|||||||
Groups uint32
|
Groups uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RawSockaddrHCI struct {
|
||||||
|
Family uint16
|
||||||
|
Dev uint16
|
||||||
|
Channel uint16
|
||||||
|
}
|
||||||
|
|
||||||
type RawSockaddr struct {
|
type RawSockaddr struct {
|
||||||
Family uint16
|
Family uint16
|
||||||
Data [14]int8
|
Data [14]int8
|
||||||
@@ -323,6 +329,7 @@ const (
|
|||||||
SizeofSockaddrUnix = 0x6e
|
SizeofSockaddrUnix = 0x6e
|
||||||
SizeofSockaddrLinklayer = 0x14
|
SizeofSockaddrLinklayer = 0x14
|
||||||
SizeofSockaddrNetlink = 0xc
|
SizeofSockaddrNetlink = 0xc
|
||||||
|
SizeofSockaddrHCI = 0x6
|
||||||
SizeofLinger = 0x8
|
SizeofLinger = 0x8
|
||||||
SizeofIPMreq = 0x8
|
SizeofIPMreq = 0x8
|
||||||
SizeofIPMreqn = 0xc
|
SizeofIPMreqn = 0xc
|
||||||
|
|||||||
@@ -200,6 +200,12 @@ type RawSockaddrNetlink struct {
|
|||||||
Groups uint32
|
Groups uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RawSockaddrHCI struct {
|
||||||
|
Family uint16
|
||||||
|
Dev uint16
|
||||||
|
Channel uint16
|
||||||
|
}
|
||||||
|
|
||||||
type RawSockaddr struct {
|
type RawSockaddr struct {
|
||||||
Family uint16
|
Family uint16
|
||||||
Data [14]int8
|
Data [14]int8
|
||||||
@@ -323,6 +329,7 @@ const (
|
|||||||
SizeofSockaddrUnix = 0x6e
|
SizeofSockaddrUnix = 0x6e
|
||||||
SizeofSockaddrLinklayer = 0x14
|
SizeofSockaddrLinklayer = 0x14
|
||||||
SizeofSockaddrNetlink = 0xc
|
SizeofSockaddrNetlink = 0xc
|
||||||
|
SizeofSockaddrHCI = 0x6
|
||||||
SizeofLinger = 0x8
|
SizeofLinger = 0x8
|
||||||
SizeofIPMreq = 0x8
|
SizeofIPMreq = 0x8
|
||||||
SizeofIPMreqn = 0xc
|
SizeofIPMreqn = 0xc
|
||||||
|
|||||||
@@ -201,6 +201,12 @@ type RawSockaddrNetlink struct {
|
|||||||
Groups uint32
|
Groups uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RawSockaddrHCI struct {
|
||||||
|
Family uint16
|
||||||
|
Dev uint16
|
||||||
|
Channel uint16
|
||||||
|
}
|
||||||
|
|
||||||
type RawSockaddr struct {
|
type RawSockaddr struct {
|
||||||
Family uint16
|
Family uint16
|
||||||
Data [14]uint8
|
Data [14]uint8
|
||||||
@@ -325,6 +331,7 @@ const (
|
|||||||
SizeofSockaddrUnix = 0x6e
|
SizeofSockaddrUnix = 0x6e
|
||||||
SizeofSockaddrLinklayer = 0x14
|
SizeofSockaddrLinklayer = 0x14
|
||||||
SizeofSockaddrNetlink = 0xc
|
SizeofSockaddrNetlink = 0xc
|
||||||
|
SizeofSockaddrHCI = 0x6
|
||||||
SizeofLinger = 0x8
|
SizeofLinger = 0x8
|
||||||
SizeofIPMreq = 0x8
|
SizeofIPMreq = 0x8
|
||||||
SizeofIPMreqn = 0xc
|
SizeofIPMreqn = 0xc
|
||||||
|
|||||||
@@ -201,6 +201,12 @@ type RawSockaddrNetlink struct {
|
|||||||
Groups uint32
|
Groups uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RawSockaddrHCI struct {
|
||||||
|
Family uint16
|
||||||
|
Dev uint16
|
||||||
|
Channel uint16
|
||||||
|
}
|
||||||
|
|
||||||
type RawSockaddr struct {
|
type RawSockaddr struct {
|
||||||
Family uint16
|
Family uint16
|
||||||
Data [14]uint8
|
Data [14]uint8
|
||||||
@@ -325,6 +331,7 @@ const (
|
|||||||
SizeofSockaddrUnix = 0x6e
|
SizeofSockaddrUnix = 0x6e
|
||||||
SizeofSockaddrLinklayer = 0x14
|
SizeofSockaddrLinklayer = 0x14
|
||||||
SizeofSockaddrNetlink = 0xc
|
SizeofSockaddrNetlink = 0xc
|
||||||
|
SizeofSockaddrHCI = 0x6
|
||||||
SizeofLinger = 0x8
|
SizeofLinger = 0x8
|
||||||
SizeofIPMreq = 0x8
|
SizeofIPMreq = 0x8
|
||||||
SizeofIPMreqn = 0xc
|
SizeofIPMreqn = 0xc
|
||||||
|
|||||||
Reference in New Issue
Block a user