blob: 0b35693bfb5435047a9233cb440d6d3b19f63056 [file] [log] [blame]
Juan Cespedesac3db291998-04-25 14:31:58 +02001#if HAVE_CONFIG_H
2#include "config.h"
3#endif
4
Juan Cespedes5e01f651998-03-08 22:31:44 +01005#include <stdio.h>
Juan Cespedesa4850832002-03-03 02:37:50 +01006#include <sys/types.h>
Juan Cespedes5e01f651998-03-08 22:31:44 +01007
Ian Wienand2d45b1a2006-02-20 22:48:07 +01008extern FILE *output;
9extern int opt_a; /* default alignment column for results */
10extern int opt_c; /* count time, calls, and report a summary on program exit */
11extern int opt_d; /* debug */
12extern int opt_i; /* instruction pointer */
13extern int opt_s; /* default maximum # of bytes printed in strings */
14extern int opt_L; /* display library calls */
15extern int opt_S; /* display system calls */
16extern int opt_f; /* trace child processes */
17extern char *opt_u; /* username to run command as */
18extern int opt_r; /* print relative timestamp */
19extern int opt_t; /* print absolute timestamp */
20extern int opt_C; /* Demanglelow-level symbol names into user-level names */
21extern int opt_n; /* indent trace output according to program flow */
22extern int opt_T; /* show the time spent inside each call */
Juan Cespedes5e01f651998-03-08 22:31:44 +010023
24struct opt_p_t {
25 pid_t pid;
Ian Wienand2d45b1a2006-02-20 22:48:07 +010026 struct opt_p_t *next;
Juan Cespedes5e01f651998-03-08 22:31:44 +010027};
28
Juan Cespedesac3db291998-04-25 14:31:58 +020029struct opt_e_t {
Ian Wienand2d45b1a2006-02-20 22:48:07 +010030 char *name;
31 struct opt_e_t *next;
Juan Cespedesac3db291998-04-25 14:31:58 +020032};
33
Steve Fink58c73a72006-07-17 23:18:35 +020034struct opt_F_t {
35 char *filename;
36 struct opt_F_t *next;
37};
38
Paul Gilliam24e643a2006-03-13 18:43:13 +010039struct opt_x_t {
40 char *name;
41 int found;
42 struct opt_x_t *next;
43};
44
Ian Wienand2d45b1a2006-02-20 22:48:07 +010045extern struct opt_p_t *opt_p; /* attach to process with a given pid */
Juan Cespedes5e01f651998-03-08 22:31:44 +010046
Ian Wienand2d45b1a2006-02-20 22:48:07 +010047extern struct opt_e_t *opt_e; /* list of function names to display */
Juan Cespedesac3db291998-04-25 14:31:58 +020048extern int opt_e_enable; /* 0 if '!' is used, 1 otherwise */
49
Steve Fink58c73a72006-07-17 23:18:35 +020050extern struct opt_F_t *opt_F; /* alternate configuration file(s) */
51
Paul Gilliam24e643a2006-03-13 18:43:13 +010052extern struct opt_x_t *opt_x; /* list of functions to break at */
Ian Wienand9a2ad352006-02-20 22:44:45 +010053
Ian Wienand2d45b1a2006-02-20 22:48:07 +010054extern char **process_options(int argc, char **argv);