]> sourceware.org Git - glibc.git/blame - bits/time.h
Replace FSF snail mail address with URLs.
[glibc.git] / bits / time.h
CommitLineData
3fc6935a 1/* System-dependent timing definitions. Generic version.
89a4419c 2 Copyright (C) 1996,1997,1999-2002,2003,2010 Free Software Foundation, Inc.
f0e44959
UD
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
f0e44959
UD
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 13 Lesser General Public License for more details.
f0e44959 14
41bdb6e2 15 You should have received a copy of the GNU Lesser General Public
59ba27a6
PE
16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
f0e44959 18
5107cf1d
UD
19/*
20 * Never include this file directly; use <time.h> instead.
21 */
22
f4017d20
UD
23#ifndef __need_timeval
24# ifndef _BITS_TIME_H
25# define _BITS_TIME_H 1
26
3fc6935a
RM
27/* ISO/IEC 9899:1990 7.12.1: <time.h>
28 The macro `CLOCKS_PER_SEC' is the number per second of the value
29 returned by the `clock' function. */
30/* CAE XSH, Issue 4, Version 2: <time.h>
31 The value of CLOCKS_PER_SEC is required to be 1 million on all
32 XSI-conformant systems. */
33# define CLOCKS_PER_SEC 1000000l
34
35# if !defined __STRICT_ANSI__ && !defined __USE_XOPEN2K
36/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK
37 presents the real value for clock ticks per second for the system. */
38# include <bits/types.h>
39extern long int __sysconf (int);
40# define CLK_TCK ((__clock_t) __sysconf (2)) /* 2 is _SC_CLK_TCK */
41# endif
f4017d20 42
be1dd949
UD
43# ifdef __USE_POSIX199309
44/* Identifier for system-wide realtime clock. */
3fc6935a 45# define CLOCK_REALTIME 0
1e543c0c
UD
46/* Monotonic system-wide clock. */
47# define CLOCK_MONOTONIC 1
3fc6935a
RM
48/* High-resolution timer from the CPU. */
49# define CLOCK_PROCESS_CPUTIME_ID 2
50/* Thread-specific CPU-time clock. */
51# define CLOCK_THREAD_CPUTIME_ID 3
89a4419c
UD
52/* Monotonic system-wide clock, not adjusted for frequency scaling. */
53# define CLOCK_MONOTONIC_RAW 4
54/* Identifier for system-wide realtime clock, updated only on ticks. */
55# define CLOCK_REALTIME_COARSE 5
56/* Monotonic system-wide clock, updated only on ticks. */
57# define CLOCK_MONOTONIC_COARSE 6
be1dd949
UD
58
59/* Flag to indicate time is absolute. */
3fc6935a 60# define TIMER_ABSTIME 1
be1dd949
UD
61# endif
62
f4017d20
UD
63# endif /* bits/time.h */
64#endif
65
f0e44959
UD
66#ifdef __need_timeval
67# undef __need_timeval
68# ifndef _STRUCT_TIMEVAL
69# define _STRUCT_TIMEVAL 1
3fc6935a
RM
70# include <bits/types.h>
71
f0e44959
UD
72/* A time value that is accurate to the nearest
73 microsecond but also has a range of years. */
74struct timeval
75 {
d71b808a 76 __time_t tv_sec; /* Seconds. */
57fb9b38 77 __suseconds_t tv_usec; /* Microseconds. */
f0e44959
UD
78 };
79# endif /* struct timeval */
80#endif /* need timeval */
This page took 0.316122 seconds and 5 git commands to generate.