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