📄 defs.h
字号:
struct procfs_status status; int pfd_reg; int pfd_status;#endif};/* TCB flags */#define TCB_STARTUP 00001 /* We have just begun ptracing this process */#define TCB_INUSE 00002 /* This table entry is in use */#define TCB_INSYSCALL 00004 /* A system call is in progress */#define TCB_ATTACHED 00010 /* Process is not our own child */#define TCB_EXITING 00020 /* As far as we know, this process is exiting */#define TCB_SUSPENDED 00040 /* Process has done a wait(4), that can not be allowed to complete just now */#define TCB_BPTSET 00100 /* "Breakpoint" set after fork(2) */#define TCB_SIGTRAPPED 00200 /* Process wanted to block SIGTRAP */#define TCB_FOLLOWFORK 00400 /* Process should have forks followed */#define TCB_REPRINT 01000 /* We should reprint this syscall on exit */#ifdef LINUX#if defined(ALPHA) || defined(SPARC) || defined(POWERPC) || defined(HPPA)#define TCB_WAITEXECVE 02000 /* ignore SIGTRAP after exceve */#endif /* ALPHA */#endif /* LINUX *//* qualifier flags */#define QUAL_TRACE 0001 /* this system call should be traced */#define QUAL_ABBREV 0002 /* abbreviate the structures of this syscall */#define QUAL_VERBOSE 0004 /* decode the structures of this syscall */#define QUAL_RAW 0010 /* print all args in hex for this syscall */#define QUAL_SIGNAL 0020 /* report events with this signal */#define QUAL_FAULT 0040 /* report events with this fault */#define QUAL_READ 0100 /* dump data read on this file descriptor */#define QUAL_WRITE 0200 /* dump data written to this file descriptor */#define entering(tcp) (!((tcp)->flags & TCB_INSYSCALL))#define exiting(tcp) ((tcp)->flags & TCB_INSYSCALL)#define syserror(tcp) ((tcp)->u_error != 0)#define verbose(tcp) (qual_flags[(tcp)->scno] & QUAL_VERBOSE)#define abbrev(tcp) (qual_flags[(tcp)->scno] & QUAL_ABBREV)#define waiting_parent(tcp) \ (tcp->parent && \ (tcp->parent->flags & TCB_SUSPENDED) && \ (tcp->parent->waitpid <= 0 || tcp->parent->waitpid == tcp->pid))struct xlat { int val; char *str;};/* Format of syscall return values */#define RVAL_DECIMAL 000 /* decimal format */#define RVAL_HEX 001 /* hex format */#define RVAL_OCTAL 002 /* octal format */#define RVAL_UDECIMAL 003 /* unsigned decimal format */#define RVAL_LDECIMAL 004 /* long decimal format */#define RVAL_LHEX 005 /* long hex format */#define RVAL_LOCTAL 006 /* long octal format */#define RVAL_LUDECIMAL 007 /* long unsigned decimal format */#define RVAL_MASK 007 /* mask for these values */#define RVAL_STR 010 /* Print `auxstr' field after return val */#define RVAL_NONE 020 /* Print nothing */#ifndef offsetof#define offsetof(type, member) (((char *) &(((type *) NULL)->member)) - \ ((char *) (type *) NULL))#endif /* !offsetof *//* get offset of member within a user struct */#define uoff(member) offsetof(struct user, member)#define TRACE_FILE 001 /* Trace file-related syscalls. */#define TRACE_IPC 002 /* Trace IPC-related syscalls. */#define TRACE_NETWORK 004 /* Trace network-related syscalls. */#define TRACE_PROCESS 010 /* Trace process-related syscalls. */#define TRACE_SIGNAL 020 /* Trace signal-related syscalls. */extern struct tcb tcbtab[];extern int qual_flags[];extern int debug, followfork, followvfork;extern int rflag, tflag, dtime, cflag, xflag, qflag;extern int acolumn;extern char *outfname;extern int nprocs;extern int max_strlen;extern struct tcb *tcp_last;#ifdef __STDC__#define P(args) args#else#define P(args) ()#endifextern int set_personality P((int personality));extern char *xlookup P((struct xlat *, int));extern struct tcb *alloctcb P((int));extern void droptcb P((struct tcb *));extern void set_sortby P((char *));extern void set_overhead P((int));extern void qualify P((char *));extern void newoutf P((struct tcb *));extern int get_scno P((struct tcb *));extern int trace_syscall P((struct tcb *));extern void printxval P((struct xlat *, int, char *));extern int printargs P((struct tcb *));extern int addflags P((struct xlat *, int));extern int printflags P((struct xlat *, int));extern int umoven P((struct tcb *, long, int, char *));extern int umovestr P((struct tcb *, long, int, char *));extern int upeek P((int, long, long *));extern void dumpstr P((struct tcb *, long, int));extern void string_quote P((char *str));extern void printstr P((struct tcb *, long, int));extern void printnum P((struct tcb *, long, char *));extern void printpath P((struct tcb *, long));extern void printpathn P((struct tcb *, long, int));extern void printtv P((struct tcb *, long));extern void printsock P((struct tcb *, long, int));extern void printrusage P((struct tcb *, long));extern int clearbpt P((struct tcb *));extern int setbpt P((struct tcb *));extern int sigishandled P((struct tcb *, int));extern void printcall P((struct tcb *));extern char *signame P((int));extern void printsignal P((int));extern void printleader P((struct tcb *));extern void printtrailer P((struct tcb *));extern void tabto P((int));extern void call_summary P((FILE *));extern void fake_execve P((struct tcb *, char *, char *[], char *[]));extern void printtv32 P((struct tcb*, long));#ifdef LINUXextern int internal_clone P((struct tcb *));#endifextern int internal_fork P((struct tcb *));extern int internal_exec P((struct tcb *));extern int internal_wait P((struct tcb *));extern int internal_exit P((struct tcb *));extern char *ioctl_lookup P((long));extern int ioctl_decode P((struct tcb *, long, long));extern int term_ioctl P((struct tcb *, long, long));extern int sock_ioctl P((struct tcb *, long, long));extern int proc_ioctl P((struct tcb *, int, int));extern int stream_ioctl P((struct tcb *, int, int));extern void tv_tv P((struct timeval *, int, int));extern int tv_nz P((struct timeval *));extern int tv_cmp P((struct timeval *, struct timeval *));extern double tv_float P((struct timeval *));extern void tv_add P((struct timeval *, struct timeval *, struct timeval *));extern void tv_sub P((struct timeval *, struct timeval *, struct timeval *));extern void tv_mul P((struct timeval *, struct timeval *, int));extern void tv_div P((struct timeval *, struct timeval *, int));#ifdef SUNOS4extern int fixvfork P((struct tcb *));#endif#if !(defined(LINUX) && !defined(SPARC))extern long getrval2 P((struct tcb *));#endif#ifdef USE_PROCFSextern int proc_open P((struct tcb *tcp, int attaching));#endif#define umove(pid, addr, objp) \ umoven((pid), (addr), sizeof *(objp), (char *) (objp))#ifdef __STDC__#ifdef __GNUC__extern void tprintf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));#elseextern void tprintf(const char *fmt, ...);#endif#elseextern void tprintf();#endif#ifndef HAVE_STRERRORconst char *strerror P((int));#endif#ifndef HAVE_STRSIGNALconst char *strsignal P((int));#endifextern int current_personality;struct sysent { int nargs; int sys_flags; int (*sys_func)(); char *sys_name;};extern struct sysent *sysent;extern int nsyscalls;extern char **errnoent;extern int nerrnos;struct ioctlent { char *doth; char *symbol; unsigned long code;};extern struct ioctlent *ioctlent;extern int nioctlent;extern char **signalent;extern int nsignals;extern struct ioctlent *ioctlent;extern int nioctlents;extern char **signalent;extern int nsignals;extern struct ioctlent ioctlent0[];extern int nioctlents0;extern char *signalent0[];extern int nsignals0;#if SUPPORTED_PERSONALITIES >= 2extern struct ioctlent ioctlent1[];extern int nioctlents1;extern char *signalent1[];extern int nsignals1;#endif /* SUPPORTED_PERSONALITIES >= 2 */#if SUPPORTED_PERSONALITIES >= 3extern struct ioctlent ioctlent2[];extern int nioctlents2;extern char *signalent2[];extern int nsignals2;#endif /* SUPPORTED_PERSONALITIES >= 3 */#if FREEBSD/* ARRGH! off_t args are aligned on 64 bit boundaries! */#define ALIGN64(tcp,arg) \do { \ if (arg % 2) \ memmove (&tcp->u_arg[arg], &tcp->u_arg[arg + 1], \ (tcp->u_nargs - arg - 1) * sizeof tcp->u_arg[0]); \} while (0)#else#define ALIGN64(tcp,arg) do { } while (0)#endif#if HAVE_LONG_LONG/* _l refers to the lower numbered u_arg, * _h refers to the higher numbered u_arg */#if HAVE_LITTLE_ENDIAN_LONG_LONG#define LONG_LONG(_l,_h) \ ((long long)((unsigned long long)(_l) | ((unsigned long long)(_h)<<32)))#else#define LONG_LONG(_l,_h) \ ((long long)((unsigned long long)(_h) | ((unsigned long long)(_l)<<32)))#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -