mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 02:57:14 +08:00
* posix/Makefile.am, posix/src/clockgetcpuclockid.c, posix/src/clockgetenableattr.c, posix/src/clockgettime.c, posix/src/clocksetenableattr.c, posix/src/clocksettime.c, posix/src/devctl.c, posix/src/execl.c, posix/src/execle.c, posix/src/execlp.c, posix/src/execv.c, posix/src/execve.c, posix/src/execvp.c, posix/src/fork.c, posix/src/mutexinit.c, posix/src/pthreadatfork.c, posix/src/pthreadgetcpuclockid.c, posix/src/pthreadkill.c, posix/src/semaphorecreatesupp.c, posix/src/sysconf.c, posix/src/wait.c, posix/src/waitpid.c: Split files into one function per file. * posix/src/aio_cancel.c, posix/src/aio_error.c, posix/src/aio_fsync.c, posix/src/aio_read.c, posix/src/aio_return.c, posix/src/aio_suspend.c, posix/src/aio_write.c, posix/src/lio_listio.c, posix/src/sched_getparam.c, posix/src/sched_getprioritymax.c, posix/src/sched_getprioritymin.c, posix/src/sched_getscheduler.c, posix/src/sched_rr_get_interval.c, posix/src/sched_setparam.c, posix/src/sched_setscheduler.c, posix/src/sched_yield.c: New files. * posix/src/aio.c, posix/src/sched.c, posix/src/types.c: Removed.
68 lines
1.2 KiB
C
68 lines
1.2 KiB
C
/*
|
|
* COPYRIGHT (c) 1989-2007.
|
|
* On-Line Applications Research Corporation (OAR).
|
|
*
|
|
* The license and distribution terms for this file may be
|
|
* found in the file LICENSE in this distribution or at
|
|
* http://www.rtems.com/license/LICENSE.
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
#if HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#include <time.h>
|
|
#include <errno.h>
|
|
|
|
#include <rtems/system.h>
|
|
#include <rtems/score/isr.h>
|
|
#include <rtems/score/thread.h>
|
|
#include <rtems/score/tod.h>
|
|
|
|
#include <rtems/seterr.h>
|
|
|
|
/*PAGE
|
|
*
|
|
* 14.2.1 Clocks, P1003.1b-1993, p. 263
|
|
*/
|
|
|
|
int clock_gettime(
|
|
clockid_t clock_id,
|
|
struct timespec *tp
|
|
)
|
|
{
|
|
if ( !tp )
|
|
rtems_set_errno_and_return_minus_one( EINVAL );
|
|
|
|
switch ( clock_id ) {
|
|
|
|
case CLOCK_REALTIME:
|
|
_TOD_Get(tp);
|
|
break;
|
|
|
|
#ifdef CLOCK_MONOTONIC
|
|
case CLOCK_MONOTONIC:
|
|
_TOD_Get_uptime(tp);
|
|
break;
|
|
#endif
|
|
|
|
#ifdef _POSIX_CPUTIME
|
|
case CLOCK_PROCESS_CPUTIME:
|
|
_TOD_Get_uptime(tp);
|
|
break;
|
|
#endif
|
|
|
|
#ifdef _POSIX_THREAD_CPUTIME
|
|
case CLOCK_THREAD_CPUTIME:
|
|
rtems_set_errno_and_return_minus_one( ENOSYS );
|
|
break;
|
|
#endif
|
|
default:
|
|
rtems_set_errno_and_return_minus_one( EINVAL );
|
|
|
|
}
|
|
return 0;
|
|
}
|