Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

sizeof_1_ = 8;
aggr _1_
{
        'D' 0 quot;
        'D' 4 rem;
};

defn
_1_(addr) {
        complex _1_ addr;
        print(" quot    ", addr.quot, "\n");
        print(" rem     ", addr.rem, "\n");
};

sizeof_2_ = 8;
aggr _2_
{
        'D' 0 quot;
        'D' 4 rem;
};

defn
_2_(addr) {
        complex _2_ addr;
        print(" quot    ", addr.quot, "\n");
        print(" rem     ", addr.rem, "\n");
};

sizeofsigaction = 12;
aggr sigaction
{
        'X' 0 sa_handler;
        'D' 4 sa_mask;
        'D' 8 sa_flags;
};

defn
sigaction(addr) {
        complex sigaction addr;
        print(" sa_handler      ", addr.sa_handler\X, "\n");
        print(" sa_mask ", addr.sa_mask, "\n");
        print(" sa_flags        ", addr.sa_flags, "\n");
};

sizeof_3_ = 32;
aggr _3_
{
        'D' 0 fd;
        'C' 4 flags;
        'C' 5 state;
        'X' 8 buf;
        'X' 12 rp;
        'X' 16 wp;
        'X' 20 lp;
        'U' 24 bufl;
        'a' 28 unbuf;
};

defn
_3_(addr) {
        complex _3_ addr;
        print(" fd      ", addr.fd, "\n");
        print(" flags   ", addr.flags, "\n");
        print(" state   ", addr.state, "\n");
        print(" buf     ", addr.buf\X, "\n");
        print(" rp      ", addr.rp\X, "\n");
        print(" wp      ", addr.wp\X, "\n");
        print(" lp      ", addr.lp\X, "\n");
        print(" bufl    ", addr.bufl, "\n");
        print(" unbuf   ", addr.unbuf, "\n");
};

sizeof_4_ = 4;
aggr _4_
{
        'D' 0 val;
};

defn
_4_(addr) {
        complex _4_ addr;
        print(" val     ", addr.val, "\n");
};

sizeoftimeval = 8;
aggr timeval
{
        'D' 0 tv_sec;
        'D' 4 tv_usec;
};

defn
timeval(addr) {
        complex timeval addr;
        print(" tv_sec  ", addr.tv_sec, "\n");
        print(" tv_usec ", addr.tv_usec, "\n");
};

sizeoftimezone = 8;
aggr timezone
{
        'D' 0 tz_minuteswest;
        'D' 4 tz_dsttime;
};

defn
timezone(addr) {
        complex timezone addr;
        print(" tz_minuteswest  ", addr.tz_minuteswest, "\n");
        print(" tz_dsttime      ", addr.tz_dsttime, "\n");
};

sizeoffd_set = 12;
aggr fd_set
{
        'a' 0 fds_bits;
};

defn
fd_set(addr) {
        complex fd_set addr;
        mem(addr, "3X");
};

sizeofstat = 28;
aggr stat
{
        'u' 0 st_dev;
        'u' 2 st_ino;
        'u' 4 st_mode;
        'd' 6 st_nlink;
        'd' 8 st_uid;
        'd' 10 st_gid;
        'D' 12 st_size;
        'D' 16 st_atime;
        'D' 20 st_mtime;
        'D' 24 st_ctime;
};

defn
stat(addr) {
        complex stat addr;
        print(" st_dev  ", addr.st_dev, "\n");
        print(" st_ino  ", addr.st_ino, "\n");
        print(" st_mode ", addr.st_mode, "\n");
        print(" st_nlink        ", addr.st_nlink, "\n");
        print(" st_uid  ", addr.st_uid, "\n");
        print(" st_gid  ", addr.st_gid, "\n");
        print(" st_size ", addr.st_size, "\n");
        print(" st_atime        ", addr.st_atime, "\n");
        print(" st_mtime        ", addr.st_mtime, "\n");
        print(" st_ctime        ", addr.st_ctime, "\n");
};

sizeofflock = 16;
aggr flock
{
        'd' 0 l_type;
        'd' 2 l_whence;
        'D' 4 l_start;
        'D' 8 l_len;
        'D' 12 l_pid;
};

defn
flock(addr) {
        complex flock addr;
        print(" l_type  ", addr.l_type, "\n");
        print(" l_whence        ", addr.l_whence, "\n");
        print(" l_start ", addr.l_start, "\n");
        print(" l_len   ", addr.l_len, "\n");
        print(" l_pid   ", addr.l_pid, "\n");
};

sizeofdirent = 28;
aggr dirent
{
        'a' 0 d_name;
};

defn
dirent(addr) {
        complex dirent addr;
        print(" d_name  ", addr.d_name, "\n");
};

sizeof_dirdesc = 16;
aggr _dirdesc
{
        'D' 0 dd_fd;
        'D' 4 dd_loc;
        'D' 8 dd_size;
        'X' 12 dd_buf;
};

defn
_dirdesc(addr) {
        complex _dirdesc addr;
        print(" dd_fd   ", addr.dd_fd, "\n");
        print(" dd_loc  ", addr.dd_loc, "\n");
        print(" dd_size ", addr.dd_size, "\n");
        print(" dd_buf  ", addr.dd_buf\X, "\n");
};

sizeoftermios = 28;
aggr termios
{
        'U' 0 c_iflag;
        'U' 4 c_oflag;
        'U' 8 c_cflag;
        'U' 12 c_lflag;
        'a' 16 c_cc;
};

defn
termios(addr) {
        complex termios addr;
        print(" c_iflag ", addr.c_iflag, "\n");
        print(" c_oflag ", addr.c_oflag, "\n");
        print(" c_cflag ", addr.c_cflag, "\n");
        print(" c_lflag ", addr.c_lflag, "\n");
        print(" c_cc    ", addr.c_cc, "\n");
};

sizeofutsname = 20;
aggr utsname
{
        'X' 0 sysname;
        'X' 4 nodename;
        'X' 8 release;
        'X' 12 version;
        'X' 16 machine;
};

defn
utsname(addr) {
        complex utsname addr;
        print(" sysname ", addr.sysname\X, "\n");
        print(" nodename        ", addr.nodename\X, "\n");
        print(" release ", addr.release\X, "\n");
        print(" version ", addr.version\X, "\n");
        print(" machine ", addr.machine\X, "\n");
};

sizeofMuxbuf = 16400;
aggr Muxbuf
{
        'D' 0 n;
        'X' 4 putnext;
        'X' 8 getnext;
        'b' 12 fd;
        'b' 13 eof;
        'b' 14 roomwait;
        'b' 15 datawait;
        'a' 16 data;
};

defn
Muxbuf(addr) {
        complex Muxbuf addr;
        print(" n       ", addr.n, "\n");
        print(" putnext ", addr.putnext\X, "\n");
        print(" getnext ", addr.getnext\X, "\n");
        print(" fd      ", addr.fd, "\n");
        print(" eof     ", addr.eof, "\n");
        print(" roomwait        ", addr.roomwait, "\n");
        print(" datawait        ", addr.datawait, "\n");
        print(" data    ", addr.data, "\n");
};

sizeofFdinfo = 16;
aggr Fdinfo
{
        'U' 0 flags;
        'U' 4 oflags;
        'X' 8 name;
        'A' Muxbuf 12 buf;
};

defn
Fdinfo(addr) {
        complex Fdinfo addr;
        print(" flags   ", addr.flags, "\n");
        print(" oflags  ", addr.oflags, "\n");
        print(" name    ", addr.name\X, "\n");
        print(" buf     ", addr.buf\X, "\n");
};

sizeofWaitmsg = 112;
aggr Waitmsg
{
        'a' 0 pid;
        'a' 12 time;
        'a' 48 msg;
};

defn
Waitmsg(addr) {
        complex Waitmsg addr;
        print(" pid     ", addr.pid, "\n");
        print(" time    ", addr.time, "\n");
        print(" msg     ", addr.msg, "\n");
};

sizeof_5_ = 8;
aggr _5_
{
        'D' 0 hlength;
        'D' 4 length;
};

defn
_5_(addr) {
        complex _5_ addr;
        print(" hlength ", addr.hlength, "\n");
        print(" length  ", addr.length, "\n");
};

sizeof_6_ = 8;
aggr _6_
{
        'a' 0 clength;
        'D' 0 vlength;
        {
        'D' 0 hlength;
        'D' 4 length;
        };
};

defn
_6_(addr) {
        complex _6_ addr;
        print(" clength ", addr.clength, "\n");
        print(" vlength ", addr.vlength, "\n");
        print("_5_ {\n");
                _5_(addr+0);
        print("}\n");
};

sizeofQid = 8;
aggr Qid
{
        'U' 0 path;
        'U' 4 vers;
};

defn
Qid(addr) {
        complex Qid addr;
        print(" path    ", addr.path, "\n");
        print(" vers    ", addr.vers, "\n");
};

sizeofDir = 116;
aggr Dir
{
        'a' 0 name;
        'a' 28 uid;
        'a' 56 gid;
        Qid 84 qid;
        'U' 92 mode;
        'D' 96 atime;
        'D' 100 mtime;
        {
        'a' 104 clength;
        'D' 104 vlength;
        {
        'D' 104 hlength;
        'D' 108 length;
        };
        };
        'd' 112 type;
        'd' 114 dev;
};

defn
Dir(addr) {
        complex Dir addr;
        print(" name    ", addr.name, "\n");
        print(" uid     ", addr.uid, "\n");
        print(" gid     ", addr.gid, "\n");
        print("Qid qid {\n");
        Qid(addr.qid);
        print("}\n");
        print(" mode    ", addr.mode, "\n");
        print(" atime   ", addr.atime, "\n");
        print(" mtime   ", addr.mtime, "\n");
        print("_6_ {\n");
                _6_(addr+104);
        print("}\n");
        print(" type    ", addr.type, "\n");
        print(" dev     ", addr.dev, "\n");
};

sizeof_7_ = 28;
aggr _7_
{
        'u' 0 oldtag;
        Qid 4 qid;
        'a' 12 rauth;
};

defn
_7_(addr) {
        complex _7_ addr;
        print(" oldtag  ", addr.oldtag, "\n");
        print("Qid qid {\n");
        Qid(addr.qid);
        print("}\n");
        print(" rauth   ", addr.rauth, "\n");
};

sizeof_8_ = 144;
aggr _8_
{
        'a' 0 uname;
        'a' 28 aname;
        'a' 56 ticket;
        'a' 128 auth;
};

defn
_8_(addr) {
        complex _8_ addr;
        print(" uname   ", addr.uname, "\n");
        print(" aname   ", addr.aname, "\n");
        print(" ticket  ", addr.ticket, "\n");
        print(" auth    ", addr.auth, "\n");
};

sizeof_9_ = 148;
aggr _9_
{
        'a' 0 ename;
        'a' 64 authid;
        'a' 92 authdom;
        'a' 140 chal;
};

defn
_9_(addr) {
        complex _9_ addr;
        print(" ename   ", addr.ename, "\n");
        print(" authid  ", addr.authid, "\n");
        print(" authdom ", addr.authdom, "\n");
        print(" chal    ", addr.chal, "\n");
};

sizeof_10_ = 36;
aggr _10_
{
        'D' 0 perm;
        'd' 4 newfid;
        'a' 6 name;
        'C' 34 mode;
};

defn
_10_(addr) {
        complex _10_ addr;
        print(" perm    ", addr.perm, "\n");
        print(" newfid  ", addr.newfid, "\n");
        print(" name    ", addr.name, "\n");
        print(" mode    ", addr.mode, "\n");
};

sizeof_11_ = 12;
aggr _11_
{
        'D' 0 offset;
        'D' 4 count;
        'X' 8 data;
};

defn
_11_(addr) {
        complex _11_ addr;
        print(" offset  ", addr.offset, "\n");
        print(" count   ", addr.count, "\n");
        print(" data    ", addr.data\X, "\n");
};

sizeof_12_ = 116;
aggr _12_
{
        'a' 0 stat;
};

defn
_12_(addr) {
        complex _12_ addr;
        print(" stat    ", addr.stat, "\n");
};

sizeof_13_ = 148;
aggr _13_
{
        {
        'u' 0 oldtag;
        Qid 4 qid;
        'a' 12 rauth;
        };
        {
        'a' 0 uname;
        'a' 28 aname;
        'a' 56 ticket;
        'a' 128 auth;
        };
        {
        'a' 0 ename;
        'a' 64 authid;
        'a' 92 authdom;
        'a' 140 chal;
        };
        {
        'D' 0 perm;
        'd' 4 newfid;
        'a' 6 name;
        'C' 34 mode;
        };
        {
        'D' 0 offset;
        'D' 4 count;
        'X' 8 data;
        };
        {
        'a' 0 stat;
        };
};

defn
_13_(addr) {
        complex _13_ addr;
        print("_7_ {\n");
                _7_(addr+0);
        print("}\n");
        print("_8_ {\n");
                _8_(addr+0);
        print("}\n");
        print("_9_ {\n");
                _9_(addr+0);
        print("}\n");
        print("_10_ {\n");
                _10_(addr+0);
        print("}\n");
        print("_11_ {\n");
                _11_(addr+0);
        print("}\n");
        print("_12_ {\n");
                _12_(addr+0);
        print("}\n");
};

sizeofFcall = 156;
aggr Fcall
{
        'C' 0 type;
        'd' 2 fid;
        'u' 4 tag;
        {
        {
        'u' 8 oldtag;
        Qid 12 qid;
        'a' 20 rauth;
        };
        {
        'a' 8 uname;
        'a' 36 aname;
        'a' 64 ticket;
        'a' 136 auth;
        };
        {
        'a' 8 ename;
        'a' 72 authid;
        'a' 100 authdom;
        'a' 148 chal;
        };
        {
        'D' 8 perm;
        'd' 12 newfid;
        'a' 14 name;
        'C' 42 mode;
        };
        {
        'D' 8 offset;
        'D' 12 count;
        'X' 16 data;
        };
        {
        'a' 8 stat;
        };
        };
};

defn
Fcall(addr) {
        complex Fcall addr;
        print(" type    ", addr.type, "\n");
        print(" fid     ", addr.fid, "\n");
        print(" tag     ", addr.tag, "\n");
        print("_13_ {\n");
                _13_(addr+8);
        print("}\n");
};

sizeofMuxbuf = 16400;
aggr Muxbuf
{
        'D' 0 n;
        'X' 4 putnext;
        'X' 8 getnext;
        'b' 12 fd;
        'b' 13 eof;
        'b' 14 roomwait;
        'b' 15 datawait;
        'a' 16 data;
};

defn
Muxbuf(addr) {
        complex Muxbuf addr;
        print(" n       ", addr.n, "\n");
        print(" putnext ", addr.putnext\X, "\n");
        print(" getnext ", addr.getnext\X, "\n");
        print(" fd      ", addr.fd, "\n");
        print(" eof     ", addr.eof, "\n");
        print(" roomwait        ", addr.roomwait, "\n");
        print(" datawait        ", addr.datawait, "\n");
        print(" data    ", addr.data, "\n");
};

sizeofFdinfo = 16;
aggr Fdinfo
{
        'U' 0 flags;
        'U' 4 oflags;
        'X' 8 name;
        'A' Muxbuf 12 buf;
};

defn
Fdinfo(addr) {
        complex Fdinfo addr;
        print(" flags   ", addr.flags, "\n");
        print(" oflags  ", addr.oflags, "\n");
        print(" name    ", addr.name\X, "\n");
        print(" buf     ", addr.buf\X, "\n");
};

sizeofWaitmsg = 112;
aggr Waitmsg
{
        'a' 0 pid;
        'a' 12 time;
        'a' 48 msg;
};

defn
Waitmsg(addr) {
        complex Waitmsg addr;
        print(" pid     ", addr.pid, "\n");
        print(" time    ", addr.time, "\n");
        print(" msg     ", addr.msg, "\n");
};

sizeofMuxseg = 65640;
aggr Muxseg
{
        _4_ 0 lock;
        'D' 4 curfds;
        'D' 8 selwait;
        'D' 12 waittime;
        fd_set 16 rwant;
        fd_set 28 ewant;
        'a' 40 bufs;
};

defn
Muxseg(addr) {
        complex Muxseg addr;
        print("_4_ lock {\n");
        _4_(addr.lock);
        print("}\n");
        print(" curfds  ", addr.curfds, "\n");
        print(" selwait ", addr.selwait, "\n");
        print(" waittime        ", addr.waittime, "\n");
        print("fd_set rwant {\n");
        fd_set(addr.rwant);
        print("}\n");
        print("fd_set ewant {\n");
        fd_set(addr.ewant);
        print("}\n");
        print(" bufs    ", addr.bufs, "\n");
};

complex Muxseg mux;
complex Fdinfo _startbuf:f;
complex Muxbuf _startbuf:b;
complex Muxbuf _copyproc:b;
complex Muxbuf _readbuf:b;
complex fd_set select:rfds;
complex fd_set select:wfds;
complex fd_set select:efds;
complex timeval select:timeout;
complex Fdinfo select:f;
complex Muxbuf select:b;