1 /* $OpenBSD: fdpass.h,v 1.3 2020/02/26 13:53:58 ratchov Exp $ */ 2 /* 3 * Copyright (c) 2015 Alexandre Ratchov <alex@caoua.org> 4 * 5 * Permission to use, copy, modify, and distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 */ 17 #ifndef FDPASS_H 18 #define FDPASS_H 19 20 struct fileops; 21 22 struct fdpass *fdpass_new(int sock, struct fileops *ops); 23 void fdpass_close(struct fdpass *f); 24 25 extern struct fileops worker_fileops, helper_fileops; 26 extern struct fdpass *fdpass_peer; 27 28 struct sio_hdl *fdpass_sio_open(int, int, unsigned int); 29 struct mio_hdl *fdpass_mio_open(int, int, unsigned int); 30 struct sioctl_hdl *fdpass_sioctl_open(int, int, unsigned int); 31 32 #endif /* !defined(FDPASS_H) */ 33