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 = 128; sizeofFconv = 24; aggr Fconv { 'X' 0 out; 'X' 4 eout; 'D' 8 f1; 'D' 12 f2; 'D' 16 f3; 'D' 20 chr; }; defn Fconv(addr) { complex Fconv addr; print(" out ", addr.out\X, "\n"); print(" eout ", addr.eout\X, "\n"); print(" f1 ", addr.f1, "\n"); print(" f2 ", addr.f2, "\n"); print(" f3 ", addr.f3, "\n"); print(" chr ", addr.chr, "\n"); }; 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; 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"); }; sizeofNetConnInfo = 28; aggr NetConnInfo { 'X' 0 dir; 'X' 4 root; 'X' 8 spec; 'X' 12 lsys; 'X' 16 lserv; 'X' 20 rsys; 'X' 24 rserv; }; 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"); }; 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"); }; DOpaque = 4294967295; DTransparent = 0; DBlack = 255; DWhite = 4294967295; DRed = 4278190335; DGreen = 16711935; DBlue = 65535; DCyan = 16777215; DMagenta = 4278255615; DYellow = 4294902015; DPaleyellow = 4294945535; DDarkyellow = 4008615679; DDarkgreen = 1149781247; DPalegreen = 2868882175; DMedgreen = 2295105791; DDarkblue = 22015; DPalebluegreen = 2868903935; DPaleblue = 48127; DBluegreen = 8947967; DGreygreen = 1437248255; DPalegreygreen = 2666458879; DYellowgreen = 2576960767; DMedblue = 39423; DGreyblue = 6142975; DPalegreyblue = 1234427391; DPurpleblue = 2290666751; DNotacolor = 4294967040; DNofill = 4294967040; Displaybufsize = 8000; ICOSSCALE = 1024; Borderwidth = 4; Refbackup = 0; Refnone = 1; Refmesg = 2; Endsquare = 0; Enddisc = 1; Endarrow = 2; Endmask = 31; CRed = 0; CGreen = 1; CBlue = 2; CGrey = 3; CAlpha = 4; CMap = 5; CIgnore = 6; NChan = 7; GREY1 = 49; GREY2 = 50; GREY4 = 52; GREY8 = 56; CMAP8 = 88; RGB15 = 1627723045; RGB16 = 333349; RGB24 = 530472; RGBA32 = 135800904; ARGB32 = 1208490024; XRGB32 = 1745360936; 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"); }; 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"); }; sizeofScreen = 16; aggr Screen { 'X' 0 display; 'D' 4 id; 'X' 8 image; 'X' 12 fill; }; defn Screen(addr) { complex Screen addr; print(" display ", addr.display\X, "\n"); print(" id ", addr.id, "\n"); print(" image ", addr.image\X, "\n"); print(" fill ", addr.fill\X, "\n"); }; sizeofDisplay = 176; aggr Display { QLock 0 qlock; 'D' 16 locking; 'D' 20 dirno; 'D' 24 fd; 'D' 28 reffd; 'D' 32 ctlfd; 'D' 36 imageid; 'D' 40 $local; 'D' 44 depth; 'U' 48 chan; 'X' 52 error; 'X' 56 devdir; 'X' 60 windir; 'a' 64 oldlabel; 'U' 128 dataqid; 'X' 132 white; 'X' 136 black; 'X' 140 image; 'X' 144 opaque; 'X' 148 transparent; 'X' 152 buf; 'D' 156 bufsize; 'X' 160 bufp; 'X' 164 defaultfont; 'X' 168 defaultsubfont; 'X' 172 windows; }; defn Display(addr) { complex Display addr; print("QLock qlock {\n"); QLock(addr.qlock); print("}\n"); print(" locking ", addr.locking, "\n"); print(" dirno ", addr.dirno, "\n"); print(" fd ", addr.fd, "\n"); print(" reffd ", addr.reffd, "\n"); print(" ctlfd ", addr.ctlfd, "\n"); print(" imageid ", addr.imageid, "\n"); print(" $local ", addr.$local, "\n"); print(" depth ", addr.depth, "\n"); print(" chan ", addr.chan, "\n"); print(" error ", addr.error\X, "\n"); print(" devdir ", addr.devdir\X, "\n"); print(" windir ", addr.windir\X, "\n"); print(" oldlabel ", addr.oldlabel, "\n"); print(" dataqid ", addr.dataqid, "\n"); print(" white ", addr.white\X, "\n"); print(" black ", addr.black\X, "\n"); print(" image ", addr.image\X, "\n"); print(" opaque ", addr.opaque\X, "\n"); print(" transparent ", addr.transparent\X, "\n"); print(" buf ", addr.buf\X, "\n"); print(" bufsize ", addr.bufsize, "\n"); print(" bufp ", addr.bufp\X, "\n"); print(" defaultfont ", addr.defaultfont\X, "\n"); print(" defaultsubfont ", addr.defaultsubfont\X, "\n"); print(" windows ", addr.windows\X, "\n"); }; sizeofImage = 60; aggr Image { 'A' Display 0 display; 'D' 4 id; Rectangle 8 r; Rectangle 24 clipr; 'D' 40 depth; 'U' 44 chan; 'D' 48 repl; 'A' Screen 52 screen; 'A' Image 56 next; }; defn Image(addr) { complex Image addr; print(" display ", addr.display\X, "\n"); print(" id ", addr.id, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print("Rectangle clipr {\n"); Rectangle(addr.clipr); print("}\n"); print(" depth ", addr.depth, "\n"); print(" chan ", addr.chan, "\n"); print(" repl ", addr.repl, "\n"); print(" screen ", addr.screen\X, "\n"); print(" next ", addr.next\X, "\n"); }; 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"); }; sizeofFontchar = 8; aggr Fontchar { 'D' 0 x; 'b' 4 top; 'b' 5 bottom; 'C' 6 left; 'b' 7 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"); }; sizeofSubfont = 20; aggr Subfont { 'X' 0 name; 'd' 4 n; 'b' 6 height; 'C' 7 ascent; 'A' Fontchar 8 info; 'A' Image 12 bits; 'D' 16 ref; }; defn Subfont(addr) { complex Subfont addr; print(" name ", addr.name\X, "\n"); print(" n ", addr.n, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" info ", addr.info\X, "\n"); print(" bits ", addr.bits\X, "\n"); print(" ref ", addr.ref, "\n"); }; LOG2NFCACHE = 6; NFCACHE = 64; NFLOOK = 5; NFSUBF = 2; MAXFCACHE = 1029; MAXSUBF = 50; DSUBF = 4; SUBFAGE = 10000; CACHEAGE = 10000; sizeofCachefont = 16; aggr Cachefont { 'u' 0 min; 'u' 2 max; 'D' 4 offset; 'X' 8 name; 'X' 12 subfontname; }; defn Cachefont(addr) { complex Cachefont addr; print(" min ", addr.min, "\n"); print(" max ", addr.max, "\n"); print(" offset ", addr.offset, "\n"); print(" name ", addr.name\X, "\n"); print(" subfontname ", addr.subfontname\X, "\n"); }; sizeofCacheinfo = 8; aggr Cacheinfo { 'u' 0 x; 'b' 2 width; 'C' 3 left; 'u' 4 value; 'u' 6 age; }; defn Cacheinfo(addr) { complex Cacheinfo addr; print(" x ", addr.x, "\n"); print(" width ", addr.width, "\n"); print(" left ", addr.left, "\n"); print(" value ", addr.value, "\n"); print(" age ", addr.age, "\n"); }; 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"); }; sizeofFont = 48; aggr Font { 'X' 0 name; 'A' Display 4 display; 'd' 8 height; 'd' 10 ascent; 'd' 12 width; 'd' 14 nsub; 'U' 16 age; 'D' 20 maxdepth; 'D' 24 ncache; 'D' 28 nsubf; 'A' Cacheinfo 32 cache; 'A' Cachesubf 36 subf; 'A' Cachefont 40 sub; 'A' Image 44 cacheimage; }; defn Font(addr) { complex Font addr; print(" name ", addr.name\X, "\n"); print(" display ", addr.display\X, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" width ", addr.width, "\n"); print(" nsub ", addr.nsub, "\n"); print(" age ", addr.age, "\n"); print(" maxdepth ", addr.maxdepth, "\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"); print(" cacheimage ", addr.cacheimage\X, "\n"); }; complex Point ZP; complex Rectangle ZR; complex Display display; complex Font font; complex Image screen; complex Screen _screen; 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"); }; GRnone = 0; GRmain = 1; GRnet = 2; GRprog = 3; GRalert = 4; sizeofList = 8; aggr List { 'A' List 0 next; 'D' 4 val; }; defn List(addr) { complex List addr; print(" next ", addr.next\X, "\n"); print(" val ", addr.val, "\n"); }; sizeofStrlist = 8; aggr Strlist { 'A' Strlist 0 next; 'X' 4 val; }; defn Strlist(addr) { complex Strlist addr; print(" next ", addr.next\X, "\n"); print(" val ", addr.val\X, "\n"); }; NOSCHEME = 0; HTTP = 1; HTTPS = 2; FTP = 3; FILE = 4; GOPHER = 5; MAILTO = 6; NEWS = 7; NNTP = 8; TELNET = 9; WAIS = 10; PROSPERO = 11; UNKNOWN = 12; NSCHEMES = 13; sizeofParsedUrl = 76; aggr ParsedUrl { 'D' 0 scheme; 'X' 4 user; 'D' 8 nuser; 'X' 12 passwd; 'D' 16 npasswd; 'X' 20 host; 'D' 24 nhost; 'X' 28 port; 'D' 32 nport; 'X' 36 pstart; 'D' 40 npstart; 'X' 44 path; 'D' 48 npath; 'X' 52 query; 'D' 56 nquery; 'X' 60 frag; 'D' 64 nfrag; 'D' 68 nurl; 'a' 72 url; }; defn ParsedUrl(addr) { complex ParsedUrl addr; print(" scheme ", addr.scheme, "\n"); print(" user ", addr.user\X, "\n"); print(" nuser ", addr.nuser, "\n"); print(" passwd ", addr.passwd\X, "\n"); print(" npasswd ", addr.npasswd, "\n"); print(" host ", addr.host\X, "\n"); print(" nhost ", addr.nhost, "\n"); print(" port ", addr.port\X, "\n"); print(" nport ", addr.nport, "\n"); print(" pstart ", addr.pstart\X, "\n"); print(" npstart ", addr.npstart, "\n"); print(" path ", addr.path\X, "\n"); print(" npath ", addr.npath, "\n"); print(" query ", addr.query\X, "\n"); print(" nquery ", addr.nquery, "\n"); print(" frag ", addr.frag\X, "\n"); print(" nfrag ", addr.nfrag, "\n"); print(" nurl ", addr.nurl, "\n"); print(" url ", addr.url, "\n"); }; sizeofStringInt = 8; aggr StringInt { 'X' 0 key; 'D' 4 val; }; defn StringInt(addr) { complex StringInt addr; print(" key ", addr.key\X, "\n"); print(" val ", addr.val, "\n"); }; HGet = 0; HPost = 1; ApplMsword = 0; ApplOctets = 1; ApplPdf = 2; ApplPostscript = 3; ApplRtf = 4; ApplFramemaker = 5; ApplMsexcel = 6; ApplMspowerpoint = 7; UnknownType = 8; Audio32kadpcm = 9; AudioBasic = 10; ImageCgm = 11; ImageG3fax = 12; ImageGif = 13; ImageIef = 14; ImageJpeg = 15; ImagePng = 16; ImageTiff = 17; ImageXBit = 18; ImageXBit2 = 19; ImageXBitmulti = 20; ImageXXBitmap = 21; ModelVrml = 22; MultiDigest = 23; MultiMixed = 24; TextCss = 25; TextEnriched = 26; TextHtml = 27; TextJavascript = 28; TextPlain = 29; TextRichtext = 30; TextSgml = 31; TextTabSeparatedValues = 32; TextXml = 33; VideoMpeg = 34; VideoQuicktime = 35; NMEDIATYPES = 36; UnknownCharset = 0; US_Ascii = 1; ISO_8859_1 = 2; UTF_8 = 3; Unicode = 4; NCHARSETS = 5; FTtop = 0; FTself = 1; FTparent = 2; FTblank = 3; ERRnone = 0; ERRaborted = 1; ERRunsupscheme = 2; ERRunexphscode = 3; ERRredirloop = 4; ERRstaterr = 5; ERRreaderr = 6; ERRwriteerr = 7; ERReof = 8; ERRconnecterr = 9; ERRftperr = 10; ERRftpnologin = 11; ERRhttperr = 12; ERRauthfailed = 13; ERRunsupimg = 14; ERRnomem = 15; ERRimgbad = 16; NCfree = 0; NCidle = 1; NCconnect = 2; NCgethdr = 3; NCgetdata = 4; NCdone = 5; NCerr = 6; NNCSTATES = 7; NGstartreq = 0; NGwaitreq = 1; NGstatechg = 2; NGfreebs = 3; NGabort = 4; Punused = 5; Pstart = 6; Pconnected = 7; Phavehdr = 8; Phavedata = 9; Pdone = 10; Perr = 11; Paborted = 12; NNGVALUES = 13; White = 16777215; Black = 0; Grey = 14540253; DarkGrey = 10329501; LightGrey = 15592941; DarkestGrey = 6710886; Blue = 204; Navy = 128; Red = 16711680; DarkRed = 10289152; DGrey = 3722305023; HSNone = 0; HSInformation = 1; HSOk = 2; HSRedirect = 3; HSError = 4; HSServererr = 5; NHSVALUES = 6; HCContinue = 100; HCSwitchProto = 101; HCOk = 200; HCCreated = 201; HCAccepted = 202; HCOkNonAuthoritative = 203; HCNoContent = 204; HCResetContent = 205; HCPartialContent = 206; HCMultipleChoices = 300; HCMovedPerm = 301; HCMovedTemp = 302; HCSeeOther = 303; HCNotModified = 304; HCUseProxy = 305; HCBadRequest = 400; HCUnauthorized = 401; HCPaymentRequired = 402; HCForbidden = 403; HCNotFound = 404; HCMethodNotAllowed = 405; HCNotAcceptable = 406; HCProxyAuthRequired = 407; HCRequestTimeout = 408; HCConflict = 409; HCGone = 410; HCLengthRequired = 411; HCPreconditionFailed = 412; HCRequestTooLarge = 413; HCRequestURITooLarge = 414; HCUnsupportedMedia = 415; HCRangeInvalid = 416; HCExpectFailed = 419; HCServerError = 500; HCNotImplemented = 501; HCBadGateway = 502; HCServiceUnavailable = 503; HCGatewayTimeout = 504; HCVersionUnsupported = 505; HCRedirectionFailed = 506; NHCCODES = 507; ImgNone = 0; ImgNoAnim = 1; ImgProgressive = 2; ImgFull = 3; sizeofConfig = 216; aggr Config { 'X' 0 userdir; 'A' ParsedUrl 4 starturl; 'A' ParsedUrl 8 homeurl; 'A' ParsedUrl 12 httpproxy; 'D' 16 defaultwidth; 'D' 20 defaultheight; 'D' 24 x; 'D' 28 y; 'D' 32 nocache; 'D' 36 maxstale; 'D' 40 imagelvl; 'D' 44 imagecachenum; 'D' 48 imagecachemem; 'D' 52 docookies; 'D' 56 doscripts; 'D' 60 saveauthinfo; 'D' 64 showprogress; 'D' 68 usecci; 'D' 72 httpminor; 'X' 76 agentname; 'D' 80 nthreads; 'X' 84 dbgfile; 'a' 88 dbg; }; defn Config(addr) { complex Config addr; print(" userdir ", addr.userdir\X, "\n"); print(" starturl ", addr.starturl\X, "\n"); print(" homeurl ", addr.homeurl\X, "\n"); print(" httpproxy ", addr.httpproxy\X, "\n"); print(" defaultwidth ", addr.defaultwidth, "\n"); print(" defaultheight ", addr.defaultheight, "\n"); print(" x ", addr.x, "\n"); print(" y ", addr.y, "\n"); print(" nocache ", addr.nocache, "\n"); print(" maxstale ", addr.maxstale, "\n"); print(" imagelvl ", addr.imagelvl, "\n"); print(" imagecachenum ", addr.imagecachenum, "\n"); print(" imagecachemem ", addr.imagecachemem, "\n"); print(" docookies ", addr.docookies, "\n"); print(" doscripts ", addr.doscripts, "\n"); print(" saveauthinfo ", addr.saveauthinfo, "\n"); print(" showprogress ", addr.showprogress, "\n"); print(" usecci ", addr.usecci, "\n"); print(" httpminor ", addr.httpminor, "\n"); print(" agentname ", addr.agentname\X, "\n"); print(" nthreads ", addr.nthreads, "\n"); print(" dbgfile ", addr.dbgfile\X, "\n"); print(" dbg ", addr.dbg, "\n"); }; sizeofReqInfo = 24; aggr ReqInfo { 'A' ParsedUrl 0 url; 'D' 4 method; 'X' 8 body; 'D' 12 bodylen; 'X' 16 auth; 'D' 20 target; }; defn ReqInfo(addr) { complex ReqInfo addr; print(" url ", addr.url\X, "\n"); print(" method ", addr.method, "\n"); print(" body ", addr.body\X, "\n"); print(" bodylen ", addr.bodylen, "\n"); print(" auth ", addr.auth\X, "\n"); print(" target ", addr.target, "\n"); }; sizeofMaskedImage = 28; aggr MaskedImage { 'A' Image 0 im; 'A' Image 4 mask; 'D' 8 delay; 'D' 12 more; 'D' 16 bgcolor; Point 20 origin; }; defn MaskedImage(addr) { complex MaskedImage addr; print(" im ", addr.im\X, "\n"); print(" mask ", addr.mask\X, "\n"); print(" delay ", addr.delay, "\n"); print(" more ", addr.more, "\n"); print(" bgcolor ", addr.bgcolor, "\n"); print("Point origin {\n"); Point(addr.origin); print("}\n"); }; sizeofCImage = 36; aggr CImage { 'A' CImage 0 next; 'A' ParsedUrl 4 src; 'A' ParsedUrl 8 actual; 'D' 12 imhash; 'D' 16 width; 'D' 20 height; 'D' 24 refcnt; 'A' MaskedImage 28 mims; 'D' 32 mimslen; }; defn CImage(addr) { complex CImage addr; print(" next ", addr.next\X, "\n"); print(" src ", addr.src\X, "\n"); print(" actual ", addr.actual\X, "\n"); print(" imhash ", addr.imhash, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" refcnt ", addr.refcnt, "\n"); print(" mims ", addr.mims\X, "\n"); print(" mimslen ", addr.mimslen, "\n"); }; sizeofNetconn = 88; aggr Netconn { 'D' 0 id; 'D' 4 rnpid; 'D' 8 rntid; 'X' 12 host; 'D' 16 port; 'D' 20 scheme; 'D' 24 cfd; 'D' 28 dfd; 'D' 32 state; 'X' 36 queue; 'D' 40 qalloclen; 'D' 44 qlen; 'D' 48 gocur; 'D' 52 ngcur; 'D' 56 reqsent; 'D' 60 pipeline; 'D' 64 connected; 'D' 68 tstate; 'D' 72 tn1; 'D' 76 tn2; 'X' 80 tbuf; 'D' 84 tbuflen; }; defn Netconn(addr) { complex Netconn addr; print(" id ", addr.id, "\n"); print(" rnpid ", addr.rnpid, "\n"); print(" rntid ", addr.rntid, "\n"); print(" host ", addr.host\X, "\n"); print(" port ", addr.port, "\n"); print(" scheme ", addr.scheme, "\n"); print(" cfd ", addr.cfd, "\n"); print(" dfd ", addr.dfd, "\n"); print(" state ", addr.state, "\n"); print(" queue ", addr.queue\X, "\n"); print(" qalloclen ", addr.qalloclen, "\n"); print(" qlen ", addr.qlen, "\n"); print(" gocur ", addr.gocur, "\n"); print(" ngcur ", addr.ngcur, "\n"); print(" reqsent ", addr.reqsent, "\n"); print(" pipeline ", addr.pipeline, "\n"); print(" connected ", addr.connected, "\n"); print(" tstate ", addr.tstate, "\n"); print(" tn1 ", addr.tn1, "\n"); print(" tn2 ", addr.tn2, "\n"); print(" tbuf ", addr.tbuf\X, "\n"); print(" tbuflen ", addr.tbuflen, "\n"); }; sizeofHeader = 44; aggr Header { 'D' 0 code; 'A' ParsedUrl 4 actual; 'A' ParsedUrl 8 base; 'A' ParsedUrl 12 location; 'D' 16 length; 'D' 20 mtype; 'D' 24 chset; 'X' 28 msg; 'X' 32 refresh; 'X' 36 chal; 'X' 40 warn; }; defn Header(addr) { complex Header addr; print(" code ", addr.code, "\n"); print(" actual ", addr.actual\X, "\n"); print(" base ", addr.base\X, "\n"); print(" location ", addr.location\X, "\n"); print(" length ", addr.length, "\n"); print(" mtype ", addr.mtype, "\n"); print(" chset ", addr.chset, "\n"); print(" msg ", addr.msg\X, "\n"); print(" refresh ", addr.refresh\X, "\n"); print(" chal ", addr.chal\X, "\n"); print(" warn ", addr.warn\X, "\n"); }; sizeofByteSource = 48; aggr ByteSource { 'D' 0 id; 'A' ReqInfo 4 req; 'A' Header 8 hdr; 'X' 12 data; 'D' 16 dalloclen; 'D' 20 edata; 'D' 24 err; 'A' Netconn 28 net; 'D' 32 refgo; 'D' 36 refnc; 'D' 40 lim; 'D' 44 seenhdr; }; defn ByteSource(addr) { complex ByteSource addr; print(" id ", addr.id, "\n"); print(" req ", addr.req\X, "\n"); print(" hdr ", addr.hdr\X, "\n"); print(" data ", addr.data\X, "\n"); print(" dalloclen ", addr.dalloclen, "\n"); print(" edata ", addr.edata, "\n"); print(" err ", addr.err, "\n"); print(" net ", addr.net\X, "\n"); print(" refgo ", addr.refgo, "\n"); print(" refnc ", addr.refnc, "\n"); print(" lim ", addr.lim, "\n"); print(" seenhdr ", addr.seenhdr, "\n"); }; sizeofResourceState = 12; aggr ResourceState { 'D' 0 ms; 'D' 4 mem; 'D' 8 memavail; }; defn ResourceState(addr) { complex ResourceState addr; print(" ms ", addr.ms, "\n"); print(" mem ", addr.mem, "\n"); print(" memavail ", addr.memavail, "\n"); }; complex Config config; complex ResourceState startres; sizeofTransport = 24; aggr Transport { 'X' 0 init; 'X' 4 connect; 'X' 8 writereq; 'X' 12 gethdr; 'X' 16 getdata; 'X' 20 defaultport; }; defn Transport(addr) { complex Transport addr; print(" init ", addr.init\X, "\n"); print(" connect ", addr.connect\X, "\n"); print(" writereq ", addr.writereq\X, "\n"); print(" gethdr ", addr.gethdr\X, "\n"); print(" getdata ", addr.getdata\X, "\n"); print(" defaultport ", addr.defaultport\X, "\n"); }; Notfound = 0; Comment = 1; Ta = 2; Tabbr = 3; Tacronym = 4; Taddress = 5; Tapplet = 6; Tarea = 7; Tb = 8; Tbase = 9; Tbasefont = 10; Tbdo = 11; Tbig = 12; Tblink = 13; Tblockquote = 14; Tbody = 15; Tbq = 16; Tbr = 17; Tbutton = 18; Tcaption = 19; Tcenter = 20; Tcite = 21; Tcode = 22; Tcol = 23; Tcolgroup = 24; Tdd = 25; Tdel = 26; Tdfn = 27; Tdir = 28; Tdiv = 29; Tdl = 30; Tdt = 31; Tem = 32; Tfieldset = 33; Tfont = 34; Tform = 35; Tframe = 36; Tframeset = 37; Th1 = 38; Th2 = 39; Th3 = 40; Th4 = 41; Th5 = 42; Th6 = 43; Thead = 44; Thr = 45; Thtml = 46; Ti = 47; Tiframe = 48; Timg = 49; Tinput = 50; Tins = 51; Tisindex = 52; Tkbd = 53; Tlabel = 54; Tlegend = 55; Tli = 56; Tlink = 57; Tmap = 58; Tmenu = 59; Tmeta = 60; Tnobr = 61; Tnoframes = 62; Tnoscript = 63; Tobject = 64; Tol = 65; Toptgroup = 66; Toption = 67; Tp = 68; Tparam = 69; Tpre = 70; Tq = 71; Ts = 72; Tsamp = 73; Tscript = 74; Tselect = 75; Tsmall = 76; Tspan = 77; Tstrike = 78; Tstrong = 79; Tstyle = 80; Tsub = 81; Tsup = 82; Ttable = 83; Ttbody = 84; Ttd = 85; Ttextarea = 86; Ttfoot = 87; Tth = 88; Tthead = 89; Ttitle = 90; Ttr = 91; Ttt = 92; Tu = 93; Tul = 94; Tvar = 95; Numtags = 96; RBRA = 96; Data = 192; Aabbr = 0; Aaccept_charset = 1; Aaccess_key = 2; Aaction = 3; Aalign = 4; Aalink = 5; Aalt = 6; Aarchive = 7; Aaxis = 8; Abackground = 9; Abgcolor = 10; Aborder = 11; Acellpadding = 12; Acellspacing = 13; Achar = 14; Acharoff = 15; Acharset = 16; Achecked = 17; Acite = 18; Aclass = 19; Aclassid = 20; Aclear = 21; Acode = 22; Acodebase = 23; Acodetype = 24; Acolor = 25; Acols = 26; Acolspan = 27; Acompact = 28; Acontent = 29; Acoords = 30; Adata = 31; Adatetime = 32; Adeclare = 33; Adefer = 34; Adir = 35; Adisabled = 36; Aenctype = 37; Aface = 38; Afor = 39; Aframe = 40; Aframeborder = 41; Aheaders = 42; Aheight = 43; Ahref = 44; Ahreflang = 45; Ahspace = 46; Ahttp_equiv = 47; Aid = 48; Aismap = 49; Alabel = 50; Alang = 51; Alink = 52; Alongdesc = 53; Amarginheight = 54; Amarginwidth = 55; Amaxlength = 56; Amedia = 57; Amethod = 58; Amultiple = 59; Aname = 60; Anohref = 61; Anoresize = 62; Anoshade = 63; Anowrap = 64; Aobject = 65; Aonblur = 66; Aonchange = 67; Aonclick = 68; Aondblclick = 69; Aonfocus = 70; Aonkeypress = 71; Aonkeyup = 72; Aonload = 73; Aonmousedown = 74; Aonmousemove = 75; Aonmouseout = 76; Aonmouseover = 77; Aonmouseup = 78; Aonreset = 79; Aonselect = 80; Aonsubmit = 81; Aonunload = 82; Aprofile = 83; Aprompt = 84; Areadonly = 85; Arel = 86; Arev = 87; Arows = 88; Arowspan = 89; Arules = 90; Ascheme = 91; Ascope = 92; Ascrolling = 93; Aselected = 94; Ashape = 95; Asize = 96; Aspan = 97; Asrc = 98; Astandby = 99; Astart = 100; Astyle = 101; Asummary = 102; Atabindex = 103; Atarget = 104; Atext = 105; Atitle = 106; Atype = 107; Ausemap = 108; Avalign = 109; Avalue = 110; Avaluetype = 111; Aversion = 112; Avlink = 113; Avspace = 114; Awidth = 115; Numattrs = 116; sizeofToken = 16; aggr Token { 'D' 0 tag; 'X' 4 text; 'X' 8 attr; 'D' 12 starti; }; defn Token(addr) { complex Token addr; print(" tag ", addr.tag, "\n"); print(" text ", addr.text\X, "\n"); print(" attr ", addr.attr\X, "\n"); print(" starti ", addr.starti, "\n"); }; sizeofAttr = 12; aggr Attr { 'A' Attr 0 next; 'D' 4 attid; 'X' 8 value; }; defn Attr(addr) { complex Attr addr; print(" next ", addr.next\X, "\n"); print(" attid ", addr.attid, "\n"); print(" value ", addr.value\X, "\n"); }; sizeofTokenSource = 20; aggr TokenSource { 'D' 0 i; 'A' ByteSource 4 b; 'D' 8 chset; 'D' 12 mtype; 'D' 16 ihigh; }; defn TokenSource(addr) { complex TokenSource addr; print(" i ", addr.i, "\n"); print(" b ", addr.b\X, "\n"); print(" chset ", addr.chset, "\n"); print(" mtype ", addr.mtype, "\n"); print(" ihigh ", addr.ihigh, "\n"); }; ALnone = 0; ALleft = 1; ALcenter = 2; ALright = 3; ALjustify = 4; ALchar = 5; ALtop = 6; ALmiddle = 7; ALbottom = 8; ALbaseline = 9; sizeofAlign = 4; aggr Align { 'b' 0 halign; 'b' 1 valign; }; defn Align(addr) { complex Align addr; print(" halign ", addr.halign, "\n"); print(" valign ", addr.valign, "\n"); }; Dnone = 0; Dpixels = 536870912; Dpercent = 1073741824; Drelative = 1610612736; Dkindmask = 1610612736; Dspecmask = -1610612737; sizeofDimen = 4; aggr Dimen { 'D' 0 kindspec; }; defn Dimen(addr) { complex Dimen addr; print(" kindspec ", addr.kindspec, "\n"); }; sizeofBackground = 8; aggr Background { 'A' CImage 0 image; 'D' 4 color; }; defn Background(addr) { complex Background addr; print(" image ", addr.image\X, "\n"); print(" color ", addr.color, "\n"); }; sizeofItem = 32; aggr Item { 'A' Item 0 next; 'D' 4 width; 'D' 8 height; 'D' 12 ascent; 'D' 16 anchorid; 'D' 20 state; 'X' 24 genattr; 'D' 28 tag; }; defn Item(addr) { complex Item addr; print(" next ", addr.next\X, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" anchorid ", addr.anchorid, "\n"); print(" state ", addr.state, "\n"); print(" genattr ", addr.genattr\X, "\n"); print(" tag ", addr.tag, "\n"); }; Itexttag = 0; Iruletag = 1; Iimagetag = 2; Iformfieldtag = 3; Itabletag = 4; Ifloattag = 5; Ispacertag = 6; sizeofItext = 48; aggr Itext { 'A' Item 0 next; 'D' 4 width; 'D' 8 height; 'D' 12 ascent; 'D' 16 anchorid; 'D' 20 state; 'X' 24 genattr; 'D' 28 tag; 'X' 32 s; 'D' 36 fnt; 'D' 40 fg; 'b' 44 voff; 'b' 45 ul; }; defn Itext(addr) { complex Itext addr; print(" next ", addr.next\X, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" anchorid ", addr.anchorid, "\n"); print(" state ", addr.state, "\n"); print(" genattr ", addr.genattr\X, "\n"); print(" tag ", addr.tag, "\n"); print(" s ", addr.s\X, "\n"); print(" fnt ", addr.fnt, "\n"); print(" fg ", addr.fg, "\n"); print(" voff ", addr.voff, "\n"); print(" ul ", addr.ul, "\n"); }; sizeofIrule = 44; aggr Irule { 'A' Item 0 next; 'D' 4 width; 'D' 8 height; 'D' 12 ascent; 'D' 16 anchorid; 'D' 20 state; 'X' 24 genattr; 'D' 28 tag; 'b' 32 align; 'b' 33 noshade; 'D' 36 size; Dimen 40 wspec; }; defn Irule(addr) { complex Irule addr; print(" next ", addr.next\X, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" anchorid ", addr.anchorid, "\n"); print(" state ", addr.state, "\n"); print(" genattr ", addr.genattr\X, "\n"); print(" tag ", addr.tag, "\n"); print(" align ", addr.align, "\n"); print(" noshade ", addr.noshade, "\n"); print(" size ", addr.size, "\n"); print("Dimen wspec {\n"); Dimen(addr.wspec); print("}\n"); }; sizeofIimage = 64; aggr Iimage { 'A' Item 0 next; 'D' 4 width; 'D' 8 height; 'D' 12 ascent; 'D' 16 anchorid; 'D' 20 state; 'X' 24 genattr; 'D' 28 tag; 'A' CImage 32 ci; 'D' 36 imwidth; 'D' 40 imheight; 'X' 44 altrep; 'X' 48 map; 'D' 52 ctlid; 'b' 56 align; 'b' 57 hspace; 'b' 58 vspace; 'b' 59 border; 'A' Iimage 60 nextimage; }; defn Iimage(addr) { complex Iimage addr; print(" next ", addr.next\X, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" anchorid ", addr.anchorid, "\n"); print(" state ", addr.state, "\n"); print(" genattr ", addr.genattr\X, "\n"); print(" tag ", addr.tag, "\n"); print(" ci ", addr.ci\X, "\n"); print(" imwidth ", addr.imwidth, "\n"); print(" imheight ", addr.imheight, "\n"); print(" altrep ", addr.altrep\X, "\n"); print(" map ", addr.map\X, "\n"); print(" ctlid ", addr.ctlid, "\n"); print(" align ", addr.align, "\n"); print(" hspace ", addr.hspace, "\n"); print(" vspace ", addr.vspace, "\n"); print(" border ", addr.border, "\n"); print(" nextimage ", addr.nextimage\X, "\n"); }; sizeofIformfield = 36; aggr Iformfield { 'A' Item 0 next; 'D' 4 width; 'D' 8 height; 'D' 12 ascent; 'D' 16 anchorid; 'D' 20 state; 'X' 24 genattr; 'D' 28 tag; 'X' 32 formfield; }; defn Iformfield(addr) { complex Iformfield addr; print(" next ", addr.next\X, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" anchorid ", addr.anchorid, "\n"); print(" state ", addr.state, "\n"); print(" genattr ", addr.genattr\X, "\n"); print(" tag ", addr.tag, "\n"); print(" formfield ", addr.formfield\X, "\n"); }; sizeofItable = 36; aggr Itable { 'A' Item 0 next; 'D' 4 width; 'D' 8 height; 'D' 12 ascent; 'D' 16 anchorid; 'D' 20 state; 'X' 24 genattr; 'D' 28 tag; 'X' 32 table; }; defn Itable(addr) { complex Itable addr; print(" next ", addr.next\X, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" anchorid ", addr.anchorid, "\n"); print(" state ", addr.state, "\n"); print(" genattr ", addr.genattr\X, "\n"); print(" tag ", addr.tag, "\n"); print(" table ", addr.table\X, "\n"); }; sizeofIfloat = 52; aggr Ifloat { 'A' Item 0 next; 'D' 4 width; 'D' 8 height; 'D' 12 ascent; 'D' 16 anchorid; 'D' 20 state; 'X' 24 genattr; 'D' 28 tag; 'A' Item 32 item; 'D' 36 x; 'D' 40 y; 'b' 44 side; 'b' 45 infloats; 'A' Ifloat 48 nextfloat; }; defn Ifloat(addr) { complex Ifloat addr; print(" next ", addr.next\X, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" anchorid ", addr.anchorid, "\n"); print(" state ", addr.state, "\n"); print(" genattr ", addr.genattr\X, "\n"); print(" tag ", addr.tag, "\n"); print(" item ", addr.item\X, "\n"); print(" x ", addr.x, "\n"); print(" y ", addr.y, "\n"); print(" side ", addr.side, "\n"); print(" infloats ", addr.infloats, "\n"); print(" nextfloat ", addr.nextfloat\X, "\n"); }; sizeofIspacer = 36; aggr Ispacer { 'A' Item 0 next; 'D' 4 width; 'D' 8 height; 'D' 12 ascent; 'D' 16 anchorid; 'D' 20 state; 'X' 24 genattr; 'D' 28 tag; 'D' 32 spkind; }; defn Ispacer(addr) { complex Ispacer addr; print(" next ", addr.next\X, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" anchorid ", addr.anchorid, "\n"); print(" state ", addr.state, "\n"); print(" genattr ", addr.genattr\X, "\n"); print(" tag ", addr.tag, "\n"); print(" spkind ", addr.spkind, "\n"); }; IFbrk = 2147483648; IFbrksp = 1073741824; IFnobrk = 536870912; IFcleft = 268435456; IFcright = 134217728; IFwrap = 67108864; IFhang = 33554432; IFrjust = 16777216; IFcjust = 8388608; IFsmap = 4194304; IFindentshift = 8; IFindentmask = 65280; IFhangmask = 255; Voffbias = 128; ISPnull = 0; ISPvline = 1; ISPhspace = 2; ISPgeneral = 3; sizeofItemlist = 8; aggr Itemlist { 'A' Itemlist 0 next; 'A' Item 4 val; }; defn Itemlist(addr) { complex Itemlist addr; print(" next ", addr.next\X, "\n"); print(" val ", addr.val\X, "\n"); }; sizeofGenattr = 20; aggr Genattr { 'X' 0 id; 'X' 4 class; 'X' 8 style; 'X' 12 title; 'A' Attr 16 events; }; defn Genattr(addr) { complex Genattr addr; print(" id ", addr.id\X, "\n"); print(" class ", addr.class\X, "\n"); print(" style ", addr.style\X, "\n"); print(" title ", addr.title\X, "\n"); print(" events ", addr.events\X, "\n"); }; Ftext = 0; Fpassword = 1; Fcheckbox = 2; Fradio = 3; Fsubmit = 4; Fhidden = 5; Fimage = 6; Freset = 7; Ffile = 8; Fbutton = 9; Fselect = 10; Ftextarea = 11; sizeofFormfield = 60; aggr Formfield { 'A' Formfield 0 next; 'D' 4 ftype; 'D' 8 fieldid; 'X' 12 form; 'X' 16 name; 'X' 20 value; 'D' 24 size; 'D' 28 maxlength; 'D' 32 rows; 'D' 36 cols; 'b' 40 flags; 'X' 44 options; 'A' Item 48 image; 'D' 52 ctlid; 'A' Attr 56 events; }; defn Formfield(addr) { complex Formfield addr; print(" next ", addr.next\X, "\n"); print(" ftype ", addr.ftype, "\n"); print(" fieldid ", addr.fieldid, "\n"); print(" form ", addr.form\X, "\n"); print(" name ", addr.name\X, "\n"); print(" value ", addr.value\X, "\n"); print(" size ", addr.size, "\n"); print(" maxlength ", addr.maxlength, "\n"); print(" rows ", addr.rows, "\n"); print(" cols ", addr.cols, "\n"); print(" flags ", addr.flags, "\n"); print(" options ", addr.options\X, "\n"); print(" image ", addr.image\X, "\n"); print(" ctlid ", addr.ctlid, "\n"); print(" events ", addr.events\X, "\n"); }; FFchecked = 128; FFmultiple = 64; complex Display display; sizeofOption = 16; aggr Option { 'A' Option 0 next; 'D' 4 selected; 'X' 8 value; 'X' 12 display; }; defn Option(addr) { complex Option addr; print(" next ", addr.next\X, "\n"); print(" selected ", addr.selected, "\n"); print(" value ", addr.value\X, "\n"); print(" display ", addr.display\X, "\n"); }; sizeofForm = 32; aggr Form { 'A' Form 0 next; 'D' 4 formid; 'X' 8 name; 'A' ParsedUrl 12 action; 'D' 16 target; 'D' 20 method; 'D' 24 nfields; 'A' Formfield 28 fields; }; defn Form(addr) { complex Form addr; print(" next ", addr.next\X, "\n"); print(" formid ", addr.formid, "\n"); print(" name ", addr.name\X, "\n"); print(" action ", addr.action\X, "\n"); print(" target ", addr.target, "\n"); print(" method ", addr.method, "\n"); print(" nfields ", addr.nfields, "\n"); print(" fields ", addr.fields\X, "\n"); }; TFparsing = 128; TFnowrap = 64; TFisth = 32; sizeofTable = 100; aggr Table { 'A' Table 0 next; 'D' 4 tableid; 'X' 8 rows; 'D' 12 nrow; 'X' 16 cols; 'D' 20 ncol; 'X' 24 cells; 'D' 28 ncell; 'X' 32 grid; Align 36 align; Dimen 40 width; 'D' 44 border; 'D' 48 cellspacing; 'D' 52 cellpadding; Background 56 background; 'A' Item 64 caption; 'b' 68 caption_place; 'X' 72 caption_lay; 'D' 76 totw; 'D' 80 toth; 'D' 84 caph; 'D' 88 availw; 'A' Token 92 tabletok; 'b' 96 flags; }; defn Table(addr) { complex Table addr; print(" next ", addr.next\X, "\n"); print(" tableid ", addr.tableid, "\n"); print(" rows ", addr.rows\X, "\n"); print(" nrow ", addr.nrow, "\n"); print(" cols ", addr.cols\X, "\n"); print(" ncol ", addr.ncol, "\n"); print(" cells ", addr.cells\X, "\n"); print(" ncell ", addr.ncell, "\n"); print(" grid ", addr.grid\X, "\n"); print("Align align {\n"); Align(addr.align); print("}\n"); print("Dimen width {\n"); Dimen(addr.width); print("}\n"); print(" border ", addr.border, "\n"); print(" cellspacing ", addr.cellspacing, "\n"); print(" cellpadding ", addr.cellpadding, "\n"); print("Background background {\n"); Background(addr.background); print("}\n"); print(" caption ", addr.caption\X, "\n"); print(" caption_place ", addr.caption_place, "\n"); print(" caption_lay ", addr.caption_lay\X, "\n"); print(" totw ", addr.totw, "\n"); print(" toth ", addr.toth, "\n"); print(" caph ", addr.caph, "\n"); print(" availw ", addr.availw, "\n"); print(" tabletok ", addr.tabletok\X, "\n"); print(" flags ", addr.flags, "\n"); }; sizeofTablecol = 16; aggr Tablecol { 'D' 0 width; Align 4 align; Point 8 pos; }; defn Tablecol(addr) { complex Tablecol addr; print(" width ", addr.width, "\n"); print("Align align {\n"); Align(addr.align); print("}\n"); print("Point pos {\n"); Point(addr.pos); print("}\n"); }; sizeofTablerow = 40; aggr Tablerow { 'A' Tablerow 0 next; 'X' 4 cells; 'D' 8 height; 'D' 12 ascent; Align 16 align; Background 20 background; Point 28 pos; 'b' 36 flags; }; defn Tablerow(addr) { complex Tablerow addr; print(" next ", addr.next\X, "\n"); print(" cells ", addr.cells\X, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print("Align align {\n"); Align(addr.align); print("}\n"); print("Background background {\n"); Background(addr.background); print("}\n"); print("Point pos {\n"); Point(addr.pos); print("}\n"); print(" flags ", addr.flags, "\n"); }; sizeofTablecell = 80; aggr Tablecell { 'A' Tablecell 0 next; 'A' Tablecell 4 nextinrow; 'D' 8 cellid; 'A' Item 12 content; 'X' 16 lay; 'D' 20 rowspan; 'D' 24 colspan; Align 28 align; 'b' 32 flags; Dimen 36 wspec; 'D' 40 hspec; Background 44 background; 'D' 52 minw; 'D' 56 maxw; 'D' 60 ascent; 'D' 64 row; 'D' 68 col; Point 72 pos; }; defn Tablecell(addr) { complex Tablecell addr; print(" next ", addr.next\X, "\n"); print(" nextinrow ", addr.nextinrow\X, "\n"); print(" cellid ", addr.cellid, "\n"); print(" content ", addr.content\X, "\n"); print(" lay ", addr.lay\X, "\n"); print(" rowspan ", addr.rowspan, "\n"); print(" colspan ", addr.colspan, "\n"); print("Align align {\n"); Align(addr.align); print("}\n"); print(" flags ", addr.flags, "\n"); print("Dimen wspec {\n"); Dimen(addr.wspec); print("}\n"); print(" hspec ", addr.hspec, "\n"); print("Background background {\n"); Background(addr.background); print("}\n"); print(" minw ", addr.minw, "\n"); print(" maxw ", addr.maxw, "\n"); print(" ascent ", addr.ascent, "\n"); print(" row ", addr.row, "\n"); print(" col ", addr.col, "\n"); print("Point pos {\n"); Point(addr.pos); print("}\n"); }; sizeofAnchor = 20; aggr Anchor { 'A' Anchor 0 next; 'D' 4 index; 'X' 8 name; 'A' ParsedUrl 12 href; 'D' 16 target; }; defn Anchor(addr) { complex Anchor addr; print(" next ", addr.next\X, "\n"); print(" index ", addr.index, "\n"); print(" name ", addr.name\X, "\n"); print(" href ", addr.href\X, "\n"); print(" target ", addr.target, "\n"); }; sizeofDestAnchor = 16; aggr DestAnchor { 'A' DestAnchor 0 next; 'D' 4 index; 'X' 8 name; 'A' Item 12 item; }; defn DestAnchor(addr) { complex DestAnchor addr; print(" next ", addr.next\X, "\n"); print(" index ", addr.index, "\n"); print(" name ", addr.name\X, "\n"); print(" item ", addr.item\X, "\n"); }; sizeofMap = 12; aggr Map { 'A' Map 0 next; 'X' 4 name; 'X' 8 areas; }; defn Map(addr) { complex Map addr; print(" next ", addr.next\X, "\n"); print(" name ", addr.name\X, "\n"); print(" areas ", addr.areas\X, "\n"); }; sizeofArea = 24; aggr Area { 'A' Area 0 next; 'D' 4 shape; 'A' ParsedUrl 8 href; 'D' 12 target; 'A' Dimen 16 coords; 'D' 20 ncoords; }; defn Area(addr) { complex Area addr; print(" next ", addr.next\X, "\n"); print(" shape ", addr.shape, "\n"); print(" href ", addr.href\X, "\n"); print(" target ", addr.target, "\n"); print(" coords ", addr.coords\X, "\n"); print(" ncoords ", addr.ncoords, "\n"); }; SHrect = 0; SHcircle = 1; SHpoly = 2; FntR = 0; FntI = 1; FntB = 2; FntT = 3; NumStyle = 4; Tiny = 0; Small = 1; Normal = 2; Large = 3; Verylarge = 4; NumSize = 5; NumFnt = 20; DefFnt = 2; ULnone = 0; ULunder = 1; ULmid = 2; LTdisc = 0; LTsquare = 1; LTcircle = 2; LT1 = 3; LTa = 4; LTA = 5; LTi = 6; LTI = 7; FRnoresize = 1; FRnoscroll = 2; FRhscroll = 4; FRvscroll = 8; FRhscrollauto = 16; FRvscrollauto = 32; sizeofKidinfo = 56; aggr Kidinfo { 'A' Kidinfo 0 next; 'D' 4 isframeset; 'A' ParsedUrl 8 src; 'X' 12 name; 'D' 16 marginw; 'D' 20 marginh; 'D' 24 framebd; 'D' 28 flags; 'A' Dimen 32 rows; 'D' 36 nrows; 'A' Dimen 40 cols; 'D' 44 ncols; 'A' Kidinfo 48 kidinfos; 'A' Kidinfo 52 nextframeset; }; defn Kidinfo(addr) { complex Kidinfo addr; print(" next ", addr.next\X, "\n"); print(" isframeset ", addr.isframeset, "\n"); print(" src ", addr.src\X, "\n"); print(" name ", addr.name\X, "\n"); print(" marginw ", addr.marginw, "\n"); print(" marginh ", addr.marginh, "\n"); print(" framebd ", addr.framebd, "\n"); print(" flags ", addr.flags, "\n"); print(" rows ", addr.rows\X, "\n"); print(" nrows ", addr.nrows, "\n"); print(" cols ", addr.cols\X, "\n"); print(" ncols ", addr.ncols, "\n"); print(" kidinfos ", addr.kidinfos\X, "\n"); print(" nextframeset ", addr.nextframeset\X, "\n"); }; sizeofDocinfo = 92; aggr Docinfo { 'A' ParsedUrl 0 src; 'A' ParsedUrl 4 base; 'X' 8 doctitle; Background 12 background; 'A' Iimage 20 backgrounditem; 'D' 24 text; 'D' 28 link; 'D' 32 vlink; 'D' 36 alink; 'D' 40 target; 'D' 44 chset; 'D' 48 scripttype; 'D' 52 hasscripts; 'X' 56 refresh; 'A' Kidinfo 60 kidinfo; 'D' 64 frameid; 'A' Anchor 68 anchors; 'A' DestAnchor 72 dests; 'A' Form 76 forms; 'A' Table 80 tables; 'A' Map 84 maps; 'A' Iimage 88 images; }; defn Docinfo(addr) { complex Docinfo addr; print(" src ", addr.src\X, "\n"); print(" base ", addr.base\X, "\n"); print(" doctitle ", addr.doctitle\X, "\n"); print("Background background {\n"); Background(addr.background); print("}\n"); print(" backgrounditem ", addr.backgrounditem\X, "\n"); print(" text ", addr.text, "\n"); print(" link ", addr.link, "\n"); print(" vlink ", addr.vlink, "\n"); print(" alink ", addr.alink, "\n"); print(" target ", addr.target, "\n"); print(" chset ", addr.chset, "\n"); print(" scripttype ", addr.scripttype, "\n"); print(" hasscripts ", addr.hasscripts, "\n"); print(" refresh ", addr.refresh\X, "\n"); print(" kidinfo ", addr.kidinfo\X, "\n"); print(" frameid ", addr.frameid, "\n"); print(" anchors ", addr.anchors\X, "\n"); print(" dests ", addr.dests\X, "\n"); print(" forms ", addr.forms\X, "\n"); print(" tables ", addr.tables\X, "\n"); print(" maps ", addr.maps\X, "\n"); print(" images ", addr.images\X, "\n"); }; Nestmax = 20; sizeofStack = 84; aggr Stack { 'D' 0 n; 'a' 4 slots; }; defn Stack(addr) { complex Stack addr; print(" n ", addr.n, "\n"); print(" slots ", addr.slots, "\n"); }; sizeofPstate = 824; aggr Pstate { 'A' Pstate 0 next; 'D' 4 skipping; 'D' 8 skipwhite; 'D' 12 curfont; 'D' 16 curfg; Background 20 curbg; 'D' 28 curvoff; 'b' 32 curul; 'b' 33 curjust; 'D' 36 curanchor; 'D' 40 curstate; 'D' 44 literal; 'D' 48 inpar; 'D' 52 adjsize; 'A' Item 56 items; 'A' Item 60 lastit; 'A' Item 64 prelastit; Stack 68 fntstylestk; Stack 152 fntsizestk; Stack 236 fgstk; Stack 320 ulstk; Stack 404 voffstk; Stack 488 listtypestk; Stack 572 listcntstk; Stack 656 juststk; Stack 740 hangstk; }; defn Pstate(addr) { complex Pstate addr; print(" next ", addr.next\X, "\n"); print(" skipping ", addr.skipping, "\n"); print(" skipwhite ", addr.skipwhite, "\n"); print(" curfont ", addr.curfont, "\n"); print(" curfg ", addr.curfg, "\n"); print("Background curbg {\n"); Background(addr.curbg); print("}\n"); print(" curvoff ", addr.curvoff, "\n"); print(" curul ", addr.curul, "\n"); print(" curjust ", addr.curjust, "\n"); print(" curanchor ", addr.curanchor, "\n"); print(" curstate ", addr.curstate, "\n"); print(" literal ", addr.literal, "\n"); print(" inpar ", addr.inpar, "\n"); print(" adjsize ", addr.adjsize, "\n"); print(" items ", addr.items\X, "\n"); print(" lastit ", addr.lastit\X, "\n"); print(" prelastit ", addr.prelastit\X, "\n"); print("Stack fntstylestk {\n"); Stack(addr.fntstylestk); print("}\n"); print("Stack fntsizestk {\n"); Stack(addr.fntsizestk); print("}\n"); print("Stack fgstk {\n"); Stack(addr.fgstk); print("}\n"); print("Stack ulstk {\n"); Stack(addr.ulstk); print("}\n"); print("Stack voffstk {\n"); Stack(addr.voffstk); print("}\n"); print("Stack listtypestk {\n"); Stack(addr.listtypestk); print("}\n"); print("Stack listcntstk {\n"); Stack(addr.listcntstk); print("}\n"); print("Stack juststk {\n"); Stack(addr.juststk); print("}\n"); print("Stack hangstk {\n"); Stack(addr.hangstk); print("}\n"); }; sizeofItemSource = 48; aggr ItemSource { 'A' TokenSource 0 ts; 'D' 4 mtype; 'A' Docinfo 8 doc; 'A' Pstate 12 psstk; 'D' 16 nforms; 'D' 20 ntables; 'D' 24 nanchors; 'D' 28 nframes; 'A' Form 32 curform; 'A' Map 36 curmap; 'A' Table 40 tabstk; 'A' Kidinfo 44 kidstk; }; defn ItemSource(addr) { complex ItemSource addr; print(" ts ", addr.ts\X, "\n"); print(" mtype ", addr.mtype, "\n"); print(" doc ", addr.doc\X, "\n"); print(" psstk ", addr.psstk\X, "\n"); print(" nforms ", addr.nforms, "\n"); print(" ntables ", addr.ntables, "\n"); print(" nanchors ", addr.nanchors, "\n"); print(" nframes ", addr.nframes, "\n"); print(" curform ", addr.curform\X, "\n"); print(" curmap ", addr.curmap\X, "\n"); print(" tabstk ", addr.tabstk\X, "\n"); print(" kidstk ", addr.kidstk\X, "\n"); }; ReliefSunk = 0; ReliefRaised = 1; ReliefBd = 2; sizeofFrame = 132; aggr Frame { 'D' 0 id; 'A' Docinfo 4 doc; 'A' ParsedUrl 8 src; 'X' 12 name; 'D' 16 marginw; 'D' 20 marginh; 'D' 24 framebd; 'D' 28 flags; 'X' 32 layout; 'X' 36 controls; 'D' 40 controlslen; 'D' 44 controlid; 'A' Image 48 cim; Rectangle 52 r; Rectangle 68 cr; Rectangle 84 totalr; Rectangle 100 viewr; 'X' 116 vscr; 'X' 120 hscr; 'A' Frame 124 parent; 'X' 128 kids; }; defn Frame(addr) { complex Frame addr; print(" id ", addr.id, "\n"); print(" doc ", addr.doc\X, "\n"); print(" src ", addr.src\X, "\n"); print(" name ", addr.name\X, "\n"); print(" marginw ", addr.marginw, "\n"); print(" marginh ", addr.marginh, "\n"); print(" framebd ", addr.framebd, "\n"); print(" flags ", addr.flags, "\n"); print(" layout ", addr.layout\X, "\n"); print(" controls ", addr.controls\X, "\n"); print(" controlslen ", addr.controlslen, "\n"); print(" controlid ", addr.controlid, "\n"); print(" cim ", addr.cim\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print("Rectangle cr {\n"); Rectangle(addr.cr); print("}\n"); print("Rectangle totalr {\n"); Rectangle(addr.totalr); print("}\n"); print("Rectangle viewr {\n"); Rectangle(addr.viewr); print("}\n"); print(" vscr ", addr.vscr\X, "\n"); print(" hscr ", addr.hscr\X, "\n"); print(" parent ", addr.parent\X, "\n"); print(" kids ", addr.kids\X, "\n"); }; sizeofFramelist = 8; aggr Framelist { 'A' Framelist 0 next; 'A' Frame 4 val; }; defn Framelist(addr) { complex Framelist addr; print(" next ", addr.next\X, "\n"); print(" val ", addr.val\X, "\n"); }; Ldrawn = 1; Lmoved = 2; Lchanged = 4; sizeofLine = 36; aggr Line { 'A' Line 0 next; 'A' Line 4 prev; 'A' Item 8 items; Point 12 pos; 'D' 20 width; 'D' 24 height; 'D' 28 ascent; 'b' 32 flags; }; defn Line(addr) { complex Line addr; print(" next ", addr.next\X, "\n"); print(" prev ", addr.prev\X, "\n"); print(" items ", addr.items\X, "\n"); print("Point pos {\n"); Point(addr.pos); print("}\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" ascent ", addr.ascent, "\n"); print(" flags ", addr.flags, "\n"); }; sizeofLoc = 20; aggr Loc { 'X' 0 le; 'D' 4 lelen; 'D' 8 n; Point 12 pos; }; defn Loc(addr) { complex Loc addr; print(" le ", addr.le\X, "\n"); print(" lelen ", addr.lelen, "\n"); print(" n ", addr.n, "\n"); print("Point pos {\n"); Point(addr.pos); print("}\n"); }; sizeofLocelem = 32; aggr Locelem { 'D' 0 kind; Point 4 pos; 'A' Frame 12 frame; 'A' Line 16 line; 'A' Item 20 item; 'A' Tablecell 24 tcell; 'X' 28 control; }; defn Locelem(addr) { complex Locelem addr; print(" kind ", addr.kind, "\n"); print("Point pos {\n"); Point(addr.pos); print("}\n"); print(" frame ", addr.frame\X, "\n"); print(" line ", addr.line\X, "\n"); print(" item ", addr.item\X, "\n"); print(" tcell ", addr.tcell\X, "\n"); print(" control ", addr.control\X, "\n"); }; LEframe = 0; LEline = 1; LEitem = 2; LEtablecell = 3; LEcontrol = 4; sizeofControl = 32; aggr Control { 'A' Frame 0 f; 'A' Formfield 4 ff; Rectangle 8 r; 'D' 24 flags; 'D' 28 tag; }; defn Control(addr) { complex Control addr; print(" f ", addr.f\X, "\n"); print(" ff ", addr.ff\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" flags ", addr.flags, "\n"); print(" tag ", addr.tag, "\n"); }; sizeofCbutton = 56; aggr Cbutton { 'A' Frame 0 f; 'A' Formfield 4 ff; Rectangle 8 r; 'D' 24 flags; 'D' 28 tag; 'A' Image 32 pic; 'A' Image 36 picmask; 'A' Image 40 dpic; 'A' Image 44 dpicmask; 'X' 48 label; 'D' 52 dorelief; }; defn Cbutton(addr) { complex Cbutton addr; print(" f ", addr.f\X, "\n"); print(" ff ", addr.ff\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" flags ", addr.flags, "\n"); print(" tag ", addr.tag, "\n"); print(" pic ", addr.pic\X, "\n"); print(" picmask ", addr.picmask\X, "\n"); print(" dpic ", addr.dpic\X, "\n"); print(" dpicmask ", addr.dpicmask\X, "\n"); print(" label ", addr.label\X, "\n"); print(" dorelief ", addr.dorelief, "\n"); }; sizeofCentry = 48; aggr Centry { 'A' Frame 0 f; 'A' Formfield 4 ff; Rectangle 8 r; 'D' 24 flags; 'D' 28 tag; 'X' 32 s; 'D' 36 curs; 'D' 40 left; 'D' 44 linewrap; }; defn Centry(addr) { complex Centry addr; print(" f ", addr.f\X, "\n"); print(" ff ", addr.ff\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" flags ", addr.flags, "\n"); print(" tag ", addr.tag, "\n"); print(" s ", addr.s\X, "\n"); print(" curs ", addr.curs, "\n"); print(" left ", addr.left, "\n"); print(" linewrap ", addr.linewrap, "\n"); }; sizeofCcheckbox = 36; aggr Ccheckbox { 'A' Frame 0 f; 'A' Formfield 4 ff; Rectangle 8 r; 'D' 24 flags; 'D' 28 tag; 'D' 32 isradio; }; defn Ccheckbox(addr) { complex Ccheckbox addr; print(" f ", addr.f\X, "\n"); print(" ff ", addr.ff\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" flags ", addr.flags, "\n"); print(" tag ", addr.tag, "\n"); print(" isradio ", addr.isradio, "\n"); }; sizeofCselect = 52; aggr Cselect { 'A' Frame 0 f; 'A' Formfield 4 ff; Rectangle 8 r; 'D' 24 flags; 'D' 28 tag; 'X' 32 scr; 'D' 36 nvis; 'D' 40 first; 'A' Option 44 options; 'D' 48 noptions; }; defn Cselect(addr) { complex Cselect addr; print(" f ", addr.f\X, "\n"); print(" ff ", addr.ff\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" flags ", addr.flags, "\n"); print(" tag ", addr.tag, "\n"); print(" scr ", addr.scr\X, "\n"); print(" nvis ", addr.nvis, "\n"); print(" first ", addr.first, "\n"); print(" options ", addr.options\X, "\n"); print(" noptions ", addr.noptions, "\n"); }; sizeofCscrollbar = 52; aggr Cscrollbar { 'A' Frame 0 f; 'A' Formfield 4 ff; Rectangle 8 r; 'D' 24 flags; 'D' 28 tag; 'D' 32 top; 'D' 36 bot; 'D' 40 dragv; 'D' 44 mindelta; 'A' Control 48 ctl; }; defn Cscrollbar(addr) { complex Cscrollbar addr; print(" f ", addr.f\X, "\n"); print(" ff ", addr.ff\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" flags ", addr.flags, "\n"); print(" tag ", addr.tag, "\n"); print(" top ", addr.top, "\n"); print(" bot ", addr.bot, "\n"); print(" dragv ", addr.dragv, "\n"); print(" mindelta ", addr.mindelta, "\n"); print(" ctl ", addr.ctl\X, "\n"); }; sizeofCanimimage = 52; aggr Canimimage { 'A' Frame 0 f; 'A' Formfield 4 ff; Rectangle 8 r; 'D' 24 flags; 'D' 28 tag; 'A' CImage 32 cim; 'D' 36 cur; 'D' 40 redraw; Background 44 bg; }; defn Canimimage(addr) { complex Canimimage addr; print(" f ", addr.f\X, "\n"); print(" ff ", addr.ff\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" flags ", addr.flags, "\n"); print(" tag ", addr.tag, "\n"); print(" cim ", addr.cim\X, "\n"); print(" cur ", addr.cur, "\n"); print(" redraw ", addr.redraw, "\n"); print("Background bg {\n"); Background(addr.bg); print("}\n"); }; sizeofCprogbox = 52; aggr Cprogbox { 'A' Frame 0 f; 'A' Formfield 4 ff; Rectangle 8 r; 'D' 24 flags; 'D' 28 tag; 'D' 32 state; 'D' 36 pcnt; 'D' 40 bsid; 'X' 44 src; 'X' 48 err; }; defn Cprogbox(addr) { complex Cprogbox addr; print(" f ", addr.f\X, "\n"); print(" ff ", addr.ff\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" flags ", addr.flags, "\n"); print(" tag ", addr.tag, "\n"); print(" state ", addr.state, "\n"); print(" pcnt ", addr.pcnt, "\n"); print(" bsid ", addr.bsid, "\n"); print(" src ", addr.src\X, "\n"); print(" err ", addr.err\X, "\n"); }; sizeofClabel = 36; aggr Clabel { 'A' Frame 0 f; 'A' Formfield 4 ff; Rectangle 8 r; 'D' 24 flags; 'D' 28 tag; 'X' 32 s; }; defn Clabel(addr) { complex Clabel addr; print(" f ", addr.f\X, "\n"); print(" ff ", addr.ff\X, "\n"); print("Rectangle r {\n"); Rectangle(addr.r); print("}\n"); print(" flags ", addr.flags, "\n"); print(" tag ", addr.tag, "\n"); print(" s ", addr.s\X, "\n"); }; Cbuttontag = 0; Centrytag = 1; Ccheckboxtag = 2; Cselecttag = 3; Cscrollbartag = 4; Canimimagetag = 5; Cprogboxtag = 6; Clabeltag = 7; CFactive = 1; CFenabled = 2; CFhasfocus = 4; CFscrvert = 8; CFscracta1 = 16; CFscracta2 = 32; CFscracttr1 = 64; CFscracttr2 = 128; CFscrallact = 241; CAnone = 0; CAscrollpage = 1; CAscrollline = 2; CAscrolldelta = 3; CAscrollabs = 4; CAbuttonpush = 5; CAflyover = 6; CAreturnkey = 7; CAtabkey = 8; CAkeyfocus = 9; sizeofLay = 40; aggr Lay { 'A' Line 0 start; 'A' Line 4 end; 'D' 8 targetwidth; 'D' 12 width; 'D' 16 height; 'D' 20 margin; 'A' Ifloat 24 floats; Background 28 background; 'b' 36 just; 'b' 37 flags; }; defn Lay(addr) { complex Lay addr; print(" start ", addr.start\X, "\n"); print(" end ", addr.end\X, "\n"); print(" targetwidth ", addr.targetwidth, "\n"); print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" margin ", addr.margin, "\n"); print(" floats ", addr.floats\X, "\n"); print("Background background {\n"); Background(addr.background); print("}\n"); print(" just ", addr.just, "\n"); print(" flags ", addr.flags, "\n"); }; Mimerror = 0; Mimnone = 1; Mimpartial = 2; Mimdone = 3; sizeofImageSource = 52; aggr ImageSource { 'D' 0 width; 'D' 4 height; 'D' 8 origw; 'D' 12 origh; 'D' 16 mtype; 'D' 20 i; 'D' 24 curframe; 'A' ByteSource 28 bs; 'X' 32 gstate; 'X' 36 jstate; 'D' 40 err; 'a' 44 getmimsave; }; defn ImageSource(addr) { complex ImageSource addr; print(" width ", addr.width, "\n"); print(" height ", addr.height, "\n"); print(" origw ", addr.origw, "\n"); print(" origh ", addr.origh, "\n"); print(" mtype ", addr.mtype, "\n"); print(" i ", addr.i, "\n"); print(" curframe ", addr.curframe, "\n"); print(" bs ", addr.bs\X, "\n"); print(" gstate ", addr.gstate\X, "\n"); print(" jstate ", addr.jstate\X, "\n"); print(" err ", addr.err, "\n"); print(" getmimsave ", addr.getmimsave, "\n"); }; sizeofJpegstate = 100; aggr Jpegstate { 'D' 0 sr; 'D' 4 cnt; 'D' 8 Nf; 'X' 12 comp; 'b' 16 mode; 'D' 20 X; 'D' 24 Y; 'X' 28 qt; 'X' 32 dcht; 'X' 36 acht; 'D' 40 Ns; 'X' 44 scomp; 'D' 48 Ss; 'D' 52 Se; 'D' 56 Ah; 'D' 60 Al; 'D' 64 ri; 'D' 68 nseg; 'X' 72 nblock; 'X' 76 dccoeff; 'X' 80 accoeff; 'D' 84 nacross; 'D' 88 ndown; 'D' 92 Hmax; 'D' 96 Vmax; }; defn Jpegstate(addr) { complex Jpegstate addr; print(" sr ", addr.sr, "\n"); print(" cnt ", addr.cnt, "\n"); print(" Nf ", addr.Nf, "\n"); print(" comp ", addr.comp\X, "\n"); print(" mode ", addr.mode, "\n"); print(" X ", addr.X, "\n"); print(" Y ", addr.Y, "\n"); print(" qt ", addr.qt\X, "\n"); print(" dcht ", addr.dcht\X, "\n"); print(" acht ", addr.acht\X, "\n"); print(" Ns ", addr.Ns, "\n"); print(" scomp ", addr.scomp\X, "\n"); print(" Ss ", addr.Ss, "\n"); print(" Se ", addr.Se, "\n"); print(" Ah ", addr.Ah, "\n"); print(" Al ", addr.Al, "\n"); print(" ri ", addr.ri, "\n"); print(" nseg ", addr.nseg, "\n"); print(" nblock ", addr.nblock\X, "\n"); print(" dccoeff ", addr.dccoeff\X, "\n"); print(" accoeff ", addr.accoeff\X, "\n"); print(" nacross ", addr.nacross, "\n"); print(" ndown ", addr.ndown, "\n"); print(" Hmax ", addr.Hmax, "\n"); print(" Vmax ", addr.Vmax, "\n"); }; sizeofHuffman = 2268; aggr Huffman { 'X' 0 bits; 'X' 4 size; 'X' 8 code; 'X' 12 val; 'a' 16 mincode; 'a' 84 maxcode; 'a' 152 valptr; 'a' 220 value; 'a' 1244 shift; }; defn Huffman(addr) { complex Huffman addr; print(" bits ", addr.bits\X, "\n"); print(" size ", addr.size\X, "\n"); print(" code ", addr.code\X, "\n"); print(" val ", addr.val\X, "\n"); print(" mincode ", addr.mincode, "\n"); print(" maxcode ", addr.maxcode, "\n"); print(" valptr ", addr.valptr, "\n"); print(" value ", addr.value, "\n"); print(" shift ", addr.shift, "\n"); }; Tq = 71; sizeofFramecomp = 16; aggr Framecomp { 'D' 0 C; 'D' 4 H; 'D' 8 V; 'D' 12 Tq; }; defn Framecomp(addr) { complex Framecomp addr; print(" C ", addr.C, "\n"); print(" H ", addr.H, "\n"); print(" V ", addr.V, "\n"); print(" Tq ", addr.Tq, "\n"); }; sizeofScancomp = 12; aggr Scancomp { 'D' 0 C; 'D' 4 tdc; 'D' 8 tac; }; defn Scancomp(addr) { complex Scancomp addr; print(" C ", addr.C, "\n"); print(" tdc ", addr.tdc, "\n"); print(" tac ", addr.tac, "\n"); }; sizeofGifstate = 44; aggr Gifstate { 'D' 0 fields; 'D' 4 bgrnd; 'D' 8 aspect; 'D' 12 flags; 'D' 16 delay; 'b' 20 trindex; 'X' 24 tbl; 'X' 28 globalcmap; 'D' 32 globalcmaplen; 'X' 36 cmap; 'D' 40 cmaplen; }; defn Gifstate(addr) { complex Gifstate addr; print(" fields ", addr.fields, "\n"); print(" bgrnd ", addr.bgrnd, "\n"); print(" aspect ", addr.aspect, "\n"); print(" flags ", addr.flags, "\n"); print(" delay ", addr.delay, "\n"); print(" trindex ", addr.trindex, "\n"); print(" tbl ", addr.tbl\X, "\n"); print(" globalcmap ", addr.globalcmap\X, "\n"); print(" globalcmaplen ", addr.globalcmaplen, "\n"); print(" cmap ", addr.cmap\X, "\n"); print(" cmaplen ", addr.cmaplen, "\n"); }; sizeofGifEntry = 8; aggr GifEntry { 'D' 0 prefix; 'D' 4 exten; }; defn GifEntry(addr) { complex GifEntry addr; print(" prefix ", addr.prefix, "\n"); print(" exten ", addr.exten, "\n"); }; EVkeytag = 0; EVmousetag = 1; EVmovetag = 2; EVresizetag = 3; EVexposetag = 4; EVhidetag = 5; EVquittag = 6; EVstoptag = 7; EValerttag = 8; EVformtag = 9; EVgotag = 10; EVanimtag = 11; EVprogresstag = 12; EVdelaytag = 13; sizeof_2_ = 12; aggr _2_ { Point 0 p; 'D' 8 mtype; }; defn _2_(addr) { complex _2_ addr; print("Point p {\n"); Point(addr.p); print("}\n"); print(" mtype ", addr.mtype, "\n"); }; sizeof_3_ = 8; aggr _3_ { 'X' 0 msg; 'A' Channel 4 sync; }; defn _3_(addr) { complex _3_ addr; print(" msg ", addr.msg\X, "\n"); print(" sync ", addr.sync\X, "\n"); }; sizeof_4_ = 12; aggr _4_ { 'D' 0 frameid; 'D' 4 formid; 'D' 8 ftype; }; defn _4_(addr) { complex _4_ addr; print(" frameid ", addr.frameid, "\n"); print(" formid ", addr.formid, "\n"); print(" ftype ", addr.ftype, "\n"); }; sizeof_5_ = 12; aggr _5_ { 'A' ParsedUrl 0 url; 'D' 4 target; 'D' 8 gtype; }; defn _5_(addr) { complex _5_ addr; print(" url ", addr.url\X, "\n"); print(" target ", addr.target, "\n"); print(" gtype ", addr.gtype, "\n"); }; sizeof_6_ = 8; aggr _6_ { 'D' 0 frameid; 'A' Canimimage 4 ai; }; defn _6_(addr) { complex _6_ addr; print(" frameid ", addr.frameid, "\n"); print(" ai ", addr.ai\X, "\n"); }; sizeof_7_ = 16; aggr _7_ { 'D' 0 bsid; 'D' 4 state; 'D' 8 pcnt; 'X' 12 s; }; defn _7_(addr) { complex _7_ addr; print(" bsid ", addr.bsid, "\n"); print(" state ", addr.state, "\n"); print(" pcnt ", addr.pcnt, "\n"); print(" s ", addr.s\X, "\n"); }; sizeof_8_ = 8; aggr _8_ { 'D' 0 millisecs; 'X' 4 ev; }; defn _8_(addr) { complex _8_ addr; print(" millisecs ", addr.millisecs, "\n"); print(" ev ", addr.ev\X, "\n"); }; sizeof_9_ = 16; aggr _9_ { 'D' 0 keychar; _2_ 0 mouse; Point 0 movept; Rectangle 0 resizer; _3_ 0 alert; _4_ 0 form; _5_ 0 go; _6_ 0 anim; _7_ 0 progress; _8_ 0 delay; }; defn _9_(addr) { complex _9_ addr; print(" keychar ", addr.keychar, "\n"); print("_2_ mouse {\n"); _2_(addr.mouse); print("}\n"); print("Point movept {\n"); Point(addr.movept); print("}\n"); print("Rectangle resizer {\n"); Rectangle(addr.resizer); print("}\n"); print("_3_ alert {\n"); _3_(addr.alert); print("}\n"); print("_4_ form {\n"); _4_(addr.form); print("}\n"); print("_5_ go {\n"); _5_(addr.go); print("}\n"); print("_6_ anim {\n"); _6_(addr.anim); print("}\n"); print("_7_ progress {\n"); _7_(addr.progress); print("}\n"); print("_8_ delay {\n"); _8_(addr.delay); print("}\n"); }; sizeofEV = 24; aggr EV { 'D' 0 tag; 'D' 4 genframeid; _9_ 8 u; }; defn EV(addr) { complex EV addr; print(" tag ", addr.tag, "\n"); print(" genframeid ", addr.genframeid, "\n"); print("_9_ u {\n"); _9_(addr.u); print("}\n"); }; sizeofScriptEvent = 32; aggr ScriptEvent { 'D' 0 kind; 'D' 4 frameid; 'D' 8 formid; 'D' 12 fieldid; 'D' 16 anchorid; 'D' 20 x; 'D' 24 y; 'D' 28 which; }; defn ScriptEvent(addr) { complex ScriptEvent addr; print(" kind ", addr.kind, "\n"); print(" frameid ", addr.frameid, "\n"); print(" formid ", addr.formid, "\n"); print(" fieldid ", addr.fieldid, "\n"); print(" anchorid ", addr.anchorid, "\n"); print(" x ", addr.x, "\n"); print(" y ", addr.y, "\n"); print(" which ", addr.which, "\n"); }; Kup = 61440; Kdown = 61441; Khome = 61442; Kleft = 61443; Kright = 61444; Mmove = 0; Mlbuttondown = 1; Mlbuttonup = 2; Mldrag = 3; Mmbuttondown = 4; Mmbuttonup = 5; Mmdrag = 6; Mrbuttondown = 7; Mrbuttonup = 8; Mrdrag = 9; EFsubmit = 0; EFreset = 1; EGnormal = 0; EGreload = 1; EGforward = 2; EGback = 3; EGhome = 4; EGbookmarks = 5; complex Channel evchan; complex Rectangle rmain; complex Rectangle rctl; complex Rectangle rprog; IClogo = 0; ICback = 1; ICfwd = 2; ICreload = 3; ICstop = 4; IChist = 5; ICbmark = 6; ICexit = 7; NICONS = 8; sizeofGoSpec = 28; aggr GoSpec { 'D' 0 kind; 'A' ParsedUrl 4 url; 'D' 8 meth; 'X' 12 body; 'D' 16 target; 'X' 20 auth; 'X' 24 histnode; }; defn GoSpec(addr) { complex GoSpec addr; print(" kind ", addr.kind, "\n"); print(" url ", addr.url\X, "\n"); print(" meth ", addr.meth, "\n"); print(" body ", addr.body\X, "\n"); print(" target ", addr.target, "\n"); print(" auth ", addr.auth\X, "\n"); print(" histnode ", addr.histnode\X, "\n"); }; GoNormal = 0; GoHistnode = 1; GoBookmarks = 2; GoHistory = 3; GoStop = 4; sizeofDocConfig = 16; aggr DocConfig { 'X' 0 framename; 'X' 4 title; 'D' 8 initconfig; 'A' GoSpec 12 gospec; }; defn DocConfig(addr) { complex DocConfig addr; print(" framename ", addr.framename\X, "\n"); print(" title ", addr.title\X, "\n"); print(" initconfig ", addr.initconfig, "\n"); print(" gospec ", addr.gospec\X, "\n"); }; sizeofHistNode = 20; aggr HistNode { 'A' DocConfig 0 topconfig; 'A' DocConfig 4 kidconfigs; 'D' 8 nkids; 'X' 12 preds; 'X' 16 succs; }; defn HistNode(addr) { complex HistNode addr; print(" topconfig ", addr.topconfig\X, "\n"); print(" kidconfigs ", addr.kidconfigs\X, "\n"); print(" nkids ", addr.nkids, "\n"); print(" preds ", addr.preds\X, "\n"); print(" succs ", addr.succs\X, "\n"); }; sizeofHistNode_list = 8; aggr HistNode_list { 'A' HistNode_list 0 next; 'A' HistNode 4 histnode; }; defn HistNode_list(addr) { complex HistNode_list addr; print(" next ", addr.next\X, "\n"); print(" histnode ", addr.histnode\X, "\n"); }; sizeofHistory = 12; aggr History { 'A' HistNode 0 h; 'D' 4 hlen; 'D' 8 n; }; defn History(addr) { complex History addr; print(" h ", addr.h\X, "\n"); print(" hlen ", addr.hlen, "\n"); print(" n ", addr.n, "\n"); }; sizeofAuthInfo = 12; aggr AuthInfo { 'A' AuthInfo 0 next; 'X' 4 realm; 'X' 8 credentials; }; defn AuthInfo(addr) { complex AuthInfo addr; print(" next ", addr.next\X, "\n"); print(" realm ", addr.realm\X, "\n"); print(" credentials ", addr.credentials\X, "\n"); }; CLCbackbut = 0; CLCfwdbut = 1; CLCreloadbut = 2; CLCstopbut = 3; CLChistbut = 4; CLCbmarkbut = 5; CLCexitbut = 6; CLCentry = 7; NUMCLCS = 8; sizeofCtlLayout = 72; aggr CtlLayout { 'A' Image 0 logoicon; Point 4 logopos; Point 12 butspos; Point 20 entrypos; Point 28 statuspos; 'a' 36 controls; 'X' 68 status; }; defn CtlLayout(addr) { complex CtlLayout addr; print(" logoicon ", addr.logoicon\X, "\n"); print("Point logopos {\n"); Point(addr.logopos); print("}\n"); print("Point butspos {\n"); Point(addr.butspos); print("}\n"); print("Point entrypos {\n"); Point(addr.entrypos); print("}\n"); print("Point statuspos {\n"); Point(addr.statuspos); print("}\n"); print(" controls ", addr.controls, "\n"); print(" status ", addr.status\X, "\n"); }; sizeofProgLayout = 24; aggr ProgLayout { 'A' Control 0 box; 'D' 4 boxlen; 'D' 8 nused; Point 12 first; 'D' 20 dx; }; defn ProgLayout(addr) { complex ProgLayout addr; print(" box ", addr.box\X, "\n"); print(" boxlen ", addr.boxlen, "\n"); print(" nused ", addr.nused, "\n"); print("Point first {\n"); Point(addr.first); print("}\n"); print(" dx ", addr.dx, "\n"); }; sizeofPopupLayout = 20; aggr PopupLayout { 'D' 0 kind; 'A' Control 4 controls; 'D' 8 ncontrols; 'A' Control 12 okbut; 'A' Control 16 cancelbut; }; defn PopupLayout(addr) { complex PopupLayout addr; print(" kind ", addr.kind, "\n"); print(" controls ", addr.controls\X, "\n"); print(" ncontrols ", addr.ncontrols, "\n"); print(" okbut ", addr.okbut\X, "\n"); print(" cancelbut ", addr.cancelbut\X, "\n"); }; PopupNone = 0; PopupAuth = 1; PopupSaveAs = 2; PopupAlert = 3; sizeofPopupAns = 8; aggr PopupAns { 'D' 0 code; 'X' 4 s; }; defn PopupAns(addr) { complex PopupAns addr; print(" code ", addr.code, "\n"); print(" s ", addr.s\X, "\n"); }; ALERTLINELEN = 80; SP = 8; SP2 = 4; complex Channel gochan; complex AuthInfo auths; complex Channel popupans; complex History history; complex CtlLayout ctllay; complex ProgLayout proglay; complex PopupLayout popuplay; complex Loc keyfocus; complex Frame top; complex Frame curframe; complex Frame ctlframe; complex Frame progframe; complex Frame popupframe; complex Image popupwin; complex ResourceState threadmain:curres; complex ResourceState threadmain:newres; complex GoSpec threadmain:g; complex EV threadmain:ev; complex Image start:i; complex Image start:m; complex Rectangle redrawctl:r; complex Point redrawctl:p; complex Image redrawctl:li; complex Control redrawctl:b; complex Rectangle redrawprog:r; complex Control redrawprog:newbox; complex Point redrawprog:p; complex Control redrawprog:c; complex Control dopopup:cok; complex Control dopopup:ccancel; complex Point dopopup:p; complex Control dopopup:oldc; complex Control dopopup:newc; complex Control dopopup:chead; complex Control dopopup:crealm; complex Control dopopup:cunlab; complex Control dopopup:cpwlab; complex Control dopopup:cuser; complex Control dopopup:cpass; complex Control dopopup:clab; complex Control dopopup:cfile; complex Control dopopup:c; complex PopupAns dopopup:pans; complex Rectangle redrawpopup:r; complex PopupAns finishpopup:pans; complex Control ctlentrytext:c; complex Control frameloc:c; complex Frame frameloc:f; complex Loc frameloc:loc; complex Frame resetkeyfocus:oldf; complex EV handlemouse:e; complex Point handlemouse:p; complex GoSpec handlemouse:g; complex Control handlemouse:oldc; complex Control handlemouse:c; complex Anchor handlemouse:a; complex Item handlemouse:it; complex Frame handlemouse:f; complex Loc handlemouse:loc; complex Cprogbox handlemouse:pc; complex EV handlekey:e; complex Loc handlekey:loc; complex ParsedUrl handlekey:u; complex Centry handlekey:ce; complex Control handlekey:c; complex GoSpec go:g; complex HistNode go:hn; complex Frame go:f; complex ParsedUrl go:url; complex EV go:prog; complex GoSpec get:g; complex Frame get:f; complex HistNode get:hn; complex ResourceState get:curres; complex ResourceState get:newres; complex ByteSource get:bsmain; complex Header get:hdr; complex ReqInfo get:ri; complex AuthInfo get:auth; complex ByteSource get:bs; complex ParsedUrl get:newurl; complex GoSpec get:gs; complex Framelist get:kl; complex Frame get:k; complex Frame go_local:f; complex Loc go_local:dloc; complex Point go_local:p; complex DestAnchor go_local:d; complex Frame checkrefresh:f; complex ParsedUrl checkrefresh:url; complex EV checkrefresh:e; complex EV checkrefresh:goe; complex Frame findnamedframe:f; complex Framelist findnamedframe:kl; complex Frame findnamedframe:a; complex Frame findframe:f; complex Framelist findframe:kl; complex Frame findframe:a; complex Item anchorgospec:it; complex Anchor anchorgospec:a; complex Point anchorgospec:p; complex GoSpec anchorgospec:g; complex ParsedUrl anchorgospec:u; complex CImage anchorgospec:ci; complex Iimage anchorgospec:i; complex Ifloat anchorgospec:f; complex Control pushaction:c; complex Loc pushaction:loc; complex Formfield pushaction:ff; complex Frame pushaction:f; complex Cbutton pushaction:b; complex Frame form_submit:fr; complex Form form_submit:frm; complex Point form_submit:p; complex Control form_submit:submitctl; complex Strlist form_submit:radiodone; complex Formfield form_submit:f; complex Strlist form_submit:rl; complex Cselect form_submit:cs; complex Control form_submit:c; complex ParsedUrl form_submit:action; complex Frame form_reset:fr; complex Form form_reset:frm; complex Formfield form_reset:a; complex Frame formaction:f; complex Form formaction:frm; complex Docinfo formaction:d; complex Map findhit:map; complex Point findhit:p; complex ParsedUrl findhit:dflt; complex Area findhit:a; complex Dimen findhit:c; complex Dimen d2pix:d; complex ParsedUrl newget:url; complex GoSpec newget:g; complex ParsedUrl newpost:url; complex GoSpec newpost:g; complex HistNode newspecial:hn; complex GoSpec newspecial:g; complex GoSpec copygospec:g; complex GoSpec copygospec:ans; complex GoSpec gospecequal:a; complex GoSpec gospecequal:b; complex GoSpec newdocconfig:g; complex DocConfig newdocconfig:d; complex DocConfig copydocconfig:d; complex DocConfig copydocconfig:ans; complex DocConfig docconfigequal:a; complex DocConfig docconfigequal:b; complex DocConfig docconfigequalarray:a1; complex DocConfig docconfigequalarray:a2; complex HistNode newhistnodelist:hn; complex HistNode_list newhistnodelist:l; complex HistNode_list newhistnodelist:ans; complex HistNode histaddedge:a; complex HistNode histaddedge:b; complex HistNode_list histaddedge:oldl; complex HistNode_list histaddedge:l; complex HistNode_list histaddedge:newl; complex HistNode_list remhnode:l; complex HistNode remhnode:hn; complex HistNode remhnode:hdl; complex HistNode_list remhnode:ans; complex DocConfig newhistnode:top; complex DocConfig newhistnode:kids; complex HistNode_list newhistnode:preds; complex HistNode_list newhistnode:succs; complex HistNode newhistnode:h; complex HistNode histnodecopy:a; complex DocConfig histnodecopy:kc; complex Frame histadd:f; complex GoSpec histadd:g; complex HistNode histadd:oldcur; complex DocConfig histadd:dc; complex HistNode histadd:hnode; complex DocConfig histadd:kc; complex Frame histupdate:f; complex HistNode histupdate:hnode; complex Framelist histupdate:kl; complex Frame histupdate:kf; complex DocConfig histupdate:kc; complex DocConfig histupdate:dc; complex HistNode histfind:cur; complex HistNode histprint:hn; complex DocConfig histprint:dc; complex HistNode_list printhnodeindices:l; complex HistNode printhnodeindices:hn; complex Control freectls:a; complex ByteSource dosaveas:bsmain; complex EV handleprogress:ev; complex Cprogbox handleprogress:pb; complex Point showstatus:p; complex Point showstatus:sp; complex Channel alert:sync; complex PopupAns alert:ans;