From 03467258950d845cd1877eab69461b98e8c09219 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Thu, 25 Jan 2018 13:54:57 +0100 Subject: [PATCH] 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 --- unix/syscall_darwin.go | 1 + unix/syscall_dragonfly.go | 1 + unix/syscall_freebsd.go | 1 + unix/syscall_linux.go | 6 ++++++ unix/syscall_netbsd.go | 1 + unix/syscall_openbsd.go | 1 + unix/syscall_solaris.go | 1 + unix/syscall_unix.go | 4 ++++ 8 files changed, 16 insertions(+) diff --git a/unix/syscall_darwin.go b/unix/syscall_darwin.go index 1eea3567..b9598694 100644 --- a/unix/syscall_darwin.go +++ b/unix/syscall_darwin.go @@ -36,6 +36,7 @@ func Getwd() (string, error) { 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 17256ec9..777860bf 100644 --- a/unix/syscall_dragonfly.go +++ b/unix/syscall_dragonfly.go @@ -14,6 +14,7 @@ package unix 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 44462757..89f2c3fc 100644 --- a/unix/syscall_freebsd.go +++ b/unix/syscall_freebsd.go @@ -14,6 +14,7 @@ package unix 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 5837999a..b48f77f9 100644 --- a/unix/syscall_linux.go +++ b/unix/syscall_linux.go @@ -420,6 +420,7 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { 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 @@ func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { 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 @@ func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) { 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 @@ func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) { 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 060e5e61..71b70783 100644 --- a/unix/syscall_netbsd.go +++ b/unix/syscall_netbsd.go @@ -17,6 +17,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_openbsd.go b/unix/syscall_openbsd.go index 407d119e..37556e77 100644 --- a/unix/syscall_openbsd.go +++ b/unix/syscall_openbsd.go @@ -18,6 +18,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_solaris.go b/unix/syscall_solaris.go index a87aebfe..eca8d1d0 100644 --- a/unix/syscall_solaris.go +++ b/unix/syscall_solaris.go @@ -23,6 +23,7 @@ type syscallFunc uintptr 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 35c1cd5c..950cfa81 100644 --- a/unix/syscall_unix.go +++ b/unix/syscall_unix.go @@ -149,16 +149,19 @@ func Write(fd int, p []byte) (n int, err error) { // 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 @@ type SockaddrInet6 struct { raw RawSockaddrInet6 } +// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets. type SockaddrUnix struct { Name string raw RawSockaddrUnix