cregit-Linux how code gets into the kernel

Release 4.17 include/uapi/linux/time.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_LINUX_TIME_H

#define _UAPI_LINUX_TIME_H

#include <linux/types.h>


#ifndef _STRUCT_TIMESPEC

#define _STRUCT_TIMESPEC

struct timespec {
	
__kernel_time_t	tv_sec;			/* seconds */
	
long		tv_nsec;		/* nanoseconds */
};
#endif


struct timeval {
	
__kernel_time_t		tv_sec;		/* seconds */
	
__kernel_suseconds_t	tv_usec;	/* microseconds */
};


struct timezone {
	
int	tz_minuteswest;	/* minutes west of Greenwich */
	
int	tz_dsttime;	/* type of dst correction */
};


/*
 * Names of the interval timers, and structure
 * defining a timer setting:
 */

#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 itimerval {
	
struct timeval it_interval;	/* timer interval */
	
struct timeval it_value;	/* current value */
};

/*
 * legacy timeval structure, only embedded in structures that
 * traditionally used 'timeval' to pass time intervals (not absolute
 * times). Do not add new users. If user space fails to compile
 * here, this is probably because it is not y2038 safe and needs to
 * be changed to use another interface.
 */

struct __kernel_old_timeval {
	
__kernel_long_t tv_sec;
	
__kernel_long_t tv_usec;
};

/*
 * The IDs of the various system clocks (for POSIX.1b interval timers):
 */

#define CLOCK_REALTIME			0

#define CLOCK_MONOTONIC			1

#define CLOCK_PROCESS_CPUTIME_ID	2

#define CLOCK_THREAD_CPUTIME_ID		3

#define CLOCK_MONOTONIC_RAW		4

#define CLOCK_REALTIME_COARSE		5

#define CLOCK_MONOTONIC_COARSE		6

#define CLOCK_BOOTTIME			7

#define CLOCK_REALTIME_ALARM		8

#define CLOCK_BOOTTIME_ALARM		9
/*
 * The driver implementing this got removed. The clock ID is kept as a
 * place holder. Do not reuse!
 */

#define CLOCK_SGI_CYCLE			10

#define CLOCK_TAI			11


#define MAX_CLOCKS			16

#define CLOCKS_MASK			(CLOCK_REALTIME | CLOCK_MONOTONIC)

#define CLOCKS_MONO			CLOCK_MONOTONIC

/*
 * The various flags for setting POSIX.1b interval timers:
 */

#define TIMER_ABSTIME			0x01

#endif /* _UAPI_LINUX_TIME_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
David Howells16490.11%120.00%
Arnd Bergmann126.59%120.00%
John Stultz42.20%120.00%
Greg Kroah-Hartman10.55%120.00%
Christoph Hellwig10.55%120.00%
Total182100.00%5100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.