From fe1c99977003a6058b40ef10828cfecc31264348 Mon Sep 17 00:00:00 2001 From: Artur Grabowski Date: Mon, 11 Mar 2002 14:36:28 +0000 Subject: Document PT_IO --- lib/libc/sys/ptrace.2 | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) 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. -- cgit v1.2.3