aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/ktrace/ktrace.h
Commit message (Collapse)AuthorAgeFilesLines
* ktrace(1): teach about KTR_EXTERRKonstantin Belousov2025-06-031-1/+1
| | | | | | | Reviewed by: brooks Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50633
* ktrace: log execve(2) arguments and environmentArtem Hevorhian2024-11-111-1/+2
| | | | | | | | Two new events KTR_ARGS and KTR_ENV can be used to trace arguments of execve(2). Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D47127
* ktrace: Remove CAPFAIL from default trace pointsJake Freeland2024-04-241-4/+3
| | | | | | | | | | | | | | | | | | | | | | The CAPFAIL tracepoint was recently extended to report ECAPMODE capability violations for processes that do not enter capability mode. This allows developers that are interested in Capsicumizing their programs to determine where violations are being raised. Previously, CAPFAIL only produced output for processes using Capsicum(4) capabilties. Thus, most ktrace users never received log output from the trace point. With the recent changes, this is no longer the case. Having this trace point enabled by default will produce output for all processes that use syscalls that are not permitted in capability mode. This may lead to confusion for users that are not familiar with the feature. Remove KTRFAC_CAPFAIL from ktrace's default points to avoid this. Approved by: markj (mentor) Reviewed by: markj MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D44887
* usr.bin: Remove ancient SCCS tags.Warner Losh2023-11-271-2/+0
| | | | | | | | Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script. Sponsored by: Netflix
* Remove $FreeBSD$: one-line .h patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
* Decode kevent structures logged via ktrace(2) in kdump.John Baldwin2017-11-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a new KTR_STRUCT_ARRAY ktrace record type which dumps an array of structures. The structure name in the record payload is preceded by a size_t containing the size of the individual structures. Use this to replace the previous code that dumped the kevent arrays dumped for kevent(). kdump is now able to decode the kevent structures rather than dumping their contents via a hexdump. One change from before is that the 'changes' and 'events' arrays are not marked with separate 'read' and 'write' annotations in kdump output. Instead, the first array is the 'changes' array, and the second array (only present if kevent doesn't fail with an error) is the 'events' array. For kevent(), empty arrays are denoted by an entry with an array containing zero entries rather than no record. - Move kevent decoding tables from truss to libsysdecode. This adds three new functions to decode members of struct kevent: sysdecode_kevent_filter, sysdecode_kevent_flags, and sysdecode_kevent_fflags. kdump uses these helper functions to pretty-print kevent fields. - Move structure definitions for freebsd11 and freebsd32 kevent structures to <sys/event.h> so that they can be shared with userland. The 32-bit structures are only exposed if _WANT_KEVENT32 is defined. The freebsd11 structures are only exposed if _WANT_FREEBSD11_KEVENT is defined. The 32-bit freebsd11 structure requires both. - Decode freebsd11 kevent structures in truss for the compat11.kevent() system call. - Log 32-bit kevent structures via ktrace for 32-bit compat kevent() system calls. - While here, constify the 'void *data' argument to ktrstruct(). Reviewed by: kib (earlier version) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D12470 Notes: svn path=/head/; revision=326184
* General further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-201-0/+2
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Notes: svn path=/head/; revision=326025
* Renumber copyright clause 4Warner Losh2017-02-281-1/+1
| | | | | | | | | | | | Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96 Notes: svn path=/head/; revision=314436
* Don't trace or dump page fault records in the default set of tracepointsJohn Baldwin2012-05-311-3/+3
| | | | | | | | | | as they can be quite noisy. Requested by: Peter Jeremy MFC after: 3 days Notes: svn path=/head/; revision=236357
* Add new ktrace records for the start and end of VM faults. This givesJohn Baldwin2012-04-051-1/+2
| | | | | | | | | | | | | a pair of records similar to syscall entry and return that a user can use to determine how long page faults take. The new ktrace records are enabled via the 'p' trace type, and are enabled in the default set of trace points. Reviewed by: kib MFC after: 2 weeks Notes: svn path=/head/; revision=233925
* Add a new trace point, KTRFAC_CAPFAIL, which traces capability checkDag-Erling Smørgrav2011-10-111-1/+1
| | | | | | | failures. It is included in the default set for ktrace(1) and kdump(1). Notes: svn path=/head/; revision=226269
* Teach kdump to understand sv_flags records in the trace files.Dmitry Chagin2011-02-251-1/+3
| | | | | | | MFC after: 1 Month. Notes: svn path=/head/; revision=219043
* Remove the advertising clause from UCB copyrighted files in usr.bin. ThisJoel Dahl2010-12-111-4/+0
| | | | | | | | | | | | is in accordance with the information provided at ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change Also add $FreeBSD$ to a few files to keep svn happy. Discussed with: imp, rwatson Notes: svn path=/head/; revision=216370
* Add a new type of KTRACE record for sysctl(3) invocations. It uses theJohn Baldwin2009-03-111-1/+2
| | | | | | | | | | | internal sysctl_sysctl_name() handler to map the MIB array to a string name and logs this name in the trace log. This can be useful to see exactly which sysctls a thread is invoking. MFC after: 1 month Notes: svn path=/head/; revision=189707
* This patch adds a new ktrace(2) record type, KTR_STRUCT, whose payloadDag-Erling Smørgrav2008-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | consists of the null-terminated name and the contents of any structure you wish to record. A new ktrstruct() function constructs and emits a KTR_STRUCT record. It is accompanied by convenience macros for struct stat and struct sockaddr. In kdump(1), KTR_STRUCT records are handled by a dispatcher function that runs stringent sanity checks on its contents before handing it over to individual decoding funtions for each type of structure. Currently supported structures are struct stat and struct sockaddr for the AF_INET, AF_INET6 and AF_UNIX families; support for AF_APPLETALK and AF_IPX is present but disabled, as I am unable to test it properly. Since 's' was already taken, the letter 't' is used by ktrace(1) to enable KTR_STRUCT trace points, and in kdump(1) to enable their decoding. Derived from patches by Andrew Li <andrew2.li@citi.com>. PR: kern/117836 MFC after: 3 weeks Notes: svn path=/head/; revision=176471
* Warnings fix; ANSIfy, constify, mark unused function parameter(s).Mark Murray2002-04-281-1/+1
| | | | Notes: svn path=/head/; revision=95649
* 1) Clean up vendor and ID strings.David Malone2002-04-011-0/+3
| | | | | | | | | | 2) include stdlib.h for atoi. 3) staticise and constify. 4) add some missing prototypes. 5) add some parens to keep gcc happy. Notes: svn path=/head/; revision=93523
* The userland change to the utrace(2) call.Poul-Henning Kamp1996-09-191-1/+1
| | | | Notes: svn path=/head/; revision=18399
* BSD 4.4 Lite Usr.bin SourcesRodney W. Grimes1994-05-271-0/+41
Notes: svn path=/cvs2svn/branches/CHRISTOS/; revision=1590