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