da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* : : generated by proto : : */
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner/* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_sparc_32bit/src/lib/libast/features/tv by iffe version 2009-12-04 : : */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef _TV_H
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__PROTO__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__cplusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __LINKAGE__ "C"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __LINKAGE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __STDARG__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __PROTO__(x) x
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __OTORP__(x)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __PARAM__(n,o) n
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !defined(__STDC__) && !defined(__cplusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !defined(c_plusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define const
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define signed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define void int
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define volatile
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __V_ char
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __V_ void
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __PROTO__(x) ()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __OTORP__(x) x
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __PARAM__(n,o) o
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __LINKAGE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __V_ char
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define const
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define signed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define void int
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define volatile
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __MANGLE__ __LINKAGE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__cplusplus) || defined(c_plusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __VARARG__ ...
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __VARARG__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__STDARG__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __VA_START__(p,a) va_start(p,a)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __VA_START__(p,a) va_start(p)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if !defined(__INLINE__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(__cplusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __INLINE__ extern __MANGLE__ inline
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# if defined(_WIN32) && !defined(__GNUC__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# define __INLINE__ __inline
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__LINKAGE__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define __LINKAGE__ /* 2004-08-11 transition */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _TV_H 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/*
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * AT&T Research
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * high resolution Tv_t interface definitions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <ast.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define TV_NSEC_IGNORE (1000000000L)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define TV_TOUCH_RETAIN ((Tv_t*)1)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chintypedef struct Tv_s
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin{
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin uint32_t tv_sec;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin uint32_t tv_nsec;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin} Tv_t;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define ST_ATIME_NSEC_GET(st) ((st)->st_atim.tv_nsec)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define ST_CTIME_NSEC_GET(st) ((st)->st_ctim.tv_nsec)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define ST_MTIME_NSEC_GET(st) ((st)->st_mtim.tv_nsec)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define ST_ATIME_NSEC_SET(st,n) (ST_ATIME_NSEC_GET(st)=(n))
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define ST_CTIME_NSEC_SET(st,n) (ST_CTIME_NSEC_GET(st)=(n))
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define ST_MTIME_NSEC_SET(st,n) (ST_MTIME_NSEC_GET(st)=(n))
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define tvgetatime(t,s) ((t)->tv_nsec=ST_ATIME_NSEC_GET(s),(t)->tv_sec=(s)->st_atime)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define tvgetmtime(t,s) ((t)->tv_nsec=ST_MTIME_NSEC_GET(s),(t)->tv_sec=(s)->st_mtime)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define tvgetctime(t,s) ((t)->tv_nsec=ST_CTIME_NSEC_GET(s),(t)->tv_sec=(s)->st_ctime)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define tvsetatime(t,s) (ST_ATIME_NSEC_SET(s,(t)->tv_nsec),(s)->st_atime=(t)->tv_sec)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define tvsetmtime(t,s) (ST_MTIME_NSEC_SET(s,(t)->tv_nsec),(s)->st_mtime=(t)->tv_sec)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define tvsetctime(t,s) (ST_CTIME_NSEC_SET(s,(t)->tv_nsec),(s)->st_ctime=(t)->tv_sec)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if _BLD_ast && defined(__EXPORT__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#undef __MANGLE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define __MANGLE__ __LINKAGE__ __EXPORT__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int tvgettime __PROTO__((Tv_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int tvsettime __PROTO__((const Tv_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int tvcmp __PROTO__((const Tv_t*, const Tv_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int tvtouch __PROTO__((const char*, const Tv_t*, const Tv_t*, const Tv_t*, int));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int tvsleep __PROTO__((const Tv_t*, Tv_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ char* fmttv __PROTO__((const char*, Tv_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif