⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time.h

📁 Newlib 嵌入式 C库 标准实现代码
💻 H
字号:
/* * time.h *  * Struct and function declarations for dealing with time. */#ifndef _TIME_H_#include "_ansi.h"#include <sys/reent.h>#include <sys/linux_time.h>#ifdef __cplusplusextern "C" {#endif#ifndef NULL#define	NULL	0#endif/* Get _CLOCKS_PER_SEC_ */#include <machine/time.h>#include <sys/types.h>/* Time Value Specification Structures, P1003.1b-1993, p. 261 */#ifndef _STRUCT_TIMESPEC#define _STRUCT_TIMESPECstruct timespec {  time_t  tv_sec;   /* Seconds */  long    tv_nsec;  /* Nanoseconds */};#endif /* !_STRUCT_TIMESPEC */#ifndef __need_timespec#define _TIME_H_ 1#ifndef _CLOCKS_PER_SEC_#define _CLOCKS_PER_SEC_ 1000#endif#define CLOCKS_PER_SEC _CLOCKS_PER_SEC_#define CLK_TCK CLOCKS_PER_SEC#define __need_size_t#include <stddef.h>struct tm{  int	tm_sec;  int	tm_min;  int	tm_hour;  int	tm_mday;  int	tm_mon;  int	tm_year;  int	tm_wday;  int	tm_yday;  int	tm_isdst;};#ifndef __timer_t_defined# define __timer_t_defined      1typedef __timer_t timer_t;#endifclock_t	   _EXFUN(clock,    (void));double	   _EXFUN(difftime, (time_t _time2, time_t _time1));time_t	   _EXFUN(mktime,   (struct tm *_timeptr));time_t	   _EXFUN(time,     (time_t *_timer));#ifndef _REENT_ONLYchar	  *_EXFUN(asctime,  (const struct tm *_tblock));char	  *_EXFUN(ctime,    (const time_t *_time));struct tm *_EXFUN(gmtime,   (const time_t *_timer));struct tm *_EXFUN(localtime,(const time_t *_timer));#endifsize_t	   _EXFUN(strftime, (char *_s, size_t _maxsize, const char *_fmt, const struct tm *_t));char	  *_EXFUN(asctime_r,	(const struct tm *, char *));char	  *_EXFUN(ctime_r,	(const time_t *, char *));struct tm *_EXFUN(gmtime_r,	(const time_t *, struct tm *));struct tm *_EXFUN(localtime_r,	(const time_t *, struct tm *));#ifndef __STRICT_ANSI__char      *_EXFUN(strptime,     (const char *, const char *, struct tm *));_VOID      _EXFUN(tzset,	(_VOID));_VOID      _EXFUN(_tzset_r,	(struct _reent *));typedef struct __tzrule_struct{  char ch;  int m;  int n;  int d;  int s;  time_t change;  long offset; /* Match type of _timezone. */} __tzrule_type;typedef struct __tzinfo_struct{  int __tznorth;  int __tzyear;  __tzrule_type __tzrule[2];} __tzinfo_type;__tzinfo_type *_EXFUN (__gettzinfo, (_VOID));/* getdate functions */#ifndef _REENT_ONLY#define getdate_err (*__getdate_err())int *_EXFUN(__getdate_err,(_VOID));struct tm *	_EXFUN(getdate, (const char *));/* getdate_err is set to one of the following values to indicate the error.     1  the DATEMSK environment variable is null or undefined,     2  the template file cannot be opened for reading,     3  failed to get file status information,     4  the template file is not a regular file,     5  an error is encountered while reading the template file,     6  memory allication failed (not enough memory available),     7  there is no line in the template that matches the input,     8  invalid input specification  */#endif /* !_REENT_ONLY *//* getdate_r returns the error code as above */int		_EXFUN(getdate_r, (const char *, struct tm *));/* defines for the opengroup specifications Derived from Issue 1 of the SVID.  */extern __IMPORT long _timezone;extern __IMPORT int _daylight;extern __IMPORT char *_tzname[2];/* POSIX defines the external tzname being defined in time.h */#ifndef tzname#define tzname _tzname#endif#endif /* !__STRICT_ANSI__ */#include <sys/features.h>#if defined(_POSIX_TIMERS)#include <signal.h>/* Clocks, P1003.1b-1993, p. 263 */int _EXFUN(clock_settime, (clockid_t clock_id, const struct timespec *tp));int _EXFUN(clock_gettime, (clockid_t clock_id, struct timespec *tp));int _EXFUN(clock_getres,  (clockid_t clock_id, struct timespec *res));/* Create a Per-Process Timer, P1003.1b-1993, p. 264 */int _EXFUN(timer_create,  (clockid_t clock_id, struct sigevent *evp, timer_t *timerid));/* Delete a Per_process Timer, P1003.1b-1993, p. 266 */int _EXFUN(timer_delete, (timer_t timerid));/* Per-Process Timers, P1003.1b-1993, p. 267 */int _EXFUN(timer_settime,  (timer_t timerid, int flags, const struct itimerspec *value,   struct itimerspec *ovalue));int _EXFUN(timer_gettime, (timer_t timerid, struct itimerspec *value));int _EXFUN(timer_getoverrun, (timer_t timerid));/* High Resolution Sleep, P1003.1b-1993, p. 269 */int _EXFUN(nanosleep, (const struct timespec  *rqtp, struct timespec *rmtp));#endif /* _POSIX_TIMERS *//* CPU-time Clock Attributes, P1003.4b/D8, p. 54 *//* values for the clock enable attribute */#define CLOCK_ENABLED  1  /* clock is enabled, i.e. counting execution time */#define CLOCK_DISABLED 0  /* clock is disabled *//* values for the pthread cputime_clock_allowed attribute */#define CLOCK_ALLOWED    1 /* If a thread is created with this value a */                           /*   CPU-time clock attached to that thread */                           /*   shall be accessible. */#define CLOCK_DISALLOWED 0 /* If a thread is created with this value, the */                           /*   thread shall not have a CPU-time clock */                           /*   accessible. *//* Manifest Constants, P1003.1b-1993, p. 262 */#define CLOCK_REALTIME (clockid_t)1/* Flag indicating time is "absolute" with respect to the clock   associated with a time.  */#define TIMER_ABSTIME  4/* Manifest Constants, P1003.4b/D8, p. 55 */#if defined(_POSIX_CPUTIME)/* When used in a clock or timer function call, this is interpreted as   the identifier of the CPU_time clock associated with the PROCESS   making the function call.  */#define CLOCK_PROCESS_CPUTIME_ID (clockid_t)2#endif#if defined(_POSIX_THREAD_CPUTIME)/*  When used in a clock or timer function call, this is interpreted as    the identifier of the CPU_time clock associated with the THREAD    making the function call.  */#define CLOCK_THREAD_CPUTIME_ID (clockid_t)3#endif#if defined(_POSIX_CPUTIME)/* Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55 */int _EXFUN(clock_getcpuclockid, (pid_t pid, clockid_t *clock_id));#endif /* _POSIX_CPUTIME */#if defined(_POSIX_CPUTIME) || defined(_POSIX_THREAD_CPUTIME)/* CPU-time Clock Attribute Access, P1003.4b/D8, p. 56 */int _EXFUN(clock_setenable_attr, (clockid_t clock_id, int attr));int _EXFUN(clock_getenable_attr, (clockid_t clock_id, int *attr));#endif /* _POSIX_CPUTIME or _POSIX_THREAD_CPUTIME */#ifdef __cplusplus}#endif#endif /* ! __need_timespec */#undef __need_timespec#endif /* _TIME_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -