Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ****************************************************************************
     11  ****************************************************************************/
     12 #ifndef _LINUX_KTIME_H
     13 #define _LINUX_KTIME_H
     14 
     15 #include <linux/time.h>
     16 #include <linux/jiffies.h>
     17 
     18 typedef union {
     19  s64 tv64;
     20 #if BITS_PER_LONG != (64 && !defined(CONFIG_KTIME_SCALAR))
     21  struct {
     22 #ifdef __BIG_ENDIAN
     23  s32 sec, nsec;
     24 #else
     25  s32 nsec, sec;
     26 #endif
     27  } tv;
     28 #endif
     29 } ktime_t;
     30 
     31 #define KTIME_MAX ((s64)~((u64)1 << 63))
     32 #define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC)
     33 
     34 #if BITS_PER_LONG == 64
     35 
     36 #if BITS_PER_LONG == 64
     37 #endif
     38 #define ktime_sub(lhs, rhs)   ({ (ktime_t){ .tv64 = (lhs).tv64 - (rhs).tv64 }; })
     39 #define ktime_add(lhs, rhs)   ({ (ktime_t){ .tv64 = (lhs).tv64 + (rhs).tv64 }; })
     40 #define ktime_add_ns(kt, nsval)   ({ (ktime_t){ .tv64 = (kt).tv64 + (nsval) }; })
     41 #define ktime_to_timespec(kt) ns_to_timespec((kt).tv64)
     42 #define ktime_to_timeval(kt) ns_to_timeval((kt).tv64)
     43 #define ktime_to_ns(kt) ((kt).tv64)
     44 #else
     45 
     46 #endif
     47 #define KTIME_REALTIME_RES (ktime_t){ .tv64 = TICK_NSEC }
     48 #define KTIME_MONOTONIC_RES (ktime_t){ .tv64 = TICK_NSEC }
     49 
     50 #define ktime_get_real_ts(ts) getnstimeofday(ts)
     51 
     52 #endif
     53