1/*********************************************************************** 2* * 3* This software is part of the ast package * 4* Copyright (c) 1985-2010 AT&T Intellectual Property * 5* and is licensed under the * 6* Common Public License, Version 1.0 * 7* by AT&T Intellectual Property * 8* * 9* A copy of the License is available at * 10* http://www.opensource.org/licenses/cpl1.0.txt * 11* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 12* * 13* Information and Software Systems Research * 14* AT&T Research * 15* Florham Park NJ * 16* * 17* Glenn Fowler <gsf@research.att.com> * 18* David Korn <dgk@research.att.com> * 19* Phong Vo <kpv@research.att.com> * 20* * 21***********************************************************************/ 22 23/* : : generated by proto : : */ 24/* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_i386_32bit/src/lib/libast/features/tv by iffe version 2009-12-04 : : */ 25 26#ifndef _TV_H 27#if !defined(__PROTO__) 28# if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus) 29# if defined(__cplusplus) 30# define __LINKAGE__ "C" 31# else 32# define __LINKAGE__ 33# endif 34# define __STDARG__ 35# define __PROTO__(x) x 36# define __OTORP__(x) 37# define __PARAM__(n,o) n 38# if !defined(__STDC__) && !defined(__cplusplus) 39# if !defined(c_plusplus) 40# define const 41# endif 42# define signed 43# define void int 44# define volatile 45# define __V_ char 46# else 47# define __V_ void 48# endif 49# else 50# define __PROTO__(x) () 51# define __OTORP__(x) x 52# define __PARAM__(n,o) o 53# define __LINKAGE__ 54# define __V_ char 55# define const 56# define signed 57# define void int 58# define volatile 59# endif 60# define __MANGLE__ __LINKAGE__ 61# if defined(__cplusplus) || defined(c_plusplus) 62# define __VARARG__ ... 63# else 64# define __VARARG__ 65# endif 66# if defined(__STDARG__) 67# define __VA_START__(p,a) va_start(p,a) 68# else 69# define __VA_START__(p,a) va_start(p) 70# endif 71# if !defined(__INLINE__) 72# if defined(__cplusplus) 73# define __INLINE__ extern __MANGLE__ inline 74# else 75# if defined(_WIN32) && !defined(__GNUC__) 76# define __INLINE__ __inline 77# endif 78# endif 79# endif 80#endif 81#if !defined(__LINKAGE__) 82#define __LINKAGE__ /* 2004-08-11 transition */ 83#endif 84 85#define _TV_H 1 86/* 87 * AT&T Research 88 * 89 * high resolution Tv_t interface definitions 90 */ 91 92#include <ast.h> 93 94#define TV_NSEC_IGNORE (1000000000L) 95#define TV_TOUCH_RETAIN ((Tv_t*)1) 96 97typedef struct Tv_s 98{ 99 uint32_t tv_sec; 100 uint32_t tv_nsec; 101} Tv_t; 102 103#define ST_ATIME_NSEC_GET(st) ((st)->st_atim.tv_nsec) 104#define ST_CTIME_NSEC_GET(st) ((st)->st_ctim.tv_nsec) 105#define ST_MTIME_NSEC_GET(st) ((st)->st_mtim.tv_nsec) 106 107#define ST_ATIME_NSEC_SET(st,n) (ST_ATIME_NSEC_GET(st)=(n)) 108#define ST_CTIME_NSEC_SET(st,n) (ST_CTIME_NSEC_GET(st)=(n)) 109#define ST_MTIME_NSEC_SET(st,n) (ST_MTIME_NSEC_GET(st)=(n)) 110 111#define tvgetatime(t,s) ((t)->tv_nsec=ST_ATIME_NSEC_GET(s),(t)->tv_sec=(s)->st_atime) 112#define tvgetmtime(t,s) ((t)->tv_nsec=ST_MTIME_NSEC_GET(s),(t)->tv_sec=(s)->st_mtime) 113#define tvgetctime(t,s) ((t)->tv_nsec=ST_CTIME_NSEC_GET(s),(t)->tv_sec=(s)->st_ctime) 114 115#define tvsetatime(t,s) (ST_ATIME_NSEC_SET(s,(t)->tv_nsec),(s)->st_atime=(t)->tv_sec) 116#define tvsetmtime(t,s) (ST_MTIME_NSEC_SET(s,(t)->tv_nsec),(s)->st_mtime=(t)->tv_sec) 117#define tvsetctime(t,s) (ST_CTIME_NSEC_SET(s,(t)->tv_nsec),(s)->st_ctime=(t)->tv_sec) 118 119#if _BLD_ast && defined(__EXPORT__) 120#undef __MANGLE__ 121#define __MANGLE__ __LINKAGE__ __EXPORT__ 122#endif 123 124extern __MANGLE__ int tvgettime __PROTO__((Tv_t*)); 125extern __MANGLE__ int tvsettime __PROTO__((const Tv_t*)); 126extern __MANGLE__ int tvcmp __PROTO__((const Tv_t*, const Tv_t*)); 127extern __MANGLE__ int tvtouch __PROTO__((const char*, const Tv_t*, const Tv_t*, const Tv_t*, int)); 128extern __MANGLE__ int tvsleep __PROTO__((const Tv_t*, Tv_t*)); 129 130extern __MANGLE__ char* fmttv __PROTO__((const char*, Tv_t*)); 131 132#endif 133