Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 02 Sep 2002 21:49:09 +0200
From:      Poul-Henning Kamp <phk@critter.freebsd.dk>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: 64 bit API/ABI changes proposal for -current 
Message-ID:  <55776.1030996149@critter.freebsd.dk>
In-Reply-To: Your message of "Mon, 02 Sep 2002 12:42:18 PDT." <200209021942.g82JgIZn032728@apollo.backplane.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <200209021942.g82JgIZn032728@apollo.backplane.com>, Matthew Dillon w
rites:

>    Ok, we have an issue in regards to libc/user function visibility.
>    The bintime structures and functions are surrounded by __BSD_VISIBLE.

That was an attempt at preventive debrucification :-)

>    The question to you and to the list in general is:  what to call the
>    user-visible structure.  'bintime' is a cute name, I certainly like
>    it better then timeval64, and we could probably get away with calling
>    the user visible structure bintime, but I don't know if we can get
>    away with including all the supporting inline functions (not that we
>    necessarily have to include them for the syscall work, but it would
>    be nice).

One of the thing which irks me about timeval and timespec is that the
perfectly useable and practically needed functions for adding, subtracting
and normalizing them are not allowed in the .h in POSIX.

POSIX sucks in many cases like that:  It defines just enough to
cramp future improvement, but not enough to facilitate current
usability :-(

When I first encountered POSIXMISTAKE many years ago I thought it
kind of rude, now I'm tempted to invert the sign and introduce
"POSIXGOTTHISRIGHT", it would be far less intrusive.

</RANT>

The right thing to do is probably to introduce <sys/bintime.h> which
is pulled into <sys/time.h> and possibly <time.h> unless people insist
on getting pure-to-the-heart-POSIX-includes.

>    Also, the in-kernel time_t is 32 bits on 32 bit architectures so bintime
>    is not compatible as-is, but it would not be much work to make
>    bintime use time64_t.  We can't create yet another userland time
>    structure without making seconds 64 bits.

It was my expectation that time_t would become 64 bits in the kernel,
rather than have to s/time_t/time64_t throughout the kernel.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55776.1030996149>