1*725edadfSSascha Wildner /*
2*725edadfSSascha Wildner * Copyright (c) 2008 David Xu <davidxu@freebsd.org>
3*725edadfSSascha Wildner * All rights reserved.
4*725edadfSSascha Wildner *
5*725edadfSSascha Wildner * Redistribution and use in source and binary forms, with or without
6*725edadfSSascha Wildner * modification, are permitted provided that the following conditions
7*725edadfSSascha Wildner * are met:
8*725edadfSSascha Wildner * 1. Redistributions of source code must retain the above copyright
9*725edadfSSascha Wildner * notice, this list of conditions and the following disclaimer.
10*725edadfSSascha Wildner * 2. Redistributions in binary form must reproduce the above copyright
11*725edadfSSascha Wildner * notice, this list of conditions and the following disclaimer in the
12*725edadfSSascha Wildner * documentation and/or other materials provided with the distribution.
13*725edadfSSascha Wildner *
14*725edadfSSascha Wildner * THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND
15*725edadfSSascha Wildner * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16*725edadfSSascha Wildner * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17*725edadfSSascha Wildner * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18*725edadfSSascha Wildner * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19*725edadfSSascha Wildner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20*725edadfSSascha Wildner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21*725edadfSSascha Wildner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22*725edadfSSascha Wildner * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23*725edadfSSascha Wildner * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24*725edadfSSascha Wildner * SUCH DAMAGE.
25*725edadfSSascha Wildner *
26*725edadfSSascha Wildner * $FreeBSD: head/lib/libthr/thread/thr_getcpuclockid.c 297706 2016-04-08 11:15:26Z kib $
27*725edadfSSascha Wildner */
28*725edadfSSascha Wildner
29*725edadfSSascha Wildner #include "namespace.h"
30*725edadfSSascha Wildner #include <errno.h>
31*725edadfSSascha Wildner #include <pthread.h>
32*725edadfSSascha Wildner #include <sys/time.h>
33*725edadfSSascha Wildner #include "un-namespace.h"
34*725edadfSSascha Wildner
35*725edadfSSascha Wildner #include "thr_private.h"
36*725edadfSSascha Wildner
37*725edadfSSascha Wildner int
_pthread_getcpuclockid(pthread_t pthread,clockid_t * clock_id)38*725edadfSSascha Wildner _pthread_getcpuclockid(pthread_t pthread, clockid_t *clock_id)
39*725edadfSSascha Wildner {
40*725edadfSSascha Wildner if (pthread == NULL)
41*725edadfSSascha Wildner return (EINVAL);
42*725edadfSSascha Wildner
43*725edadfSSascha Wildner if (getcpuclockid(getpid(), pthread->tid, clock_id))
44*725edadfSSascha Wildner return (errno);
45*725edadfSSascha Wildner return (0);
46*725edadfSSascha Wildner }
47*725edadfSSascha Wildner
48*725edadfSSascha Wildner __strong_reference(_pthread_getcpuclockid, pthread_getcpuclockid);
49