From: John Hughes Date: Tue, 16 Oct 2001 18:19:52 +0000 (+0000) Subject: Decode some ssisys args on NSC X-Git-Tag: v4.5.18~1008 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0aadba459035fba110f77f44d0ea9f2b9f447baa;p=strace Decode some ssisys args on NSC --- diff --git a/ChangeLog b/ChangeLog index aacf89b5..930e8f0c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2001-10-16 John Hughes + + * system.c(sys_ssisys): decode some args for ssisys. + 2001-10-16 John Hughes * mem.c: MS_SYNC is zero, so must be first in xlat list. diff --git a/system.c b/system.c index da0aa144..ef4e0e4d 100644 --- a/system.c +++ b/system.c @@ -2010,6 +2010,7 @@ struct tcb *tcp; #ifdef HAVE_SYS_NSCSYS_H +struct cred; #include 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);