xref: /netbsd-src/usr.sbin/traceroute/traceroute_rumpops.c (revision 0c4f7708cb4c85b00c93f85fca259b18105c77ec)
1*0c4f7708Skamil /*	$NetBSD: traceroute_rumpops.c,v 1.2 2019/08/18 04:12:07 kamil Exp $	*/
23b00d968Spooka 
33b00d968Spooka /*-
43b00d968Spooka  * Copyright (c) 2010 The NetBSD Foundation, Inc.
53b00d968Spooka  * All rights reserved.
63b00d968Spooka  *
73b00d968Spooka  * Redistribution and use in source and binary forms, with or without
83b00d968Spooka  * modification, are permitted provided that the following conditions
93b00d968Spooka  * are met:
103b00d968Spooka  * 1. Redistributions of source code must retain the above copyright
113b00d968Spooka  *    notice, this list of conditions and the following disclaimer.
123b00d968Spooka  * 2. Redistributions in binary form must reproduce the above copyright
133b00d968Spooka  *    notice, this list of conditions and the following disclaimer in the
143b00d968Spooka  *    documentation and/or other materials provided with the distribution.
153b00d968Spooka  *
163b00d968Spooka  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
173b00d968Spooka  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
183b00d968Spooka  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
193b00d968Spooka  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
203b00d968Spooka  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
213b00d968Spooka  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
223b00d968Spooka  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
233b00d968Spooka  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
243b00d968Spooka  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
253b00d968Spooka  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
263b00d968Spooka  * POSSIBILITY OF SUCH DAMAGE.
273b00d968Spooka  */
283b00d968Spooka 
293b00d968Spooka #include <sys/cdefs.h>
303b00d968Spooka #ifndef lint
31*0c4f7708Skamil __RCSID("$NetBSD: traceroute_rumpops.c,v 1.2 2019/08/18 04:12:07 kamil Exp $");
323b00d968Spooka #endif /* !lint */
333b00d968Spooka 
343b00d968Spooka #include <sys/types.h>
353b00d968Spooka #include <sys/socket.h>
363b00d968Spooka 
373b00d968Spooka #include <poll.h>
383b00d968Spooka #include <unistd.h>
393b00d968Spooka 
403b00d968Spooka #include <rump/rump.h>
413b00d968Spooka #include <rump/rump_syscalls.h>
423b00d968Spooka #include <rump/rumpclient.h>
433b00d968Spooka 
443b00d968Spooka #include "prog_ops.h"
453b00d968Spooka 
463b00d968Spooka const struct prog_ops prog_ops = {
473b00d968Spooka 	.op_init =	rumpclient_init,
483b00d968Spooka 
493b00d968Spooka 	.op_socket =	rump_sys_socket,
503b00d968Spooka 	.op_setsockopt=	rump_sys_setsockopt,
513b00d968Spooka 	.op_shutdown =	rump_sys_shutdown,
523b00d968Spooka 	.op_poll =	rump_sys_poll,
533b00d968Spooka 	.op_recvfrom =	rump_sys_recvfrom,
543b00d968Spooka 	.op_sendto =	rump_sys_sendto,
553b00d968Spooka 	.op_close =	rump_sys_close,
563b00d968Spooka 	.op_connect =	rump_sys_connect,
573b00d968Spooka 	.op_getsockname=rump_sys_getsockname,
583b00d968Spooka 	.op_sysctl =	rump_sys___sysctl,
59*0c4f7708Skamil 	.op_getifaddrs =	getifaddrs,
603b00d968Spooka };
61