Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Thu, 17 Oct 2019 21:21:18 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: loff_t definition in <fcntl.h> (vs. glibc in
 <sys/types.h>)

On Fri, Oct 18, 2019 at 12:52:05AM +0200, Petr Vorel wrote:
> Hi Rich,
> 
> > > what is the reason for loff_t being defined in <fcntl.h> ?
> > > It was defined some time ago, in v0.9.5.
> 
> > > glibc (and thus uclibc; + also Bionic) has it in <sys/types.h>, defined long
> > > time before.  Who is correct? I guess loff_t not being posix, therefore it
> > > shouldn't be in <sys/types.h> ?
> 
> > > I'm asking because it'd be nice to have it for both in single header
> > > (portability).
> 
> > The reason it's defined in fcntl.h is because that's where the
> > declarations for the only functions which use it in their interfaces
> > reside. If it needs to be made available from multiple places, that
> > could be done at some point, but this is a really minor type that
> > shouldn't be used except with with functions defined in terms of it.
> Thanks for info. So maybe glibc shouldn't have defined it in <sys/types.h>.
> 
> FYI I'm handling compatibility issues for LTP [1], which often uses kernel API
> in order to test it. Probably normal user space applications don't have needs we
> have in LTP.

What did you encounter that needs it that's not declared in fcntl.h?
Are you sure you're not using loff_t where off_t would be the right
type? loff_t only appears in some kernel interfaces that were intended
to work the same regardless of whether glibc was configured for 32-bit
or 64-bit off_t.

Rich

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.