*** empty log message ***
This commit is contained in:
		
							parent
							
								
									95151cb265
								
							
						
					
					
						commit
						efa9c84c8b
					
				
							
								
								
									
										72
									
								
								servers/pm/dmp.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								servers/pm/dmp.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,72 @@ | |||||||
|  | /* 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 <minix/callnr.h> | ||||||
|  | #include <minix/com.h> | ||||||
|  | #include <minix/keymap.h> | ||||||
|  | #include <signal.h> | ||||||
|  | #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; i<NR_PROCS; i++) { | ||||||
|  |   	mp = &mproc[i]; | ||||||
|  |   	if (mp->mp_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				     * | ||||||
|  |  *===========================================================================*/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -1,45 +0,0 @@ | |||||||
| #include "mm.h" |  | ||||||
| #include <minix/config.h> |  | ||||||
| #include <timers.h> |  | ||||||
| #include <string.h> |  | ||||||
| #include "../../kernel/const.h" |  | ||||||
| #include "../../kernel/type.h" |  | ||||||
| #include "../../kernel/proc.h" |  | ||||||
| 
 |  | ||||||
| /* The entry points into this file are:
 |  | ||||||
|  *   p_getmap:	get memory map of given process |  | ||||||
|  *   p_getsp:	get stack pointer of given process	 |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /*===========================================================================*
 |  | ||||||
|  *				p_getmap					     * |  | ||||||
|  *===========================================================================*/ |  | ||||||
| PUBLIC int p_getmap(proc_nr, mem_map) |  | ||||||
| int proc_nr;					/* process to get map of */ |  | ||||||
| struct mem_map *mem_map;			/* put memory map here */ |  | ||||||
| { |  | ||||||
|   struct proc p; |  | ||||||
|   int s; |  | ||||||
| 
 |  | ||||||
|   if ((s=sys_getproc(&p, proc_nr)) != OK) |  | ||||||
|   	return(s); |  | ||||||
|   memcpy(mem_map, p.p_memmap, sizeof(p.p_memmap)); |  | ||||||
|   return(OK); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /*===========================================================================*
 |  | ||||||
|  *				p_getsp					     * |  | ||||||
|  *===========================================================================*/ |  | ||||||
| PUBLIC int p_getsp(proc_nr, sp) |  | ||||||
| int proc_nr;					/* process to get sp of */ |  | ||||||
| vir_bytes *sp;					/* put stack pointer here */ |  | ||||||
| { |  | ||||||
|   struct proc p; |  | ||||||
|   int s; |  | ||||||
| 
 |  | ||||||
|   if ((s=sys_getproc(&p, proc_nr)) != OK) |  | ||||||
|   	return(s); |  | ||||||
|   *sp = p.p_reg.sp; |  | ||||||
|   return(OK); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jorrit Herder
						Jorrit Herder