Hi, Bruce On Wed, Jul 21, 2004 at 11:37:40PM +1000, Bruce Evans wrote: > On Wed, 21 Jul 2004, Xin LI wrote: > > > Hi, Poul-Henning, > > > > It seems that rev. 1.23 of sys/sys/time.h has constrained timespec* macros > > to be _KERNEL (KERNEL in the old days) only. Is this intended? (NetBSD and > > Yes, this is intended. The timeval and timespec interfaces are optimized > for handling times in code that can't use 64-bit integers or floating > point (mainly in 20 year old kernels). New interfaces to manipulate them > should not be added 20 years after the interfaces should have been > deprecated. > > > OpenBSD don't expect _KERNEL for these macros, e.g. timespeccmp, and I > > personally think that these macros will be better for more generic use, > > NetBSD and OpenBSD originally only had timeval*(), and FreeBSD unfortunately > had to add them to be compatible. timespec*() seem to be even less needed > in userland than timeval*(), since no ports are broken by not having them. > > > as timespec structure is not _KERNEL protected :-) > > The timespec struct is POSIX standard. POSIX has the correct number of > functions for operating on timespec structs (none). Thanks for the information, Bruce! So this means I should use bintime instead of timespec if it is found in code? For the exact problem I went into: it's OpenBSD's cron which makes use of timespec (because of fstat). I think a _KERNEL || __BSD_VISIBLE might be helpful -- While it is possible to use bintime to represent what can be done with a timespeccmp macro. Cheers, -- Xin LI <delphij frontfree net> http://www.delphij.net/ See complete headers for GPG key and other information.
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:02 UTC