?RCS: $Id: d_ftime.U 167 2013-05-08 17:58:00Z rmanfredi $ ?RCS: ?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi ?RCS: ?RCS: You may redistribute only under the terms of the Artistic License, ?RCS: as specified in the README file that comes with the distribution. ?RCS: You may reuse parts of this distribution only within the terms of ?RCS: that same Artistic License; a copy of which may be found at the root ?RCS: of the source tree for dist 4.0. ?RCS: ?RCS: $Log: d_ftime.U,v $ ?RCS: Revision 3.0 1993/08/18 12:06:06 ram ?RCS: Baseline for dist 3.0 netwide release. ?RCS: ?MAKE:d_ftime d_gettimeod: Trylink cat i_systimeb ?MAKE: -pick add $@ %< ?S:d_ftime: ?S: This variable conditionally defines the HAS_FTIME symbol, which indicates ?S: that the ftime() routine exists. The ftime() routine is basically ?S: a sub-second accuracy clock. ?S:. ?S:d_gettimeod: ?S: This variable conditionally defines the HAS_GETTIMEOFDAY symbol, which ?S: indicates that the gettimeofday() system call exists (to obtain a ?S: sub-second accuracy clock). You should probably include . ?S:. ?C:HAS_FTIME (FTIMER): ?C: This symbol, if defined, indicates that the ftime() routine exists. ?C: It is basically a sub-second accuracy clock, but is less accurate ?C: than gettimeofday(2) anyway. The type "Timeval" should be used to ?C: refer to "struct timeb". ?C:. ?C:HAS_GETTIMEOFDAY (GETTIMEOFDAY): ?C: This symbol, if defined, indicates that the gettimeofday() system ?C: call is available for a sub-second accuracy clock. Usually, the file ?C: needs to be included (see I_SYS_RESOURCE). ?C: The type "Timeval" should be used to refer to "struct timeval". ?C:. ?H:#$d_ftime HAS_FTIME /**/ ?H:#$d_gettimeod HAS_GETTIMEOFDAY /**/ ?H:?%<:@if HAS_FTIME ?H:?%<:#ifdef HAS_FTIME ?H:?%<:#define Timeval struct timeb /* Structure used by ftime() */ ?H:?%<:#endif ?H:?%<:@end ?H:?%<:@if HAS_GETTIMEOFDAY ?H:?%<:#ifdef HAS_GETTIMEOFDAY ?H:?%<:#define Timeval struct timeval /* Structure used by gettimeofday() */ ?H:?%<:#endif ?H:?%<:@end ?H:. ?X:FIXME ?X:?I:?d_ftime:i_systimeb ?X:?I:?d_gettimeod:i_sysresrc ?LINT:set d_gettimeod d_ftime ?LINT:known Timeval : see if gettimeofday or ftime exists ?X: ?X: Give priority to gettimeofday(2) because timing is more accurate ?X: $cat >try.c < int main(void) { static struct timeval tv; static void *tz; static int ret; ret |= gettimeofday(&tv, tz); return ret ? 0 : 1; } EOC cyn=gettimeofday set d_gettimeod eval $trylink $cat >try.c < #$i_systimeb I_SYS_TIMEB #ifdef I_SYS_TIMEB #include #endif int main(void) { static struct timeb t; static int ret; ret |= ftime(&t); return ret ? 0 : 1; } EOC cyn=ftime set d_ftime eval $trylink case "$d_gettimeod$d_ftime" in "$undef$undef") echo " " echo 'No ftime() nor gettimeofday() -- timing may be less accurate.' >&4 ;; esac