OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib/] [newlib/] [libc/] [reent/] [timer.c] - Diff between revs 40 and 1765

Only display areas with differences | Details | Blame | View Log

Rev 40 Rev 1765
/* Reentrant versions of times and gettimeofday system calls for the
/* Reentrant versions of times and gettimeofday system calls for the
   clock and time ANSI C routines.
   clock and time ANSI C routines.
   This implementation just calls the times/gettimeofday system calls.
   This implementation just calls the times/gettimeofday system calls.
   Gettimeofday may not be available on all targets.  It's presence
   Gettimeofday may not be available on all targets.  It's presence
   here is dubious.  Consider it for internal use only.  */
   here is dubious.  Consider it for internal use only.  */
 
 
#include <reent.h>
#include <reent.h>
#include <time.h>
#include <time.h>
#include <sys/times.h>
#include <sys/times.h>
#include <_syslist.h>
#include <_syslist.h>
 
 
/* Some targets provides their own versions of these functions.  Those
/* Some targets provides their own versions of these functions.  Those
   targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS.  */
   targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS.  */
 
 
#ifdef _REENT_ONLY
#ifdef _REENT_ONLY
#ifndef REENTRANT_SYSCALLS_PROVIDED
#ifndef REENTRANT_SYSCALLS_PROVIDED
#define REENTRANT_SYSCALLS_PROVIDED
#define REENTRANT_SYSCALLS_PROVIDED
#endif
#endif
#endif
#endif
 
 
#ifdef REENTRANT_SYSCALLS_PROVIDED
#ifdef REENTRANT_SYSCALLS_PROVIDED
 
 
int _dummy_time_syscalls = 1;
int _dummy_time_syscalls = 1;
 
 
#else
#else
 
 
/* We use the errno variable used by the system dependent layer.  */
/* We use the errno variable used by the system dependent layer.  */
#undef errno
#undef errno
extern int errno;
extern int errno;
 
 
/*
/*
FUNCTION
FUNCTION
        <<_times_r>>---Reentrant version of times
        <<_times_r>>---Reentrant version of times
 
 
INDEX
INDEX
        _times_r
        _times_r
 
 
ANSI_SYNOPSIS
ANSI_SYNOPSIS
        #include <reent.h>
        #include <reent.h>
        #include <sys/times.h>
        #include <sys/times.h>
        clock_t _times_r(struct _reent *<[ptr]>, struct tms *<[ptms]>);
        clock_t _times_r(struct _reent *<[ptr]>, struct tms *<[ptms]>);
 
 
TRAD_SYNOPSIS
TRAD_SYNOPSIS
        #include <reent.h>
        #include <reent.h>
        #include <sys/times.h>
        #include <sys/times.h>
        clock_t _times_r(<[ptr]>, <[ptms]>)
        clock_t _times_r(<[ptr]>, <[ptms]>)
        struct _reent *<[ptr]>;
        struct _reent *<[ptr]>;
        struct tms *<[ptms]>;
        struct tms *<[ptms]>;
 
 
DESCRIPTION
DESCRIPTION
        This is a reentrant version of <<times>>.  It
        This is a reentrant version of <<times>>.  It
        takes a pointer to the global data block, which holds
        takes a pointer to the global data block, which holds
        <<errno>>.
        <<errno>>.
*/
*/
 
 
clock_t
clock_t
_times_r (ptr, ptms)
_times_r (ptr, ptms)
     struct _reent *ptr;
     struct _reent *ptr;
     struct tms *ptms;
     struct tms *ptms;
{
{
  clock_t ret;
  clock_t ret;
 
 
  ret = _times (ptms);
  ret = _times (ptms);
  return ret;
  return ret;
}
}
 
 
/*
/*
FUNCTION
FUNCTION
        <<_gettimeofday_r>>---Reentrant version of gettimeofday
        <<_gettimeofday_r>>---Reentrant version of gettimeofday
 
 
INDEX
INDEX
        _gettimeofday_r
        _gettimeofday_r
 
 
ANSI_SYNOPSIS
ANSI_SYNOPSIS
        #include <reent.h>
        #include <reent.h>
        #include <time.h>
        #include <time.h>
        int _gettimeofday_r(struct _reent *<[ptr]>,
        int _gettimeofday_r(struct _reent *<[ptr]>,
                struct timeval *<[ptimeval]>,
                struct timeval *<[ptimeval]>,
                struct timezone *<[ptimezone]>);
                struct timezone *<[ptimezone]>);
 
 
TRAD_SYNOPSIS
TRAD_SYNOPSIS
        #include <reent.h>
        #include <reent.h>
        #include <time.h>
        #include <time.h>
        int _gettimeofday_r(<[ptr]>, <[ptimeval]>, <[ptimezone]>)
        int _gettimeofday_r(<[ptr]>, <[ptimeval]>, <[ptimezone]>)
        struct _reent *<[ptr]>;
        struct _reent *<[ptr]>;
        struct timeval *<[ptimeval]>;
        struct timeval *<[ptimeval]>;
        struct timezone *<[ptimezone]>;
        struct timezone *<[ptimezone]>;
 
 
DESCRIPTION
DESCRIPTION
        This is a reentrant version of <<gettimeofday>>.  It
        This is a reentrant version of <<gettimeofday>>.  It
        takes a pointer to the global data block, which holds
        takes a pointer to the global data block, which holds
        <<errno>>.
        <<errno>>.
 
 
        This function is only available for a few targets.
        This function is only available for a few targets.
        Check libc.a to see if its available on yours.
        Check libc.a to see if its available on yours.
*/
*/
 
 
int
int
_gettimeofday_r (ptr, ptimeval, ptimezone)
_gettimeofday_r (ptr, ptimeval, ptimezone)
     struct _reent *ptr;
     struct _reent *ptr;
     struct timeval *ptimeval;
     struct timeval *ptimeval;
     struct timezone *ptimezone;
     struct timezone *ptimezone;
{
{
  int ret;
  int ret;
 
 
  errno = 0;
  errno = 0;
  if ((ret = _gettimeofday (ptimeval, ptimezone)) == -1 && errno != 0)
  if ((ret = _gettimeofday (ptimeval, ptimezone)) == -1 && errno != 0)
    ptr->_errno = errno;
    ptr->_errno = errno;
  return ret;
  return ret;
}
}
 
 
#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.