47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
/*
|
|
* Copyright (c) 1980, 1986 Regents of the University of California.
|
|
* All rights reserved. The Berkeley software License Agreement
|
|
* specifies the terms and conditions for redistribution.
|
|
*/
|
|
|
|
#ifndef _PTRACE_
|
|
#define _PTRACE_
|
|
|
|
#define PT_TRACE_ME 0 /* child declares it's being traced */
|
|
#define PT_READ_I 1 /* read word in child's I space */
|
|
#define PT_READ_D 2 /* read word in child's D space */
|
|
#define PT_READ_U 3 /* read word in child's user structure */
|
|
#define PT_WRITE_I 4 /* write word in child's I space */
|
|
#define PT_WRITE_D 5 /* write word in child's D space */
|
|
#define PT_WRITE_U 6 /* write word in child's user structure */
|
|
#define PT_CONTINUE 7 /* continue the child */
|
|
#define PT_KILL 8 /* kill the child process */
|
|
#define PT_STEP 9 /* single step the child */
|
|
|
|
/*
|
|
* Tracing variables.
|
|
* Used to pass trace command from
|
|
* parent to child being traced.
|
|
* This data base cannot be
|
|
* shared and is locked
|
|
* per user.
|
|
*/
|
|
struct ipc {
|
|
int ip_lock;
|
|
int ip_req;
|
|
int *ip_addr;
|
|
int ip_data;
|
|
};
|
|
|
|
#ifdef KERNEL
|
|
|
|
struct ipc ipc;
|
|
|
|
#else
|
|
|
|
int ptrace (int request, pid_t pid, void *addr, int data);
|
|
|
|
#endif
|
|
|
|
#endif
|