Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!fletcher From: guy@auspex.uucp (Guy Harris) Newsgroups: comp.std.unix Subject: Re: is struct utimbuf in the standard sys/types.h? Message-ID: <10914@cs.utexas.edu> Date: 5 Aug 90 18:11:29 GMT References: <405@usenix.ORG> <415@usenix.ORG> <422@usenix.ORG> Sender: fletcher@cs.utexas.edu Reply-To: std-unix@uunet.uu.net Organization: Auspex Systems, Santa Clara Lines: 23 Approved: fletcher@cs.utexas.edu (Guest Moderator, Fletcher Mattox) Submitted-From: auspex!guy@uunet.UU.NET (Guy Harris) From: guy@auspex.uucp (Guy Harris) > In this case, without the header, one of AT&T-derived or Berkeley-derived > systems would have "lost". Actually, BSD being an AT&T-derived system, things aren't that bad. BSD still has the original V7-flavored "utime()" call, with the second argument a pointer to the first element of an array of 2 "time_t"s (that's right, "utime()" in BSD has no microseconds-field support). Somewhere in the "USG UNIX" chain, the structure was introduced; on most systems, the structure has the same memory layout as the array. 4.2BSD introduced a call named "utimes()" - note the "s" - that takes a pointer to an array of 2 "struct timeval"s; that's the call that supports microseconds fields. Too bad the 88Open folks didn't pay attention to this, and just called their call that supported microseconds fields "utime()".... Volume-Number: Volume 21, Number 12