diff options
-rw-r--r-- | include/linux/time.h | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/include/linux/time.h b/include/linux/time.h index aded44c48d42..4d49cabb9b47 100644 --- a/include/linux/time.h +++ b/include/linux/time.h | |||
@@ -4,7 +4,7 @@ | |||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | 5 | ||
6 | #ifdef __KERNEL__ | 6 | #ifdef __KERNEL__ |
7 | #include <linux/seqlock.h> | 7 | # include <linux/seqlock.h> |
8 | #endif | 8 | #endif |
9 | 9 | ||
10 | #ifndef _STRUCT_TIMESPEC | 10 | #ifndef _STRUCT_TIMESPEC |
@@ -13,7 +13,7 @@ struct timespec { | |||
13 | time_t tv_sec; /* seconds */ | 13 | time_t tv_sec; /* seconds */ |
14 | long tv_nsec; /* nanoseconds */ | 14 | long tv_nsec; /* nanoseconds */ |
15 | }; | 15 | }; |
16 | #endif /* _STRUCT_TIMESPEC */ | 16 | #endif |
17 | 17 | ||
18 | struct timeval { | 18 | struct timeval { |
19 | time_t tv_sec; /* seconds */ | 19 | time_t tv_sec; /* seconds */ |
@@ -27,16 +27,16 @@ struct timezone { | |||
27 | 27 | ||
28 | #ifdef __KERNEL__ | 28 | #ifdef __KERNEL__ |
29 | 29 | ||
30 | /* Parameters used to convert the timespec values */ | 30 | /* Parameters used to convert the timespec values: */ |
31 | #define MSEC_PER_SEC (1000L) | 31 | #define MSEC_PER_SEC 1000L |
32 | #define USEC_PER_SEC (1000000L) | 32 | #define USEC_PER_SEC 1000000L |
33 | #define NSEC_PER_SEC (1000000000L) | 33 | #define NSEC_PER_SEC 1000000000L |
34 | #define NSEC_PER_USEC (1000L) | 34 | #define NSEC_PER_USEC 1000L |
35 | 35 | ||
36 | static __inline__ int timespec_equal(struct timespec *a, struct timespec *b) | 36 | static __inline__ int timespec_equal(struct timespec *a, struct timespec *b) |
37 | { | 37 | { |
38 | return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec); | 38 | return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec); |
39 | } | 39 | } |
40 | 40 | ||
41 | extern unsigned long mktime(const unsigned int year, const unsigned int mon, | 41 | extern unsigned long mktime(const unsigned int year, const unsigned int mon, |
42 | const unsigned int day, const unsigned int hour, | 42 | const unsigned int day, const unsigned int hour, |
@@ -49,25 +49,26 @@ extern struct timespec wall_to_monotonic; | |||
49 | extern seqlock_t xtime_lock; | 49 | extern seqlock_t xtime_lock; |
50 | 50 | ||
51 | static inline unsigned long get_seconds(void) | 51 | static inline unsigned long get_seconds(void) |
52 | { | 52 | { |
53 | return xtime.tv_sec; | 53 | return xtime.tv_sec; |
54 | } | 54 | } |
55 | 55 | ||
56 | struct timespec current_kernel_time(void); | 56 | struct timespec current_kernel_time(void); |
57 | 57 | ||
58 | #define CURRENT_TIME (current_kernel_time()) | 58 | #define CURRENT_TIME (current_kernel_time()) |
59 | #define CURRENT_TIME_SEC ((struct timespec) { xtime.tv_sec, 0 }) | 59 | #define CURRENT_TIME_SEC ((struct timespec) { xtime.tv_sec, 0 }) |
60 | 60 | ||
61 | extern void do_gettimeofday(struct timeval *tv); | 61 | extern void do_gettimeofday(struct timeval *tv); |
62 | extern int do_settimeofday(struct timespec *tv); | 62 | extern int do_settimeofday(struct timespec *tv); |
63 | extern int do_sys_settimeofday(struct timespec *tv, struct timezone *tz); | 63 | extern int do_sys_settimeofday(struct timespec *tv, struct timezone *tz); |
64 | extern void clock_was_set(void); // call when ever the clock is set | 64 | extern void clock_was_set(void); // call whenever the clock is set |
65 | extern int do_posix_clock_monotonic_gettime(struct timespec *tp); | 65 | extern int do_posix_clock_monotonic_gettime(struct timespec *tp); |
66 | extern long do_utimes(char __user * filename, struct timeval * times); | 66 | extern long do_utimes(char __user *filename, struct timeval *times); |
67 | struct itimerval; | 67 | struct itimerval; |
68 | extern int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue); | 68 | extern int do_setitimer(int which, struct itimerval *value, |
69 | struct itimerval *ovalue); | ||
69 | extern int do_getitimer(int which, struct itimerval *value); | 70 | extern int do_getitimer(int which, struct itimerval *value); |
70 | extern void getnstimeofday (struct timespec *tv); | 71 | extern void getnstimeofday(struct timespec *tv); |
71 | extern void getnstimestamp(struct timespec *ts); | 72 | extern void getnstimestamp(struct timespec *ts); |
72 | 73 | ||
73 | extern struct timespec timespec_trunc(struct timespec t, unsigned gran); | 74 | extern struct timespec timespec_trunc(struct timespec t, unsigned gran); |
@@ -84,24 +85,24 @@ extern struct timespec timespec_trunc(struct timespec t, unsigned gran); | |||
84 | 85 | ||
85 | /* | 86 | /* |
86 | * Names of the interval timers, and structure | 87 | * Names of the interval timers, and structure |
87 | * defining a timer setting. | 88 | * defining a timer setting: |
88 | */ | 89 | */ |
89 | #define ITIMER_REAL 0 | 90 | #define ITIMER_REAL 0 |
90 | #define ITIMER_VIRTUAL 1 | 91 | #define ITIMER_VIRTUAL 1 |
91 | #define ITIMER_PROF 2 | 92 | #define ITIMER_PROF 2 |
92 | 93 | ||
93 | struct itimerspec { | 94 | struct itimerspec { |
94 | struct timespec it_interval; /* timer period */ | 95 | struct timespec it_interval; /* timer period */ |
95 | struct timespec it_value; /* timer expiration */ | 96 | struct timespec it_value; /* timer expiration */ |
96 | }; | 97 | }; |
97 | 98 | ||
98 | struct itimerval { | 99 | struct itimerval { |
99 | struct timeval it_interval; /* timer interval */ | 100 | struct timeval it_interval; /* timer interval */ |
100 | struct timeval it_value; /* current value */ | 101 | struct timeval it_value; /* current value */ |
101 | }; | 102 | }; |
102 | 103 | ||
103 | /* | 104 | /* |
104 | * The IDs of the various system clocks (for POSIX.1b interval timers). | 105 | * The IDs of the various system clocks (for POSIX.1b interval timers): |
105 | */ | 106 | */ |
106 | #define CLOCK_REALTIME 0 | 107 | #define CLOCK_REALTIME 0 |
107 | #define CLOCK_MONOTONIC 1 | 108 | #define CLOCK_MONOTONIC 1 |
@@ -109,7 +110,7 @@ struct itimerval { | |||
109 | #define CLOCK_THREAD_CPUTIME_ID 3 | 110 | #define CLOCK_THREAD_CPUTIME_ID 3 |
110 | 111 | ||
111 | /* | 112 | /* |
112 | * The IDs of various hardware clocks | 113 | * The IDs of various hardware clocks: |
113 | */ | 114 | */ |
114 | #define CLOCK_SGI_CYCLE 10 | 115 | #define CLOCK_SGI_CYCLE 10 |
115 | #define MAX_CLOCKS 16 | 116 | #define MAX_CLOCKS 16 |
@@ -117,7 +118,7 @@ struct itimerval { | |||
117 | #define CLOCKS_MONO CLOCK_MONOTONIC | 118 | #define CLOCKS_MONO CLOCK_MONOTONIC |
118 | 119 | ||
119 | /* | 120 | /* |
120 | * The various flags for setting POSIX.1b interval timers. | 121 | * The various flags for setting POSIX.1b interval timers: |
121 | */ | 122 | */ |
122 | #define TIMER_ABSTIME 0x01 | 123 | #define TIMER_ABSTIME 0x01 |
123 | 124 | ||