diff options
-rw-r--r-- | lib/libc/sys/ptrace.2 | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/lib/libc/sys/ptrace.2 b/lib/libc/sys/ptrace.2 index cda3c16163b..975cc1acf49 100644 --- a/lib/libc/sys/ptrace.2 +++ b/lib/libc/sys/ptrace.2 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ptrace.2,v 1.8 2000/10/18 05:12:11 aaron Exp $ +.\" $OpenBSD: ptrace.2,v 1.9 2002/03/11 14:36:27 art Exp $ .\" $NetBSD: ptrace.2,v 1.3 1996/02/23 01:39:41 jtc Exp $ .\" .\" This file is in the public domain. @@ -176,6 +176,44 @@ except that it does not allow specifying an alternate place to continue execution, and after it succeeds, the traced process is no longer traced and continues execution normally. +.It Dv PT_IO +This request is a more general interface that can be used instead of +.Dv PT_READ_D , +.Dv PT_WRITE_D , +.Dv PT_READ_I +and +.Dv PT_WRITE_I . +The I/O request is encoded in a +.Dq Li "struct ptrace_io_desc" +defined as: +.Bd -literal -offset indent -compact +struct ptrace_io_desc { + int piod_op; + void *piod_offs; + void *piod_addr; + size_t piod_len; +}; +.Ed +Where +.Fa piod_offs +is the offset within the traced process where the I/O operation should be +made, +.Fa piod_addr +is the buffer in the parent and +.Fa piod_len is the length of the I/O request. +The +.Fa piod_op +member specifies what operation that needs to be done. +Possible values are: +.Bl -tag -width 18n +.It PIOD_OP_READ_DATA +.It PIOD_OP_WRITE_DATA +.It PIOD_OP_READ_TEXT +.It PIOD_OP_WRITE_TEXT +.El +See also the description of +.Dv PT_READ_I +for the difference between DATA and TEXT spaces. .El .Pp Additionally, machine-specific requests can exist. |