Documentation
¶
Index ¶
- Constants
- func Clearenv() (err error)
- func Close(fd int) (err error)
- func Environ() []string
- func Exec(argv0 string, argv []string, envv []string) (err error)
- func Exit(code int)
- func Getegid() int
- func Getenv(key string) (value string, found bool)
- func Geteuid() int
- func Getgid() int
- func Getgroups() ([]int, error)
- func Getpagesize() int
- func Getpid() int
- func Getppid() int
- func Gettimeofday(tv *Timeval) error
- func Getuid() int
- func Getwd() (string, error)
- func Kill(pid int, signum Signal) error
- func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error)
- func Munmap(b []byte) (err error)
- func Open(path string, mode int, perm uint32) (fd int, err error)
- func Pipe2(p []int, flags int) (err error)
- func Read(fd int, p []byte) (n int, err error)
- func Seek(fd int, offset int64, whence int) (off int64, err error)
- func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
- func Setenv(key, val string) (err error)
- func StartProcess(argv0 string, argv []string, attr *ProcAttr) (pid int, handle uintptr, err error)
- func Unsetenv(key string) (err error)
- func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error)
- type Conn
- type Errno
- type ProcAttr
- type RawConn
- type RawSockaddrInet4
- type RawSockaddrInet6
- type Rusage
- type Signal
- type SockaddrInet4
- type SockaddrInet6
- type SysProcAttr
- type Timeval
- type WaitStatus
- func (w WaitStatus) Continued() bool
- func (w WaitStatus) CoreDump() bool
- func (w WaitStatus) ExitStatus() int
- func (w WaitStatus) Exited() bool
- func (w WaitStatus) Signal() Signal
- func (w WaitStatus) Signaled() bool
- func (w WaitStatus) StopSignal() Signal
- func (w WaitStatus) Stopped() bool
- func (w WaitStatus) TrapCause() int
Constants ¶
View Source
const ( Stdin = 0 Stdout = 1 Stderr = 2 )
View Source
const ( O_RDONLY = 0 O_WRONLY = 1 O_RDWR = 2 O_CREAT = 0100 O_CREATE = O_CREAT O_TRUNC = 01000 O_APPEND = 02000 O_EXCL = 0200 O_SYNC = 010000 O_CLOEXEC = 0 )
View Source
const ( PROT_NONE = 0x00 // no permissions PROT_READ = 0x01 // pages can be read PROT_WRITE = 0x02 // pages can be written PROT_EXEC = 0x04 // pages can be executed MAP_SHARED = 0x0001 // share changes MAP_PRIVATE = 0x0002 // changes are private MAP_FILE = 0x0000 // map from file (default) MAP_ANON = 0x1000 // allocated from memory, swap space MAP_ANONYMOUS = MAP_ANON )
Dummy values to allow compiling tests Dummy source: https://opensource.apple.com/source/xnu/xnu-7195.81.3/bsd/sys/mman.h.auto.html
Variables ¶
This section is empty.
Functions ¶
func Getpagesize ¶ added in v0.24.0
func Getpagesize() int
func Gettimeofday ¶ added in v0.20.0
func StartProcess ¶ added in v0.20.0
Types ¶
type Conn ¶ added in v0.14.0
type Conn interface { // SyscallConn returns a raw network connection. SyscallConn() (RawConn, error) }
Conn is implemented by some types in the net and os packages to provide access to the underlying file descriptor or handle.
type Errno ¶
type Errno uintptr
An Errno is an unsigned number describing an error condition. It implements the error interface. The zero Errno is by convention a non-error, so code to convert from Errno to error should use:
err = nil if errno != 0 { err = errno }
const ( // native_client/src/trusted/service_runtime/include/sys/errno.h // The errors are mainly copied from Linux. EPERM Errno = 1 /* Operation not permitted */ ENOENT Errno = 2 /* No such file or directory */ ESRCH Errno = 3 /* No such process */ EINTR Errno = 4 /* Interrupted system call */ EIO Errno = 5 /* I/O error */ ENXIO Errno = 6 /* No such device or address */ E2BIG Errno = 7 /* Argument list too long */ ENOEXEC Errno = 8 /* Exec format error */ EBADF Errno = 9 /* Bad file number */ ECHILD Errno = 10 /* No child processes */ EAGAIN Errno = 11 /* Try again */ ENOMEM Errno = 12 /* Out of memory */ EACCES Errno = 13 /* Permission denied */ EFAULT Errno = 14 /* Bad address */ EBUSY Errno = 16 /* Device or resource busy */ EEXIST Errno = 17 /* File exists */ EXDEV Errno = 18 /* Cross-device link */ ENODEV Errno = 19 /* No such device */ ENOTDIR Errno = 20 /* Not a directory */ EISDIR Errno = 21 /* Is a directory */ EINVAL Errno = 22 /* Invalid argument */ ENFILE Errno = 23 /* File table overflow */ EMFILE Errno = 24 /* Too many open files */ ENOTTY Errno = 25 /* Not a typewriter */ EFBIG Errno = 27 /* File too large */ ENOSPC Errno = 28 /* No space left on device */ ESPIPE Errno = 29 /* Illegal seek */ EROFS Errno = 30 /* Read-only file system */ EMLINK Errno = 31 /* Too many links */ EPIPE Errno = 32 /* Broken pipe */ ENAMETOOLONG Errno = 36 /* File name too long */ ENOSYS Errno = 38 /* Function not implemented */ EDQUOT Errno = 122 /* Quota exceeded */ EDOM Errno = 33 /* Math arg out of domain of func */ ERANGE Errno = 34 /* Math result not representable */ EDEADLK Errno = 35 /* Deadlock condition */ ENOLCK Errno = 37 /* No record locks available */ ENOTEMPTY Errno = 39 /* Directory not empty */ ELOOP Errno = 40 /* Too many symbolic links */ ENOMSG Errno = 42 /* No message of desired type */ EIDRM Errno = 43 /* Identifier removed */ ECHRNG Errno = 44 /* Channel number out of range */ EL2NSYNC Errno = 45 /* Level 2 not synchronized */ EL3HLT Errno = 46 /* Level 3 halted */ EL3RST Errno = 47 /* Level 3 reset */ ELNRNG Errno = 48 /* Link number out of range */ EUNATCH Errno = 49 /* Protocol driver not attached */ ENOCSI Errno = 50 /* No CSI structure available */ EL2HLT Errno = 51 /* Level 2 halted */ EBADE Errno = 52 /* Invalid exchange */ EBADR Errno = 53 /* Invalid request descriptor */ EXFULL Errno = 54 /* Exchange full */ ENOANO Errno = 55 /* No anode */ EBADRQC Errno = 56 /* Invalid request code */ EBADSLT Errno = 57 /* Invalid slot */ EDEADLOCK Errno = EDEADLK /* File locking deadlock error */ EBFONT Errno = 59 /* Bad font file fmt */ ENOSTR Errno = 60 /* Device not a stream */ ENODATA Errno = 61 /* No data (for no delay io) */ ETIME Errno = 62 /* Timer expired */ ENOSR Errno = 63 /* Out of streams resources */ ENONET Errno = 64 /* Machine is not on the network */ ENOPKG Errno = 65 /* Package not installed */ EREMOTE Errno = 66 /* The object is remote */ ENOLINK Errno = 67 /* The link has been severed */ EADV Errno = 68 /* Advertise error */ ESRMNT Errno = 69 /* Srmount error */ ECOMM Errno = 70 /* Communication error on send */ EPROTO Errno = 71 /* Protocol error */ EMULTIHOP Errno = 72 /* Multihop attempted */ EDOTDOT Errno = 73 /* Cross mount point (not really error) */ EBADMSG Errno = 74 /* Trying to read unreadable message */ EOVERFLOW Errno = 75 /* Value too large for defined data type */ ENOTUNIQ Errno = 76 /* Given log. name not unique */ EBADFD Errno = 77 /* f.d. invalid for this operation */ EREMCHG Errno = 78 /* Remote address changed */ ELIBACC Errno = 79 /* Can't access a needed shared lib */ ELIBBAD Errno = 80 /* Accessing a corrupted shared lib */ ELIBSCN Errno = 81 /* .lib section in a.out corrupted */ ELIBMAX Errno = 82 /* Attempting to link in too many libs */ ELIBEXEC Errno = 83 /* Attempting to exec a shared library */ EILSEQ Errno = 84 EUSERS Errno = 87 ENOTSOCK Errno = 88 /* Socket operation on non-socket */ EDESTADDRREQ Errno = 89 /* Destination address required */ EMSGSIZE Errno = 90 /* Message too long */ EPROTOTYPE Errno = 91 /* Protocol wrong type for socket */ ENOPROTOOPT Errno = 92 /* Protocol not available */ EPROTONOSUPPORT Errno = 93 /* Unknown protocol */ ESOCKTNOSUPPORT Errno = 94 /* Socket type not supported */ EOPNOTSUPP Errno = 95 /* Operation not supported on transport endpoint */ EPFNOSUPPORT Errno = 96 /* Protocol family not supported */ EAFNOSUPPORT Errno = 97 /* Address family not supported by protocol family */ EADDRINUSE Errno = 98 /* Address already in use */ EADDRNOTAVAIL Errno = 99 /* Address not available */ ENETDOWN Errno = 100 /* Network interface is not configured */ ENETUNREACH Errno = 101 /* Network is unreachable */ ENETRESET Errno = 102 ECONNABORTED Errno = 103 /* Connection aborted */ ECONNRESET Errno = 104 /* Connection reset by peer */ ENOBUFS Errno = 105 /* No buffer space available */ EISCONN Errno = 106 /* Socket is already connected */ ENOTCONN Errno = 107 /* Socket is not connected */ ESHUTDOWN Errno = 108 /* Can't send after socket shutdown */ ETOOMANYREFS Errno = 109 ETIMEDOUT Errno = 110 /* Connection timed out */ ECONNREFUSED Errno = 111 /* Connection refused */ EHOSTDOWN Errno = 112 /* Host is down */ EHOSTUNREACH Errno = 113 /* Host is unreachable */ EALREADY Errno = 114 /* Socket already connected */ EINPROGRESS Errno = 115 /* Connection already in progress */ ESTALE Errno = 116 ENOTSUP Errno = EOPNOTSUPP /* Not supported */ ENOMEDIUM Errno = 123 /* No medium (in tape drive) */ ECANCELED Errno = 125 /* Operation canceled. */ ELBIN Errno = 2048 /* Inode is remote (not really error) */ EFTYPE Errno = 2049 /* Inappropriate file type or format */ ENMFILE Errno = 2050 /* No more files */ EPROCLIM Errno = 2051 ENOSHARE Errno = 2052 /* No such host or network path */ ECASECLASH Errno = 2053 /* Filename exists with different case */ EWOULDBLOCK Errno = EAGAIN /* Operation would block */ )
TODO: Auto-generate some day. (Hard-coded in binaries so not likely to change.)
type ProcAttr ¶ added in v0.20.0
type ProcAttr struct { Dir string Env []string Files []uintptr Sys *SysProcAttr }
XXX made up
type RawConn ¶ added in v0.14.0
type RawConn interface { // Control invokes f on the underlying connection's file // descriptor or handle. // The file descriptor fd is guaranteed to remain valid while // f executes but not after f returns. Control(f func(fd uintptr)) error // Read invokes f on the underlying connection's file // descriptor or handle; f is expected to try to read from the // file descriptor. // If f returns true, Read returns. Otherwise Read blocks // waiting for the connection to be ready for reading and // tries again repeatedly. // The file descriptor is guaranteed to remain valid while f // executes but not after f returns. Read(f func(fd uintptr) (done bool)) error // Write is like Read but for writing. Write(f func(fd uintptr) (done bool)) error }
A RawConn is a raw network connection.
type RawSockaddrInet4 ¶ added in v0.27.0
type RawSockaddrInet4 struct { }
type RawSockaddrInet6 ¶ added in v0.27.0
type RawSockaddrInet6 struct { }
type Signal ¶ added in v0.20.0
type Signal int
A Signal is a number describing a process signal. It implements the os.Signal interface.
const ( SIGCHLD Signal SIGINT SIGKILL SIGTRAP SIGQUIT SIGTERM SIGILL SIGABRT SIGBUS SIGFPE SIGSEGV SIGPIPE )
type SockaddrInet4 ¶ added in v0.27.0
type SockaddrInet6 ¶ added in v0.27.0
type SysProcAttr ¶ added in v0.20.0
type SysProcAttr struct { }
type WaitStatus ¶ added in v0.20.0
type WaitStatus uint32
func (WaitStatus) Continued ¶ added in v0.20.0
func (w WaitStatus) Continued() bool
func (WaitStatus) CoreDump ¶ added in v0.20.0
func (w WaitStatus) CoreDump() bool
func (WaitStatus) ExitStatus ¶ added in v0.20.0
func (w WaitStatus) ExitStatus() int
func (WaitStatus) Exited ¶ added in v0.20.0
func (w WaitStatus) Exited() bool
func (WaitStatus) Signal ¶ added in v0.20.0
func (w WaitStatus) Signal() Signal
func (WaitStatus) Signaled ¶ added in v0.20.0
func (w WaitStatus) Signaled() bool
func (WaitStatus) StopSignal ¶ added in v0.20.0
func (w WaitStatus) StopSignal() Signal
func (WaitStatus) Stopped ¶ added in v0.20.0
func (w WaitStatus) Stopped() bool
func (WaitStatus) TrapCause ¶ added in v0.20.0
func (w WaitStatus) TrapCause() int
Click to show internal directories.
Click to hide internal directories.