[lsb-discuss] LSB, <sys/types.h>, POSIX, and size_t typedef

Nick Stoughton nick at msbit.com
Mon Oct 16 10:54:12 PDT 2006


On Mon, 2006-10-16 at 10:49 -0700, Wichmann, Mats D wrote:
> Okay, I looked one level deeper.
> 
> >The relevant text from the POSIX standard (IEEE Std 1003.1-2001
> >(Revision of IEEE Std 1003.1-1996 and IEEE Std 1003.2-1992) is on
> >pages 365--366 of the first of the four volumes:
> >
> >12932           The <sys/types.h> header shall include 
> >definitions for at least the following types:
> >...
> >12963               size_t                           Used for 
> >sizes of objects.
> >12964               ssize_t                          Used for 
> >a count of bytes or an error indication.
> >
> >It should be noted that <sys/types.h> is not part of ISO Standard C,
> >so the ISO 1999 C and 1998 and 2003 C++ standards say nothing about
> >that header file.  Instead, they require size_t to be defined in
> ><stddef.h>, and well as in <stdio.h>, <stdlib.h>, <string.h>,
> ><time.h>, and <wchar.h>.
> 
> To be more precise, POSIX /also/ requires size_t to actually be
> defined in <stddef.h>:
> 
> 11205  The <stddef.h> header shall define the following types
> ...
> 11212  size_t    Unsigned integer type of the result of the sizeof
> operator.
> 
> The difference between these two wordings is that the <sys/types.h>
> wording leaves room for definition by inclusion of another file;
> LSB matches the requirement for stddef.h by defining it there.
> The problem unique to the LSB header files is that inclusions
> are generated by reference only, there is no current way to
> say "<sys/types.h> needs to include <stddef.h>" other than for
> the former to actually reference something defined in the latter.
> This is not the case at the moment.
> 
> So somehow we need to solve the implementation problem in order
> to make this go away.
> 


You pre-empted me! I was typing this same reply as this arrived...


> _______________________________________________
> lsb-discuss mailing list
> lsb-discuss at lists.freestandards.org
> http://lists.freestandards.org/mailman/listinfo/lsb-discuss




More information about the lsb-discuss mailing list