xref: /illumos-gate/usr/src/man/man3proc/Pwrite.3proc (revision bbf21555)
143051d27SRobert Mustacchi.\"
243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
543051d27SRobert Mustacchi.\" 1.0 of the CDDL.
643051d27SRobert Mustacchi.\"
743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
843051d27SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1043051d27SRobert Mustacchi.\"
1143051d27SRobert Mustacchi.\"
1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc.
1343051d27SRobert Mustacchi.\"
1443051d27SRobert Mustacchi.Dd May 11, 2016
1543051d27SRobert Mustacchi.Dt PWRITE 3PROC
1643051d27SRobert Mustacchi.Os
1743051d27SRobert Mustacchi.Sh NAME
1843051d27SRobert Mustacchi.Nm Pwrite
1943051d27SRobert Mustacchi.Nd write data to the address space of a process
20ab618543SJohn Levon.Sh LIBRARY
2143051d27SRobert Mustacchi.Lb libproc
22ab618543SJohn Levon.Sh SYNOPSIS
2343051d27SRobert Mustacchi.In libproc.h
2443051d27SRobert Mustacchi.Ft ssize_t
2543051d27SRobert Mustacchi.Fo Pwrite
2643051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
2743051d27SRobert Mustacchi.Fa "const void *buf"
2843051d27SRobert Mustacchi.Fa "size_t nbyte"
2943051d27SRobert Mustacchi.Fa "uintptr_t address"
3043051d27SRobert Mustacchi.Fc
3143051d27SRobert Mustacchi.Sh DESCRIPTION
3243051d27SRobert MustacchiThe
3343051d27SRobert Mustacchi.Fn Pwrite
3443051d27SRobert Mustacchifunction writes data from
3543051d27SRobert Mustacchi.Fa buf
36bccbd30bSPeter Tribbleto the process handle
3743051d27SRobert Mustacchi.Fa P
3843051d27SRobert Mustacchistarting at the address
3943051d27SRobert Mustacchi.Fa address .
4043051d27SRobert MustacchiIt writes at most
4143051d27SRobert Mustacchi.Fa nbyte
4272d3dbb9SYuri Pankovof data.
4372d3dbb9SYuri PankovThe
4443051d27SRobert Mustacchi.Fn Pwrite
4543051d27SRobert Mustacchifunction is logically analogous to the
4643051d27SRobert Mustacchi.Xr pwrite 2
4743051d27SRobert Mustacchifunction.
4843051d27SRobert Mustacchi.Pp
4943051d27SRobert MustacchiFor live processes, this function is equivalent to writing to the
5043051d27SRobert Mustacchi/proc file system
5143051d27SRobert Mustacchi.Sy as
5272d3dbb9SYuri Pankovfile for the process.
5372d3dbb9SYuri PankovFor core files, it writes to the logical address space of what was once the
5472d3dbb9SYuri Pankovprocess and not the corresponding offset in the on-disk file.
5572d3dbb9SYuri PankovELF objects grabbed through
5643051d27SRobert Mustacchi.Xr Pgrab_file 3PROC
5743051d27SRobert Mustacchido not support being written to.
5843051d27SRobert Mustacchi.Pp
5943051d27SRobert MustacchiThe
6043051d27SRobert Mustacchi.Fn Pwrite
6143051d27SRobert Mustacchifunction cannot be used to
6243051d27SRobert Mustacchi.Em extend
6343051d27SRobert Mustacchithe size of a mapping; writing to an unmapped region generates an
6443051d27SRobert Mustacchierror.
6543051d27SRobert Mustacchi.Sh RETURN VALUES
6643051d27SRobert MustacchiUpon successful completion, the
6743051d27SRobert Mustacchi.Fn Pwrite
6843051d27SRobert Mustacchifunction returns the number of bytes successfully written to
6943051d27SRobert Mustacchi.Fa P .
7043051d27SRobert MustacchiThis number is never greater than
7143051d27SRobert Mustacchi.Fa nbyte .
7243051d27SRobert MustacchiOtherwise, it returns
7343051d27SRobert Mustacchi.Sy -1
7443051d27SRobert Mustacchiand
7543051d27SRobert Mustacchi.Sy errno
7672d3dbb9SYuri Pankovis set to indicate an error.
7772d3dbb9SYuri PankovFor the full list of errors see the
7843051d27SRobert Mustacchi.Sy DIAGNOSTICS
7943051d27SRobert Mustacchisection in
80*bbf21555SRichard Lowe.Xr proc 5
8143051d27SRobert Mustacchiand
8243051d27SRobert Mustacchithe
8343051d27SRobert Mustacchi.Sy ERRORS
8443051d27SRobert Mustacchisection in
8543051d27SRobert Mustacchi.Xr pwrite 2 .
8643051d27SRobert Mustacchi.Pp
8743051d27SRobert MustacchiIn addition, the
8843051d27SRobert Mustacchi.Fn Pwrite
8943051d27SRobert Mustacchifunction will fail if:
9043051d27SRobert Mustacchi.Bl -tag -width Er
9143051d27SRobert Mustacchi.It Er EIO
9243051d27SRobert Mustacchi.Fa P
9343051d27SRobert Mustacchirefers to an ELF object and not a core file or active process.
9443051d27SRobert Mustacchi.El
9543051d27SRobert Mustacchi.Sh INTERFACE STABILITY
9643051d27SRobert Mustacchi.Sy Uncommitted
9743051d27SRobert Mustacchi.Sh MT-LEVEL
9843051d27SRobert MustacchiSee
9943051d27SRobert Mustacchi.Sy LOCKING
10043051d27SRobert Mustacchiin
10143051d27SRobert Mustacchi.Xr libproc 3LIB .
10243051d27SRobert Mustacchi.Sh SEE ALSO
10343051d27SRobert Mustacchi.Xr pwrite 2 ,
10443051d27SRobert Mustacchi.Xr libproc 3LIB ,
105*bbf21555SRichard Lowe.Xr proc 5
106