unix: add godoc for Sockaddr* types
Add rudimentary godoc for all existing Sockaddr* types implementing the
Sockaddr interface.
Change-Id: Ida7d1e8756477b54fc773f4bc978002c3d4a376d
Reviewed-on: https://go-review.googlesource.com/89775
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/unix/syscall_darwin.go b/unix/syscall_darwin.go
index 1eea356..b959869 100644
--- a/unix/syscall_darwin.go
+++ b/unix/syscall_darwin.go
@@ -36,6 +36,7 @@
return "", ENOTSUP
}
+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
type SockaddrDatalink struct {
Len uint8
Family uint8
diff --git a/unix/syscall_dragonfly.go b/unix/syscall_dragonfly.go
index 17256ec..777860b 100644
--- a/unix/syscall_dragonfly.go
+++ b/unix/syscall_dragonfly.go
@@ -14,6 +14,7 @@
import "unsafe"
+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
type SockaddrDatalink struct {
Len uint8
Family uint8
diff --git a/unix/syscall_freebsd.go b/unix/syscall_freebsd.go
index 4446275..89f2c3f 100644
--- a/unix/syscall_freebsd.go
+++ b/unix/syscall_freebsd.go
@@ -14,6 +14,7 @@
import "unsafe"
+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
type SockaddrDatalink struct {
Len uint8
Family uint8
diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go
index 5837999..b48f77f 100644
--- a/unix/syscall_linux.go
+++ b/unix/syscall_linux.go
@@ -420,6 +420,7 @@
return unsafe.Pointer(&sa.raw), sl, nil
}
+// SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets.
type SockaddrLinklayer struct {
Protocol uint16
Ifindex int
@@ -446,6 +447,7 @@
return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil
}
+// SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets.
type SockaddrNetlink struct {
Family uint16
Pad uint16
@@ -462,6 +464,8 @@
return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil
}
+// SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets
+// using the HCI protocol.
type SockaddrHCI struct {
Dev uint16
Channel uint16
@@ -475,6 +479,8 @@
return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil
}
+// SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets
+// using the L2CAP protocol.
type SockaddrL2 struct {
PSM uint16
CID uint16
diff --git a/unix/syscall_netbsd.go b/unix/syscall_netbsd.go
index 060e5e6..71b7078 100644
--- a/unix/syscall_netbsd.go
+++ b/unix/syscall_netbsd.go
@@ -17,6 +17,7 @@
"unsafe"
)
+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
type SockaddrDatalink struct {
Len uint8
Family uint8
diff --git a/unix/syscall_openbsd.go b/unix/syscall_openbsd.go
index 407d119..37556e7 100644
--- a/unix/syscall_openbsd.go
+++ b/unix/syscall_openbsd.go
@@ -18,6 +18,7 @@
"unsafe"
)
+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
type SockaddrDatalink struct {
Len uint8
Family uint8
diff --git a/unix/syscall_solaris.go b/unix/syscall_solaris.go
index a87aebf..eca8d1d 100644
--- a/unix/syscall_solaris.go
+++ b/unix/syscall_solaris.go
@@ -23,6 +23,7 @@
func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
+// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
type SockaddrDatalink struct {
Family uint16
Index uint16
diff --git a/unix/syscall_unix.go b/unix/syscall_unix.go
index 35c1cd5..950cfa8 100644
--- a/unix/syscall_unix.go
+++ b/unix/syscall_unix.go
@@ -149,16 +149,19 @@
// creation of IPv6 sockets to return EAFNOSUPPORT.
var SocketDisableIPv6 bool
+// Sockaddr represents a socket address.
type Sockaddr interface {
sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs
}
+// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets.
type SockaddrInet4 struct {
Port int
Addr [4]byte
raw RawSockaddrInet4
}
+// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets.
type SockaddrInet6 struct {
Port int
ZoneId uint32
@@ -166,6 +169,7 @@
raw RawSockaddrInet6
}
+// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets.
type SockaddrUnix struct {
Name string
raw RawSockaddrUnix