xref: /illumos-gate/usr/src/man/man3proc/Pfdinfo_iter.3proc (revision 8dfe5547fbf0979fc1065a8b6fddc1e940a7cf4f)
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.
51If
52.Fa func
53returns
54.Sy 0 ,
55then iteration will continue.
56However, if
57.Fa func
58instead returns a non-zero value, then iteration will halt and that
59value will be used as the return value of the
60.Fn Pfdinfo_iter
61function.
62Because the
63.Fn Pfdinfo_iter
64function returns
65.Sy -1
66to an indicate its own errors, it is recommended that the callback
67function does not return
68.Sy -1
69to indicate an error so that the caller may distinguish between the
70failure of the callback function and the failure of the
71.Fn Pfdinfo_iter
72function.
73.Sh RETURN VALUES
74Upon successful completion, the
75.Fn Pfdinfo_iter
76returns
77.Sy 0 .
78Otherwise, if there was an internal error then
79.Sy -1
80is returned.
81Otherwise, if the callback function
82.Fa func
83returns non-zero, then its return value will be returned instead.
84.Sh INTERFACE STABILITY
85.Sy Uncommitted
86.Sh MT-LEVEL
87See
88.Sy LOCKING
89in
90.Xr libproc 3LIB .
91.Sh SEE ALSO
92.Xr libproc 3LIB
93