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