libgo: update to go1.9
[official-gcc.git] / libgo / go / syscall / net.go
blob272d3afc38745108d91ece0f13e2067da9068aac
1 // Copyright 2017 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
5 package syscall
7 // A RawConn is a raw network connection.
8 type RawConn interface {
9 // Control invokes f on the underlying connection's file
10 // descriptor or handle.
11 // The file descriptor fd is guaranteed to remain valid while
12 // f executes but not after f returns.
13 Control(f func(fd uintptr)) error
15 // Read invokes f on the underlying connection's file
16 // descriptor or handle; f is expected to try to read from the
17 // file descriptor.
18 // If f returns true, Read returns. Otherwise Read blocks
19 // waiting for the connection to be ready for reading and
20 // tries again repeatedly.
21 // The file descriptor is guaranteed to remain valid while f
22 // executes but not after f returns.
23 Read(f func(fd uintptr) (done bool)) error
25 // Write is like Read but for writing.
26 Write(f func(fd uintptr) (done bool)) error
29 // Conn is implemented by some types in the net package to provide
30 // access to the underlying file descriptor or handle.
31 type Conn interface {
32 // SyscallConn returns a raw network connection.
33 SyscallConn() (RawConn, error)