/* This file contains procedures to dump to PM' data structures. * * The entry points into this file are * do_fkey_pressed: a function key was pressed * mproc_dump: display PM process table * * Created: * May 11, 2005: by Jorrit N. Herder */ #include "pm.h" #include #include #include #include #include "mproc.h" FORWARD _PROTOTYPE( void mproc_dmp, (void)); /*===========================================================================* * do_fkey_pressed * *===========================================================================*/ PUBLIC int do_fkey_pressed(void) { printf("Process Manager debug dump: "); switch (m_in.FKEY_CODE) { case SF7: mproc_dmp(); break; default: printf("PM: unhandled notification for Shift+F%d key.\n", m_in.FKEY_NUM); } } /*===========================================================================* * mproc_dmp * *===========================================================================*/ PRIVATE void mproc_dmp() { struct mproc *mp; int i, n=0; static int prev_i; printf("Process Table\n"); printf("-process- -nr-prnt- -pid/grp- --uid---gid-- -flags- --ignore--catch--block--\n"); for (i=prev_i; imp_pid <= 0) continue; if (++n > 22) break; printf("%8.8s %4d%4d %4d%4d ", mp->mp_name, i, mp->mp_parent, mp->mp_pid, mp->mp_procgrp); printf("%d (%d) %d (%d) ", mp->mp_realuid, mp->mp_effuid, mp->mp_realgid, mp->mp_effgid); printf("0x%04x ", mp->mp_flags); printf("0x%04x 0x%04x 0x%04x", mp->mp_ignore, mp->mp_catch, mp->mp_sigmask); printf("\n"); } if (i >= NR_PROCS) i = 0; else printf("--more--\r"); prev_i = i; } /*===========================================================================* * ...._dmp * *===========================================================================*/