8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man3proc / Pwrite.3proc
blob411dbb8aaeeec0b1f86cf39a50188e6c322e2dae
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 SYNOPSIS
21 .Lb libproc
22 .In libproc.h
23 .Ft ssize_t
24 .Fo Pwrite
25 .Fa "struct ps_prochandle *P"
26 .Fa "const void *buf"
27 .Fa "size_t nbyte"
28 .Fa "uintptr_t address"
29 .Fc
30 .Sh DESCRIPTION
31 The
32 .Fn Pwrite
33 function writes data from
34 .Fa buf
35 to the process handle
36 .Fa P
37 starting at the address
38 .Fa address .
39 It writes at most
40 .Fa nbyte
41 of data.
42 The
43 .Fn Pwrite
44 function is logically analogous to the
45 .Xr pwrite 2
46 function.
47 .Pp
48 For live processes, this function is equivalent to writing to the
49 /proc file system
50 .Sy as
51 file for the process.
52 For core files, it writes to the logical address space of what was once the
53 process and not the corresponding offset in the on-disk file.
54 ELF objects grabbed through
55 .Xr Pgrab_file 3PROC
56 do not support being written to.
57 .Pp
58 The
59 .Fn Pwrite
60 function cannot be used to
61 .Em extend
62 the size of a mapping; writing to an unmapped region generates an
63 error.
64 .Sh RETURN VALUES
65 Upon successful completion, the
66 .Fn Pwrite
67 function returns the number of bytes successfully written to
68 .Fa P .
69 This number is never greater than
70 .Fa nbyte .
71 Otherwise, it returns
72 .Sy -1
73 and
74 .Sy errno
75 is set to indicate an error.
76 For the full list of errors see the
77 .Sy DIAGNOSTICS
78 section in
79 .Xr proc 4
80 and
81 the
82 .Sy ERRORS
83 section in
84 .Xr pwrite 2 .
85 .Pp
86 In addition, the
87 .Fn Pwrite
88 function will fail if:
89 .Bl -tag -width Er
90 .It Er EIO
91 .Fa P
92 refers to an ELF object and not a core file or active process.
93 .El
94 .Sh INTERFACE STABILITY
95 .Sy Uncommitted
96 .Sh MT-LEVEL
97 See
98 .Sy LOCKING
100 .Xr libproc 3LIB .
101 .Sh SEE ALSO
102 .Xr pwrite 2 ,
103 .Xr libproc 3LIB ,
104 .Xr proc 4