Lines Matching refs:handles
173 /* handle handles */
190 Handle handles[100];
197 for (i = 0; i < sizeof(handles)/sizeof(Handle); i++)
198 handles[i].use = HANDLE_UNUSED;
206 for (i = 0; i < sizeof(handles)/sizeof(Handle); i++) {
207 if (handles[i].use == HANDLE_UNUSED) {
208 handles[i].use = use;
209 handles[i].dirp = dirp;
210 handles[i].fd = fd;
211 handles[i].name = xstrdup(name);
212 handles[i].bytes_read = handles[i].bytes_write = 0;
222 return i >= 0 && (u_int)i < sizeof(handles)/sizeof(Handle) &&
223 handles[i].use == type;
256 return handles[handle].name;
264 return handles[handle].dirp;
272 return handles[handle].fd;
280 handles[handle].bytes_read += bytes;
287 handles[handle].bytes_write += bytes;
294 return (handles[handle].bytes_read);
302 return (handles[handle].bytes_write);
312 ret = close(handles[handle].fd);
313 handles[handle].use = HANDLE_UNUSED;
314 xfree(handles[handle].name);
316 ret = closedir(handles[handle].dirp);
317 handles[handle].use = HANDLE_UNUSED;
318 xfree(handles[handle].name);
346 for (i = 0; i < sizeof(handles)/sizeof(Handle); i++)
347 if (handles[i].use != HANDLE_UNUSED)
1199 * Cleanup handler that logs active handles upon normal exit. Not static since