mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-15 11:20:03 +00:00
645 lines
12 KiB
Text
645 lines
12 KiB
Text
|
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;
|
||
|
sizeofFmt = 48;
|
||
|
aggr Fmt
|
||
|
{
|
||
|
'b' 0 runes;
|
||
|
'X' 4 start;
|
||
|
'X' 8 to;
|
||
|
'X' 12 stop;
|
||
|
'X' 16 flush;
|
||
|
'X' 20 farg;
|
||
|
'D' 24 nfmt;
|
||
|
'X' 28 args;
|
||
|
'D' 32 r;
|
||
|
'D' 36 width;
|
||
|
'D' 40 prec;
|
||
|
'U' 44 flags;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
Fmt(addr) {
|
||
|
complex Fmt addr;
|
||
|
print(" runes ", addr.runes, "\n");
|
||
|
print(" start ", addr.start\X, "\n");
|
||
|
print(" to ", addr.to\X, "\n");
|
||
|
print(" stop ", addr.stop\X, "\n");
|
||
|
print(" flush ", addr.flush\X, "\n");
|
||
|
print(" farg ", addr.farg\X, "\n");
|
||
|
print(" nfmt ", addr.nfmt, "\n");
|
||
|
print(" args ", addr.args\X, "\n");
|
||
|
print(" r ", addr.r, "\n");
|
||
|
print(" width ", addr.width, "\n");
|
||
|
print(" prec ", addr.prec, "\n");
|
||
|
print(" flags ", addr.flags, "\n");
|
||
|
};
|
||
|
|
||
|
FmtWidth = 1;
|
||
|
FmtLeft = 2;
|
||
|
FmtPrec = 4;
|
||
|
FmtSharp = 8;
|
||
|
FmtSpace = 16;
|
||
|
FmtSign = 32;
|
||
|
FmtZero = 64;
|
||
|
FmtUnsigned = 128;
|
||
|
FmtShort = 256;
|
||
|
FmtLong = 512;
|
||
|
FmtVLong = 1024;
|
||
|
FmtComma = 2048;
|
||
|
FmtByte = 4096;
|
||
|
FmtFlag = 8192;
|
||
|
sizeofTm = 40;
|
||
|
aggr Tm
|
||
|
{
|
||
|
'D' 0 sec;
|
||
|
'D' 4 min;
|
||
|
'D' 8 hour;
|
||
|
'D' 12 mday;
|
||
|
'D' 16 mon;
|
||
|
'D' 20 year;
|
||
|
'D' 24 wday;
|
||
|
'D' 28 yday;
|
||
|
'a' 32 zone;
|
||
|
'D' 36 tzoff;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
Tm(addr) {
|
||
|
complex Tm addr;
|
||
|
print(" sec ", addr.sec, "\n");
|
||
|
print(" min ", addr.min, "\n");
|
||
|
print(" hour ", addr.hour, "\n");
|
||
|
print(" mday ", addr.mday, "\n");
|
||
|
print(" mon ", addr.mon, "\n");
|
||
|
print(" year ", addr.year, "\n");
|
||
|
print(" wday ", addr.wday, "\n");
|
||
|
print(" yday ", addr.yday, "\n");
|
||
|
print(" zone ", addr.zone, "\n");
|
||
|
print(" tzoff ", addr.tzoff, "\n");
|
||
|
};
|
||
|
|
||
|
PNPROC = 1;
|
||
|
PNGROUP = 2;
|
||
|
sizeofLock = 4;
|
||
|
aggr Lock
|
||
|
{
|
||
|
'D' 0 val;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
Lock(addr) {
|
||
|
complex Lock addr;
|
||
|
print(" val ", addr.val, "\n");
|
||
|
};
|
||
|
|
||
|
sizeofQLp = 12;
|
||
|
aggr QLp
|
||
|
{
|
||
|
'D' 0 inuse;
|
||
|
'A' QLp 4 next;
|
||
|
'C' 8 state;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
QLp(addr) {
|
||
|
complex QLp addr;
|
||
|
print(" inuse ", addr.inuse, "\n");
|
||
|
print(" next ", addr.next\X, "\n");
|
||
|
print(" state ", addr.state, "\n");
|
||
|
};
|
||
|
|
||
|
sizeofQLock = 16;
|
||
|
aggr QLock
|
||
|
{
|
||
|
Lock 0 lock;
|
||
|
'D' 4 locked;
|
||
|
'A' QLp 8 $head;
|
||
|
'A' QLp 12 $tail;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
QLock(addr) {
|
||
|
complex QLock addr;
|
||
|
print("Lock lock {\n");
|
||
|
Lock(addr.lock);
|
||
|
print("}\n");
|
||
|
print(" locked ", addr.locked, "\n");
|
||
|
print(" $head ", addr.$head\X, "\n");
|
||
|
print(" $tail ", addr.$tail\X, "\n");
|
||
|
};
|
||
|
|
||
|
sizeofRWLock = 20;
|
||
|
aggr RWLock
|
||
|
{
|
||
|
Lock 0 lock;
|
||
|
'D' 4 readers;
|
||
|
'D' 8 writer;
|
||
|
'A' QLp 12 $head;
|
||
|
'A' QLp 16 $tail;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
RWLock(addr) {
|
||
|
complex RWLock addr;
|
||
|
print("Lock lock {\n");
|
||
|
Lock(addr.lock);
|
||
|
print("}\n");
|
||
|
print(" readers ", addr.readers, "\n");
|
||
|
print(" writer ", addr.writer, "\n");
|
||
|
print(" $head ", addr.$head\X, "\n");
|
||
|
print(" $tail ", addr.$tail\X, "\n");
|
||
|
};
|
||
|
|
||
|
sizeofRendez = 12;
|
||
|
aggr Rendez
|
||
|
{
|
||
|
'A' QLock 0 l;
|
||
|
'A' QLp 4 $head;
|
||
|
'A' QLp 8 $tail;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
Rendez(addr) {
|
||
|
complex Rendez addr;
|
||
|
print(" l ", addr.l\X, "\n");
|
||
|
print(" $head ", addr.$head\X, "\n");
|
||
|
print(" $tail ", addr.$tail\X, "\n");
|
||
|
};
|
||
|
|
||
|
sizeofNetConnInfo = 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");
|
||
|
};
|
||
|
|
||
|
MaxFragSize = 9216;
|
||
|
VtScoreSize = 20;
|
||
|
VtMaxStringSize = 1024;
|
||
|
VtMaxFileSize = 281474976710655;
|
||
|
VtMaxLumpSize = 57344;
|
||
|
VtPointerDepth = 7;
|
||
|
VtDataType = 0;
|
||
|
VtDirType = 8;
|
||
|
VtRootType = 16;
|
||
|
VtMaxType = 17;
|
||
|
VtTypeDepthMask = 7;
|
||
|
VtEntryActive = 1;
|
||
|
VtEntryDir = 2;
|
||
|
VtEntryDepthShift = 2;
|
||
|
VtEntryDepthMask = 28;
|
||
|
VtEntryLocal = 32;
|
||
|
VtEntrySize = 40;
|
||
|
sizeofVtEntry = 40;
|
||
|
aggr VtEntry
|
||
|
{
|
||
|
'U' 0 gen;
|
||
|
'u' 4 psize;
|
||
|
'u' 6 dsize;
|
||
|
'b' 8 type;
|
||
|
'b' 9 flags;
|
||
|
'W' 12 size;
|
||
|
'a' 20 score;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
VtEntry(addr) {
|
||
|
complex VtEntry addr;
|
||
|
print(" gen ", addr.gen, "\n");
|
||
|
print(" psize ", addr.psize, "\n");
|
||
|
print(" dsize ", addr.dsize, "\n");
|
||
|
print(" type ", addr.type, "\n");
|
||
|
print(" flags ", addr.flags, "\n");
|
||
|
print(" size ", addr.size, "\n");
|
||
|
print(" score ", addr.score, "\n");
|
||
|
};
|
||
|
|
||
|
sizeofVtRoot = 300;
|
||
|
aggr VtRoot
|
||
|
{
|
||
|
'a' 0 name;
|
||
|
'a' 128 type;
|
||
|
'a' 256 score;
|
||
|
'u' 276 blocksize;
|
||
|
'a' 278 prev;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
VtRoot(addr) {
|
||
|
complex VtRoot addr;
|
||
|
print(" name ", addr.name, "\n");
|
||
|
print(" type ", addr.type, "\n");
|
||
|
print(" score ", addr.score, "\n");
|
||
|
print(" blocksize ", addr.blocksize, "\n");
|
||
|
print(" prev ", addr.prev, "\n");
|
||
|
};
|
||
|
|
||
|
VtRootSize = 300;
|
||
|
VtRootVersion = 2;
|
||
|
VtCryptoStrengthNone = 0;
|
||
|
VtCryptoStrengthAuth = 1;
|
||
|
VtCryptoStrengthWeak = 2;
|
||
|
VtCryptoStrengthStrong = 3;
|
||
|
VtCryptoNone = 0;
|
||
|
VtCryptoSSL3 = 1;
|
||
|
VtCryptoTLS1 = 2;
|
||
|
VtCryptoMax = 3;
|
||
|
VtCodecNone = 0;
|
||
|
VtCodecDeflate = 1;
|
||
|
VtCodecThwack = 2;
|
||
|
VtCodecMax = 3;
|
||
|
VtRerror = 1;
|
||
|
VtTping = 2;
|
||
|
VtRping = 3;
|
||
|
VtThello = 4;
|
||
|
VtRhello = 5;
|
||
|
VtTgoodbye = 6;
|
||
|
VtRgoodbye = 7;
|
||
|
VtTauth0 = 8;
|
||
|
VtRauth0 = 9;
|
||
|
VtTauth1 = 10;
|
||
|
VtRauth1 = 11;
|
||
|
VtTread = 12;
|
||
|
VtRread = 13;
|
||
|
VtTwrite = 14;
|
||
|
VtRwrite = 15;
|
||
|
VtTsync = 16;
|
||
|
VtRsync = 17;
|
||
|
VtTmax = 18;
|
||
|
sizeofVtFcall = 80;
|
||
|
aggr VtFcall
|
||
|
{
|
||
|
'b' 0 type;
|
||
|
'b' 1 tag;
|
||
|
'X' 4 error;
|
||
|
'X' 8 version;
|
||
|
'X' 12 uid;
|
||
|
'b' 16 strength;
|
||
|
'X' 20 crypto;
|
||
|
'U' 24 ncrypto;
|
||
|
'X' 28 codec;
|
||
|
'U' 32 ncodec;
|
||
|
'X' 36 sid;
|
||
|
'b' 40 rcrypto;
|
||
|
'b' 41 rcodec;
|
||
|
'X' 44 auth;
|
||
|
'U' 48 nauth;
|
||
|
'a' 52 score;
|
||
|
'b' 72 dtype;
|
||
|
'u' 74 count;
|
||
|
'X' 76 data;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
VtFcall(addr) {
|
||
|
complex VtFcall addr;
|
||
|
print(" type ", addr.type, "\n");
|
||
|
print(" tag ", addr.tag, "\n");
|
||
|
print(" error ", addr.error\X, "\n");
|
||
|
print(" version ", addr.version\X, "\n");
|
||
|
print(" uid ", addr.uid\X, "\n");
|
||
|
print(" strength ", addr.strength, "\n");
|
||
|
print(" crypto ", addr.crypto\X, "\n");
|
||
|
print(" ncrypto ", addr.ncrypto, "\n");
|
||
|
print(" codec ", addr.codec\X, "\n");
|
||
|
print(" ncodec ", addr.ncodec, "\n");
|
||
|
print(" sid ", addr.sid\X, "\n");
|
||
|
print(" rcrypto ", addr.rcrypto, "\n");
|
||
|
print(" rcodec ", addr.rcodec, "\n");
|
||
|
print(" auth ", addr.auth\X, "\n");
|
||
|
print(" nauth ", addr.nauth, "\n");
|
||
|
print(" score ", addr.score, "\n");
|
||
|
print(" dtype ", addr.dtype, "\n");
|
||
|
print(" count ", addr.count, "\n");
|
||
|
print(" data ", addr.data\X, "\n");
|
||
|
};
|
||
|
|
||
|
VtStateAlloc = 0;
|
||
|
VtStateConnected = 1;
|
||
|
VtStateClosed = 2;
|
||
|
sizeofVtConn = 1148;
|
||
|
aggr VtConn
|
||
|
{
|
||
|
QLock 0 lk;
|
||
|
QLock 16 inlk;
|
||
|
QLock 32 outlk;
|
||
|
'D' 48 debug;
|
||
|
'D' 52 infd;
|
||
|
'D' 56 outfd;
|
||
|
'D' 60 muxer;
|
||
|
'X' 64 writeq;
|
||
|
'X' 68 readq;
|
||
|
'D' 72 state;
|
||
|
'a' 76 wait;
|
||
|
'U' 1100 ntag;
|
||
|
'U' 1104 nsleep;
|
||
|
'X' 1108 part;
|
||
|
Rendez 1112 tagrend;
|
||
|
Rendez 1124 rpcfork;
|
||
|
'X' 1136 version;
|
||
|
'X' 1140 uid;
|
||
|
'X' 1144 sid;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
VtConn(addr) {
|
||
|
complex VtConn addr;
|
||
|
print("QLock lk {\n");
|
||
|
QLock(addr.lk);
|
||
|
print("}\n");
|
||
|
print("QLock inlk {\n");
|
||
|
QLock(addr.inlk);
|
||
|
print("}\n");
|
||
|
print("QLock outlk {\n");
|
||
|
QLock(addr.outlk);
|
||
|
print("}\n");
|
||
|
print(" debug ", addr.debug, "\n");
|
||
|
print(" infd ", addr.infd, "\n");
|
||
|
print(" outfd ", addr.outfd, "\n");
|
||
|
print(" muxer ", addr.muxer, "\n");
|
||
|
print(" writeq ", addr.writeq\X, "\n");
|
||
|
print(" readq ", addr.readq\X, "\n");
|
||
|
print(" state ", addr.state, "\n");
|
||
|
print(" wait ", addr.wait, "\n");
|
||
|
print(" ntag ", addr.ntag, "\n");
|
||
|
print(" nsleep ", addr.nsleep, "\n");
|
||
|
print(" part ", addr.part\X, "\n");
|
||
|
print("Rendez tagrend {\n");
|
||
|
Rendez(addr.tagrend);
|
||
|
print("}\n");
|
||
|
print("Rendez rpcfork {\n");
|
||
|
Rendez(addr.rpcfork);
|
||
|
print("}\n");
|
||
|
print(" version ", addr.version\X, "\n");
|
||
|
print(" uid ", addr.uid\X, "\n");
|
||
|
print(" sid ", addr.sid\X, "\n");
|
||
|
};
|
||
|
|
||
|
NilBlock = -1;
|
||
|
sizeofVtBlock = 88;
|
||
|
aggr VtBlock
|
||
|
{
|
||
|
'X' 0 c;
|
||
|
QLock 4 lk;
|
||
|
'X' 20 data;
|
||
|
'a' 24 score;
|
||
|
'b' 44 type;
|
||
|
'D' 48 nlock;
|
||
|
'D' 52 iostate;
|
||
|
'D' 56 ref;
|
||
|
'U' 60 heap;
|
||
|
'A' VtBlock 64 next;
|
||
|
'A' VtBlock 68 prev;
|
||
|
'U' 72 used;
|
||
|
'U' 76 used2;
|
||
|
'U' 80 addr;
|
||
|
'D' 84 decrypted;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
VtBlock(addr) {
|
||
|
complex VtBlock addr;
|
||
|
print(" c ", addr.c\X, "\n");
|
||
|
print("QLock lk {\n");
|
||
|
QLock(addr.lk);
|
||
|
print("}\n");
|
||
|
print(" data ", addr.data\X, "\n");
|
||
|
print(" score ", addr.score, "\n");
|
||
|
print(" type ", addr.type, "\n");
|
||
|
print(" nlock ", addr.nlock, "\n");
|
||
|
print(" iostate ", addr.iostate, "\n");
|
||
|
print(" ref ", addr.ref, "\n");
|
||
|
print(" heap ", addr.heap, "\n");
|
||
|
print(" next ", addr.next\X, "\n");
|
||
|
print(" prev ", addr.prev\X, "\n");
|
||
|
print(" used ", addr.used, "\n");
|
||
|
print(" used2 ", addr.used2, "\n");
|
||
|
print(" addr ", addr.addr, "\n");
|
||
|
print(" decrypted ", addr.decrypted, "\n");
|
||
|
};
|
||
|
|
||
|
VtOREAD = 0;
|
||
|
VtOWRITE = 1;
|
||
|
VtORDWR = 2;
|
||
|
VtOCREATE = 256;
|
||
|
BioLocal = 1;
|
||
|
BioVenti = 2;
|
||
|
BioReading = 3;
|
||
|
BioWriting = 4;
|
||
|
BioEmpty = 5;
|
||
|
BioVentiError = 6;
|
||
|
BadHeap = -1;
|
||
|
sizeofVtCache = 60;
|
||
|
aggr VtCache
|
||
|
{
|
||
|
QLock 0 lk;
|
||
|
'A' VtConn 16 z;
|
||
|
'U' 20 blocksize;
|
||
|
'U' 24 now;
|
||
|
'A' VtBlock 28 hash;
|
||
|
'D' 32 nhash;
|
||
|
'A' VtBlock 36 heap;
|
||
|
'D' 40 nheap;
|
||
|
'A' VtBlock 44 block;
|
||
|
'D' 48 nblock;
|
||
|
'X' 52 mem;
|
||
|
'D' 56 mode;
|
||
|
};
|
||
|
|
||
|
defn
|
||
|
VtCache(addr) {
|
||
|
complex VtCache addr;
|
||
|
print("QLock lk {\n");
|
||
|
QLock(addr.lk);
|
||
|
print("}\n");
|
||
|
print(" z ", addr.z\X, "\n");
|
||
|
print(" blocksize ", addr.blocksize, "\n");
|
||
|
print(" now ", addr.now, "\n");
|
||
|
print(" hash ", addr.hash\X, "\n");
|
||
|
print(" nhash ", addr.nhash, "\n");
|
||
|
print(" heap ", addr.heap\X, "\n");
|
||
|
print(" nheap ", addr.nheap, "\n");
|
||
|
print(" block ", addr.block\X, "\n");
|
||
|
print(" nblock ", addr.nblock, "\n");
|
||
|
print(" mem ", addr.mem\X, "\n");
|
||
|
print(" mode ", addr.mode, "\n");
|
||
|
};
|
||
|
|
||
|
complex VtConn vtcachealloc:z;
|
||
|
complex VtCache vtcachealloc:c;
|
||
|
complex VtBlock vtcachealloc:b;
|
||
|
complex VtCache vtcachefree:c;
|
||
|
complex VtCache vtcachedump:c;
|
||
|
complex VtBlock vtcachedump:b;
|
||
|
complex VtCache cachecheck:c;
|
||
|
complex VtBlock cachecheck:b;
|
||
|
complex VtBlock upheap:b;
|
||
|
complex VtBlock upheap:bb;
|
||
|
complex VtCache upheap:c;
|
||
|
complex VtBlock downheap:b;
|
||
|
complex VtBlock downheap:bb;
|
||
|
complex VtCache downheap:c;
|
||
|
complex VtBlock heapdel:b;
|
||
|
complex VtCache heapdel:c;
|
||
|
complex VtBlock heapins:b;
|
||
|
complex VtCache vtcachebumpblock:c;
|
||
|
complex VtBlock vtcachebumpblock:b;
|
||
|
complex VtCache vtcachelocal:c;
|
||
|
complex VtBlock vtcachelocal:b;
|
||
|
complex VtCache vtcacheallocblock:c;
|
||
|
complex VtBlock vtcacheallocblock:b;
|
||
|
complex VtCache vtcacheglobal:c;
|
||
|
complex VtBlock vtcacheglobal:b;
|
||
|
complex VtBlock vtblockduplock:b;
|
||
|
complex VtBlock vtblockput:b;
|
||
|
complex VtCache vtblockput:c;
|
||
|
complex VtBlock vtblockwrite:b;
|
||
|
complex VtCache vtblockwrite:c;
|
||
|
complex VtCache vtcacheblocksize:c;
|
||
|
complex VtBlock vtblockcopy:b;
|
||
|
complex VtBlock vtblockcopy:bb;
|