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