X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/0c530ab8987f0ae6a1a3d9284f40182b88852816..2d21ac55c334faf3a56e5634905ed6987fc787d4:/bsd/sys/ktrace.h diff --git a/bsd/sys/ktrace.h b/bsd/sys/ktrace.h deleted file mode 100644 index 61787233d..000000000 --- a/bsd/sys/ktrace.h +++ /dev/null @@ -1,217 +0,0 @@ -/* - * 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 - * 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ktrace.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/sys/sys/ktrace.h,v 1.19.2.3 2001/01/06 09:58:23 alfred Exp $ - */ - -#ifndef _SYS_KTRACE_H_ -#define _SYS_KTRACE_H_ - -#include - -#ifdef MACH_KERNEL_PRIVATE - -void ktrsyscall(void *, int, int, void *); -void ktrsysret(void *, int, int, int); - -#else -#ifdef __APPLE_API_UNSTABLE -/* - * operations to ktrace system call (KTROP(op)) - */ -#define KTROP_SET 0 /* set trace points */ -#define KTROP_CLEAR 1 /* clear trace points */ -#define KTROP_CLEARFILE 2 /* stop all tracing to file */ -#define KTROP(o) ((o)&3) /* macro to extract operation */ -/* - * flags (ORed in with operation) - */ -#define KTRFLAG_DESCEND 4 /* perform op on all children too */ - -/* - * ktrace record header - * - * LP64todo: not 64-bit safe - */ -struct ktr_header { - int ktr_len; /* length of buf */ - short ktr_type; /* trace record type */ - pid_t ktr_pid; /* process id */ - char ktr_comm[MAXCOMLEN+1]; /* command name */ - struct timeval ktr_time; /* timestamp */ - caddr_t ktr_buf; -}; - -/* - * Test for kernel trace point - */ -#define KTRPOINT(p, type) \ - (((p)->p_traceflag & ((1<<(type))|KTRFAC_ACTIVE)) == (1<<(type))) - -/* - * ktrace record types - */ - -/* - * KTR_SYSCALL - system call record - */ -#define KTR_SYSCALL 1 -struct ktr_syscall { - short ktr_code; /* syscall number */ - short ktr_narg; /* number of arguments */ - /* - * followed by ktr_narg register_t - */ - u_int64_t ktr_args[1]; -}; - -/* - * KTR_SYSRET - return from system call record - */ -#define KTR_SYSRET 2 -struct ktr_sysret { - short ktr_code; - short ktr_eosys; - int ktr_error; - register_t ktr_retval; -}; - -/* - * KTR_NAMEI - namei record - */ -#define KTR_NAMEI 3 - /* record contains pathname */ - -/* - * KTR_GENIO - trace generic process i/o - */ -#define KTR_GENIO 4 -struct ktr_genio { - int ktr_fd; - enum uio_rw ktr_rw; - /* - * followed by data successfully read/written - */ -}; - -/* - * KTR_PSIG - trace processed signal - */ -#define KTR_PSIG 5 -struct ktr_psig { - int signo; - sig_t action; - int code; - sigset_t mask; -}; - -/* - * KTR_CSW - trace context switches - */ -#define KTR_CSW 6 -struct ktr_csw { - int out; /* 1 if switch out, 0 if switch in */ - int user; /* 1 if usermode (ivcsw), 0 if kernel (vcsw) */ -}; - -/* - * KTR_USER - data comming from userland - */ -#define KTR_USER_MAXLEN 2048 /* maximum length of passed data */ -#define KTR_USER 7 - -/* - * kernel trace points (in p_traceflag) - */ -#define KTRFAC_MASK 0x00ffffff -#define KTRFAC_SYSCALL (1< - -__BEGIN_DECLS -int ktrace(const char *, int, int, pid_t); -int utrace(const void *, size_t); -__END_DECLS - -#endif /* !KERNEL */ - -#endif /* __APPLE_API_UNSTABLE */ -#endif /* !MACH_KERNEL_PRIVATE */ -#endif /* !_SYS_KTRACE_H_ */ -