You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.3 KiB
103 lines
2.3 KiB
14 years ago
|
/* @(#)time.h 2.9 87/01/17 SMI; from UCB 7.1 6/4/86 */
|
||
|
|
||
|
/*
|
||
|
Definitions of various structures used on UNIX for
|
||
|
time-related syscalls.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* Copyright (c) 1982, 1986 Regents of the University of California.
|
||
|
* All rights reserved. The Berkeley software License Agreement
|
||
|
* specifies the terms and conditions for redistribution.
|
||
|
*/
|
||
|
|
||
|
#ifndef _UNIX_TIME_
|
||
|
#define _UNIX_TIME_
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* Structure returned by gettimeofday(2) system call,
|
||
|
* and used in other calls.
|
||
|
*/
|
||
|
#ifndef __DECC
|
||
|
struct timeval
|
||
|
{
|
||
|
long tv_sec; /* seconds */
|
||
|
long tv_usec; /* and microseconds */
|
||
|
};
|
||
|
#else
|
||
|
#if (__DECC_VER < 50200000) && (__VMS_VER < 70000000)
|
||
|
struct timeval
|
||
|
{
|
||
|
long tv_sec; /* seconds */
|
||
|
long tv_usec; /* and microseconds */
|
||
|
};
|
||
|
#endif /* __DECC_VER */
|
||
|
#endif /* __DECC */
|
||
|
struct timezone
|
||
|
{
|
||
|
int tz_minuteswest; /* minutes west of Greenwich */
|
||
|
int tz_dsttime; /* type of dst correction */
|
||
|
};
|
||
|
|
||
|
#define DST_NONE 0 /* not on dst */
|
||
|
#define DST_USA 1 /* USA style dst */
|
||
|
#define DST_AUST 2 /* Australian style dst */
|
||
|
#define DST_WET 3 /* Western European dst */
|
||
|
#define DST_MET 4 /* Middle European dst */
|
||
|
#define DST_EET 5 /* Eastern European dst */
|
||
|
#define DST_CAN 6 /* Canada */
|
||
|
#define DST_GB 7 /* Great Britain and Eire */
|
||
|
#define DST_RUM 8 /* Rumania */
|
||
|
#define DST_TUR 9 /* Turkey */
|
||
|
#define DST_AUSTALT 10 /* Australian style with shift in 1986 */
|
||
|
|
||
|
/*
|
||
|
* Operations on timevals.
|
||
|
*
|
||
|
* NB: timercmp does not work for >= or <=.
|
||
|
*/
|
||
|
#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
|
||
|
#define timercmp(tvp, uvp, cmp) \
|
||
|
((tvp)->tv_sec cmp (uvp)->tv_sec || \
|
||
|
(tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)
|
||
|
#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
|
||
|
|
||
|
/*
|
||
|
* Names of the interval timers, and structure
|
||
|
* defining a timer setting.
|
||
|
*/
|
||
|
#define ITIMER_REAL 0
|
||
|
#define ITIMER_VIRTUAL 1
|
||
|
#define ITIMER_PROF 2
|
||
|
|
||
|
#ifndef __DECC
|
||
|
struct itimerval
|
||
|
{
|
||
|
struct timeval it_interval; /* timer interval */
|
||
|
struct timeval it_value; /* current value */
|
||
|
};
|
||
|
#else
|
||
|
#if (__DECC_VER < 50200000) && (__VMS_VER < 70000000)
|
||
|
struct itimerval
|
||
|
{
|
||
|
struct timeval it_interval; /* timer interval */
|
||
|
struct timeval it_value; /* current value */
|
||
|
};
|
||
|
#endif /* __DECC_VER */
|
||
|
#endif /* __DECC */
|
||
|
|
||
|
#ifndef KERNEL
|
||
|
#include <time.h>
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /*!_UNIX_TIME_*/
|
||
|
|