|
@@ -4,7 +4,7 @@
|
|
#include <linux/types.h>
|
|
#include <linux/types.h>
|
|
|
|
|
|
#ifdef __KERNEL__
|
|
#ifdef __KERNEL__
|
|
-#include <linux/seqlock.h>
|
|
|
|
|
|
+# include <linux/seqlock.h>
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#ifndef _STRUCT_TIMESPEC
|
|
#ifndef _STRUCT_TIMESPEC
|
|
@@ -13,7 +13,7 @@ struct timespec {
|
|
time_t tv_sec; /* seconds */
|
|
time_t tv_sec; /* seconds */
|
|
long tv_nsec; /* nanoseconds */
|
|
long tv_nsec; /* nanoseconds */
|
|
};
|
|
};
|
|
-#endif /* _STRUCT_TIMESPEC */
|
|
|
|
|
|
+#endif
|
|
|
|
|
|
struct timeval {
|
|
struct timeval {
|
|
time_t tv_sec; /* seconds */
|
|
time_t tv_sec; /* seconds */
|
|
@@ -27,16 +27,16 @@ struct timezone {
|
|
|
|
|
|
#ifdef __KERNEL__
|
|
#ifdef __KERNEL__
|
|
|
|
|
|
-/* Parameters used to convert the timespec values */
|
|
|
|
-#define MSEC_PER_SEC (1000L)
|
|
|
|
-#define USEC_PER_SEC (1000000L)
|
|
|
|
-#define NSEC_PER_SEC (1000000000L)
|
|
|
|
-#define NSEC_PER_USEC (1000L)
|
|
|
|
|
|
+/* Parameters used to convert the timespec values: */
|
|
|
|
+#define MSEC_PER_SEC 1000L
|
|
|
|
+#define USEC_PER_SEC 1000000L
|
|
|
|
+#define NSEC_PER_SEC 1000000000L
|
|
|
|
+#define NSEC_PER_USEC 1000L
|
|
|
|
|
|
-static __inline__ int timespec_equal(struct timespec *a, struct timespec *b)
|
|
|
|
-{
|
|
|
|
|
|
+static __inline__ int timespec_equal(struct timespec *a, struct timespec *b)
|
|
|
|
+{
|
|
return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec);
|
|
return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec);
|
|
-}
|
|
|
|
|
|
+}
|
|
|
|
|
|
extern unsigned long mktime(const unsigned int year, const unsigned int mon,
|
|
extern unsigned long mktime(const unsigned int year, const unsigned int mon,
|
|
const unsigned int day, const unsigned int hour,
|
|
const unsigned int day, const unsigned int hour,
|
|
@@ -49,25 +49,26 @@ extern struct timespec wall_to_monotonic;
|
|
extern seqlock_t xtime_lock;
|
|
extern seqlock_t xtime_lock;
|
|
|
|
|
|
static inline unsigned long get_seconds(void)
|
|
static inline unsigned long get_seconds(void)
|
|
-{
|
|
|
|
|
|
+{
|
|
return xtime.tv_sec;
|
|
return xtime.tv_sec;
|
|
}
|
|
}
|
|
|
|
|
|
struct timespec current_kernel_time(void);
|
|
struct timespec current_kernel_time(void);
|
|
|
|
|
|
-#define CURRENT_TIME (current_kernel_time())
|
|
|
|
-#define CURRENT_TIME_SEC ((struct timespec) { xtime.tv_sec, 0 })
|
|
|
|
|
|
+#define CURRENT_TIME (current_kernel_time())
|
|
|
|
+#define CURRENT_TIME_SEC ((struct timespec) { xtime.tv_sec, 0 })
|
|
|
|
|
|
extern void do_gettimeofday(struct timeval *tv);
|
|
extern void do_gettimeofday(struct timeval *tv);
|
|
extern int do_settimeofday(struct timespec *tv);
|
|
extern int do_settimeofday(struct timespec *tv);
|
|
extern int do_sys_settimeofday(struct timespec *tv, struct timezone *tz);
|
|
extern int do_sys_settimeofday(struct timespec *tv, struct timezone *tz);
|
|
-extern void clock_was_set(void); // call when ever the clock is set
|
|
|
|
|
|
+extern void clock_was_set(void); // call whenever the clock is set
|
|
extern int do_posix_clock_monotonic_gettime(struct timespec *tp);
|
|
extern int do_posix_clock_monotonic_gettime(struct timespec *tp);
|
|
-extern long do_utimes(char __user * filename, struct timeval * times);
|
|
|
|
|
|
+extern long do_utimes(char __user *filename, struct timeval *times);
|
|
struct itimerval;
|
|
struct itimerval;
|
|
-extern int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue);
|
|
|
|
|
|
+extern int do_setitimer(int which, struct itimerval *value,
|
|
|
|
+ struct itimerval *ovalue);
|
|
extern int do_getitimer(int which, struct itimerval *value);
|
|
extern int do_getitimer(int which, struct itimerval *value);
|
|
-extern void getnstimeofday (struct timespec *tv);
|
|
|
|
|
|
+extern void getnstimeofday(struct timespec *tv);
|
|
extern void getnstimestamp(struct timespec *ts);
|
|
extern void getnstimestamp(struct timespec *ts);
|
|
|
|
|
|
extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
|
|
extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
|
|
@@ -84,24 +85,24 @@ extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
|
|
|
|
|
|
/*
|
|
/*
|
|
* Names of the interval timers, and structure
|
|
* Names of the interval timers, and structure
|
|
- * defining a timer setting.
|
|
|
|
|
|
+ * defining a timer setting:
|
|
*/
|
|
*/
|
|
-#define ITIMER_REAL 0
|
|
|
|
-#define ITIMER_VIRTUAL 1
|
|
|
|
-#define ITIMER_PROF 2
|
|
|
|
|
|
+#define ITIMER_REAL 0
|
|
|
|
+#define ITIMER_VIRTUAL 1
|
|
|
|
+#define ITIMER_PROF 2
|
|
|
|
|
|
-struct itimerspec {
|
|
|
|
- struct timespec it_interval; /* timer period */
|
|
|
|
- struct timespec it_value; /* timer expiration */
|
|
|
|
|
|
+struct itimerspec {
|
|
|
|
+ struct timespec it_interval; /* timer period */
|
|
|
|
+ struct timespec it_value; /* timer expiration */
|
|
};
|
|
};
|
|
|
|
|
|
-struct itimerval {
|
|
|
|
- struct timeval it_interval; /* timer interval */
|
|
|
|
- struct timeval it_value; /* current value */
|
|
|
|
|
|
+struct itimerval {
|
|
|
|
+ struct timeval it_interval; /* timer interval */
|
|
|
|
+ struct timeval it_value; /* current value */
|
|
};
|
|
};
|
|
|
|
|
|
/*
|
|
/*
|
|
- * The IDs of the various system clocks (for POSIX.1b interval timers).
|
|
|
|
|
|
+ * The IDs of the various system clocks (for POSIX.1b interval timers):
|
|
*/
|
|
*/
|
|
#define CLOCK_REALTIME 0
|
|
#define CLOCK_REALTIME 0
|
|
#define CLOCK_MONOTONIC 1
|
|
#define CLOCK_MONOTONIC 1
|
|
@@ -109,7 +110,7 @@ struct itimerval {
|
|
#define CLOCK_THREAD_CPUTIME_ID 3
|
|
#define CLOCK_THREAD_CPUTIME_ID 3
|
|
|
|
|
|
/*
|
|
/*
|
|
- * The IDs of various hardware clocks
|
|
|
|
|
|
+ * The IDs of various hardware clocks:
|
|
*/
|
|
*/
|
|
#define CLOCK_SGI_CYCLE 10
|
|
#define CLOCK_SGI_CYCLE 10
|
|
#define MAX_CLOCKS 16
|
|
#define MAX_CLOCKS 16
|
|
@@ -117,7 +118,7 @@ struct itimerval {
|
|
#define CLOCKS_MONO CLOCK_MONOTONIC
|
|
#define CLOCKS_MONO CLOCK_MONOTONIC
|
|
|
|
|
|
/*
|
|
/*
|
|
- * The various flags for setting POSIX.1b interval timers.
|
|
|
|
|
|
+ * The various flags for setting POSIX.1b interval timers:
|
|
*/
|
|
*/
|
|
#define TIMER_ABSTIME 0x01
|
|
#define TIMER_ABSTIME 0x01
|
|
|
|
|