xref: /illumos-gate/usr/src/man/man3proc/Pfdinfo_iter.3proc (revision c6596baec58ade84b0609c78e64fc3f89447c7d1)
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 PFDINFO_ITER 3PROC
16.Os
17.Sh NAME
18.Nm Pfdinfo_iter
19.Nd iterate open files in a process
20.Sh SYNOPSIS
21.Lb libproc
22.In libproc.h
23.Ft int
24.Fo Pfdinfo_iter
25.Fa "struct ps_prochandle *P"
26.Fa "proc_fdinfo_f *func"
27.Fa "void *data"
28.Fc
29.Sh DESCRIPTION
30The
31.Fn Pfdinfo_iter
32function iterates over the open files in the process represented by
33.Fa P .
34.Pp
35For each open file, the callback function
36.Fa func
37will be invoked and it will be passed the
38.Fa data
39argument as well as a pointer to a
40.Sy prfdinfo_t
41structure defined in
42.Xr libproc 3LIB .
43For the full signature of the
44.Vt proc_fdinfo_f
45see
46.Xr libproc 3LIB .
47.Pp
48The return value of
49.Fa func
50controls whether or not iteration continues. If
51.Fa func
52returns
53.Sy 0 ,
54then iteration will continue. However, if
55.Fa func
56instead returns a non-zero value, then iteration will halt and that
57value will be used as the return value of the
58.Fn Pfdinfo_iter
59function. Because the
60.Fn Pfdinfo_iter
61function returns
62.Sy -1
63to an indicate its own errors, it is recommended that the callback
64function does not return
65.Sy -1
66to indicate an error so that the caller may distinguish between the
67failure of the callback function and the failure of the
68.Fn Pfdinfo_iter
69function.
70.Sh RETURN VALUES
71Upon successful completion, the
72.Fn Pfdinfo_iter
73returns
74.Sy 0 .
75Otherwise, if there was an internal error then
76.Sy -1
77is returned. Otherwise, if the callback function
78.Fa func
79returns non-zero, then its return value will be returned instead.
80.Sh INTERFACE STABILITY
81.Sy Uncommitted
82.Sh MT-LEVEL
83See
84.Sy LOCKING
85in
86.Xr libproc 3LIB .
87.Sh SEE ALSO
88.Xr libproc 3LIB
89