|
@@ -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;
|
|
|