1 .\" 2 .\" This file and its contents are supplied under the terms of the 3 .\" Common Development and Distribution License ("CDDL"), version 1.0. 4 .\" You may only use this file in accordance with the terms of version 5 .\" 1.0 of the CDDL. 6 .\" 7 .\" A full copy of the text of the CDDL should have accompanied this 8 .\" source. A copy of the CDDL is also available via the Internet at 9 .\" http://www.illumos.org/license/CDDL. 10 .\" 11 .\" 12 .\" Copyright 2015 Joyent, Inc. 13 .\" 14 .Dd May 11, 2016 15 .Dt PWRITE 3PROC 16 .Os 17 .Sh NAME 18 .Nm Pwrite 19 .Nd write data to the address space of a process 20 .Sh LIBRARY 21 .Lb libproc 22 .Sh SYNOPSIS 23 .In libproc.h 24 .Ft ssize_t 25 .Fo Pwrite 26 .Fa "struct ps_prochandle *P" 27 .Fa "const void *buf" 28 .Fa "size_t nbyte" 29 .Fa "uintptr_t address" 30 .Fc 31 .Sh DESCRIPTION 32 The 33 .Fn Pwrite 34 function writes data from 35 .Fa buf 36 to the process handle 37 .Fa P 38 starting at the address 39 .Fa address . 40 It writes at most 41 .Fa nbyte 42 of data. 43 The 44 .Fn Pwrite 45 function is logically analogous to the 46 .Xr pwrite 2 47 function. 48 .Pp 49 For live processes, this function is equivalent to writing to the 50 /proc file system 51 .Sy as 52 file for the process. 53 For core files, it writes to the logical address space of what was once the 54 process and not the corresponding offset in the on-disk file. 55 ELF objects grabbed through 56 .Xr Pgrab_file 3PROC 57 do not support being written to. 58 .Pp 59 The 60 .Fn Pwrite 61 function cannot be used to 62 .Em extend 63 the size of a mapping; writing to an unmapped region generates an 64 error. 65 .Sh RETURN VALUES 66 Upon successful completion, the 67 .Fn Pwrite 68 function returns the number of bytes successfully written to 69 .Fa P . 70 This number is never greater than 71 .Fa nbyte . 72 Otherwise, it returns 73 .Sy -1 74 and 75 .Sy errno 76 is set to indicate an error. 77 For the full list of errors see the 78 .Sy DIAGNOSTICS 79 section in 80 .Xr proc 4 81 and 82 the 83 .Sy ERRORS 84 section in 85 .Xr pwrite 2 . 86 .Pp 87 In addition, the 88 .Fn Pwrite 89 function will fail if: 90 .Bl -tag -width Er 91 .It Er EIO 92 .Fa P 93 refers to an ELF object and not a core file or active process. 94 .El 95 .Sh INTERFACE STABILITY 96 .Sy Uncommitted 97 .Sh MT-LEVEL 98 See 99 .Sy LOCKING 100 in 101 .Xr libproc 3LIB . 102 .Sh SEE ALSO 103 .Xr pwrite 2 , 104 .Xr libproc 3LIB , 105 .Xr proc 4