1281712Skib/* 2281712Skib * Copyright (c) 2015 The FreeBSD Foundation. 3281712Skib * All rights reserved. 4281712Skib * 5281712Skib * Portions of this software were developed by Konstantin Belousov 6281712Skib * under sponsorship from the FreeBSD Foundation. 7281712Skib * 8281712Skib * Redistribution and use in source and binary forms, with or without 9281712Skib * modification, are permitted provided that the following conditions 10281712Skib * are met: 11281712Skib * 1. Redistributions of source code must retain the above copyright 12281712Skib * notice(s), this list of conditions and the following disclaimer as 13281712Skib * the first lines of this file unmodified other than the possible 14281712Skib * addition of one or more copyright notices. 15281712Skib * 2. Redistributions in binary form must reproduce the above copyright 16281712Skib * notice(s), this list of conditions and the following disclaimer in 17281712Skib * the documentation and/or other materials provided with the 18281712Skib * distribution. 19281712Skib * 20281712Skib * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY 21281712Skib * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22281712Skib * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23281712Skib * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE 24281712Skib * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25281712Skib * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26281712Skib * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 27281712Skib * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28281712Skib * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 29281712Skib * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30281712Skib * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31281712Skib */ 32281712Skib 33281712Skib#include <sys/cdefs.h> 34281712Skib__FBSDID("$FreeBSD$"); 35281712Skib 36281712Skib#include <sys/types.h> 37281712Skib#include <sys/poll.h> 38281712Skib#include "libc_private.h" 39281712Skib 40281712Skib__weak_reference(__sys_ppoll, __ppoll); 41281712Skib 42281712Skib#pragma weak ppoll 43281712Skibint 44281712Skibppoll(struct pollfd pfd[], nfds_t nfds, const struct timespec *__restrict 45281712Skib timeout, const sigset_t *__restrict newsigmask) 46281712Skib{ 47281712Skib 48281712Skib return (((int (*)(struct pollfd *, nfds_t, const struct timespec *, 49281712Skib const sigset_t *)) __libc_interposing[INTERPOS_ppoll])(pfd, nfds, 50281712Skib timeout, newsigmask)); 51281712Skib} 52