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