OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.3/] [gdb/] [proc-utils.h] - Blame information for rev 1775

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1181 sfurman
/* Machine independent support for SVR4 /proc (process file system) for GDB.
2
   Copyright 1999, 2000 Free Software Foundation, Inc.
3
 
4
This file is part of GDB.
5
 
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2 of the License, or
9
(at your option) any later version.
10
 
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
GNU General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with this program; if not, write to the Free Software Foundation,
18
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
19
 
20
 
21
/*
22
 * Pretty-print functions for /proc data
23
 */
24
 
25
extern void
26
proc_prettyprint_why (unsigned long why, unsigned long what, int verbose);
27
 
28
extern void
29
proc_prettyprint_syscalls (sysset_t *sysset, int verbose);
30
 
31
extern void
32
proc_prettyprint_syscall (int num, int verbose);
33
 
34
extern void proc_prettyprint_flags (unsigned long flags, int verbose);
35
 
36
extern void
37
proc_prettyfprint_signalset (FILE *file, sigset_t *sigset, int verbose);
38
 
39
extern void
40
proc_prettyfprint_faultset (FILE *file, fltset_t *fltset, int verbose);
41
 
42
extern void
43
proc_prettyfprint_syscall (FILE *file, int num, int verbose);
44
 
45
extern void
46
proc_prettyfprint_signal (FILE *file, int signo, int verbose);
47
 
48
extern void
49
proc_prettyfprint_flags (FILE *file, unsigned long flags, int verbose);
50
 
51
extern void
52
proc_prettyfprint_why (FILE *file, unsigned long why,
53
                       unsigned long what, int verbose);
54
 
55
extern void
56
proc_prettyfprint_fault (FILE *file, int faultno, int verbose);
57
 
58
extern void
59
proc_prettyfprint_syscalls (FILE *file, sysset_t *sysset, int verbose);
60
 
61
extern void
62
proc_prettyfprint_status (long, int, int, int);
63
 
64
/*
65
 * Trace functions for /proc api.
66
 */
67
 
68
extern  int   write_with_trace (int, void *, size_t, char *, int);
69
extern  off_t lseek_with_trace (int, off_t,  int,    char *, int);
70
extern  int   ioctl_with_trace (int, long, void *, char *, int);
71
extern  pid_t wait_with_trace  (int *, char *, int);
72
extern  int   open_with_trace  (char *, int, char *, int);
73
extern  int   close_with_trace (int, char *, int);
74
extern  void  procfs_note      (char *, char *, int);
75
 
76
#ifdef PROCFS_TRACE
77
/*
78
 * Debugging code:
79
 *
80
 * These macros allow me to trace the system calls that we make
81
 * to control the child process.  This is quite handy for comparing
82
 * with the older version of procfs.
83
 */
84
 
85
#define write(X,Y,Z)   write_with_trace (X, Y, Z, __FILE__, __LINE__)
86
#define lseek(X,Y,Z)   lseek_with_trace (X, Y, Z, __FILE__, __LINE__)
87
#define ioctl(X,Y,Z)   ioctl_with_trace (X, Y, Z, __FILE__, __LINE__)
88
#define open(X,Y)      open_with_trace  (X, Y,    __FILE__, __LINE__)
89
#define close(X)       close_with_trace (X,       __FILE__, __LINE__)
90
#define wait(X)        wait_with_trace  (X,       __FILE__, __LINE__)
91
#endif
92
#define PROCFS_NOTE(X) procfs_note      (X,       __FILE__, __LINE__)
93
#define PROC_PRETTYFPRINT_STATUS(X,Y,Z,T) \
94
     proc_prettyfprint_status (X, Y, Z, T)
95
 
96
/* Define the type (and more importantly the width) of the control
97
   word used to write to the /proc/PID/ctl file. */
98
#if defined (PROC_CTL_WORD_TYPE)
99
typedef PROC_CTL_WORD_TYPE procfs_ctl_t;
100
#else
101
typedef long procfs_ctl_t;
102
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.