1*b30d1939SAndy Fiddaman 2*b30d1939SAndy Fiddaman/* : : generated by proto : : */ 3*b30d1939SAndy Fiddaman/* : : generated from contrib/ast/src/lib/libast/features/tv by iffe version 2012-07-17 : : */ 4*b30d1939SAndy Fiddaman 5*b30d1939SAndy Fiddaman#ifndef _TV_H 6*b30d1939SAndy Fiddaman#if !defined(__PROTO__) 7*b30d1939SAndy Fiddaman# if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus) 8*b30d1939SAndy Fiddaman# if defined(__cplusplus) 9*b30d1939SAndy Fiddaman# define __LINKAGE__ "C" 10*b30d1939SAndy Fiddaman# else 11*b30d1939SAndy Fiddaman# define __LINKAGE__ 12*b30d1939SAndy Fiddaman# endif 13*b30d1939SAndy Fiddaman# define __STDARG__ 14*b30d1939SAndy Fiddaman# define __PROTO__(x) x 15*b30d1939SAndy Fiddaman# define __OTORP__(x) 16*b30d1939SAndy Fiddaman# define __PARAM__(n,o) n 17*b30d1939SAndy Fiddaman# if !defined(__STDC__) && !defined(__cplusplus) 18*b30d1939SAndy Fiddaman# if !defined(c_plusplus) 19*b30d1939SAndy Fiddaman# define const 20*b30d1939SAndy Fiddaman# endif 21*b30d1939SAndy Fiddaman# define signed 22*b30d1939SAndy Fiddaman# define void int 23*b30d1939SAndy Fiddaman# define volatile 24*b30d1939SAndy Fiddaman# define __V_ char 25*b30d1939SAndy Fiddaman# else 26*b30d1939SAndy Fiddaman# define __V_ void 27*b30d1939SAndy Fiddaman# endif 28*b30d1939SAndy Fiddaman# else 29*b30d1939SAndy Fiddaman# define __PROTO__(x) () 30*b30d1939SAndy Fiddaman# define __OTORP__(x) x 31*b30d1939SAndy Fiddaman# define __PARAM__(n,o) o 32*b30d1939SAndy Fiddaman# define __LINKAGE__ 33*b30d1939SAndy Fiddaman# define __V_ char 34*b30d1939SAndy Fiddaman# define const 35*b30d1939SAndy Fiddaman# define signed 36*b30d1939SAndy Fiddaman# define void int 37*b30d1939SAndy Fiddaman# define volatile 38*b30d1939SAndy Fiddaman# endif 39*b30d1939SAndy Fiddaman# define __MANGLE__ __LINKAGE__ 40*b30d1939SAndy Fiddaman# if defined(__cplusplus) || defined(c_plusplus) 41*b30d1939SAndy Fiddaman# define __VARARG__ ... 42*b30d1939SAndy Fiddaman# else 43*b30d1939SAndy Fiddaman# define __VARARG__ 44*b30d1939SAndy Fiddaman# endif 45*b30d1939SAndy Fiddaman# if defined(__STDARG__) 46*b30d1939SAndy Fiddaman# define __VA_START__(p,a) va_start(p,a) 47*b30d1939SAndy Fiddaman# else 48*b30d1939SAndy Fiddaman# define __VA_START__(p,a) va_start(p) 49*b30d1939SAndy Fiddaman# endif 50*b30d1939SAndy Fiddaman# if !defined(__INLINE__) 51*b30d1939SAndy Fiddaman# if defined(__cplusplus) 52*b30d1939SAndy Fiddaman# define __INLINE__ extern __MANGLE__ inline 53*b30d1939SAndy Fiddaman# else 54*b30d1939SAndy Fiddaman# if defined(_WIN32) && !defined(__GNUC__) 55*b30d1939SAndy Fiddaman# define __INLINE__ __inline 56*b30d1939SAndy Fiddaman# endif 57*b30d1939SAndy Fiddaman# endif 58*b30d1939SAndy Fiddaman# endif 59*b30d1939SAndy Fiddaman#endif 60*b30d1939SAndy Fiddaman#if !defined(__LINKAGE__) 61*b30d1939SAndy Fiddaman#define __LINKAGE__ /* 2004-08-11 transition */ 62*b30d1939SAndy Fiddaman#endif 63*b30d1939SAndy Fiddaman 64*b30d1939SAndy Fiddaman#define _TV_H 1 65*b30d1939SAndy Fiddaman/* 66*b30d1939SAndy Fiddaman * AT&T Research 67*b30d1939SAndy Fiddaman * 68*b30d1939SAndy Fiddaman * high resolution Tv_t interface definitions 69*b30d1939SAndy Fiddaman */ 70*b30d1939SAndy Fiddaman 71*b30d1939SAndy Fiddaman#include <ast.h> 72*b30d1939SAndy Fiddaman 73*b30d1939SAndy Fiddaman#define TV_NSEC_IGNORE (1000000000L) 74*b30d1939SAndy Fiddaman#define TV_TOUCH_RETAIN ((Tv_t*)1) 75*b30d1939SAndy Fiddaman 76*b30d1939SAndy Fiddamantypedef struct Tv_s 77*b30d1939SAndy Fiddaman{ 78*b30d1939SAndy Fiddaman uint32_t tv_sec; 79*b30d1939SAndy Fiddaman uint32_t tv_nsec; 80*b30d1939SAndy Fiddaman} Tv_t; 81*b30d1939SAndy Fiddaman 82*b30d1939SAndy Fiddaman#define ST_ATIME_NSEC_GET(st) ((st)->st_atim.tv_nsec) 83*b30d1939SAndy Fiddaman#define ST_CTIME_NSEC_GET(st) ((st)->st_ctim.tv_nsec) 84*b30d1939SAndy Fiddaman#define ST_MTIME_NSEC_GET(st) ((st)->st_mtim.tv_nsec) 85*b30d1939SAndy Fiddaman 86*b30d1939SAndy Fiddaman#define ST_ATIME_NSEC_SET(st,n) (ST_ATIME_NSEC_GET(st)=(n)) 87*b30d1939SAndy Fiddaman#define ST_CTIME_NSEC_SET(st,n) (ST_CTIME_NSEC_GET(st)=(n)) 88*b30d1939SAndy Fiddaman#define ST_MTIME_NSEC_SET(st,n) (ST_MTIME_NSEC_GET(st)=(n)) 89*b30d1939SAndy Fiddaman 90*b30d1939SAndy Fiddaman#define tvgetatime(t,s) ((t)->tv_nsec=ST_ATIME_NSEC_GET(s),(t)->tv_sec=(s)->st_atime) 91*b30d1939SAndy Fiddaman#define tvgetmtime(t,s) ((t)->tv_nsec=ST_MTIME_NSEC_GET(s),(t)->tv_sec=(s)->st_mtime) 92*b30d1939SAndy Fiddaman#define tvgetctime(t,s) ((t)->tv_nsec=ST_CTIME_NSEC_GET(s),(t)->tv_sec=(s)->st_ctime) 93*b30d1939SAndy Fiddaman 94*b30d1939SAndy Fiddaman#define tvsetatime(t,s) (ST_ATIME_NSEC_SET(s,(t)->tv_nsec),(s)->st_atime=(t)->tv_sec) 95*b30d1939SAndy Fiddaman#define tvsetmtime(t,s) (ST_MTIME_NSEC_SET(s,(t)->tv_nsec),(s)->st_mtime=(t)->tv_sec) 96*b30d1939SAndy Fiddaman#define tvsetctime(t,s) (ST_CTIME_NSEC_SET(s,(t)->tv_nsec),(s)->st_ctime=(t)->tv_sec) 97*b30d1939SAndy Fiddaman 98*b30d1939SAndy Fiddaman#if _BLD_ast && defined(__EXPORT__) 99*b30d1939SAndy Fiddaman#undef __MANGLE__ 100*b30d1939SAndy Fiddaman#define __MANGLE__ __LINKAGE__ __EXPORT__ 101*b30d1939SAndy Fiddaman#endif 102*b30d1939SAndy Fiddaman 103*b30d1939SAndy Fiddamanextern __MANGLE__ int tvgettime __PROTO__((Tv_t*)); 104*b30d1939SAndy Fiddamanextern __MANGLE__ int tvsettime __PROTO__((const Tv_t*)); 105*b30d1939SAndy Fiddamanextern __MANGLE__ int tvcmp __PROTO__((const Tv_t*, const Tv_t*)); 106*b30d1939SAndy Fiddamanextern __MANGLE__ int tvtouch __PROTO__((const char*, const Tv_t*, const Tv_t*, const Tv_t*, int)); 107*b30d1939SAndy Fiddamanextern __MANGLE__ int tvsleep __PROTO__((const Tv_t*, Tv_t*)); 108*b30d1939SAndy Fiddaman 109*b30d1939SAndy Fiddamanextern __MANGLE__ char* fmttv __PROTO__((const char*, Tv_t*)); 110*b30d1939SAndy Fiddaman 111*b30d1939SAndy Fiddaman#endif 112