X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/1c79356b52d46aa6b508fb032f5ae709b1f2897b..c6bf4f310a33a9262d455ea4d3f0630b1255e3fe:/bsd/sys/ptrace.h?ds=sidebyside diff --git a/bsd/sys/ptrace.h b/bsd/sys/ptrace.h index 5304ecdef..2f380b5dc 100644 --- a/bsd/sys/ptrace.h +++ b/bsd/sys/ptrace.h @@ -1,23 +1,29 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ - * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. - * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. The rights granted to you under the License + * may not be used to create, or enable the creation or redistribution of, + * unlawful or unlicensed copies of an Apple operating system, or to + * circumvent, violate, or enable the circumvention or violation of, any + * terms of an Apple operating system software license agreement. + * + * Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. - * - * @APPLE_LICENSE_HEADER_END@ + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ /*- @@ -55,36 +61,46 @@ * @(#)ptrace.h 8.2 (Berkeley) 1/4/94 */ -#ifndef _SYS_PTRACE_H_ -#define _SYS_PTRACE_H_ +#ifndef _SYS_PTRACE_H_ +#define _SYS_PTRACE_H_ -#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 */ -#define PT_ATTACH 10 /* trace some running process */ -#define PT_DETACH 11 /* stop tracing a process */ +#include +#include -#define PT_FIRSTMACH 32 /* for machine-specific requests */ -#include /* machine-specific requests, if any */ +enum { + ePtAttachDeprecated __deprecated_enum_msg("PT_ATTACH is deprecated. See PT_ATTACHEXC") = 10 +}; -#ifdef KERNEL -void proc_reparent __P((struct proc *child, struct proc *newparent)); -#else /* !KERNEL */ +#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 */ +#define PT_ATTACH ePtAttachDeprecated /* trace some running process */ +#define PT_DETACH 11 /* stop tracing a process */ +#define PT_SIGEXC 12 /* signals as exceptions for current_proc */ +#define PT_THUPDATE 13 /* signal for thread# */ +#define PT_ATTACHEXC 14 /* attach to running process with signal exception */ -#include +#define PT_FORCEQUOTA 30 /* Enforce quota for root */ +#define PT_DENY_ATTACH 31 + +#define PT_FIRSTMACH 32 /* for machine-specific requests */ __BEGIN_DECLS -int ptrace __P((int _request, pid_t _pid, caddr_t _addr, int _data)); -__END_DECLS + +#ifndef KERNEL + +int ptrace(int _request, pid_t _pid, caddr_t _addr, int _data); #endif /* !KERNEL */ -#endif /* !_SYS_PTRACE_H_ */ +__END_DECLS + +#endif /* !_SYS_PTRACE_H_ */