63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * This file mainly provides a definition of the structures used
 | |
|  * to describe the notes section of an ELF file. It doesn't have
 | |
|  * anything to do with the /proc file system, even though MINIX
 | |
|  * has one.
 | |
|  *
 | |
|  * The whole purpose of this file is for GDB and GDB only.
 | |
|  */
 | |
| 
 | |
| #ifndef _SYS_PROCFS_H_
 | |
| #define _SYS_PROCFS_H_
 | |
| 
 | |
| #include <sys/param.h>
 | |
| #include <sys/elf_core.h>
 | |
| #include <i386/stackframe.h>
 | |
| 
 | |
| /*
 | |
|  *
 | |
|  * These structures define an interface between core files and the debugger.
 | |
|  * Never change or delete any elements. These structures are modeled from
 | |
|  * the file with the same name from FreeBSD
 | |
|  * 
 | |
|  * A lot more things should be added to these structures.  At present,
 | |
|  * they contain the absolute bare minimum required to allow GDB to work
 | |
|  * with ELF core dumps.
 | |
|  */
 | |
| 
 | |
| /*
 | |
|  * The parenthsized numbers like (1) indicate the minimum version number
 | |
|  * for which each element exists in the structure.
 | |
|  */
 | |
| 
 | |
| #define PRSTATUS_VERSION	1	/* Current version of prstatus_t */
 | |
| 
 | |
| typedef struct prstatus {
 | |
|     int		pr_version;	/* Version number of struct (1) */
 | |
|     size_t	pr_statussz;	/* sizeof(prstatus_t) (1) */
 | |
|     size_t	pr_gregsetsz;	/* sizeof(gregset_t) (1) */
 | |
|     size_t	pr_fpregsetsz;	/* sizeof(fpregset_t) (1) */
 | |
|     int		pr_osreldate;	/* Kernel version (1) */
 | |
|     int		pr_cursig;	/* Current signal (1) */
 | |
|     pid_t	pr_pid;		/* Process ID (1) */
 | |
|     gregset_t	pr_reg;		/* General purpose registers (1) */
 | |
| } prstatus_t;
 | |
| 
 | |
| #define PRARGSZ		80	/* Maximum argument bytes saved */
 | |
| 
 | |
| #ifndef MAXCOMLEN
 | |
| # define MAXCOMLEN      16      /* Maximum command line arguments */
 | |
| #endif
 | |
| 
 | |
| #define PRPSINFO_VERSION	1	/* Current version of prpsinfo_t */
 | |
| 
 | |
| typedef struct prpsinfo {
 | |
|     int		pr_version;	/* Version number of struct (1) */
 | |
|     size_t	pr_psinfosz;	/* sizeof(prpsinfo_t) (1) */
 | |
|     char	pr_fname[MAXCOMLEN+1];	/* Command name, null terminated (1) */
 | |
|     char	pr_psargs[PRARGSZ+1];	/* Arguments, null terminated (1) */
 | |
| } prpsinfo_t;
 | |
| 
 | |
| #endif /* _SYS_PROCFS_H_ */
 | |
| 
 | 
