This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: <sys/quota.h> standards compliance
On 22/08/2016 13:03, Zack Weinberg wrote:
> On Fri, Aug 19, 2016 at 8:04 AM, Florian Weimer <fweimer@redhat.com> wrote:
>> Are there any namespace standards compliance requirements for the
>> <sys/quota.h> installed header?
>
> It's not in C, POSIX, nor XSI, so probably the only concerns are BSD
> compatibility (the non-Linux-specific aspects of this file look very
> BSDish to me) and general tidiness. I don't know what BSD
> compatibility would entail for this file. <linux/quota.h> looks
> acceptably tidy as is; the only symbols that don't at least have a 'q'
> somewhere are SUBCMDMASK, SUBCMDSHIFT, and the IIF_* constants, and
> those are already in <sys/quota.h> so *shrug*. Actually I think the
> kernel's version has fewer dubious macros...
>
>> If there aren't any namespace issues, I propose to remove all duplicate
>> definitions from it, include <linux/quota.h> from the file, and leave in
>> <sys/quota.h> only the glibc-specific additions.
>>
>> Is this a viable plan?
>
> The only thing I'd add is, while you're at it, please make sure none
> of the glibc-specific additions are using the legacy u_intN_t, u_long,
> etc. typedefs. It might be best to use kernel-style __i64, __u64, etc
> for consistency with the kernel header.
I think a viable cleanup would just to drop <sys/types.h> and legacy
type and just include <stdint.h> and use default uint* types. Also
I think we can just drop _LINUX_QUOTA_VERSION < 1 definitions or at
least deprecated it.