sizeof_1_ = 8;aggr _1_{ 'U' 0 lo; 'U' 4 hi;}; defn_1_(addr) { complex _1_ addr; print(" lo ", addr.lo, "\n"); print(" hi ", addr.hi, "\n");}; sizeofFPdbleword = 8;aggr FPdbleword{ 'F' 0 x; { 'U' 0 lo; 'U' 4 hi; };}; defnFPdbleword(addr) { complex FPdbleword addr; print(" x ", addr.x, "\n"); print("_1_ {\n"); _1_(addr+0); print("}\n");}; UTFmax = 3;Runesync = 128;Runeself = 128;Runeerror = 65533;sizeofFmt = 48;aggr Fmt{ 'b' 0 runes; 'X' 4 start; 'X' 8 to; 'X' 12 stop; 'X' 16 flush; 'X' 20 farg; 'D' 24 nfmt; 'X' 28 args; 'D' 32 r; 'D' 36 width; 'D' 40 prec; 'U' 44 flags;}; defnFmt(addr) { complex Fmt addr; print(" runes ", addr.runes, "\n"); print(" start ", addr.start\X, "\n"); print(" to ", addr.to\X, "\n"); print(" stop ", addr.stop\X, "\n"); print(" flush ", addr.flush\X, "\n"); print(" farg ", addr.farg\X, "\n"); print(" nfmt ", addr.nfmt, "\n"); print(" args ", addr.args\X, "\n"); print(" r ", addr.r, "\n"); print(" width ", addr.width, "\n"); print(" prec ", addr.prec, "\n"); print(" flags ", addr.flags, "\n");}; FmtWidth = 1;FmtLeft = 2;FmtPrec = 4;FmtSharp = 8;FmtSpace = 16;FmtSign = 32;FmtZero = 64;FmtUnsigned = 128;FmtShort = 256;FmtLong = 512;FmtVLong = 1024;FmtComma = 2048;FmtByte = 4096;FmtFlag = 8192;sizeofTm = 40;aggr Tm{ 'D' 0 sec; 'D' 4 min; 'D' 8 hour; 'D' 12 mday; 'D' 16 mon; 'D' 20 year; 'D' 24 wday; 'D' 28 yday; 'a' 32 zone; 'D' 36 tzoff;}; defnTm(addr) { complex Tm addr; print(" sec ", addr.sec, "\n"); print(" min ", addr.min, "\n"); print(" hour ", addr.hour, "\n"); print(" mday ", addr.mday, "\n"); print(" mon ", addr.mon, "\n"); print(" year ", addr.year, "\n"); print(" wday ", addr.wday, "\n"); print(" yday ", addr.yday, "\n"); print(" zone ", addr.zone, "\n"); print(" tzoff ", addr.tzoff, "\n");}; PNPROC = 1;PNGROUP = 2;Profoff = 0;Profuser = 1;Profkernel = 2;Proftime = 3;Profsample = 4;sizeofLock = 4;aggr Lock{ 'D' 0 val;}; defnLock(addr) { complex Lock addr; print(" val ", addr.val, "\n");}; sizeofQLp = 12;aggr QLp{ 'D' 0 inuse; 'A' QLp 4 next; 'C' 8 state;}; defnQLp(addr) { complex QLp addr; print(" inuse ", addr.inuse, "\n"); print(" next ", addr.next\X, "\n"); print(" state ", addr.state, "\n");}; sizeofQLock = 16;aggr QLock{ Lock 0 lock; 'D' 4 locked; 'A' QLp 8 $head; 'A' QLp 12 $tail;}; defnQLock(addr) { complex QLock addr; print("Lock lock {\n"); Lock(addr.lock); print("}\n"); print(" locked ", addr.locked, "\n"); print(" $head ", addr.$head\X, "\n"); print(" $tail ", addr.$tail\X, "\n");}; sizeofRWLock = 20;aggr RWLock{ Lock 0 lock; 'D' 4 readers; 'D' 8 writer; 'A' QLp 12 $head; 'A' QLp 16 $tail;}; defnRWLock(addr) { complex RWLock addr; print("Lock lock {\n"); Lock(addr.lock); print("}\n"); print(" readers ", addr.readers, "\n"); print(" writer ", addr.writer, "\n"); print(" $head ", addr.$head\X, "\n"); print(" $tail ", addr.$tail\X, "\n");}; sizeofRendez = 12;aggr Rendez{ 'A' QLock 0 l; 'A' QLp 4 $head; 'A' QLp 8 $tail;}; defnRendez(addr) { complex Rendez addr; print(" l ", addr.l\X, "\n"); print(" $head ", addr.$head\X, "\n"); print(" $tail ", addr.$tail\X, "\n");}; sizeofNetConnInfo = 36;aggr NetConnInfo{ 'X' 0 dir; 'X' 4 root; 'X' 8 spec; 'X' 12 lsys; 'X' 16 lserv; 'X' 20 rsys; 'X' 24 rserv; 'X' 28 laddr; 'X' 32 raddr;}; defnNetConnInfo(addr) { complex NetConnInfo addr; print(" dir ", addr.dir\X, "\n"); print(" root ", addr.root\X, "\n"); print(" spec ", addr.spec\X, "\n"); print(" lsys ", addr.lsys\X, "\n"); print(" lserv ", addr.lserv\X, "\n"); print(" rsys ", addr.rsys\X, "\n"); print(" rserv ", addr.rserv\X, "\n"); print(" laddr ", addr.laddr\X, "\n"); print(" raddr ", addr.raddr\X, "\n");}; RFNAMEG = 1;RFENVG = 2;RFFDG = 4;RFNOTEG = 8;RFPROC = 16;RFMEM = 32;RFNOWAIT = 64;RFCNAMEG = 1024;RFCENVG = 2048;RFCFDG = 4096;RFREND = 8192;RFNOMNT = 16384;sizeofQid = 16;aggr Qid{ 'W' 0 path; 'U' 8 vers; 'b' 12 type;}; defnQid(addr) { complex Qid addr; print(" path ", addr.path, "\n"); print(" vers ", addr.vers, "\n"); print(" type ", addr.type, "\n");}; sizeofDir = 60;aggr Dir{ 'u' 0 type; 'U' 4 dev; Qid 8 qid; 'U' 24 mode; 'U' 28 atime; 'U' 32 mtime; 'V' 36 length; 'X' 44 name; 'X' 48 uid; 'X' 52 gid; 'X' 56 muid;}; defnDir(addr) { complex Dir addr; print(" type ", addr.type, "\n"); print(" dev ", addr.dev, "\n"); print("Qid qid {\n"); Qid(addr.qid); print("}\n"); print(" mode ", addr.mode, "\n"); print(" atime ", addr.atime, "\n"); print(" mtime ", addr.mtime, "\n"); print(" length ", addr.length, "\n"); print(" name ", addr.name\X, "\n"); print(" uid ", addr.uid\X, "\n"); print(" gid ", addr.gid\X, "\n"); print(" muid ", addr.muid\X, "\n");}; sizeofWaitmsg = 20;aggr Waitmsg{ 'D' 0 pid; 'a' 4 time; 'X' 16 msg;}; defnWaitmsg(addr) { complex Waitmsg addr; print(" pid ", addr.pid, "\n"); print(" time ", addr.time, "\n"); print(" msg ", addr.msg\X, "\n");}; sizeofIOchunk = 8;aggr IOchunk{ 'X' 0 addr; 'U' 4 len;}; defnIOchunk(addr) { complex IOchunk addr; print(" addr ", addr.addr\X, "\n"); print(" len ", addr.len, "\n");}; Bsize = 8192;Bungetsize = 4;Bmagic = 3227993;Beof = -1;Bbad = -2;Binactive = 0;Bractive = 1;Bwactive = 2;Bracteof = 3;sizeofBiobufhdr = 52;aggr Biobufhdr{ 'D' 0 icount; 'D' 4 ocount; 'D' 8 rdline; 'D' 12 runesize; 'D' 16 state; 'D' 20 fid; 'D' 24 flag; 'V' 28 offset; 'D' 36 bsize; 'X' 40 bbuf; 'X' 44 ebuf; 'X' 48 gbuf;}; defnBiobufhdr(addr) { complex Biobufhdr addr; print(" icount ", addr.icount, "\n"); print(" ocount ", addr.ocount, "\n"); print(" rdline ", addr.rdline, "\n"); print(" runesize ", addr.runesize, "\n"); print(" state ", addr.state, "\n"); print(" fid ", addr.fid, "\n"); print(" flag ", addr.flag, "\n"); print(" offset ", addr.offset, "\n"); print(" bsize ", addr.bsize, "\n"); print(" bbuf ", addr.bbuf\X, "\n"); print(" ebuf ", addr.ebuf\X, "\n"); print(" gbuf ", addr.gbuf\X, "\n");}; sizeofBiobuf = 8248;aggr Biobuf{ { 'D' 0 icount; 'D' 4 ocount; 'D' 8 rdline; 'D' 12 runesize; 'D' 16 state; 'D' 20 fid; 'D' 24 flag; 'V' 28 offset; 'D' 36 bsize; 'X' 40 bbuf; 'X' 44 ebuf; 'X' 48 gbuf; }; 'a' 52 b;}; defnBiobuf(addr) { complex Biobuf addr; print("Biobufhdr {\n"); Biobufhdr(addr+0); print("}\n"); print(" b ", addr.b, "\n");}; Nqwds = 2;Nqshift = 5;Nqmask = -1;Nqbits = 64;sizeofChannel = 32;aggr Channel{ 'D' 0 s; 'U' 4 f; 'U' 8 n; 'D' 12 e; 'D' 16 freed; 'X' 20 qentry; 'D' 24 nentry; 'a' 28 v;}; defnChannel(addr) { complex Channel addr; print(" s ", addr.s, "\n"); print(" f ", addr.f, "\n"); print(" n ", addr.n, "\n"); print(" e ", addr.e, "\n"); print(" freed ", addr.freed, "\n"); print(" qentry ", addr.qentry\X, "\n"); print(" nentry ", addr.nentry, "\n"); print(" v ", addr.v, "\n");}; CHANEND = 0;CHANSND = 1;CHANRCV = 2;CHANNOP = 3;CHANNOBLK = 4;sizeofAlt = 20;aggr Alt{ 'A' Channel 0 c; 'X' 4 v; 'D' 8 op; 'A' Channel 12 tag; 'D' 16 entryno;}; defnAlt(addr) { complex Alt addr; print(" c ", addr.c\X, "\n"); print(" v ", addr.v\X, "\n"); print(" op ", addr.op, "\n"); print(" tag ", addr.tag\X, "\n"); print(" entryno ", addr.entryno, "\n");}; sizeofRef = 4;aggr Ref{ 'D' 0 ref;}; defnRef(addr) { complex Ref addr; print(" ref ", addr.ref, "\n");}; complex Biobuf bout;complex Channel out;complex Channel quit;sizeofStr = 8;aggr Str{ 'X' 0 buf; 'D' 4 len;}; defnStr(addr) { complex Str addr; print(" buf ", addr.buf\X, "\n"); print(" len ", addr.len, "\n");}; complex Str reader:str;complex Str writer:s;
sizeof_1_ = 8;
aggr _1_
{
'U' 0 lo;
'U' 4 hi;
};
defn
_1_(addr) {
complex _1_ addr;
print(" lo ", addr.lo, "\n");
print(" hi ", addr.hi, "\n");
};
sizeofFPdbleword = 8;
aggr FPdbleword
{
'F' 0 x;
{
'U' 0 lo;
'U' 4 hi;
};
};
defn
FPdbleword(addr) {
complex FPdbleword addr;
print(" x ", addr.x, "\n");
print("_1_ {\n");
_1_(addr+0);
print("}\n");
};
UTFmax = 3;
Runesync = 128;
Runeself = 128;
Runeerror = 65533;
sizeofFmt = 48;
aggr Fmt
{
'b' 0 runes;
'X' 4 start;
'X' 8 to;
'X' 12 stop;
'X' 16 flush;
'X' 20 farg;
'D' 24 nfmt;
'X' 28 args;
'D' 32 r;
'D' 36 width;
'D' 40 prec;
'U' 44 flags;
};
defn
Fmt(addr) {
complex Fmt addr;
print(" runes ", addr.runes, "\n");
print(" start ", addr.start\X, "\n");
print(" to ", addr.to\X, "\n");
print(" stop ", addr.stop\X, "\n");
print(" flush ", addr.flush\X, "\n");
print(" farg ", addr.farg\X, "\n");
print(" nfmt ", addr.nfmt, "\n");
print(" args ", addr.args\X, "\n");
print(" r ", addr.r, "\n");
print(" width ", addr.width, "\n");
print(" prec ", addr.prec, "\n");
print(" flags ", addr.flags, "\n");
};
FmtWidth = 1;
FmtLeft = 2;
FmtPrec = 4;
FmtSharp = 8;
FmtSpace = 16;
FmtSign = 32;
FmtZero = 64;
FmtUnsigned = 128;
FmtShort = 256;
FmtLong = 512;
FmtVLong = 1024;
FmtComma = 2048;
FmtByte = 4096;
FmtFlag = 8192;
sizeofTm = 40;
aggr Tm
{
'D' 0 sec;
'D' 4 min;
'D' 8 hour;
'D' 12 mday;
'D' 16 mon;
'D' 20 year;
'D' 24 wday;
'D' 28 yday;
'a' 32 zone;
'D' 36 tzoff;
};
defn
Tm(addr) {
complex Tm addr;
print(" sec ", addr.sec, "\n");
print(" min ", addr.min, "\n");
print(" hour ", addr.hour, "\n");
print(" mday ", addr.mday, "\n");
print(" mon ", addr.mon, "\n");
print(" year ", addr.year, "\n");
print(" wday ", addr.wday, "\n");
print(" yday ", addr.yday, "\n");
print(" zone ", addr.zone, "\n");
print(" tzoff ", addr.tzoff, "\n");
};
PNPROC = 1;
PNGROUP = 2;
Profoff = 0;
Profuser = 1;
Profkernel = 2;
Proftime = 3;
Profsample = 4;
sizeofLock = 4;
aggr Lock
{
'D' 0 val;
};
defn
Lock(addr) {
complex Lock addr;
print(" val ", addr.val, "\n");
};
sizeofQLp = 12;
aggr QLp
{
'D' 0 inuse;
'A' QLp 4 next;
'C' 8 state;
};
defn
QLp(addr) {
complex QLp addr;
print(" inuse ", addr.inuse, "\n");
print(" next ", addr.next\X, "\n");
print(" state ", addr.state, "\n");
};
sizeofQLock = 16;
aggr QLock
{
Lock 0 lock;
'D' 4 locked;
'A' QLp 8 $head;
'A' QLp 12 $tail;
};
defn
QLock(addr) {
complex QLock addr;
print("Lock lock {\n");
Lock(addr.lock);
print("}\n");
print(" locked ", addr.locked, "\n");
print(" $head ", addr.$head\X, "\n");
print(" $tail ", addr.$tail\X, "\n");
};
sizeofRWLock = 20;
aggr RWLock
{
Lock 0 lock;
'D' 4 readers;
'D' 8 writer;
'A' QLp 12 $head;
'A' QLp 16 $tail;
};
defn
RWLock(addr) {
complex RWLock addr;
print("Lock lock {\n");
Lock(addr.lock);
print("}\n");
print(" readers ", addr.readers, "\n");
print(" writer ", addr.writer, "\n");
print(" $head ", addr.$head\X, "\n");
print(" $tail ", addr.$tail\X, "\n");
};
sizeofRendez = 12;
aggr Rendez
{
'A' QLock 0 l;
'A' QLp 4 $head;
'A' QLp 8 $tail;
};
defn
Rendez(addr) {
complex Rendez addr;
print(" l ", addr.l\X, "\n");
print(" $head ", addr.$head\X, "\n");
print(" $tail ", addr.$tail\X, "\n");
};
sizeofNetConnInfo = 36;
aggr NetConnInfo
{
'X' 0 dir;
'X' 4 root;
'X' 8 spec;
'X' 12 lsys;
'X' 16 lserv;
'X' 20 rsys;
'X' 24 rserv;
'X' 28 laddr;
'X' 32 raddr;
};
defn
NetConnInfo(addr) {
complex NetConnInfo addr;
print(" dir ", addr.dir\X, "\n");
print(" root ", addr.root\X, "\n");
print(" spec ", addr.spec\X, "\n");
print(" lsys ", addr.lsys\X, "\n");
print(" lserv ", addr.lserv\X, "\n");
print(" rsys ", addr.rsys\X, "\n");
print(" rserv ", addr.rserv\X, "\n");
print(" laddr ", addr.laddr\X, "\n");
print(" raddr ", addr.raddr\X, "\n");
};
RFNAMEG = 1;
RFENVG = 2;
RFFDG = 4;
RFNOTEG = 8;
RFPROC = 16;
RFMEM = 32;
RFNOWAIT = 64;
RFCNAMEG = 1024;
RFCENVG = 2048;
RFCFDG = 4096;
RFREND = 8192;
RFNOMNT = 16384;
sizeofQid = 16;
aggr Qid
{
'W' 0 path;
'U' 8 vers;
'b' 12 type;
};
defn
Qid(addr) {
complex Qid addr;
print(" path ", addr.path, "\n");
print(" vers ", addr.vers, "\n");
print(" type ", addr.type, "\n");
};
sizeofDir = 60;
aggr Dir
{
'u' 0 type;
'U' 4 dev;
Qid 8 qid;
'U' 24 mode;
'U' 28 atime;
'U' 32 mtime;
'V' 36 length;
'X' 44 name;
'X' 48 uid;
'X' 52 gid;
'X' 56 muid;
};
defn
Dir(addr) {
complex Dir addr;
print(" type ", addr.type, "\n");
print(" dev ", addr.dev, "\n");
print("Qid qid {\n");
Qid(addr.qid);
print("}\n");
print(" mode ", addr.mode, "\n");
print(" atime ", addr.atime, "\n");
print(" mtime ", addr.mtime, "\n");
print(" length ", addr.length, "\n");
print(" name ", addr.name\X, "\n");
print(" uid ", addr.uid\X, "\n");
print(" gid ", addr.gid\X, "\n");
print(" muid ", addr.muid\X, "\n");
};
sizeofWaitmsg = 20;
aggr Waitmsg
{
'D' 0 pid;
'a' 4 time;
'X' 16 msg;
};
defn
Waitmsg(addr) {
complex Waitmsg addr;
print(" pid ", addr.pid, "\n");
print(" time ", addr.time, "\n");
print(" msg ", addr.msg\X, "\n");
};
sizeofIOchunk = 8;
aggr IOchunk
{
'X' 0 addr;
'U' 4 len;
};
defn
IOchunk(addr) {
complex IOchunk addr;
print(" addr ", addr.addr\X, "\n");
print(" len ", addr.len, "\n");
};
Bsize = 8192;
Bungetsize = 4;
Bmagic = 3227993;
Beof = -1;
Bbad = -2;
Binactive = 0;
Bractive = 1;
Bwactive = 2;
Bracteof = 3;
sizeofBiobufhdr = 52;
aggr Biobufhdr
{
'D' 0 icount;
'D' 4 ocount;
'D' 8 rdline;
'D' 12 runesize;
'D' 16 state;
'D' 20 fid;
'D' 24 flag;
'V' 28 offset;
'D' 36 bsize;
'X' 40 bbuf;
'X' 44 ebuf;
'X' 48 gbuf;
};
defn
Biobufhdr(addr) {
complex Biobufhdr addr;
print(" icount ", addr.icount, "\n");
print(" ocount ", addr.ocount, "\n");
print(" rdline ", addr.rdline, "\n");
print(" runesize ", addr.runesize, "\n");
print(" state ", addr.state, "\n");
print(" fid ", addr.fid, "\n");
print(" flag ", addr.flag, "\n");
print(" offset ", addr.offset, "\n");
print(" bsize ", addr.bsize, "\n");
print(" bbuf ", addr.bbuf\X, "\n");
print(" ebuf ", addr.ebuf\X, "\n");
print(" gbuf ", addr.gbuf\X, "\n");
};
sizeofBiobuf = 8248;
aggr Biobuf
{
{
'D' 0 icount;
'D' 4 ocount;
'D' 8 rdline;
'D' 12 runesize;
'D' 16 state;
'D' 20 fid;
'D' 24 flag;
'V' 28 offset;
'D' 36 bsize;
'X' 40 bbuf;
'X' 44 ebuf;
'X' 48 gbuf;
};
'a' 52 b;
};
defn
Biobuf(addr) {
complex Biobuf addr;
print("Biobufhdr {\n");
Biobufhdr(addr+0);
print("}\n");
print(" b ", addr.b, "\n");
};
Nqwds = 2;
Nqshift = 5;
Nqmask = -1;
Nqbits = 64;
sizeofChannel = 32;
aggr Channel
{
'D' 0 s;
'U' 4 f;
'U' 8 n;
'D' 12 e;
'D' 16 freed;
'X' 20 qentry;
'D' 24 nentry;
'a' 28 v;
};
defn
Channel(addr) {
complex Channel addr;
print(" s ", addr.s, "\n");
print(" f ", addr.f, "\n");
print(" n ", addr.n, "\n");
print(" e ", addr.e, "\n");
print(" freed ", addr.freed, "\n");
print(" qentry ", addr.qentry\X, "\n");
print(" nentry ", addr.nentry, "\n");
print(" v ", addr.v, "\n");
};
CHANEND = 0;
CHANSND = 1;
CHANRCV = 2;
CHANNOP = 3;
CHANNOBLK = 4;
sizeofAlt = 20;
aggr Alt
{
'A' Channel 0 c;
'X' 4 v;
'D' 8 op;
'A' Channel 12 tag;
'D' 16 entryno;
};
defn
Alt(addr) {
complex Alt addr;
print(" c ", addr.c\X, "\n");
print(" v ", addr.v\X, "\n");
print(" op ", addr.op, "\n");
print(" tag ", addr.tag\X, "\n");
print(" entryno ", addr.entryno, "\n");
};
sizeofRef = 4;
aggr Ref
{
'D' 0 ref;
};
defn
Ref(addr) {
complex Ref addr;
print(" ref ", addr.ref, "\n");
};
complex Biobuf bout;
complex Channel out;
complex Channel quit;
sizeofStr = 8;
aggr Str
{
'X' 0 buf;
'D' 4 len;
};
defn
Str(addr) {
complex Str addr;
print(" buf ", addr.buf\X, "\n");
print(" len ", addr.len, "\n");
};
complex Str reader:str;
complex Str writer:s;