1*7dd7cddfSDavid du Colombiersizeof_1_ = 8; 2*7dd7cddfSDavid du Colombieraggr _1_ 3*7dd7cddfSDavid du Colombier{ 4*7dd7cddfSDavid du Colombier 'D' 0 hlength; 5*7dd7cddfSDavid du Colombier 'D' 4 llength; 6*7dd7cddfSDavid du Colombier}; 7*7dd7cddfSDavid du Colombier 8*7dd7cddfSDavid du Colombierdefn 9*7dd7cddfSDavid du Colombier_1_(addr) { 10*7dd7cddfSDavid du Colombier complex _1_ addr; 11*7dd7cddfSDavid du Colombier print(" hlength ", addr.hlength, "\n"); 12*7dd7cddfSDavid du Colombier print(" llength ", addr.llength, "\n"); 13*7dd7cddfSDavid du Colombier}; 14*7dd7cddfSDavid du Colombier 15*7dd7cddfSDavid du Colombiersizeof_2_ = 8; 16*7dd7cddfSDavid du Colombieraggr _2_ 17*7dd7cddfSDavid du Colombier{ 18*7dd7cddfSDavid du Colombier 'V' 0 length; 19*7dd7cddfSDavid du Colombier { 20*7dd7cddfSDavid du Colombier 'D' 0 hlength; 21*7dd7cddfSDavid du Colombier 'D' 4 llength; 22*7dd7cddfSDavid du Colombier }; 23*7dd7cddfSDavid du Colombier}; 24*7dd7cddfSDavid du Colombier 25*7dd7cddfSDavid du Colombierdefn 26*7dd7cddfSDavid du Colombier_2_(addr) { 27*7dd7cddfSDavid du Colombier complex _2_ addr; 28*7dd7cddfSDavid du Colombier print(" length ", addr.length, "\n"); 29*7dd7cddfSDavid du Colombier print("_1_ {\n"); 30*7dd7cddfSDavid du Colombier _1_(addr+0); 31*7dd7cddfSDavid du Colombier print("}\n"); 32*7dd7cddfSDavid du Colombier}; 33*7dd7cddfSDavid du Colombier 34*7dd7cddfSDavid du ColombierUTFmax = 3; 35*7dd7cddfSDavid du ColombierRunesync = 128; 36*7dd7cddfSDavid du ColombierRuneself = 128; 37*7dd7cddfSDavid du ColombierRuneerror = 128; 38*7dd7cddfSDavid du ColombiersizeofFconv = 24; 39*7dd7cddfSDavid du Colombieraggr Fconv 40*7dd7cddfSDavid du Colombier{ 41*7dd7cddfSDavid du Colombier 'X' 0 out; 42*7dd7cddfSDavid du Colombier 'X' 4 eout; 43*7dd7cddfSDavid du Colombier 'D' 8 f1; 44*7dd7cddfSDavid du Colombier 'D' 12 f2; 45*7dd7cddfSDavid du Colombier 'D' 16 f3; 46*7dd7cddfSDavid du Colombier 'D' 20 chr; 47*7dd7cddfSDavid du Colombier}; 48*7dd7cddfSDavid du Colombier 49*7dd7cddfSDavid du Colombierdefn 50*7dd7cddfSDavid du ColombierFconv(addr) { 51*7dd7cddfSDavid du Colombier complex Fconv addr; 52*7dd7cddfSDavid du Colombier print(" out ", addr.out\X, "\n"); 53*7dd7cddfSDavid du Colombier print(" eout ", addr.eout\X, "\n"); 54*7dd7cddfSDavid du Colombier print(" f1 ", addr.f1, "\n"); 55*7dd7cddfSDavid du Colombier print(" f2 ", addr.f2, "\n"); 56*7dd7cddfSDavid du Colombier print(" f3 ", addr.f3, "\n"); 57*7dd7cddfSDavid du Colombier print(" chr ", addr.chr, "\n"); 58*7dd7cddfSDavid du Colombier}; 59*7dd7cddfSDavid du Colombier 60*7dd7cddfSDavid du ColombiersizeofTm = 40; 61*7dd7cddfSDavid du Colombieraggr Tm 62*7dd7cddfSDavid du Colombier{ 63*7dd7cddfSDavid du Colombier 'D' 0 sec; 64*7dd7cddfSDavid du Colombier 'D' 4 min; 65*7dd7cddfSDavid du Colombier 'D' 8 hour; 66*7dd7cddfSDavid du Colombier 'D' 12 mday; 67*7dd7cddfSDavid du Colombier 'D' 16 mon; 68*7dd7cddfSDavid du Colombier 'D' 20 year; 69*7dd7cddfSDavid du Colombier 'D' 24 wday; 70*7dd7cddfSDavid du Colombier 'D' 28 yday; 71*7dd7cddfSDavid du Colombier 'a' 32 zone; 72*7dd7cddfSDavid du Colombier 'D' 36 tzoff; 73*7dd7cddfSDavid du Colombier}; 74*7dd7cddfSDavid du Colombier 75*7dd7cddfSDavid du Colombierdefn 76*7dd7cddfSDavid du ColombierTm(addr) { 77*7dd7cddfSDavid du Colombier complex Tm addr; 78*7dd7cddfSDavid du Colombier print(" sec ", addr.sec, "\n"); 79*7dd7cddfSDavid du Colombier print(" min ", addr.min, "\n"); 80*7dd7cddfSDavid du Colombier print(" hour ", addr.hour, "\n"); 81*7dd7cddfSDavid du Colombier print(" mday ", addr.mday, "\n"); 82*7dd7cddfSDavid du Colombier print(" mon ", addr.mon, "\n"); 83*7dd7cddfSDavid du Colombier print(" year ", addr.year, "\n"); 84*7dd7cddfSDavid du Colombier print(" wday ", addr.wday, "\n"); 85*7dd7cddfSDavid du Colombier print(" yday ", addr.yday, "\n"); 86*7dd7cddfSDavid du Colombier print(" zone ", addr.zone, "\n"); 87*7dd7cddfSDavid du Colombier print(" tzoff ", addr.tzoff, "\n"); 88*7dd7cddfSDavid du Colombier}; 89*7dd7cddfSDavid du Colombier 90*7dd7cddfSDavid du ColombierPNPROC = 1; 91*7dd7cddfSDavid du ColombierPNGROUP = 2; 92*7dd7cddfSDavid du ColombiersizeofLock = 4; 93*7dd7cddfSDavid du Colombieraggr Lock 94*7dd7cddfSDavid du Colombier{ 95*7dd7cddfSDavid du Colombier 'D' 0 val; 96*7dd7cddfSDavid du Colombier}; 97*7dd7cddfSDavid du Colombier 98*7dd7cddfSDavid du Colombierdefn 99*7dd7cddfSDavid du ColombierLock(addr) { 100*7dd7cddfSDavid du Colombier complex Lock addr; 101*7dd7cddfSDavid du Colombier print(" val ", addr.val, "\n"); 102*7dd7cddfSDavid du Colombier}; 103*7dd7cddfSDavid du Colombier 104*7dd7cddfSDavid du ColombiersizeofQLp = 12; 105*7dd7cddfSDavid du Colombieraggr QLp 106*7dd7cddfSDavid du Colombier{ 107*7dd7cddfSDavid du Colombier 'D' 0 inuse; 108*7dd7cddfSDavid du Colombier 'A' QLp 4 next; 109*7dd7cddfSDavid du Colombier 'C' 8 state; 110*7dd7cddfSDavid du Colombier}; 111*7dd7cddfSDavid du Colombier 112*7dd7cddfSDavid du Colombierdefn 113*7dd7cddfSDavid du ColombierQLp(addr) { 114*7dd7cddfSDavid du Colombier complex QLp addr; 115*7dd7cddfSDavid du Colombier print(" inuse ", addr.inuse, "\n"); 116*7dd7cddfSDavid du Colombier print(" next ", addr.next\X, "\n"); 117*7dd7cddfSDavid du Colombier print(" state ", addr.state, "\n"); 118*7dd7cddfSDavid du Colombier}; 119*7dd7cddfSDavid du Colombier 120*7dd7cddfSDavid du ColombiersizeofQLock = 16; 121*7dd7cddfSDavid du Colombieraggr QLock 122*7dd7cddfSDavid du Colombier{ 123*7dd7cddfSDavid du Colombier Lock 0 lock; 124*7dd7cddfSDavid du Colombier 'D' 4 locked; 125*7dd7cddfSDavid du Colombier 'A' QLp 8 $head; 126*7dd7cddfSDavid du Colombier 'A' QLp 12 $tail; 127*7dd7cddfSDavid du Colombier}; 128*7dd7cddfSDavid du Colombier 129*7dd7cddfSDavid du Colombierdefn 130*7dd7cddfSDavid du ColombierQLock(addr) { 131*7dd7cddfSDavid du Colombier complex QLock addr; 132*7dd7cddfSDavid du Colombier print("Lock lock {\n"); 133*7dd7cddfSDavid du Colombier Lock(addr.lock); 134*7dd7cddfSDavid du Colombier print("}\n"); 135*7dd7cddfSDavid du Colombier print(" locked ", addr.locked, "\n"); 136*7dd7cddfSDavid du Colombier print(" $head ", addr.$head\X, "\n"); 137*7dd7cddfSDavid du Colombier print(" $tail ", addr.$tail\X, "\n"); 138*7dd7cddfSDavid du Colombier}; 139*7dd7cddfSDavid du Colombier 140*7dd7cddfSDavid du ColombiersizeofRWLock = 20; 141*7dd7cddfSDavid du Colombieraggr RWLock 142*7dd7cddfSDavid du Colombier{ 143*7dd7cddfSDavid du Colombier Lock 0 lock; 144*7dd7cddfSDavid du Colombier 'D' 4 readers; 145*7dd7cddfSDavid du Colombier 'D' 8 writer; 146*7dd7cddfSDavid du Colombier 'A' QLp 12 $head; 147*7dd7cddfSDavid du Colombier 'A' QLp 16 $tail; 148*7dd7cddfSDavid du Colombier}; 149*7dd7cddfSDavid du Colombier 150*7dd7cddfSDavid du Colombierdefn 151*7dd7cddfSDavid du ColombierRWLock(addr) { 152*7dd7cddfSDavid du Colombier complex RWLock addr; 153*7dd7cddfSDavid du Colombier print("Lock lock {\n"); 154*7dd7cddfSDavid du Colombier Lock(addr.lock); 155*7dd7cddfSDavid du Colombier print("}\n"); 156*7dd7cddfSDavid du Colombier print(" readers ", addr.readers, "\n"); 157*7dd7cddfSDavid du Colombier print(" writer ", addr.writer, "\n"); 158*7dd7cddfSDavid du Colombier print(" $head ", addr.$head\X, "\n"); 159*7dd7cddfSDavid du Colombier print(" $tail ", addr.$tail\X, "\n"); 160*7dd7cddfSDavid du Colombier}; 161*7dd7cddfSDavid du Colombier 162*7dd7cddfSDavid du ColombierRFNAMEG = 1; 163*7dd7cddfSDavid du ColombierRFENVG = 2; 164*7dd7cddfSDavid du ColombierRFFDG = 4; 165*7dd7cddfSDavid du ColombierRFNOTEG = 8; 166*7dd7cddfSDavid du ColombierRFPROC = 16; 167*7dd7cddfSDavid du ColombierRFMEM = 32; 168*7dd7cddfSDavid du ColombierRFNOWAIT = 64; 169*7dd7cddfSDavid du ColombierRFCNAMEG = 1024; 170*7dd7cddfSDavid du ColombierRFCENVG = 2048; 171*7dd7cddfSDavid du ColombierRFCFDG = 4096; 172*7dd7cddfSDavid du ColombierRFREND = 8192; 173*7dd7cddfSDavid du ColombiersizeofQid = 8; 174*7dd7cddfSDavid du Colombieraggr Qid 175*7dd7cddfSDavid du Colombier{ 176*7dd7cddfSDavid du Colombier 'U' 0 path; 177*7dd7cddfSDavid du Colombier 'U' 4 vers; 178*7dd7cddfSDavid du Colombier}; 179*7dd7cddfSDavid du Colombier 180*7dd7cddfSDavid du Colombierdefn 181*7dd7cddfSDavid du ColombierQid(addr) { 182*7dd7cddfSDavid du Colombier complex Qid addr; 183*7dd7cddfSDavid du Colombier print(" path ", addr.path, "\n"); 184*7dd7cddfSDavid du Colombier print(" vers ", addr.vers, "\n"); 185*7dd7cddfSDavid du Colombier}; 186*7dd7cddfSDavid du Colombier 187*7dd7cddfSDavid du ColombiersizeofDir = 116; 188*7dd7cddfSDavid du Colombieraggr Dir 189*7dd7cddfSDavid du Colombier{ 190*7dd7cddfSDavid du Colombier 'a' 0 name; 191*7dd7cddfSDavid du Colombier 'a' 28 uid; 192*7dd7cddfSDavid du Colombier 'a' 56 gid; 193*7dd7cddfSDavid du Colombier Qid 84 qid; 194*7dd7cddfSDavid du Colombier 'U' 92 mode; 195*7dd7cddfSDavid du Colombier 'D' 96 atime; 196*7dd7cddfSDavid du Colombier 'D' 100 mtime; 197*7dd7cddfSDavid du Colombier { 198*7dd7cddfSDavid du Colombier 'V' 104 length; 199*7dd7cddfSDavid du Colombier { 200*7dd7cddfSDavid du Colombier 'D' 104 hlength; 201*7dd7cddfSDavid du Colombier 'D' 108 llength; 202*7dd7cddfSDavid du Colombier }; 203*7dd7cddfSDavid du Colombier }; 204*7dd7cddfSDavid du Colombier 'u' 112 type; 205*7dd7cddfSDavid du Colombier 'u' 114 dev; 206*7dd7cddfSDavid du Colombier}; 207*7dd7cddfSDavid du Colombier 208*7dd7cddfSDavid du Colombierdefn 209*7dd7cddfSDavid du ColombierDir(addr) { 210*7dd7cddfSDavid du Colombier complex Dir addr; 211*7dd7cddfSDavid du Colombier print(" name ", addr.name, "\n"); 212*7dd7cddfSDavid du Colombier print(" uid ", addr.uid, "\n"); 213*7dd7cddfSDavid du Colombier print(" gid ", addr.gid, "\n"); 214*7dd7cddfSDavid du Colombier print("Qid qid {\n"); 215*7dd7cddfSDavid du Colombier Qid(addr.qid); 216*7dd7cddfSDavid du Colombier print("}\n"); 217*7dd7cddfSDavid du Colombier print(" mode ", addr.mode, "\n"); 218*7dd7cddfSDavid du Colombier print(" atime ", addr.atime, "\n"); 219*7dd7cddfSDavid du Colombier print(" mtime ", addr.mtime, "\n"); 220*7dd7cddfSDavid du Colombier print("_2_ {\n"); 221*7dd7cddfSDavid du Colombier _2_(addr+104); 222*7dd7cddfSDavid du Colombier print("}\n"); 223*7dd7cddfSDavid du Colombier print(" type ", addr.type, "\n"); 224*7dd7cddfSDavid du Colombier print(" dev ", addr.dev, "\n"); 225*7dd7cddfSDavid du Colombier}; 226*7dd7cddfSDavid du Colombier 227*7dd7cddfSDavid du ColombiersizeofWaitmsg = 112; 228*7dd7cddfSDavid du Colombieraggr Waitmsg 229*7dd7cddfSDavid du Colombier{ 230*7dd7cddfSDavid du Colombier 'a' 0 pid; 231*7dd7cddfSDavid du Colombier 'a' 12 time; 232*7dd7cddfSDavid du Colombier 'a' 48 msg; 233*7dd7cddfSDavid du Colombier}; 234*7dd7cddfSDavid du Colombier 235*7dd7cddfSDavid du Colombierdefn 236*7dd7cddfSDavid du ColombierWaitmsg(addr) { 237*7dd7cddfSDavid du Colombier complex Waitmsg addr; 238*7dd7cddfSDavid du Colombier print(" pid ", addr.pid, "\n"); 239*7dd7cddfSDavid du Colombier print(" time ", addr.time, "\n"); 240*7dd7cddfSDavid du Colombier print(" msg ", addr.msg, "\n"); 241*7dd7cddfSDavid du Colombier}; 242*7dd7cddfSDavid du Colombier 243*7dd7cddfSDavid du ColombierDBlack = 255; 244*7dd7cddfSDavid du ColombierDBlue = 201; 245*7dd7cddfSDavid du ColombierDRed = 15; 246*7dd7cddfSDavid du ColombierDYellow = 3; 247*7dd7cddfSDavid du ColombierDGreen = 192; 248*7dd7cddfSDavid du ColombierDWhite = 0; 249*7dd7cddfSDavid du ColombierDisplaybufsize = 8000; 250*7dd7cddfSDavid du ColombierICOSSCALE = 1024; 251*7dd7cddfSDavid du ColombierBorderwidth = 4; 252*7dd7cddfSDavid du ColombierRefbackup = 0; 253*7dd7cddfSDavid du ColombierRefnone = 1; 254*7dd7cddfSDavid du ColombierRefmesg = 2; 255*7dd7cddfSDavid du ColombierEndsquare = 0; 256*7dd7cddfSDavid du ColombierEnddisc = 1; 257*7dd7cddfSDavid du ColombierEndarrow = 2; 258*7dd7cddfSDavid du ColombierEndmask = 31; 259*7dd7cddfSDavid du ColombiersizeofPoint = 8; 260*7dd7cddfSDavid du Colombieraggr Point 261*7dd7cddfSDavid du Colombier{ 262*7dd7cddfSDavid du Colombier 'D' 0 x; 263*7dd7cddfSDavid du Colombier 'D' 4 y; 264*7dd7cddfSDavid du Colombier}; 265*7dd7cddfSDavid du Colombier 266*7dd7cddfSDavid du Colombierdefn 267*7dd7cddfSDavid du ColombierPoint(addr) { 268*7dd7cddfSDavid du Colombier complex Point addr; 269*7dd7cddfSDavid du Colombier print(" x ", addr.x, "\n"); 270*7dd7cddfSDavid du Colombier print(" y ", addr.y, "\n"); 271*7dd7cddfSDavid du Colombier}; 272*7dd7cddfSDavid du Colombier 273*7dd7cddfSDavid du ColombiersizeofRectangle = 16; 274*7dd7cddfSDavid du Colombieraggr Rectangle 275*7dd7cddfSDavid du Colombier{ 276*7dd7cddfSDavid du Colombier Point 0 min; 277*7dd7cddfSDavid du Colombier Point 8 max; 278*7dd7cddfSDavid du Colombier}; 279*7dd7cddfSDavid du Colombier 280*7dd7cddfSDavid du Colombierdefn 281*7dd7cddfSDavid du ColombierRectangle(addr) { 282*7dd7cddfSDavid du Colombier complex Rectangle addr; 283*7dd7cddfSDavid du Colombier print("Point min {\n"); 284*7dd7cddfSDavid du Colombier Point(addr.min); 285*7dd7cddfSDavid du Colombier print("}\n"); 286*7dd7cddfSDavid du Colombier print("Point max {\n"); 287*7dd7cddfSDavid du Colombier Point(addr.max); 288*7dd7cddfSDavid du Colombier print("}\n"); 289*7dd7cddfSDavid du Colombier}; 290*7dd7cddfSDavid du Colombier 291*7dd7cddfSDavid du ColombiersizeofScreen = 16; 292*7dd7cddfSDavid du Colombieraggr Screen 293*7dd7cddfSDavid du Colombier{ 294*7dd7cddfSDavid du Colombier 'X' 0 display; 295*7dd7cddfSDavid du Colombier 'D' 4 id; 296*7dd7cddfSDavid du Colombier 'X' 8 image; 297*7dd7cddfSDavid du Colombier 'X' 12 fill; 298*7dd7cddfSDavid du Colombier}; 299*7dd7cddfSDavid du Colombier 300*7dd7cddfSDavid du Colombierdefn 301*7dd7cddfSDavid du ColombierScreen(addr) { 302*7dd7cddfSDavid du Colombier complex Screen addr; 303*7dd7cddfSDavid du Colombier print(" display ", addr.display\X, "\n"); 304*7dd7cddfSDavid du Colombier print(" id ", addr.id, "\n"); 305*7dd7cddfSDavid du Colombier print(" image ", addr.image\X, "\n"); 306*7dd7cddfSDavid du Colombier print(" fill ", addr.fill\X, "\n"); 307*7dd7cddfSDavid du Colombier}; 308*7dd7cddfSDavid du Colombier 309*7dd7cddfSDavid du ColombiersizeofDisplay = 8156; 310*7dd7cddfSDavid du Colombieraggr Display 311*7dd7cddfSDavid du Colombier{ 312*7dd7cddfSDavid du Colombier QLock 0 qlock; 313*7dd7cddfSDavid du Colombier 'D' 16 dirno; 314*7dd7cddfSDavid du Colombier 'D' 20 fd; 315*7dd7cddfSDavid du Colombier 'D' 24 reffd; 316*7dd7cddfSDavid du Colombier 'D' 28 ctlfd; 317*7dd7cddfSDavid du Colombier 'D' 32 imageid; 318*7dd7cddfSDavid du Colombier 'D' 36 $local; 319*7dd7cddfSDavid du Colombier 'D' 40 ldepth; 320*7dd7cddfSDavid du Colombier 'X' 44 error; 321*7dd7cddfSDavid du Colombier 'X' 48 devdir; 322*7dd7cddfSDavid du Colombier 'X' 52 windir; 323*7dd7cddfSDavid du Colombier 'a' 56 oldlabel; 324*7dd7cddfSDavid du Colombier 'U' 120 dataqid; 325*7dd7cddfSDavid du Colombier 'X' 124 ones; 326*7dd7cddfSDavid du Colombier 'X' 128 zeros; 327*7dd7cddfSDavid du Colombier 'X' 132 image; 328*7dd7cddfSDavid du Colombier 'a' 136 buf; 329*7dd7cddfSDavid du Colombier 'X' 8140 bufp; 330*7dd7cddfSDavid du Colombier 'X' 8144 defaultfont; 331*7dd7cddfSDavid du Colombier 'X' 8148 defaultsubfont; 332*7dd7cddfSDavid du Colombier 'X' 8152 windows; 333*7dd7cddfSDavid du Colombier}; 334*7dd7cddfSDavid du Colombier 335*7dd7cddfSDavid du Colombierdefn 336*7dd7cddfSDavid du ColombierDisplay(addr) { 337*7dd7cddfSDavid du Colombier complex Display addr; 338*7dd7cddfSDavid du Colombier print("QLock qlock {\n"); 339*7dd7cddfSDavid du Colombier QLock(addr.qlock); 340*7dd7cddfSDavid du Colombier print("}\n"); 341*7dd7cddfSDavid du Colombier print(" dirno ", addr.dirno, "\n"); 342*7dd7cddfSDavid du Colombier print(" fd ", addr.fd, "\n"); 343*7dd7cddfSDavid du Colombier print(" reffd ", addr.reffd, "\n"); 344*7dd7cddfSDavid du Colombier print(" ctlfd ", addr.ctlfd, "\n"); 345*7dd7cddfSDavid du Colombier print(" imageid ", addr.imageid, "\n"); 346*7dd7cddfSDavid du Colombier print(" $local ", addr.$local, "\n"); 347*7dd7cddfSDavid du Colombier print(" ldepth ", addr.ldepth, "\n"); 348*7dd7cddfSDavid du Colombier print(" error ", addr.error\X, "\n"); 349*7dd7cddfSDavid du Colombier print(" devdir ", addr.devdir\X, "\n"); 350*7dd7cddfSDavid du Colombier print(" windir ", addr.windir\X, "\n"); 351*7dd7cddfSDavid du Colombier print(" oldlabel ", addr.oldlabel, "\n"); 352*7dd7cddfSDavid du Colombier print(" dataqid ", addr.dataqid, "\n"); 353*7dd7cddfSDavid du Colombier print(" ones ", addr.ones\X, "\n"); 354*7dd7cddfSDavid du Colombier print(" zeros ", addr.zeros\X, "\n"); 355*7dd7cddfSDavid du Colombier print(" image ", addr.image\X, "\n"); 356*7dd7cddfSDavid du Colombier print(" buf ", addr.buf, "\n"); 357*7dd7cddfSDavid du Colombier print(" bufp ", addr.bufp\X, "\n"); 358*7dd7cddfSDavid du Colombier print(" defaultfont ", addr.defaultfont\X, "\n"); 359*7dd7cddfSDavid du Colombier print(" defaultsubfont ", addr.defaultsubfont\X, "\n"); 360*7dd7cddfSDavid du Colombier print(" windows ", addr.windows\X, "\n"); 361*7dd7cddfSDavid du Colombier}; 362*7dd7cddfSDavid du Colombier 363*7dd7cddfSDavid du ColombiersizeofImage = 56; 364*7dd7cddfSDavid du Colombieraggr Image 365*7dd7cddfSDavid du Colombier{ 366*7dd7cddfSDavid du Colombier 'A' Display 0 display; 367*7dd7cddfSDavid du Colombier 'D' 4 id; 368*7dd7cddfSDavid du Colombier Rectangle 8 r; 369*7dd7cddfSDavid du Colombier Rectangle 24 clipr; 370*7dd7cddfSDavid du Colombier 'D' 40 ldepth; 371*7dd7cddfSDavid du Colombier 'D' 44 repl; 372*7dd7cddfSDavid du Colombier 'A' Screen 48 screen; 373*7dd7cddfSDavid du Colombier 'A' Image 52 next; 374*7dd7cddfSDavid du Colombier}; 375*7dd7cddfSDavid du Colombier 376*7dd7cddfSDavid du Colombierdefn 377*7dd7cddfSDavid du ColombierImage(addr) { 378*7dd7cddfSDavid du Colombier complex Image addr; 379*7dd7cddfSDavid du Colombier print(" display ", addr.display\X, "\n"); 380*7dd7cddfSDavid du Colombier print(" id ", addr.id, "\n"); 381*7dd7cddfSDavid du Colombier print("Rectangle r {\n"); 382*7dd7cddfSDavid du Colombier Rectangle(addr.r); 383*7dd7cddfSDavid du Colombier print("}\n"); 384*7dd7cddfSDavid du Colombier print("Rectangle clipr {\n"); 385*7dd7cddfSDavid du Colombier Rectangle(addr.clipr); 386*7dd7cddfSDavid du Colombier print("}\n"); 387*7dd7cddfSDavid du Colombier print(" ldepth ", addr.ldepth, "\n"); 388*7dd7cddfSDavid du Colombier print(" repl ", addr.repl, "\n"); 389*7dd7cddfSDavid du Colombier print(" screen ", addr.screen\X, "\n"); 390*7dd7cddfSDavid du Colombier print(" next ", addr.next\X, "\n"); 391*7dd7cddfSDavid du Colombier}; 392*7dd7cddfSDavid du Colombier 393*7dd7cddfSDavid du ColombiersizeofRGB = 12; 394*7dd7cddfSDavid du Colombieraggr RGB 395*7dd7cddfSDavid du Colombier{ 396*7dd7cddfSDavid du Colombier 'U' 0 red; 397*7dd7cddfSDavid du Colombier 'U' 4 green; 398*7dd7cddfSDavid du Colombier 'U' 8 blue; 399*7dd7cddfSDavid du Colombier}; 400*7dd7cddfSDavid du Colombier 401*7dd7cddfSDavid du Colombierdefn 402*7dd7cddfSDavid du ColombierRGB(addr) { 403*7dd7cddfSDavid du Colombier complex RGB addr; 404*7dd7cddfSDavid du Colombier print(" red ", addr.red, "\n"); 405*7dd7cddfSDavid du Colombier print(" green ", addr.green, "\n"); 406*7dd7cddfSDavid du Colombier print(" blue ", addr.blue, "\n"); 407*7dd7cddfSDavid du Colombier}; 408*7dd7cddfSDavid du Colombier 409*7dd7cddfSDavid du ColombiersizeofFontchar = 8; 410*7dd7cddfSDavid du Colombieraggr Fontchar 411*7dd7cddfSDavid du Colombier{ 412*7dd7cddfSDavid du Colombier 'D' 0 x; 413*7dd7cddfSDavid du Colombier 'b' 4 top; 414*7dd7cddfSDavid du Colombier 'b' 5 bottom; 415*7dd7cddfSDavid du Colombier 'C' 6 left; 416*7dd7cddfSDavid du Colombier 'b' 7 width; 417*7dd7cddfSDavid du Colombier}; 418*7dd7cddfSDavid du Colombier 419*7dd7cddfSDavid du Colombierdefn 420*7dd7cddfSDavid du ColombierFontchar(addr) { 421*7dd7cddfSDavid du Colombier complex Fontchar addr; 422*7dd7cddfSDavid du Colombier print(" x ", addr.x, "\n"); 423*7dd7cddfSDavid du Colombier print(" top ", addr.top, "\n"); 424*7dd7cddfSDavid du Colombier print(" bottom ", addr.bottom, "\n"); 425*7dd7cddfSDavid du Colombier print(" left ", addr.left, "\n"); 426*7dd7cddfSDavid du Colombier print(" width ", addr.width, "\n"); 427*7dd7cddfSDavid du Colombier}; 428*7dd7cddfSDavid du Colombier 429*7dd7cddfSDavid du ColombiersizeofSubfont = 16; 430*7dd7cddfSDavid du Colombieraggr Subfont 431*7dd7cddfSDavid du Colombier{ 432*7dd7cddfSDavid du Colombier 'X' 0 name; 433*7dd7cddfSDavid du Colombier 'd' 4 n; 434*7dd7cddfSDavid du Colombier 'b' 6 height; 435*7dd7cddfSDavid du Colombier 'C' 7 ascent; 436*7dd7cddfSDavid du Colombier 'A' Fontchar 8 info; 437*7dd7cddfSDavid du Colombier 'A' Image 12 bits; 438*7dd7cddfSDavid du Colombier}; 439*7dd7cddfSDavid du Colombier 440*7dd7cddfSDavid du Colombierdefn 441*7dd7cddfSDavid du ColombierSubfont(addr) { 442*7dd7cddfSDavid du Colombier complex Subfont addr; 443*7dd7cddfSDavid du Colombier print(" name ", addr.name\X, "\n"); 444*7dd7cddfSDavid du Colombier print(" n ", addr.n, "\n"); 445*7dd7cddfSDavid du Colombier print(" height ", addr.height, "\n"); 446*7dd7cddfSDavid du Colombier print(" ascent ", addr.ascent, "\n"); 447*7dd7cddfSDavid du Colombier print(" info ", addr.info\X, "\n"); 448*7dd7cddfSDavid du Colombier print(" bits ", addr.bits\X, "\n"); 449*7dd7cddfSDavid du Colombier}; 450*7dd7cddfSDavid du Colombier 451*7dd7cddfSDavid du ColombierLOG2NFCACHE = 6; 452*7dd7cddfSDavid du ColombierNFCACHE = 64; 453*7dd7cddfSDavid du ColombierNFLOOK = 5; 454*7dd7cddfSDavid du ColombierNFSUBF = 2; 455*7dd7cddfSDavid du ColombierMAXFCACHE = 1029; 456*7dd7cddfSDavid du ColombierMAXSUBF = 50; 457*7dd7cddfSDavid du ColombierDSUBF = 4; 458*7dd7cddfSDavid du ColombierSUBFAGE = 10000; 459*7dd7cddfSDavid du ColombierCACHEAGE = 10000; 460*7dd7cddfSDavid du ColombiersizeofCachefont = 16; 461*7dd7cddfSDavid du Colombieraggr Cachefont 462*7dd7cddfSDavid du Colombier{ 463*7dd7cddfSDavid du Colombier 'u' 0 min; 464*7dd7cddfSDavid du Colombier 'u' 2 max; 465*7dd7cddfSDavid du Colombier 'D' 4 offset; 466*7dd7cddfSDavid du Colombier 'X' 8 name; 467*7dd7cddfSDavid du Colombier 'X' 12 subfontname; 468*7dd7cddfSDavid du Colombier}; 469*7dd7cddfSDavid du Colombier 470*7dd7cddfSDavid du Colombierdefn 471*7dd7cddfSDavid du ColombierCachefont(addr) { 472*7dd7cddfSDavid du Colombier complex Cachefont addr; 473*7dd7cddfSDavid du Colombier print(" min ", addr.min, "\n"); 474*7dd7cddfSDavid du Colombier print(" max ", addr.max, "\n"); 475*7dd7cddfSDavid du Colombier print(" offset ", addr.offset, "\n"); 476*7dd7cddfSDavid du Colombier print(" name ", addr.name\X, "\n"); 477*7dd7cddfSDavid du Colombier print(" subfontname ", addr.subfontname\X, "\n"); 478*7dd7cddfSDavid du Colombier}; 479*7dd7cddfSDavid du Colombier 480*7dd7cddfSDavid du ColombiersizeofCacheinfo = 8; 481*7dd7cddfSDavid du Colombieraggr Cacheinfo 482*7dd7cddfSDavid du Colombier{ 483*7dd7cddfSDavid du Colombier 'u' 0 x; 484*7dd7cddfSDavid du Colombier 'b' 2 width; 485*7dd7cddfSDavid du Colombier 'C' 3 left; 486*7dd7cddfSDavid du Colombier 'u' 4 value; 487*7dd7cddfSDavid du Colombier 'u' 6 age; 488*7dd7cddfSDavid du Colombier}; 489*7dd7cddfSDavid du Colombier 490*7dd7cddfSDavid du Colombierdefn 491*7dd7cddfSDavid du ColombierCacheinfo(addr) { 492*7dd7cddfSDavid du Colombier complex Cacheinfo addr; 493*7dd7cddfSDavid du Colombier print(" x ", addr.x, "\n"); 494*7dd7cddfSDavid du Colombier print(" width ", addr.width, "\n"); 495*7dd7cddfSDavid du Colombier print(" left ", addr.left, "\n"); 496*7dd7cddfSDavid du Colombier print(" value ", addr.value, "\n"); 497*7dd7cddfSDavid du Colombier print(" age ", addr.age, "\n"); 498*7dd7cddfSDavid du Colombier}; 499*7dd7cddfSDavid du Colombier 500*7dd7cddfSDavid du ColombiersizeofCachesubf = 12; 501*7dd7cddfSDavid du Colombieraggr Cachesubf 502*7dd7cddfSDavid du Colombier{ 503*7dd7cddfSDavid du Colombier 'U' 0 age; 504*7dd7cddfSDavid du Colombier 'A' Cachefont 4 cf; 505*7dd7cddfSDavid du Colombier 'A' Subfont 8 f; 506*7dd7cddfSDavid du Colombier}; 507*7dd7cddfSDavid du Colombier 508*7dd7cddfSDavid du Colombierdefn 509*7dd7cddfSDavid du ColombierCachesubf(addr) { 510*7dd7cddfSDavid du Colombier complex Cachesubf addr; 511*7dd7cddfSDavid du Colombier print(" age ", addr.age, "\n"); 512*7dd7cddfSDavid du Colombier print(" cf ", addr.cf\X, "\n"); 513*7dd7cddfSDavid du Colombier print(" f ", addr.f\X, "\n"); 514*7dd7cddfSDavid du Colombier}; 515*7dd7cddfSDavid du Colombier 516*7dd7cddfSDavid du ColombiersizeofFont = 52; 517*7dd7cddfSDavid du Colombieraggr Font 518*7dd7cddfSDavid du Colombier{ 519*7dd7cddfSDavid du Colombier 'X' 0 name; 520*7dd7cddfSDavid du Colombier 'A' Display 4 display; 521*7dd7cddfSDavid du Colombier 'd' 8 height; 522*7dd7cddfSDavid du Colombier 'd' 10 ascent; 523*7dd7cddfSDavid du Colombier 'D' 12 maxldepth; 524*7dd7cddfSDavid du Colombier 'd' 16 width; 525*7dd7cddfSDavid du Colombier 'd' 18 ldepth; 526*7dd7cddfSDavid du Colombier 'd' 20 nsub; 527*7dd7cddfSDavid du Colombier 'U' 24 age; 528*7dd7cddfSDavid du Colombier 'D' 28 ncache; 529*7dd7cddfSDavid du Colombier 'D' 32 nsubf; 530*7dd7cddfSDavid du Colombier 'A' Cacheinfo 36 cache; 531*7dd7cddfSDavid du Colombier 'A' Cachesubf 40 subf; 532*7dd7cddfSDavid du Colombier 'A' Cachefont 44 sub; 533*7dd7cddfSDavid du Colombier 'A' Image 48 cacheimage; 534*7dd7cddfSDavid du Colombier}; 535*7dd7cddfSDavid du Colombier 536*7dd7cddfSDavid du Colombierdefn 537*7dd7cddfSDavid du ColombierFont(addr) { 538*7dd7cddfSDavid du Colombier complex Font addr; 539*7dd7cddfSDavid du Colombier print(" name ", addr.name\X, "\n"); 540*7dd7cddfSDavid du Colombier print(" display ", addr.display\X, "\n"); 541*7dd7cddfSDavid du Colombier print(" height ", addr.height, "\n"); 542*7dd7cddfSDavid du Colombier print(" ascent ", addr.ascent, "\n"); 543*7dd7cddfSDavid du Colombier print(" maxldepth ", addr.maxldepth, "\n"); 544*7dd7cddfSDavid du Colombier print(" width ", addr.width, "\n"); 545*7dd7cddfSDavid du Colombier print(" ldepth ", addr.ldepth, "\n"); 546*7dd7cddfSDavid du Colombier print(" nsub ", addr.nsub, "\n"); 547*7dd7cddfSDavid du Colombier print(" age ", addr.age, "\n"); 548*7dd7cddfSDavid du Colombier print(" ncache ", addr.ncache, "\n"); 549*7dd7cddfSDavid du Colombier print(" nsubf ", addr.nsubf, "\n"); 550*7dd7cddfSDavid du Colombier print(" cache ", addr.cache\X, "\n"); 551*7dd7cddfSDavid du Colombier print(" subf ", addr.subf\X, "\n"); 552*7dd7cddfSDavid du Colombier print(" sub ", addr.sub\X, "\n"); 553*7dd7cddfSDavid du Colombier print(" cacheimage ", addr.cacheimage\X, "\n"); 554*7dd7cddfSDavid du Colombier}; 555*7dd7cddfSDavid du Colombier 556*7dd7cddfSDavid du Colombiercomplex Point ZP; 557*7dd7cddfSDavid du Colombiercomplex Rectangle ZR; 558*7dd7cddfSDavid du Colombiercomplex Display display; 559*7dd7cddfSDavid du Colombiercomplex Font font; 560*7dd7cddfSDavid du Colombiercomplex Image screen; 561*7dd7cddfSDavid du ColombiersizeofAlt = 20; 562*7dd7cddfSDavid du Colombieraggr Alt 563*7dd7cddfSDavid du Colombier{ 564*7dd7cddfSDavid du Colombier 'X' 0 c; 565*7dd7cddfSDavid du Colombier 'X' 4 v; 566*7dd7cddfSDavid du Colombier 'D' 8 op; 567*7dd7cddfSDavid du Colombier 'X' 12 tag; 568*7dd7cddfSDavid du Colombier 'U' 16 q; 569*7dd7cddfSDavid du Colombier}; 570*7dd7cddfSDavid du Colombier 571*7dd7cddfSDavid du Colombierdefn 572*7dd7cddfSDavid du ColombierAlt(addr) { 573*7dd7cddfSDavid du Colombier complex Alt addr; 574*7dd7cddfSDavid du Colombier print(" c ", addr.c\X, "\n"); 575*7dd7cddfSDavid du Colombier print(" v ", addr.v\X, "\n"); 576*7dd7cddfSDavid du Colombier print(" op ", addr.op, "\n"); 577*7dd7cddfSDavid du Colombier print(" tag ", addr.tag\X, "\n"); 578*7dd7cddfSDavid du Colombier print(" q ", addr.q, "\n"); 579*7dd7cddfSDavid du Colombier}; 580*7dd7cddfSDavid du Colombier 581*7dd7cddfSDavid du ColombiersizeofRef = 4; 582*7dd7cddfSDavid du Colombieraggr Ref 583*7dd7cddfSDavid du Colombier{ 584*7dd7cddfSDavid du Colombier 'D' 0 ref; 585*7dd7cddfSDavid du Colombier}; 586*7dd7cddfSDavid du Colombier 587*7dd7cddfSDavid du Colombierdefn 588*7dd7cddfSDavid du ColombierRef(addr) { 589*7dd7cddfSDavid du Colombier complex Ref addr; 590*7dd7cddfSDavid du Colombier print(" ref ", addr.ref, "\n"); 591*7dd7cddfSDavid du Colombier}; 592*7dd7cddfSDavid du Colombier 593*7dd7cddfSDavid du ColombiersizeofCursor = 72; 594*7dd7cddfSDavid du Colombieraggr Cursor 595*7dd7cddfSDavid du Colombier{ 596*7dd7cddfSDavid du Colombier Point 0 offset; 597*7dd7cddfSDavid du Colombier 'a' 8 clr; 598*7dd7cddfSDavid du Colombier 'a' 40 set; 599*7dd7cddfSDavid du Colombier}; 600*7dd7cddfSDavid du Colombier 601*7dd7cddfSDavid du Colombierdefn 602*7dd7cddfSDavid du ColombierCursor(addr) { 603*7dd7cddfSDavid du Colombier complex Cursor addr; 604*7dd7cddfSDavid du Colombier print("Point offset {\n"); 605*7dd7cddfSDavid du Colombier Point(addr.offset); 606*7dd7cddfSDavid du Colombier print("}\n"); 607*7dd7cddfSDavid du Colombier print(" clr ", addr.clr, "\n"); 608*7dd7cddfSDavid du Colombier print(" set ", addr.set, "\n"); 609*7dd7cddfSDavid du Colombier}; 610*7dd7cddfSDavid du Colombier 611*7dd7cddfSDavid du ColombiersizeofMouse = 16; 612*7dd7cddfSDavid du Colombieraggr Mouse 613*7dd7cddfSDavid du Colombier{ 614*7dd7cddfSDavid du Colombier 'D' 0 buttons; 615*7dd7cddfSDavid du Colombier Point 4 xy; 616*7dd7cddfSDavid du Colombier 'U' 12 msec; 617*7dd7cddfSDavid du Colombier}; 618*7dd7cddfSDavid du Colombier 619*7dd7cddfSDavid du Colombierdefn 620*7dd7cddfSDavid du ColombierMouse(addr) { 621*7dd7cddfSDavid du Colombier complex Mouse addr; 622*7dd7cddfSDavid du Colombier print(" buttons ", addr.buttons, "\n"); 623*7dd7cddfSDavid du Colombier print("Point xy {\n"); 624*7dd7cddfSDavid du Colombier Point(addr.xy); 625*7dd7cddfSDavid du Colombier print("}\n"); 626*7dd7cddfSDavid du Colombier print(" msec ", addr.msec, "\n"); 627*7dd7cddfSDavid du Colombier}; 628*7dd7cddfSDavid du Colombier 629*7dd7cddfSDavid du ColombiersizeofMousectl = 44; 630*7dd7cddfSDavid du Colombieraggr Mousectl 631*7dd7cddfSDavid du Colombier{ 632*7dd7cddfSDavid du Colombier { 633*7dd7cddfSDavid du Colombier 'D' 0 buttons; 634*7dd7cddfSDavid du Colombier Point 4 xy; 635*7dd7cddfSDavid du Colombier 'U' 12 msec; 636*7dd7cddfSDavid du Colombier }; 637*7dd7cddfSDavid du Colombier 'X' 16 c; 638*7dd7cddfSDavid du Colombier 'X' 20 reshapec; 639*7dd7cddfSDavid du Colombier 'X' 24 file; 640*7dd7cddfSDavid du Colombier 'D' 28 mfd; 641*7dd7cddfSDavid du Colombier 'D' 32 cfd; 642*7dd7cddfSDavid du Colombier 'D' 36 pid; 643*7dd7cddfSDavid du Colombier 'A' Image 40 image; 644*7dd7cddfSDavid du Colombier}; 645*7dd7cddfSDavid du Colombier 646*7dd7cddfSDavid du Colombierdefn 647*7dd7cddfSDavid du ColombierMousectl(addr) { 648*7dd7cddfSDavid du Colombier complex Mousectl addr; 649*7dd7cddfSDavid du Colombier print("Mouse {\n"); 650*7dd7cddfSDavid du Colombier Mouse(addr+0); 651*7dd7cddfSDavid du Colombier print("}\n"); 652*7dd7cddfSDavid du Colombier print(" c ", addr.c\X, "\n"); 653*7dd7cddfSDavid du Colombier print(" reshapec ", addr.reshapec\X, "\n"); 654*7dd7cddfSDavid du Colombier print(" file ", addr.file\X, "\n"); 655*7dd7cddfSDavid du Colombier print(" mfd ", addr.mfd, "\n"); 656*7dd7cddfSDavid du Colombier print(" cfd ", addr.cfd, "\n"); 657*7dd7cddfSDavid du Colombier print(" pid ", addr.pid, "\n"); 658*7dd7cddfSDavid du Colombier print(" image ", addr.image\X, "\n"); 659*7dd7cddfSDavid du Colombier}; 660*7dd7cddfSDavid du Colombier 661*7dd7cddfSDavid du ColombiersizeofMenu = 12; 662*7dd7cddfSDavid du Colombieraggr Menu 663*7dd7cddfSDavid du Colombier{ 664*7dd7cddfSDavid du Colombier 'X' 0 item; 665*7dd7cddfSDavid du Colombier 'X' 4 gen; 666*7dd7cddfSDavid du Colombier 'D' 8 lasthit; 667*7dd7cddfSDavid du Colombier}; 668*7dd7cddfSDavid du Colombier 669*7dd7cddfSDavid du Colombierdefn 670*7dd7cddfSDavid du ColombierMenu(addr) { 671*7dd7cddfSDavid du Colombier complex Menu addr; 672*7dd7cddfSDavid du Colombier print(" item ", addr.item\X, "\n"); 673*7dd7cddfSDavid du Colombier print(" gen ", addr.gen\X, "\n"); 674*7dd7cddfSDavid du Colombier print(" lasthit ", addr.lasthit, "\n"); 675*7dd7cddfSDavid du Colombier}; 676*7dd7cddfSDavid du Colombier 677*7dd7cddfSDavid du ColombiersizeofKeyboardctl = 20; 678*7dd7cddfSDavid du Colombieraggr Keyboardctl 679*7dd7cddfSDavid du Colombier{ 680*7dd7cddfSDavid du Colombier 'X' 0 c; 681*7dd7cddfSDavid du Colombier 'X' 4 file; 682*7dd7cddfSDavid du Colombier 'D' 8 consfd; 683*7dd7cddfSDavid du Colombier 'D' 12 ctlfd; 684*7dd7cddfSDavid du Colombier 'D' 16 pid; 685*7dd7cddfSDavid du Colombier}; 686*7dd7cddfSDavid du Colombier 687*7dd7cddfSDavid du Colombierdefn 688*7dd7cddfSDavid du ColombierKeyboardctl(addr) { 689*7dd7cddfSDavid du Colombier complex Keyboardctl addr; 690*7dd7cddfSDavid du Colombier print(" c ", addr.c\X, "\n"); 691*7dd7cddfSDavid du Colombier print(" file ", addr.file\X, "\n"); 692*7dd7cddfSDavid du Colombier print(" consfd ", addr.consfd, "\n"); 693*7dd7cddfSDavid du Colombier print(" ctlfd ", addr.ctlfd, "\n"); 694*7dd7cddfSDavid du Colombier print(" pid ", addr.pid, "\n"); 695*7dd7cddfSDavid du Colombier}; 696*7dd7cddfSDavid du Colombier 697*7dd7cddfSDavid du ColombierBACK = 0; 698*7dd7cddfSDavid du ColombierHIGH = 1; 699*7dd7cddfSDavid du ColombierBORD = 2; 700*7dd7cddfSDavid du ColombierTEXT = 3; 701*7dd7cddfSDavid du ColombierHTEXT = 4; 702*7dd7cddfSDavid du ColombierNCOL = 5; 703*7dd7cddfSDavid du Colombiersizeof_3_ = 4; 704*7dd7cddfSDavid du Colombieraggr _3_ 705*7dd7cddfSDavid du Colombier{ 706*7dd7cddfSDavid du Colombier 'd' 0 bc; 707*7dd7cddfSDavid du Colombier 'd' 2 minwid; 708*7dd7cddfSDavid du Colombier}; 709*7dd7cddfSDavid du Colombier 710*7dd7cddfSDavid du Colombierdefn 711*7dd7cddfSDavid du Colombier_3_(addr) { 712*7dd7cddfSDavid du Colombier complex _3_ addr; 713*7dd7cddfSDavid du Colombier print(" bc ", addr.bc, "\n"); 714*7dd7cddfSDavid du Colombier print(" minwid ", addr.minwid, "\n"); 715*7dd7cddfSDavid du Colombier}; 716*7dd7cddfSDavid du Colombier 717*7dd7cddfSDavid du Colombiersizeof_4_ = 4; 718*7dd7cddfSDavid du Colombieraggr _4_ 719*7dd7cddfSDavid du Colombier{ 720*7dd7cddfSDavid du Colombier 'X' 0 ptr; 721*7dd7cddfSDavid du Colombier { 722*7dd7cddfSDavid du Colombier 'd' 0 bc; 723*7dd7cddfSDavid du Colombier 'd' 2 minwid; 724*7dd7cddfSDavid du Colombier }; 725*7dd7cddfSDavid du Colombier}; 726*7dd7cddfSDavid du Colombier 727*7dd7cddfSDavid du Colombierdefn 728*7dd7cddfSDavid du Colombier_4_(addr) { 729*7dd7cddfSDavid du Colombier complex _4_ addr; 730*7dd7cddfSDavid du Colombier print(" ptr ", addr.ptr\X, "\n"); 731*7dd7cddfSDavid du Colombier print("_3_ {\n"); 732*7dd7cddfSDavid du Colombier _3_(addr+0); 733*7dd7cddfSDavid du Colombier print("}\n"); 734*7dd7cddfSDavid du Colombier}; 735*7dd7cddfSDavid du Colombier 736*7dd7cddfSDavid du ColombiersizeofFrbox = 12; 737*7dd7cddfSDavid du Colombieraggr Frbox 738*7dd7cddfSDavid du Colombier{ 739*7dd7cddfSDavid du Colombier 'D' 0 wid; 740*7dd7cddfSDavid du Colombier 'D' 4 nrune; 741*7dd7cddfSDavid du Colombier { 742*7dd7cddfSDavid du Colombier 'X' 8 ptr; 743*7dd7cddfSDavid du Colombier { 744*7dd7cddfSDavid du Colombier 'd' 8 bc; 745*7dd7cddfSDavid du Colombier 'd' 10 minwid; 746*7dd7cddfSDavid du Colombier }; 747*7dd7cddfSDavid du Colombier }; 748*7dd7cddfSDavid du Colombier}; 749*7dd7cddfSDavid du Colombier 750*7dd7cddfSDavid du Colombierdefn 751*7dd7cddfSDavid du ColombierFrbox(addr) { 752*7dd7cddfSDavid du Colombier complex Frbox addr; 753*7dd7cddfSDavid du Colombier print(" wid ", addr.wid, "\n"); 754*7dd7cddfSDavid du Colombier print(" nrune ", addr.nrune, "\n"); 755*7dd7cddfSDavid du Colombier print("_4_ {\n"); 756*7dd7cddfSDavid du Colombier _4_(addr+8); 757*7dd7cddfSDavid du Colombier print("}\n"); 758*7dd7cddfSDavid du Colombier}; 759*7dd7cddfSDavid du Colombier 760*7dd7cddfSDavid du Colombiercomplex Font font; 761*7dd7cddfSDavid du Colombiercomplex Display display; 762*7dd7cddfSDavid du ColombiersizeofFrame = 108; 763*7dd7cddfSDavid du Colombieraggr Frame 764*7dd7cddfSDavid du Colombier{ 765*7dd7cddfSDavid du Colombier 'A' Font 0 font; 766*7dd7cddfSDavid du Colombier 'A' Display 4 display; 767*7dd7cddfSDavid du Colombier 'A' Image 8 b; 768*7dd7cddfSDavid du Colombier 'a' 12 cols; 769*7dd7cddfSDavid du Colombier Rectangle 32 r; 770*7dd7cddfSDavid du Colombier Rectangle 48 entire; 771*7dd7cddfSDavid du Colombier 'X' 64 scroll; 772*7dd7cddfSDavid du Colombier 'A' Frbox 68 box; 773*7dd7cddfSDavid du Colombier 'U' 72 p0; 774*7dd7cddfSDavid du Colombier 'U' 76 p1; 775*7dd7cddfSDavid du Colombier 'u' 80 nbox; 776*7dd7cddfSDavid du Colombier 'u' 82 nalloc; 777*7dd7cddfSDavid du Colombier 'u' 84 maxtab; 778*7dd7cddfSDavid du Colombier 'u' 86 nchars; 779*7dd7cddfSDavid du Colombier 'u' 88 nlines; 780*7dd7cddfSDavid du Colombier 'u' 90 maxlines; 781*7dd7cddfSDavid du Colombier 'u' 92 lastlinefull; 782*7dd7cddfSDavid du Colombier 'u' 94 modified; 783*7dd7cddfSDavid du Colombier 'A' Image 96 tick; 784*7dd7cddfSDavid du Colombier 'A' Image 100 tickback; 785*7dd7cddfSDavid du Colombier 'D' 104 ticked; 786*7dd7cddfSDavid du Colombier}; 787*7dd7cddfSDavid du Colombier 788*7dd7cddfSDavid du Colombierdefn 789*7dd7cddfSDavid du ColombierFrame(addr) { 790*7dd7cddfSDavid du Colombier complex Frame addr; 791*7dd7cddfSDavid du Colombier print(" font ", addr.font\X, "\n"); 792*7dd7cddfSDavid du Colombier print(" display ", addr.display\X, "\n"); 793*7dd7cddfSDavid du Colombier print(" b ", addr.b\X, "\n"); 794*7dd7cddfSDavid du Colombier print(" cols ", addr.cols, "\n"); 795*7dd7cddfSDavid du Colombier print("Rectangle r {\n"); 796*7dd7cddfSDavid du Colombier Rectangle(addr.r); 797*7dd7cddfSDavid du Colombier print("}\n"); 798*7dd7cddfSDavid du Colombier print("Rectangle entire {\n"); 799*7dd7cddfSDavid du Colombier Rectangle(addr.entire); 800*7dd7cddfSDavid du Colombier print("}\n"); 801*7dd7cddfSDavid du Colombier print(" scroll ", addr.scroll\X, "\n"); 802*7dd7cddfSDavid du Colombier print(" box ", addr.box\X, "\n"); 803*7dd7cddfSDavid du Colombier print(" p0 ", addr.p0, "\n"); 804*7dd7cddfSDavid du Colombier print(" p1 ", addr.p1, "\n"); 805*7dd7cddfSDavid du Colombier print(" nbox ", addr.nbox, "\n"); 806*7dd7cddfSDavid du Colombier print(" nalloc ", addr.nalloc, "\n"); 807*7dd7cddfSDavid du Colombier print(" maxtab ", addr.maxtab, "\n"); 808*7dd7cddfSDavid du Colombier print(" nchars ", addr.nchars, "\n"); 809*7dd7cddfSDavid du Colombier print(" nlines ", addr.nlines, "\n"); 810*7dd7cddfSDavid du Colombier print(" maxlines ", addr.maxlines, "\n"); 811*7dd7cddfSDavid du Colombier print(" lastlinefull ", addr.lastlinefull, "\n"); 812*7dd7cddfSDavid du Colombier print(" modified ", addr.modified, "\n"); 813*7dd7cddfSDavid du Colombier print(" tick ", addr.tick\X, "\n"); 814*7dd7cddfSDavid du Colombier print(" tickback ", addr.tickback\X, "\n"); 815*7dd7cddfSDavid du Colombier print(" ticked ", addr.ticked, "\n"); 816*7dd7cddfSDavid du Colombier}; 817*7dd7cddfSDavid du Colombier 818*7dd7cddfSDavid du ColombierNone = 0; 819*7dd7cddfSDavid du ColombierSome = 1; 820*7dd7cddfSDavid du ColombierAll = 2; 821*7dd7cddfSDavid du ColombierClicktime = 1000; 822*7dd7cddfSDavid du ColombiersizeofFlayer = 172; 823*7dd7cddfSDavid du Colombieraggr Flayer 824*7dd7cddfSDavid du Colombier{ 825*7dd7cddfSDavid du Colombier Frame 0 f; 826*7dd7cddfSDavid du Colombier 'D' 108 origin; 827*7dd7cddfSDavid du Colombier 'D' 112 p0; 828*7dd7cddfSDavid du Colombier 'D' 116 p1; 829*7dd7cddfSDavid du Colombier 'D' 120 click; 830*7dd7cddfSDavid du Colombier 'X' 124 textfn; 831*7dd7cddfSDavid du Colombier 'D' 128 user0; 832*7dd7cddfSDavid du Colombier 'X' 132 user1; 833*7dd7cddfSDavid du Colombier Rectangle 136 entire; 834*7dd7cddfSDavid du Colombier Rectangle 152 scroll; 835*7dd7cddfSDavid du Colombier 'D' 168 visible; 836*7dd7cddfSDavid du Colombier}; 837*7dd7cddfSDavid du Colombier 838*7dd7cddfSDavid du Colombierdefn 839*7dd7cddfSDavid du ColombierFlayer(addr) { 840*7dd7cddfSDavid du Colombier complex Flayer addr; 841*7dd7cddfSDavid du Colombier print("Frame f {\n"); 842*7dd7cddfSDavid du Colombier Frame(addr.f); 843*7dd7cddfSDavid du Colombier print("}\n"); 844*7dd7cddfSDavid du Colombier print(" origin ", addr.origin, "\n"); 845*7dd7cddfSDavid du Colombier print(" p0 ", addr.p0, "\n"); 846*7dd7cddfSDavid du Colombier print(" p1 ", addr.p1, "\n"); 847*7dd7cddfSDavid du Colombier print(" click ", addr.click, "\n"); 848*7dd7cddfSDavid du Colombier print(" textfn ", addr.textfn\X, "\n"); 849*7dd7cddfSDavid du Colombier print(" user0 ", addr.user0, "\n"); 850*7dd7cddfSDavid du Colombier print(" user1 ", addr.user1\X, "\n"); 851*7dd7cddfSDavid du Colombier print("Rectangle entire {\n"); 852*7dd7cddfSDavid du Colombier Rectangle(addr.entire); 853*7dd7cddfSDavid du Colombier print("}\n"); 854*7dd7cddfSDavid du Colombier print("Rectangle scroll {\n"); 855*7dd7cddfSDavid du Colombier Rectangle(addr.scroll); 856*7dd7cddfSDavid du Colombier print("}\n"); 857*7dd7cddfSDavid du Colombier print(" visible ", addr.visible, "\n"); 858*7dd7cddfSDavid du Colombier}; 859*7dd7cddfSDavid du Colombier 860*7dd7cddfSDavid du ColombierUp = 0; 861*7dd7cddfSDavid du ColombierDown = 1; 862*7dd7cddfSDavid du ColombiersizeofSection = 12; 863*7dd7cddfSDavid du Colombieraggr Section 864*7dd7cddfSDavid du Colombier{ 865*7dd7cddfSDavid du Colombier 'D' 0 nrunes; 866*7dd7cddfSDavid du Colombier 'X' 4 text; 867*7dd7cddfSDavid du Colombier 'A' Section 8 next; 868*7dd7cddfSDavid du Colombier}; 869*7dd7cddfSDavid du Colombier 870*7dd7cddfSDavid du Colombierdefn 871*7dd7cddfSDavid du ColombierSection(addr) { 872*7dd7cddfSDavid du Colombier complex Section addr; 873*7dd7cddfSDavid du Colombier print(" nrunes ", addr.nrunes, "\n"); 874*7dd7cddfSDavid du Colombier print(" text ", addr.text\X, "\n"); 875*7dd7cddfSDavid du Colombier print(" next ", addr.next\X, "\n"); 876*7dd7cddfSDavid du Colombier}; 877*7dd7cddfSDavid du Colombier 878*7dd7cddfSDavid du ColombiersizeofRasp = 8; 879*7dd7cddfSDavid du Colombieraggr Rasp 880*7dd7cddfSDavid du Colombier{ 881*7dd7cddfSDavid du Colombier 'D' 0 nrunes; 882*7dd7cddfSDavid du Colombier 'A' Section 4 sect; 883*7dd7cddfSDavid du Colombier}; 884*7dd7cddfSDavid du Colombier 885*7dd7cddfSDavid du Colombierdefn 886*7dd7cddfSDavid du ColombierRasp(addr) { 887*7dd7cddfSDavid du Colombier complex Rasp addr; 888*7dd7cddfSDavid du Colombier print(" nrunes ", addr.nrunes, "\n"); 889*7dd7cddfSDavid du Colombier print(" sect ", addr.sect\X, "\n"); 890*7dd7cddfSDavid du Colombier}; 891*7dd7cddfSDavid du Colombier 892*7dd7cddfSDavid du ColombiersizeofText = 876; 893*7dd7cddfSDavid du Colombieraggr Text 894*7dd7cddfSDavid du Colombier{ 895*7dd7cddfSDavid du Colombier Rasp 0 rasp; 896*7dd7cddfSDavid du Colombier 'd' 8 nwin; 897*7dd7cddfSDavid du Colombier 'd' 10 front; 898*7dd7cddfSDavid du Colombier 'u' 12 tag; 899*7dd7cddfSDavid du Colombier 'C' 14 lock; 900*7dd7cddfSDavid du Colombier 'a' 16 l; 901*7dd7cddfSDavid du Colombier}; 902*7dd7cddfSDavid du Colombier 903*7dd7cddfSDavid du Colombierdefn 904*7dd7cddfSDavid du ColombierText(addr) { 905*7dd7cddfSDavid du Colombier complex Text addr; 906*7dd7cddfSDavid du Colombier print("Rasp rasp {\n"); 907*7dd7cddfSDavid du Colombier Rasp(addr.rasp); 908*7dd7cddfSDavid du Colombier print("}\n"); 909*7dd7cddfSDavid du Colombier print(" nwin ", addr.nwin, "\n"); 910*7dd7cddfSDavid du Colombier print(" front ", addr.front, "\n"); 911*7dd7cddfSDavid du Colombier print(" tag ", addr.tag, "\n"); 912*7dd7cddfSDavid du Colombier print(" lock ", addr.lock, "\n"); 913*7dd7cddfSDavid du Colombier print(" l ", addr.l, "\n"); 914*7dd7cddfSDavid du Colombier}; 915*7dd7cddfSDavid du Colombier 916*7dd7cddfSDavid du ColombiersizeofReadbuf = 8196; 917*7dd7cddfSDavid du Colombieraggr Readbuf 918*7dd7cddfSDavid du Colombier{ 919*7dd7cddfSDavid du Colombier 'd' 0 n; 920*7dd7cddfSDavid du Colombier 'a' 2 data; 921*7dd7cddfSDavid du Colombier}; 922*7dd7cddfSDavid du Colombier 923*7dd7cddfSDavid du Colombierdefn 924*7dd7cddfSDavid du ColombierReadbuf(addr) { 925*7dd7cddfSDavid du Colombier complex Readbuf addr; 926*7dd7cddfSDavid du Colombier print(" n ", addr.n, "\n"); 927*7dd7cddfSDavid du Colombier print(" data ", addr.data, "\n"); 928*7dd7cddfSDavid du Colombier}; 929*7dd7cddfSDavid du Colombier 930*7dd7cddfSDavid du ColombierRHost = 0; 931*7dd7cddfSDavid du ColombierRKeyboard = 1; 932*7dd7cddfSDavid du ColombierRMouse = 2; 933*7dd7cddfSDavid du ColombierRPlumb = 3; 934*7dd7cddfSDavid du ColombierRReshape = 4; 935*7dd7cddfSDavid du ColombierNRes = 5; 936*7dd7cddfSDavid du Colombiercomplex Cursor bullseye; 937*7dd7cddfSDavid du Colombiercomplex Cursor deadmouse; 938*7dd7cddfSDavid du Colombiercomplex Cursor lockarrow; 939*7dd7cddfSDavid du Colombiercomplex Cursor cursor; 940*7dd7cddfSDavid du Colombiercomplex Flayer which; 941*7dd7cddfSDavid du Colombiercomplex Flayer work; 942*7dd7cddfSDavid du Colombiercomplex Text cmd; 943*7dd7cddfSDavid du Colombiercomplex Mousectl mousectl; 944*7dd7cddfSDavid du Colombiercomplex Keyboardctl keyboardctl; 945*7dd7cddfSDavid du Colombiercomplex Mouse mousep; 946*7dd7cddfSDavid du ColombierTversion = 0; 947*7dd7cddfSDavid du ColombierTstartcmdfile = 1; 948*7dd7cddfSDavid du ColombierTcheck = 2; 949*7dd7cddfSDavid du ColombierTrequest = 3; 950*7dd7cddfSDavid du ColombierTorigin = 4; 951*7dd7cddfSDavid du ColombierTstartfile = 5; 952*7dd7cddfSDavid du ColombierTworkfile = 6; 953*7dd7cddfSDavid du ColombierTtype = 7; 954*7dd7cddfSDavid du ColombierTcut = 8; 955*7dd7cddfSDavid du ColombierTpaste = 9; 956*7dd7cddfSDavid du ColombierTsnarf = 10; 957*7dd7cddfSDavid du ColombierTstartnewfile = 11; 958*7dd7cddfSDavid du ColombierTwrite = 12; 959*7dd7cddfSDavid du ColombierTclose = 13; 960*7dd7cddfSDavid du ColombierTlook = 14; 961*7dd7cddfSDavid du ColombierTsearch = 15; 962*7dd7cddfSDavid du ColombierTsend = 16; 963*7dd7cddfSDavid du ColombierTdclick = 17; 964*7dd7cddfSDavid du ColombierTstartsnarf = 18; 965*7dd7cddfSDavid du ColombierTsetsnarf = 19; 966*7dd7cddfSDavid du ColombierTack = 20; 967*7dd7cddfSDavid du ColombierTexit = 21; 968*7dd7cddfSDavid du ColombierTplumb = 22; 969*7dd7cddfSDavid du ColombierTMAX = 23; 970*7dd7cddfSDavid du ColombierHversion = 0; 971*7dd7cddfSDavid du ColombierHbindname = 1; 972*7dd7cddfSDavid du ColombierHcurrent = 2; 973*7dd7cddfSDavid du ColombierHnewname = 3; 974*7dd7cddfSDavid du ColombierHmovname = 4; 975*7dd7cddfSDavid du ColombierHgrow = 5; 976*7dd7cddfSDavid du ColombierHcheck0 = 6; 977*7dd7cddfSDavid du ColombierHcheck = 7; 978*7dd7cddfSDavid du ColombierHunlock = 8; 979*7dd7cddfSDavid du ColombierHdata = 9; 980*7dd7cddfSDavid du ColombierHorigin = 10; 981*7dd7cddfSDavid du ColombierHunlockfile = 11; 982*7dd7cddfSDavid du ColombierHsetdot = 12; 983*7dd7cddfSDavid du ColombierHgrowdata = 13; 984*7dd7cddfSDavid du ColombierHmoveto = 14; 985*7dd7cddfSDavid du ColombierHclean = 15; 986*7dd7cddfSDavid du ColombierHdirty = 16; 987*7dd7cddfSDavid du ColombierHcut = 17; 988*7dd7cddfSDavid du ColombierHsetpat = 18; 989*7dd7cddfSDavid du ColombierHdelname = 19; 990*7dd7cddfSDavid du ColombierHclose = 20; 991*7dd7cddfSDavid du ColombierHsetsnarf = 21; 992*7dd7cddfSDavid du ColombierHsnarflen = 22; 993*7dd7cddfSDavid du ColombierHack = 23; 994*7dd7cddfSDavid du ColombierHexit = 24; 995*7dd7cddfSDavid du ColombierHplumb = 25; 996*7dd7cddfSDavid du ColombierHMAX = 26; 997*7dd7cddfSDavid du ColombiersizeofHeader = 4; 998*7dd7cddfSDavid du Colombieraggr Header 999*7dd7cddfSDavid du Colombier{ 1000*7dd7cddfSDavid du Colombier 'b' 0 type; 1001*7dd7cddfSDavid du Colombier 'b' 1 count0; 1002*7dd7cddfSDavid du Colombier 'b' 2 count1; 1003*7dd7cddfSDavid du Colombier 'a' 3 data; 1004*7dd7cddfSDavid du Colombier}; 1005*7dd7cddfSDavid du Colombier 1006*7dd7cddfSDavid du Colombierdefn 1007*7dd7cddfSDavid du ColombierHeader(addr) { 1008*7dd7cddfSDavid du Colombier complex Header addr; 1009*7dd7cddfSDavid du Colombier print(" type ", addr.type, "\n"); 1010*7dd7cddfSDavid du Colombier print(" count0 ", addr.count0, "\n"); 1011*7dd7cddfSDavid du Colombier print(" count1 ", addr.count1, "\n"); 1012*7dd7cddfSDavid du Colombier print(" data ", addr.data, "\n"); 1013*7dd7cddfSDavid du Colombier}; 1014*7dd7cddfSDavid du Colombier 1015*7dd7cddfSDavid du Colombiercomplex Text cmd; 1016*7dd7cddfSDavid du Colombiercomplex Cursor cursor; 1017*7dd7cddfSDavid du Colombiercomplex Flayer which; 1018*7dd7cddfSDavid du Colombiercomplex Flayer work; 1019*7dd7cddfSDavid du Colombiercomplex Text threadmain:t; 1020*7dd7cddfSDavid du Colombiercomplex Rectangle threadmain:r; 1021*7dd7cddfSDavid du Colombiercomplex Flayer threadmain:nwhich; 1022*7dd7cddfSDavid du Colombiercomplex Flayer current:nw; 1023*7dd7cddfSDavid du Colombiercomplex Text current:t; 1024*7dd7cddfSDavid du Colombiercomplex Flayer closeup:l; 1025*7dd7cddfSDavid du Colombiercomplex Text closeup:t; 1026*7dd7cddfSDavid du Colombiercomplex Text findl:t; 1027*7dd7cddfSDavid du Colombiercomplex Flayer duplicate:l; 1028*7dd7cddfSDavid du Colombiercomplex Rectangle duplicate:r; 1029*7dd7cddfSDavid du Colombiercomplex Font duplicate:f; 1030*7dd7cddfSDavid du Colombiercomplex Text duplicate:t; 1031*7dd7cddfSDavid du Colombiercomplex Flayer duplicate:nl; 1032*7dd7cddfSDavid du Colombiercomplex Rectangle getr:rp; 1033*7dd7cddfSDavid du Colombiercomplex Point getr:p; 1034*7dd7cddfSDavid du Colombiercomplex Rectangle getr:r; 1035*7dd7cddfSDavid du Colombiercomplex Text snarf:t; 1036*7dd7cddfSDavid du Colombiercomplex Flayer snarf:l; 1037*7dd7cddfSDavid du Colombiercomplex Text cut:t; 1038*7dd7cddfSDavid du Colombiercomplex Flayer cut:l; 1039*7dd7cddfSDavid du Colombiercomplex Text paste:t; 1040*7dd7cddfSDavid du Colombiercomplex Flayer scrorigin:l; 1041*7dd7cddfSDavid du Colombiercomplex Text scrorigin:t; 1042*7dd7cddfSDavid du Colombiercomplex Rasp raspc:r; 1043*7dd7cddfSDavid du Colombiercomplex Rasp ctlw:r; 1044*7dd7cddfSDavid du Colombiercomplex Rasp ctlu:r; 1045*7dd7cddfSDavid du Colombiercomplex Flayer center:l; 1046*7dd7cddfSDavid du Colombiercomplex Text center:t; 1047*7dd7cddfSDavid du Colombiercomplex Flayer onethird:l; 1048*7dd7cddfSDavid du Colombiercomplex Text onethird:t; 1049*7dd7cddfSDavid du Colombiercomplex Rectangle onethird:s; 1050*7dd7cddfSDavid du Colombiercomplex Text flushtyping:t; 1051*7dd7cddfSDavid du Colombiercomplex Flayer type:l; 1052*7dd7cddfSDavid du Colombiercomplex Text type:t; 1053*7dd7cddfSDavid du Colombiercomplex Flayer gettext:l; 1054*7dd7cddfSDavid du Colombiercomplex Text gettext:t; 1055*7dd7cddfSDavid du Colombiercomplex Flayer scrtotal:l; 1056