]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: reduce the set of architecture-dependent files on Plan 9
authorAnthony Martin <ality@pbrane.org>
Tue, 30 Dec 2014 14:14:55 +0000 (06:14 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 9 Apr 2015 13:55:13 +0000 (13:55 +0000)
Change-Id: I98b172181c2fd85aa385341e28bc661dbc274252
Reviewed-on: https://go-review.googlesource.com/2167
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/syscall/const_plan9.go [new file with mode: 0644]
src/syscall/errors_plan9.go [moved from src/syscall/zerrors_plan9_386.go with 100% similarity]
src/syscall/syscall_plan9.go
src/syscall/types_plan9.c [deleted file]
src/syscall/zerrors_plan9_amd64.go [deleted file]
src/syscall/zsyscall_plan9_386.go
src/syscall/zsyscall_plan9_amd64.go
src/syscall/zsysnum_plan9.go [moved from src/syscall/zsysnum_plan9_386.go with 100% similarity]
src/syscall/zsysnum_plan9_amd64.go [deleted file]
src/syscall/ztypes_plan9_386.go [deleted file]
src/syscall/ztypes_plan9_amd64.go [deleted file]

diff --git a/src/syscall/const_plan9.go b/src/syscall/const_plan9.go
new file mode 100644 (file)
index 0000000..ba26f12
--- /dev/null
@@ -0,0 +1,59 @@
+package syscall
+
+// Plan 9 Constants
+
+// Open modes
+const (
+       O_RDONLY  = 0
+       O_WRONLY  = 1
+       O_RDWR    = 2
+       O_TRUNC   = 16
+       O_CLOEXEC = 32
+       O_EXCL    = 0x1000
+)
+
+// Rfork flags
+const (
+       RFNAMEG  = 1 << 0
+       RFENVG   = 1 << 1
+       RFFDG    = 1 << 2
+       RFNOTEG  = 1 << 3
+       RFPROC   = 1 << 4
+       RFMEM    = 1 << 5
+       RFNOWAIT = 1 << 6
+       RFCNAMEG = 1 << 10
+       RFCENVG  = 1 << 11
+       RFCFDG   = 1 << 12
+       RFREND   = 1 << 13
+       RFNOMNT  = 1 << 14
+)
+
+// Qid.Type bits
+const (
+       QTDIR    = 0x80
+       QTAPPEND = 0x40
+       QTEXCL   = 0x20
+       QTMOUNT  = 0x10
+       QTAUTH   = 0x08
+       QTTMP    = 0x04
+       QTFILE   = 0x00
+)
+
+// Dir.Mode bits
+const (
+       DMDIR    = 0x80000000
+       DMAPPEND = 0x40000000
+       DMEXCL   = 0x20000000
+       DMMOUNT  = 0x10000000
+       DMAUTH   = 0x08000000
+       DMTMP    = 0x04000000
+       DMREAD   = 0x4
+       DMWRITE  = 0x2
+       DMEXEC   = 0x1
+)
+
+const (
+       STATMAX    = 65535
+       ERRMAX     = 128
+       STATFIXLEN = 49
+)
index f6a502b9abc3b2cdc2056e772fb16c5447cc5b98..796870825c98dc76d5768a8b11c453b049565e1a 100644 (file)
@@ -140,12 +140,12 @@ func Fd2path(fd int) (path string, err error) {
        return cstring(buf[:]), nil
 }
 
-//sys  pipe(p *[2]_C_int) (err error)
+//sys  pipe(p *[2]int32) (err error)
 func Pipe(p []int) (err error) {
        if len(p) != 2 {
                return NewError("bad arg in system call")
        }
-       var pp [2]_C_int
+       var pp [2]int32
        err = pipe(&pp)
        p[0] = int(pp[0])
        p[1] = int(pp[1])
diff --git a/src/syscall/types_plan9.c b/src/syscall/types_plan9.c
deleted file mode 100644 (file)
index cd9e15f..0000000
+++ /dev/null
@@ -1,115 +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.
-
-// +build ignore
-
-/*
-Input to godefs.  See also mkerrors.sh and mkall.sh
-*/
-
-typedef unsigned short ushort;
-typedef unsigned char uchar;
-typedef unsigned long ulong;
-typedef unsigned int uint;
-typedef long long vlong;
-typedef unsigned long long uvlong;
-
-typedef int $_C_int;
-
-enum {
-       OREAD   = 0,    // open for read
-       OWRITE  = 1,    // write
-       ORDWR   = 2,    // read and write
-       OEXEC   = 3,    // execute, == read but check execute permission
-       OTRUNC  = 16,   // or'ed in (except for exec), truncate file first
-       OCEXEC  = 32,   // or'ed in, close on exec
-       ORCLOSE = 64,           // or'ed in, remove on close
-       OEXCL   = 0x1000,       // or'ed in, exclusive use (create only)
-
-       $O_RDONLY       = OREAD,
-       $O_WRONLY       = OWRITE,
-       $O_RDWR         = ORDWR,
-       $O_TRUNC        = OTRUNC,
-       $O_CLOEXEC      = OCEXEC,
-       $O_EXCL         = OEXCL,
-
-       $STATMAX        = 65535U,
-       $ERRMAX         = 128,
-
-       $MORDER         = 0x0003,       // mask for bits defining order of mounting
-       $MREPL          = 0x0000,       // mount replaces object
-       $MBEFORE        = 0x0001,       // mount goes before others in union directory
-       $MAFTER         = 0x0002,       // mount goes after others in union directory
-       $MCREATE        = 0x0004,       // permit creation in mounted directory
-       $MCACHE         = 0x0010,       // cache some data
-       $MMASK          = 0x0017,       // all bits on
-
-       $RFNAMEG        = (1<<0),
-       $RFENVG         = (1<<1),
-       $RFFDG          = (1<<2),
-       $RFNOTEG        = (1<<3),
-       $RFPROC         = (1<<4),
-       $RFMEM          = (1<<5),
-       $RFNOWAIT       = (1<<6),
-       $RFCNAMEG       = (1<<10),
-       $RFCENVG        = (1<<11),
-       $RFCFDG         = (1<<12),
-       $RFREND         = (1<<13),
-       $RFNOMNT        = (1<<14),
-
-       // bits in Qid.type
-       $QTDIR          = 0x80,         // type bit for directories
-       $QTAPPEND       = 0x40,         // type bit for append only files
-       $QTEXCL         = 0x20,         // type bit for exclusive use files
-       $QTMOUNT        = 0x10,         // type bit for mounted channel
-       $QTAUTH         = 0x08,         // type bit for authentication file
-       $QTTMP          = 0x04,         // type bit for not-backed-up file
-       $QTFILE         = 0x00,         // plain file
-
-
-       // bits in Dir.mode
-       $DMDIR          = 0x80000000,   // mode bit for directories
-       $DMAPPEND       = 0x40000000,   // mode bit for append only files
-       $DMEXCL         = 0x20000000,   // mode bit for exclusive use files
-       $DMMOUNT        = 0x10000000,   // mode bit for mounted channel
-       $DMAUTH         = 0x08000000,   // mode bit for authentication file
-       $DMTMP          = 0x04000000,   // mode bit for non-backed-up files
-       $DMREAD         = 0x4,          // mode bit for read permission
-       $DMWRITE        = 0x2,          // mode bit for write permission
-       $DMEXEC         = 0x1,          // mode bit for execute permission
-
-       BIT8SZ  = 1,
-       BIT16SZ = 2,
-       BIT32SZ = 4,
-       BIT64SZ = 8,
-       QIDSZ = BIT8SZ+BIT32SZ+BIT64SZ,
-
-       // STATFIXLEN includes leading 16-bit count
-       // The count, however, excludes itself; total size is BIT16SZ+count
-       $STATFIXLEN = BIT16SZ+QIDSZ+5*BIT16SZ+4*BIT32SZ+1*BIT64SZ,      // amount of fixed length data in a stat buffer
-};
-
-
-struct Prof                    // Per process profiling
-{
-       struct Plink    *pp;    // known to be 0(ptr)
-       struct Plink    *next;  // known to be 4(ptr)
-       struct Plink    *last;
-       struct Plink    *first;
-       ulong           pid;
-       ulong           what;
-};
-
-struct Tos {
-       struct Prof     prof;
-       uvlong          cyclefreq;      // cycle clock frequency if there is one, 0 otherwise
-       vlong           kcycles;        // cycles spent in kernel
-       vlong           pcycles;        // cycles spent in process (kernel + user)
-       ulong           pid;            // might as well put the pid here
-       ulong           clock;
-       // top of stack is here
-};
-
-typedef struct Prof $Prof;
-typedef struct Tos $Tos;
diff --git a/src/syscall/zerrors_plan9_amd64.go b/src/syscall/zerrors_plan9_amd64.go
deleted file mode 100644 (file)
index ede3d6a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2011 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 syscall
-
-// Constants
-const (
-       // Invented values to support what package os expects.
-       O_CREAT    = 0x02000
-       O_APPEND   = 0x00400
-       O_NOCTTY   = 0x00000
-       O_NONBLOCK = 0x00000
-       O_SYNC     = 0x00000
-       O_ASYNC    = 0x00000
-
-       S_IFMT   = 0x1f000
-       S_IFIFO  = 0x1000
-       S_IFCHR  = 0x2000
-       S_IFDIR  = 0x4000
-       S_IFBLK  = 0x6000
-       S_IFREG  = 0x8000
-       S_IFLNK  = 0xa000
-       S_IFSOCK = 0xc000
-)
-
-// Errors
-var (
-       EINVAL       = NewError("bad arg in system call")
-       ENOTDIR      = NewError("not a directory")
-       EISDIR       = NewError("file is a directory")
-       ENOENT       = NewError("file does not exist")
-       EEXIST       = NewError("file already exists")
-       EMFILE       = NewError("no free file descriptors")
-       EIO          = NewError("i/o error")
-       ENAMETOOLONG = NewError("file name too long")
-       EINTR        = NewError("interrupted")
-       EPERM        = NewError("permission denied")
-       EBUSY        = NewError("no free devices")
-       ETIMEDOUT    = NewError("connection timed out")
-       EPLAN9       = NewError("not supported by plan 9")
-
-       // The following errors do not correspond to any
-       // Plan 9 system messages. Invented to support
-       // what package os and others expect.
-       EACCES       = NewError("access permission denied")
-       EAFNOSUPPORT = NewError("address family not supported by protocol")
-)
index ae0187fd098a909a425b6335a147508d43256091..06f1f04114839cbc75ac51e18ca86c8ad2b25468 100644 (file)
@@ -23,7 +23,7 @@ func fd2path(fd int, buf []byte) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe(p *[2]_C_int) (err error) {
+func pipe(p *[2]int32) (err error) {
        r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
        if int32(r0) == -1 {
                err = e1
index ae0187fd098a909a425b6335a147508d43256091..06f1f04114839cbc75ac51e18ca86c8ad2b25468 100644 (file)
@@ -23,7 +23,7 @@ func fd2path(fd int, buf []byte) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe(p *[2]_C_int) (err error) {
+func pipe(p *[2]int32) (err error) {
        r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
        if int32(r0) == -1 {
                err = e1
diff --git a/src/syscall/zsysnum_plan9_amd64.go b/src/syscall/zsysnum_plan9_amd64.go
deleted file mode 100644 (file)
index 07498c4..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// mksysnum_plan9.sh /media/sys/src/libc/9syscall/sys.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-
-package syscall
-
-const (
-       SYS_SYSR1       = 0
-       SYS_BIND        = 2
-       SYS_CHDIR       = 3
-       SYS_CLOSE       = 4
-       SYS_DUP         = 5
-       SYS_ALARM       = 6
-       SYS_EXEC        = 7
-       SYS_EXITS       = 8
-       SYS_FAUTH       = 10
-       SYS_SEGBRK      = 12
-       SYS_OPEN        = 14
-       SYS_OSEEK       = 16
-       SYS_SLEEP       = 17
-       SYS_RFORK       = 19
-       SYS_PIPE        = 21
-       SYS_CREATE      = 22
-       SYS_FD2PATH     = 23
-       SYS_BRK_        = 24
-       SYS_REMOVE      = 25
-       SYS_NOTIFY      = 28
-       SYS_NOTED       = 29
-       SYS_SEGATTACH   = 30
-       SYS_SEGDETACH   = 31
-       SYS_SEGFREE     = 32
-       SYS_SEGFLUSH    = 33
-       SYS_RENDEZVOUS  = 34
-       SYS_UNMOUNT     = 35
-       SYS_SEMACQUIRE  = 37
-       SYS_SEMRELEASE  = 38
-       SYS_SEEK        = 39
-       SYS_FVERSION    = 40
-       SYS_ERRSTR      = 41
-       SYS_STAT        = 42
-       SYS_FSTAT       = 43
-       SYS_WSTAT       = 44
-       SYS_FWSTAT      = 45
-       SYS_MOUNT       = 46
-       SYS_AWAIT       = 47
-       SYS_PREAD       = 50
-       SYS_PWRITE      = 51
-       SYS_TSEMACQUIRE = 52
-       SYS_NSEC        = 53
-)
diff --git a/src/syscall/ztypes_plan9_386.go b/src/syscall/ztypes_plan9_386.go
deleted file mode 100644 (file)
index 3e3a8d1..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-// godefs -gsyscall -f -m32 types_plan9.c
-
-// MACHINE GENERATED - DO NOT EDIT.
-
-package syscall
-
-// Constants
-const (
-       O_RDONLY   = 0
-       O_WRONLY   = 0x1
-       O_RDWR     = 0x2
-       O_TRUNC    = 0x10
-       O_CLOEXEC  = 0x20
-       O_EXCL     = 0x1000
-       STATMAX    = 0xffff
-       ERRMAX     = 0x80
-       MORDER     = 0x3
-       MREPL      = 0
-       MBEFORE    = 0x1
-       MAFTER     = 0x2
-       MCREATE    = 0x4
-       MCACHE     = 0x10
-       MMASK      = 0x17
-       RFNAMEG    = 0x1
-       RFENVG     = 0x2
-       RFFDG      = 0x4
-       RFNOTEG    = 0x8
-       RFPROC     = 0x10
-       RFMEM      = 0x20
-       RFNOWAIT   = 0x40
-       RFCNAMEG   = 0x400
-       RFCENVG    = 0x800
-       RFCFDG     = 0x1000
-       RFREND     = 0x2000
-       RFNOMNT    = 0x4000
-       QTDIR      = 0x80
-       QTAPPEND   = 0x40
-       QTEXCL     = 0x20
-       QTMOUNT    = 0x10
-       QTAUTH     = 0x8
-       QTTMP      = 0x4
-       QTFILE     = 0
-       DMDIR      = 0x80000000
-       DMAPPEND   = 0x40000000
-       DMEXCL     = 0x20000000
-       DMMOUNT    = 0x10000000
-       DMAUTH     = 0x8000000
-       DMTMP      = 0x4000000
-       DMREAD     = 0x4
-       DMWRITE    = 0x2
-       DMEXEC     = 0x1
-       STATFIXLEN = 0x31
-)
-
-// Types
-
-type _C_int int32
-
-type Prof struct {
-       Pp    *[0]byte /* sPlink */
-       Next  *[0]byte /* sPlink */
-       Last  *[0]byte /* sPlink */
-       First *[0]byte /* sPlink */
-       Pid   uint32
-       What  uint32
-}
-
-type Tos struct {
-       Prof      Prof
-       Cyclefreq uint64
-       Kcycles   int64
-       Pcycles   int64
-       Pid       uint32
-       Clock     uint32
-}
diff --git a/src/syscall/ztypes_plan9_amd64.go b/src/syscall/ztypes_plan9_amd64.go
deleted file mode 100644 (file)
index 3e3a8d1..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-// godefs -gsyscall -f -m32 types_plan9.c
-
-// MACHINE GENERATED - DO NOT EDIT.
-
-package syscall
-
-// Constants
-const (
-       O_RDONLY   = 0
-       O_WRONLY   = 0x1
-       O_RDWR     = 0x2
-       O_TRUNC    = 0x10
-       O_CLOEXEC  = 0x20
-       O_EXCL     = 0x1000
-       STATMAX    = 0xffff
-       ERRMAX     = 0x80
-       MORDER     = 0x3
-       MREPL      = 0
-       MBEFORE    = 0x1
-       MAFTER     = 0x2
-       MCREATE    = 0x4
-       MCACHE     = 0x10
-       MMASK      = 0x17
-       RFNAMEG    = 0x1
-       RFENVG     = 0x2
-       RFFDG      = 0x4
-       RFNOTEG    = 0x8
-       RFPROC     = 0x10
-       RFMEM      = 0x20
-       RFNOWAIT   = 0x40
-       RFCNAMEG   = 0x400
-       RFCENVG    = 0x800
-       RFCFDG     = 0x1000
-       RFREND     = 0x2000
-       RFNOMNT    = 0x4000
-       QTDIR      = 0x80
-       QTAPPEND   = 0x40
-       QTEXCL     = 0x20
-       QTMOUNT    = 0x10
-       QTAUTH     = 0x8
-       QTTMP      = 0x4
-       QTFILE     = 0
-       DMDIR      = 0x80000000
-       DMAPPEND   = 0x40000000
-       DMEXCL     = 0x20000000
-       DMMOUNT    = 0x10000000
-       DMAUTH     = 0x8000000
-       DMTMP      = 0x4000000
-       DMREAD     = 0x4
-       DMWRITE    = 0x2
-       DMEXEC     = 0x1
-       STATFIXLEN = 0x31
-)
-
-// Types
-
-type _C_int int32
-
-type Prof struct {
-       Pp    *[0]byte /* sPlink */
-       Next  *[0]byte /* sPlink */
-       Last  *[0]byte /* sPlink */
-       First *[0]byte /* sPlink */
-       Pid   uint32
-       What  uint32
-}
-
-type Tos struct {
-       Prof      Prof
-       Cyclefreq uint64
-       Kcycles   int64
-       Pcycles   int64
-       Pid       uint32
-       Clock     uint32
-}