diff options
Diffstat (limited to 'src/pkg/syscall/syscall_nacl.go')
-rw-r--r-- | src/pkg/syscall/syscall_nacl.go | 353 |
1 files changed, 0 insertions, 353 deletions
diff --git a/src/pkg/syscall/syscall_nacl.go b/src/pkg/syscall/syscall_nacl.go deleted file mode 100644 index 0b592cc51..000000000 --- a/src/pkg/syscall/syscall_nacl.go +++ /dev/null @@ -1,353 +0,0 @@ -// Copyright 2009 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. - -// Native Client system calls. - -package syscall - -const OS = "nacl" - -// Auto-generated - -//sys Chmod(path string, mode int) (errno int) -//sys Clock() (clock int) -//sys Close(fd int) (errno int) -//sys Exit(code int) -//sys Fstat(fd int, stat *Stat_t) (errno int) -//sys Getdents(fd int, buf []byte) (n int, errno int) -//sys Getpid() (pid int) -//sys Gettimeofday(tv *Timeval) (errno int) -//sys Open(path string, mode int, perm int) (fd int, errno int) -//sys Read(fd int, p []byte) (n int, errno int) -//sys read(fd int, buf *byte, nbuf int) (n int, errno int) -//sys Stat(path string, stat *Stat_t) (errno int) -//sys Write(fd int, p []byte) (n int, errno int) - -//sys MultimediaInit(subsys int) (errno int) -//sys MultimediaShutdown() (errno int) - -//sys CondCreate() (cv int, errno int) -//sys CondWait(cv int, mutex int) (errno int) -//sys CondSignal(cv int) (errno int) -//sys CondBroadcast(cv int) (errno int) -//sys CondTimedWaitAbs(cv int, mutex int, abstime *Timespec) (errno int) -//sys MutexCreate() (mutex int, errno int) -//sys MutexLock(mutex int) (errno int) -//sys MutexUnlock(mutex int) (errno int) -//sys MutexTryLock(mutex int) (errno int) = SYS_MUTEX_TRYLOCK -//sys SemCreate() (sema int, errno int) -//sys SemWait(sema int) (errno int) -//sys SemPost(sema int) (errno int) -//sys VideoInit(dx int, dy int) (errno int) -//sys VideoUpdate(data *uint32) (errno int) -//sys VideoPollEvent(ev *byte) (errno int) -//sys VideoShutdown() (errno int) -//sys AudioInit(fmt int, nreq int, data *int) (errno int) -//sys AudioShutdown() (errno int) -//sys AudioStream(data *uint16, size *uintptr) (errno int) - -// Hand-written - -func Seek(fd int, offset int64, whence int) (newoffset int64, errno int) { - // Offset passed to system call is 32 bits. Failure of vision by NaCl. - if int64(int32(offset)) != offset { - return 0, ERANGE - } - o, _, e := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - return int64(o), int(e) -} - -// Sleep by waiting on a condition variable that will never be signaled. -// TODO(rsc): Replace when NaCl adds a proper sleep system call. -var tcv, tmu int - -func init() { - tmu, _ = MutexCreate() - tcv, _ = CondCreate() -} - -func Sleep(ns int64) (errno int) { - ts := NsecToTimespec(ns) - var tv Timeval - if errno = Gettimeofday(&tv); errno != 0 { - return - } - ts.Sec += tv.Sec - ts.Nsec += tv.Usec * 1000 - switch { - case ts.Nsec >= 1e9: - ts.Nsec -= 1e9 - ts.Sec++ - case ts.Nsec <= -1e9: - ts.Nsec += 1e9 - ts.Sec-- - } - if errno = MutexLock(tmu); errno != 0 { - return - } - errno = CondTimedWaitAbs(tcv, tmu, &ts) - if e := MutexUnlock(tmu); e != 0 && errno == 0 { - errno = e - } - return -} - -// Implemented in NaCl but not here; maybe later: -// SYS_IOCTL -// SYS_IMC_* -// SYS_MMAP ??? -// SYS_SRPC_* -// SYS_SYSCONF - -// Implemented in NaCl but not here; used by runtime instead: -// SYS_SYSBRK -// SYS_MMAP -// SYS_MUNMAP -// SYS_THREAD_* -// SYS_TLS_* -// SYS_SCHED_YIELD - -// #define'd in NaCl but not picked up by mkerrors_nacl.sh. - -const EWOULDBLOCK = EAGAIN - -// Not implemented in NaCl but needed to compile other packages. - -const ( - SIGTRAP = 5 -) - -func Pipe(p []int) (errno int) { return ENACL } - -func fcntl(fd, cmd, arg int) (val int, errno int) { - return 0, ENACL -} - -func Pread(fd int, p []byte, offset int64) (n int, errno int) { - return 0, ENACL -} - -func Pwrite(fd int, p []byte, offset int64) (n int, errno int) { - return 0, ENACL -} - -func Mkdir(path string, mode int) (errno int) { return ENACL } - -func Lstat(path string, stat *Stat_t) (errno int) { - return Stat(path, stat) -} - -func Chdir(path string) (errno int) { return ENACL } - -func Fchdir(fd int) (errno int) { return ENACL } - -func Unlink(path string) (errno int) { return ENACL } - -func Rmdir(path string) (errno int) { return ENACL } - -func Link(oldpath, newpath string) (errno int) { - return ENACL -} - -func Symlink(path, link string) (errno int) { return ENACL } - -func Readlink(path string, buf []byte) (n int, errno int) { - return 0, ENACL -} - -func Rename(oldpath, newpath string) (errno int) { - return ENACL -} - -func Fchmod(fd int, mode int) (errno int) { return ENACL } - -func Chown(path string, uid int, gid int) (errno int) { - return ENACL -} - -func Lchown(path string, uid int, gid int) (errno int) { - return ENACL -} - -func Fchown(fd int, uid int, gid int) (errno int) { - return ENACL -} - -func Utimes(path string, tv []Timeval) (errno int) { - return ENACL -} - -func Futimes(fd int, tv []Timeval) (errno int) { - return ENACL -} - -func Truncate(name string, size int64) (errno int) { - return ENACL -} - -func Ftruncate(fd int, length int64) (errno int) { - return ENACL -} - -// NaCL doesn't actually implement Getwd, but it also -// don't implement Chdir, so the fallback algorithm -// fails worse than calling Getwd does. - -const ImplementsGetwd = true - -func Getwd() (wd string, errno int) { return "", ENACL } - -func Getuid() (uid int) { return -1 } - -func Geteuid() (euid int) { return -1 } - -func Getgid() (gid int) { return -1 } - -func Getegid() (egid int) { return -1 } - -func Getppid() (ppid int) { return -1 } - -func Getgroups() (gids []int, errno int) { return nil, ENACL } - -type Sockaddr interface { - sockaddr() -} - -type SockaddrInet4 struct { - Port int - Addr [4]byte -} - -func (*SockaddrInet4) sockaddr() {} - -type SockaddrInet6 struct { - Port int - Addr [16]byte -} - -func (*SockaddrInet6) sockaddr() {} - -type SockaddrUnix struct { - Name string -} - -func (*SockaddrUnix) sockaddr() {} - -const ( - AF_INET = 1 + iota - AF_INET6 - AF_UNIX - IPPROTO_TCP - SOCK_DGRAM - SOCK_STREAM - SOCK_RAW - SOL_SOCKET - SOMAXCONN - SO_DONTROUTE - SO_KEEPALIVE - SO_LINGER - SO_RCVBUF - SO_REUSEADDR - SO_SNDBUF - TCP_NODELAY - WNOHANG - WSTOPPED - PTRACE_TRACEME - SO_BROADCAST = 0 - SHUT_RDWR = 0 -) - -func Accept(fd int) (nfd int, sa Sockaddr, errno int) { - return 0, nil, ENACL -} - -func Getsockname(fd int) (sa Sockaddr, errno int) { - return nil, ENACL -} - -func Getpeername(fd int) (sa Sockaddr, errno int) { - return nil, ENACL -} - -func Bind(fd int, sa Sockaddr) (errno int) { return ENACL } - -func BindToDevice(fd int, device string) (errno int) { return ENACL } - -func Connect(fd int, sa Sockaddr) (errno int) { return ENACL } - -func Socket(domain, typ, proto int) (fd, errno int) { - return 0, ENACL -} - -func SetsockoptInt(fd, level, opt int, value int) (errno int) { - return ENACL -} - -func Shutdown(fd, how int) (errno int) { return ENACL } - -func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, errno int) { - return 0, nil, ENACL -} - -func Sendto(fd int, p []byte, flags int, to Sockaddr) (errno int) { - return ENACL -} - -func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (errno int) { - return ENACL -} - -type Linger struct { - Onoff int32 - Linger int32 -} - -func SetsockoptLinger(fd, level, opt int, l *Linger) (errno int) { - return ENACL -} - -func Listen(s int, n int) (errno int) { return ENACL } - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int32 - Ixrss int32 - Idrss int32 - Isrss int32 - Minflt int32 - Majflt int32 - Nswap int32 - Inblock int32 - Oublock int32 - Msgsnd int32 - Msgrcv int32 - Nsignals int32 - Nvcsw int32 - Nivcsw int32 -} - -func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, errno int) { - return 0, ENACL -} - -type WaitStatus uint32 - -func (WaitStatus) Exited() bool { return false } - -func (WaitStatus) ExitStatus() int { return -1 } - -func (WaitStatus) Signal() int { return -1 } - -func (WaitStatus) CoreDump() bool { return false } - -func (WaitStatus) Stopped() bool { return false } - -func (WaitStatus) Continued() bool { return false } - -func (WaitStatus) StopSignal() int { return -1 } - -func (WaitStatus) Signaled() bool { return false } - -func (WaitStatus) TrapCause() int { return -1 } |