diff options
author | John Hughes <john@Calva.COM> | 2001-10-16 18:19:52 +0000 |
---|---|---|
committer | John Hughes <john@Calva.COM> | 2001-10-16 18:19:52 +0000 |
commit | 0aadba459035fba110f77f44d0ea9f2b9f447baa (patch) | |
tree | 783e4012811cf923122f72022aa7cec797936afe /system.c | |
parent | aca07f3d18014509eaa1b51890d5f1c2976ac2c3 (diff) | |
download | strace-0aadba459035fba110f77f44d0ea9f2b9f447baa.tar.gz strace-0aadba459035fba110f77f44d0ea9f2b9f447baa.tar.bz2 strace-0aadba459035fba110f77f44d0ea9f2b9f447baa.tar.xz |
Decode some ssisys args on NSC
Diffstat (limited to 'system.c')
-rw-r--r-- | system.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -2010,6 +2010,7 @@ struct tcb *tcp; #ifdef HAVE_SYS_NSCSYS_H +struct cred; #include <sys/nscsys.h> static struct xlat ssi_cmd [] = { @@ -2065,6 +2066,8 @@ struct tcb *tcp; struct ssisys_iovec iov; if (entering (tcp)) { + ts_reclaim_child_inargs_t trc; + cls_nodeinfo_args_t cni; if (tcp->u_arg[1] != sizeof iov || umove (tcp, tcp->u_arg[0], &iov) < 0) { @@ -2075,7 +2078,22 @@ struct tcb *tcp; printxval(ssi_cmd, iov.tio_id.id_cmd, "SSISYS_???"); tprintf (":%d", iov.tio_id.id_ver); switch (iov.tio_id.id_cmd) { + case SSISYS_RECLAIM_CHILD: + if (iov.tio_udatainlen != sizeof trc || + umove (tcp, (long) iov.tio_udatain, &trc) < 0) + goto bad; + tprintf (", in={pid=%ld, start=%ld}", + trc.trc_pid, trc.trc_start); + break; + case SSISYS_CLUSTERNODE_INFO: + if (iov.tio_udatainlen != sizeof cni || + umove (tcp, (long) iov.tio_udatain, &cni) < 0) + goto bad; + tprintf (", in={node=%ld, len=%d}", + cni.nodenum, cni.info_len); + break; default: + bad: if (iov.tio_udatainlen) { tprintf (", in=[/* %d bytes */]", iov.tio_udatainlen); |