1*368c31abSDavid du Colombiersizeof_1_ = 8; 2*368c31abSDavid du Colombieraggr _1_ 3*368c31abSDavid du Colombier{ 4*368c31abSDavid du Colombier 'U' 0 lo; 5*368c31abSDavid du Colombier 'U' 4 hi; 6*368c31abSDavid du Colombier}; 7*368c31abSDavid du Colombier 8*368c31abSDavid du Colombierdefn 9*368c31abSDavid du Colombier_1_(addr) { 10*368c31abSDavid du Colombier complex _1_ addr; 11*368c31abSDavid du Colombier print(" lo ", addr.lo, "\n"); 12*368c31abSDavid du Colombier print(" hi ", addr.hi, "\n"); 13*368c31abSDavid du Colombier}; 14*368c31abSDavid du Colombier 15*368c31abSDavid du ColombiersizeofFPdbleword = 8; 16*368c31abSDavid du Colombieraggr FPdbleword 17*368c31abSDavid du Colombier{ 18*368c31abSDavid du Colombier 'F' 0 x; 19*368c31abSDavid du Colombier { 20*368c31abSDavid du Colombier 'U' 0 lo; 21*368c31abSDavid du Colombier 'U' 4 hi; 22*368c31abSDavid du Colombier }; 23*368c31abSDavid du Colombier}; 24*368c31abSDavid du Colombier 25*368c31abSDavid du Colombierdefn 26*368c31abSDavid du ColombierFPdbleword(addr) { 27*368c31abSDavid du Colombier complex FPdbleword addr; 28*368c31abSDavid du Colombier print(" x ", addr.x, "\n"); 29*368c31abSDavid du Colombier print("_1_ {\n"); 30*368c31abSDavid du Colombier _1_(addr+0); 31*368c31abSDavid du Colombier print("}\n"); 32*368c31abSDavid du Colombier}; 33*368c31abSDavid du Colombier 34*368c31abSDavid du ColombierUTFmax = 3; 35*368c31abSDavid du ColombierRunesync = 128; 36*368c31abSDavid du ColombierRuneself = 128; 37*368c31abSDavid du ColombierRuneerror = 128; 38*368c31abSDavid du ColombiersizeofFmt = 48; 39*368c31abSDavid du Colombieraggr Fmt 40*368c31abSDavid du Colombier{ 41*368c31abSDavid du Colombier 'b' 0 runes; 42*368c31abSDavid du Colombier 'X' 4 start; 43*368c31abSDavid du Colombier 'X' 8 to; 44*368c31abSDavid du Colombier 'X' 12 stop; 45*368c31abSDavid du Colombier 'X' 16 flush; 46*368c31abSDavid du Colombier 'X' 20 farg; 47*368c31abSDavid du Colombier 'D' 24 nfmt; 48*368c31abSDavid du Colombier 'X' 28 args; 49*368c31abSDavid du Colombier 'D' 32 r; 50*368c31abSDavid du Colombier 'D' 36 width; 51*368c31abSDavid du Colombier 'D' 40 prec; 52*368c31abSDavid du Colombier 'U' 44 flags; 53*368c31abSDavid du Colombier}; 54*368c31abSDavid du Colombier 55*368c31abSDavid du Colombierdefn 56*368c31abSDavid du ColombierFmt(addr) { 57*368c31abSDavid du Colombier complex Fmt addr; 58*368c31abSDavid du Colombier print(" runes ", addr.runes, "\n"); 59*368c31abSDavid du Colombier print(" start ", addr.start\X, "\n"); 60*368c31abSDavid du Colombier print(" to ", addr.to\X, "\n"); 61*368c31abSDavid du Colombier print(" stop ", addr.stop\X, "\n"); 62*368c31abSDavid du Colombier print(" flush ", addr.flush\X, "\n"); 63*368c31abSDavid du Colombier print(" farg ", addr.farg\X, "\n"); 64*368c31abSDavid du Colombier print(" nfmt ", addr.nfmt, "\n"); 65*368c31abSDavid du Colombier print(" args ", addr.args\X, "\n"); 66*368c31abSDavid du Colombier print(" r ", addr.r, "\n"); 67*368c31abSDavid du Colombier print(" width ", addr.width, "\n"); 68*368c31abSDavid du Colombier print(" prec ", addr.prec, "\n"); 69*368c31abSDavid du Colombier print(" flags ", addr.flags, "\n"); 70*368c31abSDavid du Colombier}; 71*368c31abSDavid du Colombier 72*368c31abSDavid du ColombierFmtWidth = 1; 73*368c31abSDavid du ColombierFmtLeft = 2; 74*368c31abSDavid du ColombierFmtPrec = 4; 75*368c31abSDavid du ColombierFmtSharp = 8; 76*368c31abSDavid du ColombierFmtSpace = 16; 77*368c31abSDavid du ColombierFmtSign = 32; 78*368c31abSDavid du ColombierFmtZero = 64; 79*368c31abSDavid du ColombierFmtUnsigned = 128; 80*368c31abSDavid du ColombierFmtShort = 256; 81*368c31abSDavid du ColombierFmtLong = 512; 82*368c31abSDavid du ColombierFmtVLong = 1024; 83*368c31abSDavid du ColombierFmtComma = 2048; 84*368c31abSDavid du ColombierFmtByte = 4096; 85*368c31abSDavid du ColombierFmtFlag = 8192; 86*368c31abSDavid du ColombiersizeofTm = 40; 87*368c31abSDavid du Colombieraggr Tm 88*368c31abSDavid du Colombier{ 89*368c31abSDavid du Colombier 'D' 0 sec; 90*368c31abSDavid du Colombier 'D' 4 min; 91*368c31abSDavid du Colombier 'D' 8 hour; 92*368c31abSDavid du Colombier 'D' 12 mday; 93*368c31abSDavid du Colombier 'D' 16 mon; 94*368c31abSDavid du Colombier 'D' 20 year; 95*368c31abSDavid du Colombier 'D' 24 wday; 96*368c31abSDavid du Colombier 'D' 28 yday; 97*368c31abSDavid du Colombier 'a' 32 zone; 98*368c31abSDavid du Colombier 'D' 36 tzoff; 99*368c31abSDavid du Colombier}; 100*368c31abSDavid du Colombier 101*368c31abSDavid du Colombierdefn 102*368c31abSDavid du ColombierTm(addr) { 103*368c31abSDavid du Colombier complex Tm addr; 104*368c31abSDavid du Colombier print(" sec ", addr.sec, "\n"); 105*368c31abSDavid du Colombier print(" min ", addr.min, "\n"); 106*368c31abSDavid du Colombier print(" hour ", addr.hour, "\n"); 107*368c31abSDavid du Colombier print(" mday ", addr.mday, "\n"); 108*368c31abSDavid du Colombier print(" mon ", addr.mon, "\n"); 109*368c31abSDavid du Colombier print(" year ", addr.year, "\n"); 110*368c31abSDavid du Colombier print(" wday ", addr.wday, "\n"); 111*368c31abSDavid du Colombier print(" yday ", addr.yday, "\n"); 112*368c31abSDavid du Colombier print(" zone ", addr.zone, "\n"); 113*368c31abSDavid du Colombier print(" tzoff ", addr.tzoff, "\n"); 114*368c31abSDavid du Colombier}; 115*368c31abSDavid du Colombier 116*368c31abSDavid du ColombierPNPROC = 1; 117*368c31abSDavid du ColombierPNGROUP = 2; 118*368c31abSDavid du ColombiersizeofLock = 4; 119*368c31abSDavid du Colombieraggr Lock 120*368c31abSDavid du Colombier{ 121*368c31abSDavid du Colombier 'D' 0 val; 122*368c31abSDavid du Colombier}; 123*368c31abSDavid du Colombier 124*368c31abSDavid du Colombierdefn 125*368c31abSDavid du ColombierLock(addr) { 126*368c31abSDavid du Colombier complex Lock addr; 127*368c31abSDavid du Colombier print(" val ", addr.val, "\n"); 128*368c31abSDavid du Colombier}; 129*368c31abSDavid du Colombier 130*368c31abSDavid du ColombiersizeofQLp = 12; 131*368c31abSDavid du Colombieraggr QLp 132*368c31abSDavid du Colombier{ 133*368c31abSDavid du Colombier 'D' 0 inuse; 134*368c31abSDavid du Colombier 'A' QLp 4 next; 135*368c31abSDavid du Colombier 'C' 8 state; 136*368c31abSDavid du Colombier}; 137*368c31abSDavid du Colombier 138*368c31abSDavid du Colombierdefn 139*368c31abSDavid du ColombierQLp(addr) { 140*368c31abSDavid du Colombier complex QLp addr; 141*368c31abSDavid du Colombier print(" inuse ", addr.inuse, "\n"); 142*368c31abSDavid du Colombier print(" next ", addr.next\X, "\n"); 143*368c31abSDavid du Colombier print(" state ", addr.state, "\n"); 144*368c31abSDavid du Colombier}; 145*368c31abSDavid du Colombier 146*368c31abSDavid du ColombiersizeofQLock = 16; 147*368c31abSDavid du Colombieraggr QLock 148*368c31abSDavid du Colombier{ 149*368c31abSDavid du Colombier Lock 0 lock; 150*368c31abSDavid du Colombier 'D' 4 locked; 151*368c31abSDavid du Colombier 'A' QLp 8 $head; 152*368c31abSDavid du Colombier 'A' QLp 12 $tail; 153*368c31abSDavid du Colombier}; 154*368c31abSDavid du Colombier 155*368c31abSDavid du Colombierdefn 156*368c31abSDavid du ColombierQLock(addr) { 157*368c31abSDavid du Colombier complex QLock addr; 158*368c31abSDavid du Colombier print("Lock lock {\n"); 159*368c31abSDavid du Colombier Lock(addr.lock); 160*368c31abSDavid du Colombier print("}\n"); 161*368c31abSDavid du Colombier print(" locked ", addr.locked, "\n"); 162*368c31abSDavid du Colombier print(" $head ", addr.$head\X, "\n"); 163*368c31abSDavid du Colombier print(" $tail ", addr.$tail\X, "\n"); 164*368c31abSDavid du Colombier}; 165*368c31abSDavid du Colombier 166*368c31abSDavid du ColombiersizeofRWLock = 20; 167*368c31abSDavid du Colombieraggr RWLock 168*368c31abSDavid du Colombier{ 169*368c31abSDavid du Colombier Lock 0 lock; 170*368c31abSDavid du Colombier 'D' 4 readers; 171*368c31abSDavid du Colombier 'D' 8 writer; 172*368c31abSDavid du Colombier 'A' QLp 12 $head; 173*368c31abSDavid du Colombier 'A' QLp 16 $tail; 174*368c31abSDavid du Colombier}; 175*368c31abSDavid du Colombier 176*368c31abSDavid du Colombierdefn 177*368c31abSDavid du ColombierRWLock(addr) { 178*368c31abSDavid du Colombier complex RWLock addr; 179*368c31abSDavid du Colombier print("Lock lock {\n"); 180*368c31abSDavid du Colombier Lock(addr.lock); 181*368c31abSDavid du Colombier print("}\n"); 182*368c31abSDavid du Colombier print(" readers ", addr.readers, "\n"); 183*368c31abSDavid du Colombier print(" writer ", addr.writer, "\n"); 184*368c31abSDavid du Colombier print(" $head ", addr.$head\X, "\n"); 185*368c31abSDavid du Colombier print(" $tail ", addr.$tail\X, "\n"); 186*368c31abSDavid du Colombier}; 187*368c31abSDavid du Colombier 188*368c31abSDavid du ColombiersizeofRendez = 12; 189*368c31abSDavid du Colombieraggr Rendez 190*368c31abSDavid du Colombier{ 191*368c31abSDavid du Colombier 'A' QLock 0 l; 192*368c31abSDavid du Colombier 'A' QLp 4 $head; 193*368c31abSDavid du Colombier 'A' QLp 8 $tail; 194*368c31abSDavid du Colombier}; 195*368c31abSDavid du Colombier 196*368c31abSDavid du Colombierdefn 197*368c31abSDavid du ColombierRendez(addr) { 198*368c31abSDavid du Colombier complex Rendez addr; 199*368c31abSDavid du Colombier print(" l ", addr.l\X, "\n"); 200*368c31abSDavid du Colombier print(" $head ", addr.$head\X, "\n"); 201*368c31abSDavid du Colombier print(" $tail ", addr.$tail\X, "\n"); 202*368c31abSDavid du Colombier}; 203*368c31abSDavid du Colombier 204*368c31abSDavid du ColombiersizeofNetConnInfo = 28; 205*368c31abSDavid du Colombieraggr NetConnInfo 206*368c31abSDavid du Colombier{ 207*368c31abSDavid du Colombier 'X' 0 dir; 208*368c31abSDavid du Colombier 'X' 4 root; 209*368c31abSDavid du Colombier 'X' 8 spec; 210*368c31abSDavid du Colombier 'X' 12 lsys; 211*368c31abSDavid du Colombier 'X' 16 lserv; 212*368c31abSDavid du Colombier 'X' 20 rsys; 213*368c31abSDavid du Colombier 'X' 24 rserv; 214*368c31abSDavid du Colombier}; 215*368c31abSDavid du Colombier 216*368c31abSDavid du Colombierdefn 217*368c31abSDavid du ColombierNetConnInfo(addr) { 218*368c31abSDavid du Colombier complex NetConnInfo addr; 219*368c31abSDavid du Colombier print(" dir ", addr.dir\X, "\n"); 220*368c31abSDavid du Colombier print(" root ", addr.root\X, "\n"); 221*368c31abSDavid du Colombier print(" spec ", addr.spec\X, "\n"); 222*368c31abSDavid du Colombier print(" lsys ", addr.lsys\X, "\n"); 223*368c31abSDavid du Colombier print(" lserv ", addr.lserv\X, "\n"); 224*368c31abSDavid du Colombier print(" rsys ", addr.rsys\X, "\n"); 225*368c31abSDavid du Colombier print(" rserv ", addr.rserv\X, "\n"); 226*368c31abSDavid du Colombier}; 227*368c31abSDavid du Colombier 228*368c31abSDavid du ColombierRFNAMEG = 1; 229*368c31abSDavid du ColombierRFENVG = 2; 230*368c31abSDavid du ColombierRFFDG = 4; 231*368c31abSDavid du ColombierRFNOTEG = 8; 232*368c31abSDavid du ColombierRFPROC = 16; 233*368c31abSDavid du ColombierRFMEM = 32; 234*368c31abSDavid du ColombierRFNOWAIT = 64; 235*368c31abSDavid du ColombierRFCNAMEG = 1024; 236*368c31abSDavid du ColombierRFCENVG = 2048; 237*368c31abSDavid du ColombierRFCFDG = 4096; 238*368c31abSDavid du ColombierRFREND = 8192; 239*368c31abSDavid du ColombierRFNOMNT = 16384; 240*368c31abSDavid du ColombiersizeofQid = 16; 241*368c31abSDavid du Colombieraggr Qid 242*368c31abSDavid du Colombier{ 243*368c31abSDavid du Colombier 'W' 0 path; 244*368c31abSDavid du Colombier 'U' 8 vers; 245*368c31abSDavid du Colombier 'b' 12 type; 246*368c31abSDavid du Colombier}; 247*368c31abSDavid du Colombier 248*368c31abSDavid du Colombierdefn 249*368c31abSDavid du ColombierQid(addr) { 250*368c31abSDavid du Colombier complex Qid addr; 251*368c31abSDavid du Colombier print(" path ", addr.path, "\n"); 252*368c31abSDavid du Colombier print(" vers ", addr.vers, "\n"); 253*368c31abSDavid du Colombier print(" type ", addr.type, "\n"); 254*368c31abSDavid du Colombier}; 255*368c31abSDavid du Colombier 256*368c31abSDavid du ColombiersizeofDir = 60; 257*368c31abSDavid du Colombieraggr Dir 258*368c31abSDavid du Colombier{ 259*368c31abSDavid du Colombier 'u' 0 type; 260*368c31abSDavid du Colombier 'U' 4 dev; 261*368c31abSDavid du Colombier Qid 8 qid; 262*368c31abSDavid du Colombier 'U' 24 mode; 263*368c31abSDavid du Colombier 'U' 28 atime; 264*368c31abSDavid du Colombier 'U' 32 mtime; 265*368c31abSDavid du Colombier 'V' 36 length; 266*368c31abSDavid du Colombier 'X' 44 name; 267*368c31abSDavid du Colombier 'X' 48 uid; 268*368c31abSDavid du Colombier 'X' 52 gid; 269*368c31abSDavid du Colombier 'X' 56 muid; 270*368c31abSDavid du Colombier}; 271*368c31abSDavid du Colombier 272*368c31abSDavid du Colombierdefn 273*368c31abSDavid du ColombierDir(addr) { 274*368c31abSDavid du Colombier complex Dir addr; 275*368c31abSDavid du Colombier print(" type ", addr.type, "\n"); 276*368c31abSDavid du Colombier print(" dev ", addr.dev, "\n"); 277*368c31abSDavid du Colombier print("Qid qid {\n"); 278*368c31abSDavid du Colombier Qid(addr.qid); 279*368c31abSDavid du Colombier print("}\n"); 280*368c31abSDavid du Colombier print(" mode ", addr.mode, "\n"); 281*368c31abSDavid du Colombier print(" atime ", addr.atime, "\n"); 282*368c31abSDavid du Colombier print(" mtime ", addr.mtime, "\n"); 283*368c31abSDavid du Colombier print(" length ", addr.length, "\n"); 284*368c31abSDavid du Colombier print(" name ", addr.name\X, "\n"); 285*368c31abSDavid du Colombier print(" uid ", addr.uid\X, "\n"); 286*368c31abSDavid du Colombier print(" gid ", addr.gid\X, "\n"); 287*368c31abSDavid du Colombier print(" muid ", addr.muid\X, "\n"); 288*368c31abSDavid du Colombier}; 289*368c31abSDavid du Colombier 290*368c31abSDavid du ColombiersizeofWaitmsg = 20; 291*368c31abSDavid du Colombieraggr Waitmsg 292*368c31abSDavid du Colombier{ 293*368c31abSDavid du Colombier 'D' 0 pid; 294*368c31abSDavid du Colombier 'a' 4 time; 295*368c31abSDavid du Colombier 'X' 16 msg; 296*368c31abSDavid du Colombier}; 297*368c31abSDavid du Colombier 298*368c31abSDavid du Colombierdefn 299*368c31abSDavid du ColombierWaitmsg(addr) { 300*368c31abSDavid du Colombier complex Waitmsg addr; 301*368c31abSDavid du Colombier print(" pid ", addr.pid, "\n"); 302*368c31abSDavid du Colombier print(" time ", addr.time, "\n"); 303*368c31abSDavid du Colombier print(" msg ", addr.msg\X, "\n"); 304*368c31abSDavid du Colombier}; 305*368c31abSDavid du Colombier 306*368c31abSDavid du ColombiersizeofIOchunk = 8; 307*368c31abSDavid du Colombieraggr IOchunk 308*368c31abSDavid du Colombier{ 309*368c31abSDavid du Colombier 'X' 0 addr; 310*368c31abSDavid du Colombier 'U' 4 len; 311*368c31abSDavid du Colombier}; 312*368c31abSDavid du Colombier 313*368c31abSDavid du Colombierdefn 314*368c31abSDavid du ColombierIOchunk(addr) { 315*368c31abSDavid du Colombier complex IOchunk addr; 316*368c31abSDavid du Colombier print(" addr ", addr.addr\X, "\n"); 317*368c31abSDavid du Colombier print(" len ", addr.len, "\n"); 318*368c31abSDavid du Colombier}; 319*368c31abSDavid du Colombier 320*368c31abSDavid du ColombierMaxFragSize = 9216; 321*368c31abSDavid du ColombierVtScoreSize = 20; 322*368c31abSDavid du ColombierVtMaxStringSize = 1024; 323*368c31abSDavid du ColombierVtMaxFileSize = 281474976710655; 324*368c31abSDavid du ColombierVtMaxLumpSize = 57344; 325*368c31abSDavid du ColombierVtPointerDepth = 7; 326*368c31abSDavid du ColombierVtDataType = 0; 327*368c31abSDavid du ColombierVtDirType = 8; 328*368c31abSDavid du ColombierVtRootType = 16; 329*368c31abSDavid du ColombierVtMaxType = 17; 330*368c31abSDavid du ColombierVtTypeDepthMask = 7; 331*368c31abSDavid du ColombierVtEntryActive = 1; 332*368c31abSDavid du ColombierVtEntryDir = 2; 333*368c31abSDavid du ColombierVtEntryDepthShift = 2; 334*368c31abSDavid du ColombierVtEntryDepthMask = 28; 335*368c31abSDavid du ColombierVtEntryLocal = 32; 336*368c31abSDavid du ColombierVtEntrySize = 40; 337*368c31abSDavid du ColombiersizeofVtEntry = 40; 338*368c31abSDavid du Colombieraggr VtEntry 339*368c31abSDavid du Colombier{ 340*368c31abSDavid du Colombier 'U' 0 gen; 341*368c31abSDavid du Colombier 'u' 4 psize; 342*368c31abSDavid du Colombier 'u' 6 dsize; 343*368c31abSDavid du Colombier 'b' 8 type; 344*368c31abSDavid du Colombier 'b' 9 flags; 345*368c31abSDavid du Colombier 'W' 12 size; 346*368c31abSDavid du Colombier 'a' 20 score; 347*368c31abSDavid du Colombier}; 348*368c31abSDavid du Colombier 349*368c31abSDavid du Colombierdefn 350*368c31abSDavid du ColombierVtEntry(addr) { 351*368c31abSDavid du Colombier complex VtEntry addr; 352*368c31abSDavid du Colombier print(" gen ", addr.gen, "\n"); 353*368c31abSDavid du Colombier print(" psize ", addr.psize, "\n"); 354*368c31abSDavid du Colombier print(" dsize ", addr.dsize, "\n"); 355*368c31abSDavid du Colombier print(" type ", addr.type, "\n"); 356*368c31abSDavid du Colombier print(" flags ", addr.flags, "\n"); 357*368c31abSDavid du Colombier print(" size ", addr.size, "\n"); 358*368c31abSDavid du Colombier print(" score ", addr.score, "\n"); 359*368c31abSDavid du Colombier}; 360*368c31abSDavid du Colombier 361*368c31abSDavid du ColombiersizeofVtRoot = 300; 362*368c31abSDavid du Colombieraggr VtRoot 363*368c31abSDavid du Colombier{ 364*368c31abSDavid du Colombier 'a' 0 name; 365*368c31abSDavid du Colombier 'a' 128 type; 366*368c31abSDavid du Colombier 'a' 256 score; 367*368c31abSDavid du Colombier 'u' 276 blocksize; 368*368c31abSDavid du Colombier 'a' 278 prev; 369*368c31abSDavid du Colombier}; 370*368c31abSDavid du Colombier 371*368c31abSDavid du Colombierdefn 372*368c31abSDavid du ColombierVtRoot(addr) { 373*368c31abSDavid du Colombier complex VtRoot addr; 374*368c31abSDavid du Colombier print(" name ", addr.name, "\n"); 375*368c31abSDavid du Colombier print(" type ", addr.type, "\n"); 376*368c31abSDavid du Colombier print(" score ", addr.score, "\n"); 377*368c31abSDavid du Colombier print(" blocksize ", addr.blocksize, "\n"); 378*368c31abSDavid du Colombier print(" prev ", addr.prev, "\n"); 379*368c31abSDavid du Colombier}; 380*368c31abSDavid du Colombier 381*368c31abSDavid du ColombierVtRootSize = 300; 382*368c31abSDavid du ColombierVtRootVersion = 2; 383*368c31abSDavid du ColombierVtCryptoStrengthNone = 0; 384*368c31abSDavid du ColombierVtCryptoStrengthAuth = 1; 385*368c31abSDavid du ColombierVtCryptoStrengthWeak = 2; 386*368c31abSDavid du ColombierVtCryptoStrengthStrong = 3; 387*368c31abSDavid du ColombierVtCryptoNone = 0; 388*368c31abSDavid du ColombierVtCryptoSSL3 = 1; 389*368c31abSDavid du ColombierVtCryptoTLS1 = 2; 390*368c31abSDavid du ColombierVtCryptoMax = 3; 391*368c31abSDavid du ColombierVtCodecNone = 0; 392*368c31abSDavid du ColombierVtCodecDeflate = 1; 393*368c31abSDavid du ColombierVtCodecThwack = 2; 394*368c31abSDavid du ColombierVtCodecMax = 3; 395*368c31abSDavid du ColombierVtRerror = 1; 396*368c31abSDavid du ColombierVtTping = 2; 397*368c31abSDavid du ColombierVtRping = 3; 398*368c31abSDavid du ColombierVtThello = 4; 399*368c31abSDavid du ColombierVtRhello = 5; 400*368c31abSDavid du ColombierVtTgoodbye = 6; 401*368c31abSDavid du ColombierVtRgoodbye = 7; 402*368c31abSDavid du ColombierVtTauth0 = 8; 403*368c31abSDavid du ColombierVtRauth0 = 9; 404*368c31abSDavid du ColombierVtTauth1 = 10; 405*368c31abSDavid du ColombierVtRauth1 = 11; 406*368c31abSDavid du ColombierVtTread = 12; 407*368c31abSDavid du ColombierVtRread = 13; 408*368c31abSDavid du ColombierVtTwrite = 14; 409*368c31abSDavid du ColombierVtRwrite = 15; 410*368c31abSDavid du ColombierVtTsync = 16; 411*368c31abSDavid du ColombierVtRsync = 17; 412*368c31abSDavid du ColombierVtTmax = 18; 413*368c31abSDavid du ColombiersizeofVtFcall = 80; 414*368c31abSDavid du Colombieraggr VtFcall 415*368c31abSDavid du Colombier{ 416*368c31abSDavid du Colombier 'b' 0 type; 417*368c31abSDavid du Colombier 'b' 1 tag; 418*368c31abSDavid du Colombier 'X' 4 error; 419*368c31abSDavid du Colombier 'X' 8 version; 420*368c31abSDavid du Colombier 'X' 12 uid; 421*368c31abSDavid du Colombier 'b' 16 strength; 422*368c31abSDavid du Colombier 'X' 20 crypto; 423*368c31abSDavid du Colombier 'U' 24 ncrypto; 424*368c31abSDavid du Colombier 'X' 28 codec; 425*368c31abSDavid du Colombier 'U' 32 ncodec; 426*368c31abSDavid du Colombier 'X' 36 sid; 427*368c31abSDavid du Colombier 'b' 40 rcrypto; 428*368c31abSDavid du Colombier 'b' 41 rcodec; 429*368c31abSDavid du Colombier 'X' 44 auth; 430*368c31abSDavid du Colombier 'U' 48 nauth; 431*368c31abSDavid du Colombier 'a' 52 score; 432*368c31abSDavid du Colombier 'b' 72 dtype; 433*368c31abSDavid du Colombier 'u' 74 count; 434*368c31abSDavid du Colombier 'X' 76 data; 435*368c31abSDavid du Colombier}; 436*368c31abSDavid du Colombier 437*368c31abSDavid du Colombierdefn 438*368c31abSDavid du ColombierVtFcall(addr) { 439*368c31abSDavid du Colombier complex VtFcall addr; 440*368c31abSDavid du Colombier print(" type ", addr.type, "\n"); 441*368c31abSDavid du Colombier print(" tag ", addr.tag, "\n"); 442*368c31abSDavid du Colombier print(" error ", addr.error\X, "\n"); 443*368c31abSDavid du Colombier print(" version ", addr.version\X, "\n"); 444*368c31abSDavid du Colombier print(" uid ", addr.uid\X, "\n"); 445*368c31abSDavid du Colombier print(" strength ", addr.strength, "\n"); 446*368c31abSDavid du Colombier print(" crypto ", addr.crypto\X, "\n"); 447*368c31abSDavid du Colombier print(" ncrypto ", addr.ncrypto, "\n"); 448*368c31abSDavid du Colombier print(" codec ", addr.codec\X, "\n"); 449*368c31abSDavid du Colombier print(" ncodec ", addr.ncodec, "\n"); 450*368c31abSDavid du Colombier print(" sid ", addr.sid\X, "\n"); 451*368c31abSDavid du Colombier print(" rcrypto ", addr.rcrypto, "\n"); 452*368c31abSDavid du Colombier print(" rcodec ", addr.rcodec, "\n"); 453*368c31abSDavid du Colombier print(" auth ", addr.auth\X, "\n"); 454*368c31abSDavid du Colombier print(" nauth ", addr.nauth, "\n"); 455*368c31abSDavid du Colombier print(" score ", addr.score, "\n"); 456*368c31abSDavid du Colombier print(" dtype ", addr.dtype, "\n"); 457*368c31abSDavid du Colombier print(" count ", addr.count, "\n"); 458*368c31abSDavid du Colombier print(" data ", addr.data\X, "\n"); 459*368c31abSDavid du Colombier}; 460*368c31abSDavid du Colombier 461*368c31abSDavid du ColombierVtStateAlloc = 0; 462*368c31abSDavid du ColombierVtStateConnected = 1; 463*368c31abSDavid du ColombierVtStateClosed = 2; 464*368c31abSDavid du ColombiersizeofVtConn = 1148; 465*368c31abSDavid du Colombieraggr VtConn 466*368c31abSDavid du Colombier{ 467*368c31abSDavid du Colombier QLock 0 lk; 468*368c31abSDavid du Colombier QLock 16 inlk; 469*368c31abSDavid du Colombier QLock 32 outlk; 470*368c31abSDavid du Colombier 'D' 48 debug; 471*368c31abSDavid du Colombier 'D' 52 infd; 472*368c31abSDavid du Colombier 'D' 56 outfd; 473*368c31abSDavid du Colombier 'D' 60 muxer; 474*368c31abSDavid du Colombier 'X' 64 writeq; 475*368c31abSDavid du Colombier 'X' 68 readq; 476*368c31abSDavid du Colombier 'D' 72 state; 477*368c31abSDavid du Colombier 'a' 76 wait; 478*368c31abSDavid du Colombier 'U' 1100 ntag; 479*368c31abSDavid du Colombier 'U' 1104 nsleep; 480*368c31abSDavid du Colombier 'X' 1108 part; 481*368c31abSDavid du Colombier Rendez 1112 tagrend; 482*368c31abSDavid du Colombier Rendez 1124 rpcfork; 483*368c31abSDavid du Colombier 'X' 1136 version; 484*368c31abSDavid du Colombier 'X' 1140 uid; 485*368c31abSDavid du Colombier 'X' 1144 sid; 486*368c31abSDavid du Colombier}; 487*368c31abSDavid du Colombier 488*368c31abSDavid du Colombierdefn 489*368c31abSDavid du ColombierVtConn(addr) { 490*368c31abSDavid du Colombier complex VtConn addr; 491*368c31abSDavid du Colombier print("QLock lk {\n"); 492*368c31abSDavid du Colombier QLock(addr.lk); 493*368c31abSDavid du Colombier print("}\n"); 494*368c31abSDavid du Colombier print("QLock inlk {\n"); 495*368c31abSDavid du Colombier QLock(addr.inlk); 496*368c31abSDavid du Colombier print("}\n"); 497*368c31abSDavid du Colombier print("QLock outlk {\n"); 498*368c31abSDavid du Colombier QLock(addr.outlk); 499*368c31abSDavid du Colombier print("}\n"); 500*368c31abSDavid du Colombier print(" debug ", addr.debug, "\n"); 501*368c31abSDavid du Colombier print(" infd ", addr.infd, "\n"); 502*368c31abSDavid du Colombier print(" outfd ", addr.outfd, "\n"); 503*368c31abSDavid du Colombier print(" muxer ", addr.muxer, "\n"); 504*368c31abSDavid du Colombier print(" writeq ", addr.writeq\X, "\n"); 505*368c31abSDavid du Colombier print(" readq ", addr.readq\X, "\n"); 506*368c31abSDavid du Colombier print(" state ", addr.state, "\n"); 507*368c31abSDavid du Colombier print(" wait ", addr.wait, "\n"); 508*368c31abSDavid du Colombier print(" ntag ", addr.ntag, "\n"); 509*368c31abSDavid du Colombier print(" nsleep ", addr.nsleep, "\n"); 510*368c31abSDavid du Colombier print(" part ", addr.part\X, "\n"); 511*368c31abSDavid du Colombier print("Rendez tagrend {\n"); 512*368c31abSDavid du Colombier Rendez(addr.tagrend); 513*368c31abSDavid du Colombier print("}\n"); 514*368c31abSDavid du Colombier print("Rendez rpcfork {\n"); 515*368c31abSDavid du Colombier Rendez(addr.rpcfork); 516*368c31abSDavid du Colombier print("}\n"); 517*368c31abSDavid du Colombier print(" version ", addr.version\X, "\n"); 518*368c31abSDavid du Colombier print(" uid ", addr.uid\X, "\n"); 519*368c31abSDavid du Colombier print(" sid ", addr.sid\X, "\n"); 520*368c31abSDavid du Colombier}; 521*368c31abSDavid du Colombier 522*368c31abSDavid du ColombierNilBlock = -1; 523*368c31abSDavid du ColombiersizeofVtBlock = 88; 524*368c31abSDavid du Colombieraggr VtBlock 525*368c31abSDavid du Colombier{ 526*368c31abSDavid du Colombier 'X' 0 c; 527*368c31abSDavid du Colombier QLock 4 lk; 528*368c31abSDavid du Colombier 'X' 20 data; 529*368c31abSDavid du Colombier 'a' 24 score; 530*368c31abSDavid du Colombier 'b' 44 type; 531*368c31abSDavid du Colombier 'D' 48 nlock; 532*368c31abSDavid du Colombier 'D' 52 iostate; 533*368c31abSDavid du Colombier 'D' 56 ref; 534*368c31abSDavid du Colombier 'U' 60 heap; 535*368c31abSDavid du Colombier 'A' VtBlock 64 next; 536*368c31abSDavid du Colombier 'A' VtBlock 68 prev; 537*368c31abSDavid du Colombier 'U' 72 used; 538*368c31abSDavid du Colombier 'U' 76 used2; 539*368c31abSDavid du Colombier 'U' 80 addr; 540*368c31abSDavid du Colombier 'D' 84 decrypted; 541*368c31abSDavid du Colombier}; 542*368c31abSDavid du Colombier 543*368c31abSDavid du Colombierdefn 544*368c31abSDavid du ColombierVtBlock(addr) { 545*368c31abSDavid du Colombier complex VtBlock addr; 546*368c31abSDavid du Colombier print(" c ", addr.c\X, "\n"); 547*368c31abSDavid du Colombier print("QLock lk {\n"); 548*368c31abSDavid du Colombier QLock(addr.lk); 549*368c31abSDavid du Colombier print("}\n"); 550*368c31abSDavid du Colombier print(" data ", addr.data\X, "\n"); 551*368c31abSDavid du Colombier print(" score ", addr.score, "\n"); 552*368c31abSDavid du Colombier print(" type ", addr.type, "\n"); 553*368c31abSDavid du Colombier print(" nlock ", addr.nlock, "\n"); 554*368c31abSDavid du Colombier print(" iostate ", addr.iostate, "\n"); 555*368c31abSDavid du Colombier print(" ref ", addr.ref, "\n"); 556*368c31abSDavid du Colombier print(" heap ", addr.heap, "\n"); 557*368c31abSDavid du Colombier print(" next ", addr.next\X, "\n"); 558*368c31abSDavid du Colombier print(" prev ", addr.prev\X, "\n"); 559*368c31abSDavid du Colombier print(" used ", addr.used, "\n"); 560*368c31abSDavid du Colombier print(" used2 ", addr.used2, "\n"); 561*368c31abSDavid du Colombier print(" addr ", addr.addr, "\n"); 562*368c31abSDavid du Colombier print(" decrypted ", addr.decrypted, "\n"); 563*368c31abSDavid du Colombier}; 564*368c31abSDavid du Colombier 565*368c31abSDavid du ColombierVtOREAD = 0; 566*368c31abSDavid du ColombierVtOWRITE = 1; 567*368c31abSDavid du ColombierVtORDWR = 2; 568*368c31abSDavid du ColombierVtOCREATE = 256; 569*368c31abSDavid du ColombierBioLocal = 1; 570*368c31abSDavid du ColombierBioVenti = 2; 571*368c31abSDavid du ColombierBioReading = 3; 572*368c31abSDavid du ColombierBioWriting = 4; 573*368c31abSDavid du ColombierBioEmpty = 5; 574*368c31abSDavid du ColombierBioVentiError = 6; 575*368c31abSDavid du ColombierBadHeap = -1; 576*368c31abSDavid du ColombiersizeofVtCache = 60; 577*368c31abSDavid du Colombieraggr VtCache 578*368c31abSDavid du Colombier{ 579*368c31abSDavid du Colombier QLock 0 lk; 580*368c31abSDavid du Colombier 'A' VtConn 16 z; 581*368c31abSDavid du Colombier 'U' 20 blocksize; 582*368c31abSDavid du Colombier 'U' 24 now; 583*368c31abSDavid du Colombier 'A' VtBlock 28 hash; 584*368c31abSDavid du Colombier 'D' 32 nhash; 585*368c31abSDavid du Colombier 'A' VtBlock 36 heap; 586*368c31abSDavid du Colombier 'D' 40 nheap; 587*368c31abSDavid du Colombier 'A' VtBlock 44 block; 588*368c31abSDavid du Colombier 'D' 48 nblock; 589*368c31abSDavid du Colombier 'X' 52 mem; 590*368c31abSDavid du Colombier 'D' 56 mode; 591*368c31abSDavid du Colombier}; 592*368c31abSDavid du Colombier 593*368c31abSDavid du Colombierdefn 594*368c31abSDavid du ColombierVtCache(addr) { 595*368c31abSDavid du Colombier complex VtCache addr; 596*368c31abSDavid du Colombier print("QLock lk {\n"); 597*368c31abSDavid du Colombier QLock(addr.lk); 598*368c31abSDavid du Colombier print("}\n"); 599*368c31abSDavid du Colombier print(" z ", addr.z\X, "\n"); 600*368c31abSDavid du Colombier print(" blocksize ", addr.blocksize, "\n"); 601*368c31abSDavid du Colombier print(" now ", addr.now, "\n"); 602*368c31abSDavid du Colombier print(" hash ", addr.hash\X, "\n"); 603*368c31abSDavid du Colombier print(" nhash ", addr.nhash, "\n"); 604*368c31abSDavid du Colombier print(" heap ", addr.heap\X, "\n"); 605*368c31abSDavid du Colombier print(" nheap ", addr.nheap, "\n"); 606*368c31abSDavid du Colombier print(" block ", addr.block\X, "\n"); 607*368c31abSDavid du Colombier print(" nblock ", addr.nblock, "\n"); 608*368c31abSDavid du Colombier print(" mem ", addr.mem\X, "\n"); 609*368c31abSDavid du Colombier print(" mode ", addr.mode, "\n"); 610*368c31abSDavid du Colombier}; 611*368c31abSDavid du Colombier 612*368c31abSDavid du Colombiercomplex VtConn vtcachealloc:z; 613*368c31abSDavid du Colombiercomplex VtCache vtcachealloc:c; 614*368c31abSDavid du Colombiercomplex VtBlock vtcachealloc:b; 615*368c31abSDavid du Colombiercomplex VtCache vtcachefree:c; 616*368c31abSDavid du Colombiercomplex VtCache vtcachedump:c; 617*368c31abSDavid du Colombiercomplex VtBlock vtcachedump:b; 618*368c31abSDavid du Colombiercomplex VtCache cachecheck:c; 619*368c31abSDavid du Colombiercomplex VtBlock cachecheck:b; 620*368c31abSDavid du Colombiercomplex VtBlock upheap:b; 621*368c31abSDavid du Colombiercomplex VtBlock upheap:bb; 622*368c31abSDavid du Colombiercomplex VtCache upheap:c; 623*368c31abSDavid du Colombiercomplex VtBlock downheap:b; 624*368c31abSDavid du Colombiercomplex VtBlock downheap:bb; 625*368c31abSDavid du Colombiercomplex VtCache downheap:c; 626*368c31abSDavid du Colombiercomplex VtBlock heapdel:b; 627*368c31abSDavid du Colombiercomplex VtCache heapdel:c; 628*368c31abSDavid du Colombiercomplex VtBlock heapins:b; 629*368c31abSDavid du Colombiercomplex VtCache vtcachebumpblock:c; 630*368c31abSDavid du Colombiercomplex VtBlock vtcachebumpblock:b; 631*368c31abSDavid du Colombiercomplex VtCache vtcachelocal:c; 632*368c31abSDavid du Colombiercomplex VtBlock vtcachelocal:b; 633*368c31abSDavid du Colombiercomplex VtCache vtcacheallocblock:c; 634*368c31abSDavid du Colombiercomplex VtBlock vtcacheallocblock:b; 635*368c31abSDavid du Colombiercomplex VtCache vtcacheglobal:c; 636*368c31abSDavid du Colombiercomplex VtBlock vtcacheglobal:b; 637*368c31abSDavid du Colombiercomplex VtBlock vtblockduplock:b; 638*368c31abSDavid du Colombiercomplex VtBlock vtblockput:b; 639*368c31abSDavid du Colombiercomplex VtCache vtblockput:c; 640*368c31abSDavid du Colombiercomplex VtBlock vtblockwrite:b; 641*368c31abSDavid du Colombiercomplex VtCache vtblockwrite:c; 642*368c31abSDavid du Colombiercomplex VtCache vtcacheblocksize:c; 643*368c31abSDavid du Colombiercomplex VtBlock vtblockcopy:b; 644*368c31abSDavid du Colombiercomplex VtBlock vtblockcopy:bb; 645