// decl /sys/include/alef/alef.h:35: sizeofArg = 16; aggr Arg { 'X' 0 arg0; 'D' 4 ac; 'X' 8 av; 'X' 12 p; }; defn Arg(addr) { complex Arg addr; print(" arg0 ", addr.arg0\X, "\n"); print(" ac ", addr.ac, "\n"); print(" av ", addr.av\X, "\n"); print(" p ", addr.p\X, "\n"); }; // decl /sys/include/alef/alef.h:92: sizeofPrintspec = 28; aggr Printspec { 'X' 0 o; 'D' 4 f1; 'D' 8 f2; 'D' 12 f3; 'D' 16 chr; 'X' 20 out; 'X' 24 eout; }; defn Printspec(addr) { complex Printspec addr; print(" o ", addr.o\X, "\n"); print(" f1 ", addr.f1, "\n"); print(" f2 ", addr.f2, "\n"); print(" f3 ", addr.f3, "\n"); print(" chr ", addr.chr, "\n"); print(" out ", addr.out\X, "\n"); print(" eout ", addr.eout\X, "\n"); }; // decl /sys/include/alef/alef.h:213: sizeofLock = 4; adt Lock { 'D' 0 val; }; defn Lock(addr) { complex Lock addr; print(" val ", addr.val, "\n"); }; // decl /sys/include/alef/alef.h:224: sizeofQLock = 12; adt QLock { Lock 0 use; 'D' 4 used; 'X' 8 queue; }; defn QLock(addr) { complex QLock addr; print("Lock use {\n"); Lock(addr.use); print("}\n"); print(" used ", addr.used, "\n"); print(" queue ", addr.queue\X, "\n"); }; // decl /sys/include/alef/alef.h:238: sizeofRWlock = 32; adt RWlock { { 'D' 0 val; }; QLock 4 x; QLock 16 k; 'D' 28 readers; }; defn RWlock(addr) { complex RWlock addr; print("Lock {\n"); Lock(addr+0); print("}\n"); print("QLock x {\n"); QLock(addr.x); print("}\n"); print("QLock k {\n"); QLock(addr.k); print("}\n"); print(" readers ", addr.readers, "\n"); }; // decl /sys/include/alef/alef.h:248: sizeofRef = 8; adt Ref { Lock 0 l; 'D' 4 cnt; }; defn Ref(addr) { complex Ref addr; print("Lock l {\n"); Lock(addr.l); print("}\n"); print(" cnt ", addr.cnt, "\n"); }; // decl /sys/include/alef/alef.h:298: sizeofNotemsg = 64; aggr Notemsg { 'a' 0 note; }; defn Notemsg(addr) { complex Notemsg addr; print(" note ", addr.note, "\n"); }; // decl /sys/include/alef/alef.h:308: sizeofLength = 8; union Length { 'a' 0 clength; { 'D' 0 hlength; 'D' 4 length; }; }; defn Length(addr) { complex Length addr; print(" clength ", addr.clength, "\n"); }; // decl /sys/include/alef/alef.h:314: sizeofQid = 8; aggr Qid { 'U' 0 path; 'U' 4 vers; }; defn Qid(addr) { complex Qid addr; print(" path ", addr.path, "\n"); print(" vers ", addr.vers, "\n"); }; // decl /sys/include/alef/alef.h:328: sizeofDir = 116; aggr Dir { 'a' 0 name; 'a' 28 uid; 'a' 56 gid; Qid 84 qid; 'U' 92 mode; 'D' 96 atime; 'D' 100 mtime; { 'a' 104 clength; { 'D' 104 hlength; 'D' 108 length; }; }; 'u' 112 type; 'u' 114 dev; }; defn Dir(addr) { complex Dir addr; print(" name ", addr.name, "\n"); print(" uid ", addr.uid, "\n"); print(" gid ", addr.gid, "\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 {\n"); Length(addr+104); print("}\n"); print(" type ", addr.type, "\n"); print(" dev ", addr.dev, "\n"); }; // decl /sys/include/alef/alef.h:335: sizeofWaitmsg = 112; aggr Waitmsg { 'a' 0 pid; 'a' 12 time; 'a' 48 msg; }; defn Waitmsg(addr) { complex Waitmsg addr; print(" pid ", addr.pid, "\n"); print(" time ", addr.time, "\n"); print(" msg ", addr.msg, "\n"); }; // decl /sys/include/alef/alef.h:348: sizeofTm = 36; 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; }; 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"); }; // decl /sys/include/alef/libg.h:12: sizeofPoint = 8; aggr Point { 'D' 0 x; 'D' 4 y; }; defn Point(addr) { complex Point addr; print(" x ", addr.x, "\n"); print(" y ", addr.y, "\n"); }; // decl /sys/include/alef/libg.h:18: sizeofRectangle = 16; aggr Rectangle { Point 0 min; Point 8 max; }; defn Rectangle(addr) { complex Rectangle addr; print("Point min {\n"); Point(addr.min); print("}\n"); print("Point max {\n"); Point(addr.max); print("}\n"); }; // decl /sys/include/alef/libg.h:27: sizeofBitmap = 44; aggr Bitmap { Rectangle 0 r; Rectangle 16 clipr; 'D' 32 ldepth; 'D' 36 id; 'A' Bitmap 40 cache; }; defn Bitmap(addr) { complex Bitmap addr; print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print("Rectangle clipr {\n"); Rectangle(addr.clipr); print("}\n"); print(" ldepth ", addr.ldepth, "\n"); print(" id ", addr.id, "\n"); print(" cache ", addr.cache\X, "\n"); }; // decl /sys/include/alef/libg.h:34: sizeofMouse = 16; aggr Mouse { 'D' 0 buttons; Point 4 xy; 'U' 12 msec; }; defn Mouse(addr) { complex Mouse addr; print(" buttons ", addr.buttons, "\n"); print("Point xy {\n"); Point(addr.xy); print("}\n"); print(" msec ", addr.msec, "\n"); }; // decl /sys/include/alef/libg.h:41: sizeofCursor = 72; aggr Cursor { Point 0 offset; 'a' 8 clr; 'a' 40 set; }; defn Cursor(addr) { complex Cursor addr; print("Point offset {\n"); Point(addr.offset); print("}\n"); print(" clr ", addr.clr, "\n"); print(" set ", addr.set, "\n"); }; // decl /sys/include/alef/libg.h:51: sizeofLinedesc = 20; aggr Linedesc { 'D' 0 x0; 'D' 4 y0; 'C' 8 xmajor; 'C' 9 slopeneg; 'D' 12 dminor; 'D' 16 dmajor; }; defn Linedesc(addr) { complex Linedesc addr; print(" x0 ", addr.x0, "\n"); print(" y0 ", addr.y0, "\n"); print(" xmajor ", addr.xmajor, "\n"); print(" slopeneg ", addr.slopeneg, "\n"); print(" dminor ", addr.dminor, "\n"); print(" dmajor ", addr.dmajor, "\n"); }; // decl /sys/include/alef/libg.h:60: sizeofMenu = 12; adt Menu { 'X' 0 item; 'X' 4 gen; 'D' 8 lasthit; }; defn Menu(addr) { complex Menu addr; print(" item ", addr.item\X, "\n"); print(" gen ", addr.gen\X, "\n"); print(" lasthit ", addr.lasthit, "\n"); }; // decl /sys/include/alef/libg.h:83: sizeofFontchar = 8; aggr Fontchar { 'u' 0 x; 'C' 2 top; 'C' 3 bottom; 'C' 4 left; 'C' 5 width; }; defn Fontchar(addr) { complex Fontchar addr; print(" x ", addr.x, "\n"); print(" top ", addr.top, "\n"); print(" bottom ", addr.bottom, "\n"); print(" left ", addr.left, "\n"); print(" width ", addr.width, "\n"); }; // decl /sys/include/alef/libg.h:92: sizeofSubfont = 12; aggr Subfont { 'd' 0 n; 'C' 2 height; 'C' 3 ascent; 'A' Fontchar 4 info; 'D' 8 id; }; defn Subfont(addr) { complex Subfont addr; print(" n ", addr.n, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" info ", addr.info\X, "\n"); print(" id ", addr.id, "\n"); }; // decl /sys/include/alef/libg.h:118: sizeofCachefont = 16; aggr Cachefont { 'u' 0 min; 'u' 2 max; 'D' 4 offset; 'D' 8 abs; 'X' 12 name; }; defn Cachefont(addr) { complex Cachefont addr; print(" min ", addr.min, "\n"); print(" max ", addr.max, "\n"); print(" offset ", addr.offset, "\n"); print(" abs ", addr.abs, "\n"); print(" name ", addr.name\X, "\n"); }; // decl /sys/include/alef/libg.h:126: sizeofCacheinfo = 16; aggr Cacheinfo { 'u' 0 value; 'u' 2 age; 'U' 4 xright; { 'u' 8 x; 'C' 10 top; 'C' 11 bottom; 'C' 12 left; 'C' 13 width; }; }; defn Cacheinfo(addr) { complex Cacheinfo addr; print(" value ", addr.value, "\n"); print(" age ", addr.age, "\n"); print(" xright ", addr.xright, "\n"); print("Fontchar {\n"); Fontchar(addr+8); print("}\n"); }; // decl /sys/include/alef/libg.h:133: sizeofCachesubf = 12; aggr Cachesubf { 'U' 0 age; 'A' Cachefont 4 cf; 'A' Subfont 8 f; }; defn Cachesubf(addr) { complex Cachesubf addr; print(" age ", addr.age, "\n"); print(" cf ", addr.cf\X, "\n"); print(" f ", addr.f\X, "\n"); }; // decl /sys/include/alef/libg.h:150: sizeofFont = 36; aggr Font { 'X' 0 name; 'C' 4 height; 'C' 5 ascent; 'C' 6 width; 'C' 7 ldepth; 'd' 8 id; 'd' 10 nsub; 'U' 12 age; 'D' 16 ncache; 'D' 20 nsubf; 'A' Cacheinfo 24 cache; 'A' Cachesubf 28 subf; 'A' Cachefont 32 sub; }; defn Font(addr) { complex Font addr; print(" name ", addr.name\X, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" width ", addr.width, "\n"); print(" ldepth ", addr.ldepth, "\n"); print(" id ", addr.id, "\n"); print(" nsub ", addr.nsub, "\n"); print(" age ", addr.age, "\n"); print(" ncache ", addr.ncache, "\n"); print(" nsubf ", addr.nsubf, "\n"); print(" cache ", addr.cache\X, "\n"); print(" subf ", addr.subf\X, "\n"); print(" sub ", addr.sub\X, "\n"); }; // decl /sys/include/alef/libg.h:157: sizeofRGB = 12; aggr RGB { 'U' 0 red; 'U' 4 green; 'U' 8 blue; }; defn RGB(addr) { complex RGB addr; print(" red ", addr.red, "\n"); print(" green ", addr.green, "\n"); print(" blue ", addr.blue, "\n"); }; complex Bitmap screen; complex Font font; // decl /sys/include/alef/frame.h:15: sizeofFrbox = 12; aggr Frbox { 'D' 0 wid; 'D' 4 nrune; { 'X' 8 ptr; { 'd' 8 bc; 'd' 10 minwid; }; }; }; defn Frbox(addr) { complex Frbox addr; print(" wid ", addr.wid, "\n"); print(" nrune ", addr.nrune, "\n"); }; // decl /sys/include/alef/frame.h:35: sizeofFrame = 76; aggr Frame { 'A' Font 0 font; 'A' Bitmap 4 b; Rectangle 8 r; Rectangle 24 entire; 'A' Frbox 40 box; 'X' 44 scroll; 'U' 48 p0; 'U' 52 p1; 'd' 56 left; 'u' 58 nbox; 'u' 60 nalloc; 'u' 62 maxtab; 'u' 64 nchars; 'u' 66 nlines; 'u' 68 maxlines; 'u' 70 lastlinefull; 'u' 72 modified; }; defn Frame(addr) { complex Frame addr; print(" font ", addr.font\X, "\n"); print(" b ", addr.b\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print("Rectangle entire {\n"); Rectangle(addr.entire); print("}\n"); print(" box ", addr.box\X, "\n"); print(" scroll ", addr.scroll\X, "\n"); print(" p0 ", addr.p0, "\n"); print(" p1 ", addr.p1, "\n"); print(" left ", addr.left, "\n"); print(" nbox ", addr.nbox, "\n"); print(" nalloc ", addr.nalloc, "\n"); print(" maxtab ", addr.maxtab, "\n"); print(" nchars ", addr.nchars, "\n"); print(" nlines ", addr.nlines, "\n"); print(" maxlines ", addr.maxlines, "\n"); print(" lastlinefull ", addr.lastlinefull, "\n"); print(" modified ", addr.modified, "\n"); }; complex Bitmap frones; // decl /sys/include/alef/fcall.h:57: sizeofFcall = 156; aggr Fcall { 'C' 0 type; 'd' 2 fid; 'u' 4 tag; { { 'u' 8 oldtag; Qid 12 qid; 'a' 20 rauth; }; { 'a' 8 uname; 'a' 36 aname; 'a' 64 ticket; 'a' 136 auth; }; { 'a' 8 ename; 'a' 72 authid; 'a' 100 authdom; 'a' 148 chal; }; { 'U' 8 perm; 'd' 12 newfid; 'a' 14 name; 'C' 42 mode; }; { 'D' 8 offset; 'D' 12 count; 'X' 16 data; }; { 'a' 8 stat; }; }; }; defn Fcall(addr) { complex Fcall addr; print(" type ", addr.type, "\n"); print(" fid ", addr.fid, "\n"); print(" tag ", addr.tag, "\n"); }; // decl dat.h:42: sizeofRange = 8; aggr Range { 'D' 0 q0; 'D' 4 q1; }; defn Range(addr) { complex Range addr; print(" q0 ", addr.q0, "\n"); print(" q1 ", addr.q1, "\n"); }; // decl dat.h:52: sizeofBlock = 8; aggr Block { 'U' 0 addr; { 'U' 4 n; 'A' Block 4 next; }; }; defn Block(addr) { complex Block addr; print(" addr ", addr.addr, "\n"); }; // decl dat.h:65: sizeofDisk = 140; adt Disk { 'D' 0 fd; 'U' 4 addr; 'a' 8 free; }; defn Disk(addr) { complex Disk addr; print(" fd ", addr.fd, "\n"); print(" addr ", addr.addr, "\n"); print(" free ", addr.free, "\n"); }; // decl dat.h:90: sizeofBuffer = 36; adt Buffer { 'U' 0 nc; 'X' 4 c; 'U' 8 cnc; 'U' 12 cmax; 'U' 16 cq; 'D' 20 cdirty; 'U' 24 cbi; 'A' Block 28 bl; 'U' 32 nbl; }; defn Buffer(addr) { complex Buffer addr; print(" nc ", addr.nc, "\n"); print(" c ", addr.c\X, "\n"); print(" cnc ", addr.cnc, "\n"); print(" cmax ", addr.cmax, "\n"); print(" cq ", addr.cq, "\n"); print(" cdirty ", addr.cdirty, "\n"); print(" cbi ", addr.cbi, "\n"); print(" bl ", addr.bl\X, "\n"); print(" nbl ", addr.nbl, "\n"); }; // decl dat.h:120: sizeofFile = 140; adt File { { 'U' 0 nc; 'X' 4 c; 'U' 8 cnc; 'U' 12 cmax; 'U' 16 cq; 'D' 20 cdirty; 'U' 24 cbi; 'A' Block 28 bl; 'U' 32 nbl; }; Buffer 36 delta; Buffer 72 epsilon; 'X' 108 name; 'D' 112 nname; 'D' 116 seq; 'D' 120 mod; 'A' Text 124 curtext; 'A' Text 128 text; 'D' 132 ntext; 'D' 136 dumpid; }; defn File(addr) { complex File addr; print("Buffer {\n"); Buffer(addr+0); print("}\n"); print("Buffer delta {\n"); Buffer(addr.delta); print("}\n"); print("Buffer epsilon {\n"); Buffer(addr.epsilon); print("}\n"); print(" name ", addr.name\X, "\n"); print(" nname ", addr.nname, "\n"); print(" seq ", addr.seq, "\n"); print(" mod ", addr.mod, "\n"); print(" curtext ", addr.curtext\X, "\n"); print(" text ", addr.text\X, "\n"); print(" ntext ", addr.ntext, "\n"); print(" dumpid ", addr.dumpid, "\n"); }; // decl dat.h:181: sizeofText = 184; adt Text { 'A' File 0 file; { 'A' Font 4 font; 'A' Bitmap 8 b; Rectangle 12 r; Rectangle 28 entire; 'A' Frbox 44 box; 'X' 48 scroll; 'U' 52 p0; 'U' 56 p1; 'd' 60 left; 'u' 62 nbox; 'u' 64 nalloc; 'u' 66 maxtab; 'u' 68 nchars; 'u' 70 nlines; 'u' 72 maxlines; 'u' 74 lastlinefull; 'u' 76 modified; }; 'A' Reffont 80 reffont; 'U' 84 org; 'U' 88 q0; 'U' 92 q1; 'D' 96 what; 'A' Window 100 w; Rectangle 104 scrollr; Rectangle 120 lastsr; Rectangle 136 all; 'A' Row 152 row; 'A' Column 156 col; 'U' 160 eq0; 'U' 164 cq0; 'D' 168 ncache; 'D' 172 ncachealloc; 'X' 176 cache; 'D' 180 nofill; }; defn Text(addr) { complex Text addr; print(" file ", addr.file\X, "\n"); print("Frame {\n"); Frame(addr+4); print("}\n"); print(" reffont ", addr.reffont\X, "\n"); print(" org ", addr.org, "\n"); print(" q0 ", addr.q0, "\n"); print(" q1 ", addr.q1, "\n"); print(" what ", addr.what, "\n"); print(" w ", addr.w\X, "\n"); print("Rectangle scrollr {\n"); Rectangle(addr.scrollr); print("}\n"); print("Rectangle lastsr {\n"); Rectangle(addr.lastsr); print("}\n"); print("Rectangle all {\n"); Rectangle(addr.all); print("}\n"); print(" row ", addr.row\X, "\n"); print(" col ", addr.col\X, "\n"); print(" eq0 ", addr.eq0, "\n"); print(" cq0 ", addr.cq0, "\n"); print(" ncache ", addr.ncache, "\n"); print(" ncachealloc ", addr.ncachealloc, "\n"); print(" cache ", addr.cache\X, "\n"); print(" nofill ", addr.nofill, "\n"); }; // decl dat.h:238: sizeofWindow = 520; adt Window { { Lock 0 use; 'D' 4 used; 'X' 8 queue; }; { Lock 12 l; 'D' 16 cnt; }; Text 20 tag; Text 204 body; Rectangle 388 r; 'C' 404 isdir; 'C' 405 isscratch; 'C' 406 filemenu; 'C' 407 dirty; 'D' 408 id; Range 412 addr; Range 420 limit; 'a' 428 nopen; 'C' 441 nomark; 'C' 442 noscroll; 'A' Column 444 col; 'A' Xfid 448 eventx; 'X' 452 events; 'D' 456 nevents; 'D' 460 owner; 'D' 464 maxlines; 'A' Dirlist 468 dlp; 'D' 472 ndl; 'D' 476 putseq; 'D' 480 nincl; 'X' 484 incl; 'A' Reffont 488 reffont; QLock 492 ctllock; 'U' 504 ctlfid; 'X' 508 dumpstr; 'X' 512 dumpdir; 'D' 516 dumpid; }; defn Window(addr) { complex Window addr; print("QLock {\n"); QLock(addr+0); print("}\n"); print("Ref {\n"); Ref(addr+12); print("}\n"); print("Text tag {\n"); Text(addr.tag); print("}\n"); print("Text body {\n"); Text(addr.body); print("}\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" isdir ", addr.isdir, "\n"); print(" isscratch ", addr.isscratch, "\n"); print(" filemenu ", addr.filemenu, "\n"); print(" dirty ", addr.dirty, "\n"); print(" id ", addr.id, "\n"); print("Range addr {\n"); Range(addr.addr); print("}\n"); print("Range limit {\n"); Range(addr.limit); print("}\n"); print(" nopen ", addr.nopen, "\n"); print(" nomark ", addr.nomark, "\n"); print(" noscroll ", addr.noscroll, "\n"); print(" col ", addr.col\X, "\n"); print(" eventx ", addr.eventx\X, "\n"); print(" events ", addr.events\X, "\n"); print(" nevents ", addr.nevents, "\n"); print(" owner ", addr.owner, "\n"); print(" maxlines ", addr.maxlines, "\n"); print(" dlp ", addr.dlp\X, "\n"); print(" ndl ", addr.ndl, "\n"); print(" putseq ", addr.putseq, "\n"); print(" nincl ", addr.nincl, "\n"); print(" incl ", addr.incl\X, "\n"); print(" reffont ", addr.reffont\X, "\n"); print("QLock ctllock {\n"); QLock(addr.ctllock); print("}\n"); print(" ctlfid ", addr.ctlfid, "\n"); print(" dumpstr ", addr.dumpstr\X, "\n"); print(" dumpdir ", addr.dumpdir\X, "\n"); print(" dumpid ", addr.dumpid, "\n"); }; // decl dat.h:260: sizeofColumn = 216; adt Column { Rectangle 0 r; Text 16 tag; 'A' Row 200 row; 'A' Window 204 w; 'D' 208 nw; 'D' 212 safe; }; defn Column(addr) { complex Column addr; print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print("Text tag {\n"); Text(addr.tag); print("}\n"); print(" row ", addr.row\X, "\n"); print(" w ", addr.w\X, "\n"); print(" nw ", addr.nw, "\n"); print(" safe ", addr.safe, "\n"); }; // decl dat.h:281: sizeofRow = 220; adt Row { { Lock 0 use; 'D' 4 used; 'X' 8 queue; }; Rectangle 12 r; Text 28 tag; 'A' Column 212 col; 'D' 216 ncol; }; defn Row(addr) { complex Row addr; print("QLock {\n"); QLock(addr+0); print("}\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print("Text tag {\n"); Text(addr.tag); print("}\n"); print(" col ", addr.col\X, "\n"); print(" ncol ", addr.ncol, "\n"); }; // decl dat.h:288: sizeofTimer = 12; aggr Timer { 'D' 0 dt; 'X' 4 c; 'A' Timer 8 next; }; defn Timer(addr) { complex Timer addr; print(" dt ", addr.dt, "\n"); print(" c ", addr.c, "\n"); print(" next ", addr.next\X, "\n"); }; // decl dat.h:299: sizeofCommand = 28; aggr Command { 'D' 0 pid; 'X' 4 name; 'D' 8 nname; 'X' 12 text; 'X' 16 av; 'A' Mntdir 20 md; 'A' Command 24 next; }; defn Command(addr) { complex Command addr; print(" pid ", addr.pid, "\n"); print(" name ", addr.name\X, "\n"); print(" nname ", addr.nname, "\n"); print(" text ", addr.text\X, "\n"); print(" av ", addr.av\X, "\n"); print(" md ", addr.md\X, "\n"); print(" next ", addr.next\X, "\n"); }; // decl dat.h:306: sizeofDirtab = 12; aggr Dirtab { 'X' 0 name; 'U' 4 qid; 'U' 8 perm; }; defn Dirtab(addr) { complex Dirtab addr; print(" name ", addr.name\X, "\n"); print(" qid ", addr.qid, "\n"); print(" perm ", addr.perm, "\n"); }; // decl dat.h:317: sizeofMntdir = 28; aggr Mntdir { 'D' 0 id; 'D' 4 ref; 'X' 8 dir; 'D' 12 ndir; 'A' Mntdir 16 next; 'D' 20 nincl; 'X' 24 incl; }; defn Mntdir(addr) { complex Mntdir addr; print(" id ", addr.id, "\n"); print(" ref ", addr.ref, "\n"); print(" dir ", addr.dir\X, "\n"); print(" ndir ", addr.ndir, "\n"); print(" next ", addr.next\X, "\n"); print(" nincl ", addr.nincl, "\n"); print(" incl ", addr.incl\X, "\n"); }; // decl dat.h:331: sizeofFid = 44; aggr Fid { 'U' 0 fid; 'D' 4 busy; 'D' 8 open; Qid 12 qid; 'A' Window 20 w; 'A' Dirtab 24 dir; 'A' Fid 28 next; 'A' Mntdir 32 mntdir; 'D' 36 nrpart; 'a' 40 rpart; }; defn Fid(addr) { complex Fid addr; print(" fid ", addr.fid, "\n"); print(" busy ", addr.busy, "\n"); print(" open ", addr.open, "\n"); print("Qid qid {\n"); Qid(addr.qid); print("}\n"); print(" w ", addr.w\X, "\n"); print(" dir ", addr.dir\X, "\n"); print(" next ", addr.next\X, "\n"); print(" mntdir ", addr.mntdir\X, "\n"); print(" nrpart ", addr.nrpart, "\n"); print(" rpart ", addr.rpart, "\n"); }; // decl dat.h:357: sizeofXfid = 180; adt Xfid { 'U' 0 tid; { 'C' 4 type; 'd' 6 fid; 'u' 8 tag; { { 'u' 12 oldtag; Qid 16 qid; 'a' 24 rauth; }; { 'a' 12 uname; 'a' 40 aname; 'a' 68 ticket; 'a' 140 auth; }; { 'a' 12 ename; 'a' 76 authid; 'a' 104 authdom; 'a' 152 chal; }; { 'U' 12 perm; 'd' 16 newfid; 'a' 18 name; 'C' 46 mode; }; { 'D' 12 offset; 'D' 16 count; 'X' 20 data; }; { 'a' 12 stat; }; }; }; 'A' Xfid 160 next; 'X' 164 c; 'A' Fid 168 f; 'X' 172 buf; 'D' 176 flushed; }; defn Xfid(addr) { complex Xfid addr; print(" tid ", addr.tid, "\n"); print("Fcall {\n"); Fcall(addr+4); print("}\n"); print(" next ", addr.next\X, "\n"); print(" c ", addr.c, "\n"); print(" f ", addr.f\X, "\n"); print(" buf ", addr.buf\X, "\n"); print(" flushed ", addr.flushed, "\n"); }; // decl dat.h:367: sizeofReffont = 12; adt Reffont { { Lock 0 l; 'D' 4 cnt; }; 'A' Font 8 f; }; defn Reffont(addr) { complex Reffont addr; print("Ref {\n"); Ref(addr+0); print("}\n"); print(" f ", addr.f\X, "\n"); }; // decl dat.h:372: sizeofRangeset = 80; aggr Rangeset { 'a' 0 r; }; defn Rangeset(addr) { complex Rangeset addr; print(" r ", addr.r, "\n"); }; // decl dat.h:379: sizeofDirlist = 12; aggr Dirlist { 'X' 0 r; 'D' 4 nr; 'D' 8 wid; }; defn Dirlist(addr) { complex Dirlist addr; print(" r ", addr.r\X, "\n"); print(" nr ", addr.nr, "\n"); print(" wid ", addr.wid, "\n"); }; // decl dat.h:392: sizeofExpand = 36; aggr Expand { 'U' 0 q0; 'U' 4 q1; 'X' 8 name; 'D' 12 nname; 'X' 16 bname; 'D' 20 jump; 'A' Text 24 at; 'D' 28 a0; 'D' 32 a1; }; defn Expand(addr) { complex Expand addr; print(" q0 ", addr.q0, "\n"); print(" q1 ", addr.q1, "\n"); print(" name ", addr.name\X, "\n"); print(" nname ", addr.nname, "\n"); print(" bname ", addr.bname\X, "\n"); print(" jump ", addr.jump, "\n"); print(" at ", addr.at\X, "\n"); print(" a0 ", addr.a0, "\n"); print(" a1 ", addr.a1, "\n"); }; complex Mouse mouse; complex Bitmap darkgrey; complex Bitmap lightgrey; complex Reffont reffont; complex Bitmap modbutton; complex Bitmap colbutton; complex Bitmap button; complex Cursor boxcursor; complex Row row; complex Disk disk; complex Text seltext; complex Text argtext; complex Text mousetext; complex Text typetext; complex Text barttext; complex Column activecol; complex Rectangle nullrect; complex Mouse cmouse; complex Waitmsg cwait; complex Command ccommand; complex Xfid cxfidalloc; complex Xfid cxfidfree; complex Reffont fontcache; complex Reffont reffonts; complex Command command; complex Column main:c; complex Arg main:arg; complex Column readfile:c; complex Window readfile:w; complex Command killprocs:c; complex Timer keyboardtask:timer; complex Timer keyboardtask:null; complex Text keyboardtask:t; complex Text mousetask:t; complex Text mousetask:argt; complex Window mousetask:w; complex Waitmsg waittask:w; complex Command waittask:c; complex Command waittask:lc; complex Text waittask:t; complex Xfid xfidalloctask:xfree; complex Xfid xfidalloctask:x; complex Mouse mouseproc:m; complex Waitmsg waitproc:w; complex Reffont Reffont_get:r; complex Font Reffont_get:f; complex Reffont Reffont_close:r; complex Cursor boxcursor; complex Rectangle iconinit:r;