ksh: build with __EXTENSIONS__ to expose confstr
[unleashed.git] / share / man / man3proc / Pasfd.3proc
bloba5ae8a9dc4b9fe4d62e8f446c6a7bc9d34a89d56
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 PASFD 3PROC
16 .Os
17 .Sh NAME
18 .Nm Pasfd
19 .Nd obtain the process address space file descriptor
20 .Sh SYNOPSIS
21 .Lb libproc
22 .In libproc.h
23 .Ft int
24 .Fo Pasfd
25 .Fa "struct ps_prochandle *P"
26 .Fc
27 .Sh DESCRIPTION
28 The
29 .Fn Pasfd
30 funtion returns a file descriptor that allows direct access to the
31 address space of the process handle
32 .Fa P .
33 A defined file descriptor is provided when using the
34 .Xr Pcreate 3PROC ,
35 .Xr Pgrab 3PROC ,
36 .Xr Pgrab_file 3PROC ,
37 and
38 .Xr Pgrab_core 3PROC
39 functions.
40 Note that the address space may be different in each of these cases and doesn't
41 necessarily correspond to the /proc
42 .Sy as
43 file, except for live processes.
44 Other means of obtaining a
45 .Sy libproc
46 process handle may not define a file descriptor that contains the
47 address space.
48 .Pp
49 The returned file descriptor must not be closed and is only valid for
50 as long as the corresponding process handle
51 .Fa P
52 is valid.
53 After a call to
54 .Xr Prelease 3PROC
55 the file descriptor is invalidated.
56 .Sh RETURN VALUES
57 Upon successful completion, the
58 .Fn Pasfd
59 function returns a valid file descriptor.
60 Otherwise, if none exists, then
61 .Sy -1
62 is returned.
63 .Sh INTERFACE STABILITY
64 .Sy Uncommitted
65 .Sh MT-LEVEL
66 See
67 .Sy LOCKING
69 .Xr libproc 3LIB .
70 .Sh SEE ALSO
71 .Xr libproc 3LIB ,
72 .Xr Pcreate 3PROC ,
73 .Xr Pgrab 3PROC ,
74 .Xr Pgrab_core 3PROC ,
75 .Xr Pgrab_file 3PROC ,
76 .Xr Prelease 3PROC ,
77 .Xr proc 4