URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [syscall/] [socket_bsd.go] - Rev 747
Compare with Previous | Blame | View Log
// socket_bsd.go -- Socket handling specific to *BSD based systems.// Copyright 2010 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package syscallconst SizeofSockaddrInet4 = 16const SizeofSockaddrInet6 = 28const SizeofSockaddrUnix = 110type RawSockaddrInet4 struct {Len uint8;Family uint8;Port uint16;Addr [4]byte /* in_addr */;Zero [8]uint8;}func (sa *RawSockaddrInet4) setLen() Socklen_t {sa.Len = SizeofSockaddrInet4return SizeofSockaddrInet4}type RawSockaddrInet6 struct {Len uint8;Family uint8;Port uint16;Flowinfo uint32;Addr [16]byte /* in6_addr */;Scope_id uint32;}func (sa *RawSockaddrInet6) setLen() Socklen_t {sa.Len = SizeofSockaddrInet6return SizeofSockaddrInet6}type RawSockaddrUnix struct {Len uint8;Family uint8;Path [108]int8;}func (sa *RawSockaddrUnix) setLen(n int) {sa.Len = uint8(3 + n) // 2 for Family, Len; 1 for NUL.}func (sa *RawSockaddrUnix) getLen() (int, error) {if sa.Len < 3 || sa.Len > SizeofSockaddrUnix {return 0, EINVAL}n := int(sa.Len) - 3 // subtract leading Family, Len, terminating NUL.for i := 0; i < n; i++ {if sa.Path[i] == 0 {// found early NUL; assume Len is overestimating.n = ibreak}}return n, nil}type RawSockaddr struct {Len uint8;Family uint8;Data [14]int8;}// BindToDevice binds the socket associated with fd to device.func BindToDevice(fd int, device string) (err error) {return ENOSYS}func anyToSockaddrOS(rsa *RawSockaddrAny) (Sockaddr, error) {return nil, EAFNOSUPPORT}
