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