Re: u_int32_t vs uint32_t

Stuart Kreitman <Stuart.Kreitman-UdXhSnd/[email protected]>
Newsgroups gmane.comp.freedesktop.release-wranglers
Message-ID <[email protected]>
I found in the OpenBSD cvsweb that both types were defined at one 
point.  I'm not able to locate their <machine/types.h> file.

This is a request that WrapHelp.c be changed to use "uint32_t" form 
(also uint8_t in that file).
I would like someone to help confirm that current OpenBSD defines this 
form. I'm happy to change or have someone else change
the cvs.

skk



          |            39: /*
             |            40:  * Fixed-size integer types as specified in XPG4.2.
             |            41:  * int8_t, int16_t, int32_t, int64_t are defined in <machine/types.h>
             |            42:  */
             |            43: 
             |            44: typedef u_int8_t               uint8_t;
             |            45: typedef u_int16_t              uint16_t;
             |            46: typedef u_int32_t              uint32_t;
             |            47: typedef u_int64_t              uint64_t;
             |            48: 


Stuart Kreitman wrote:

> Matthieu:
> The editor "fgsch" made the change to u_int32_t in OpenBSD sources
> in April 2002 with your review.  Jim Gettys picked it up this weekend
> for the X.ORG next release.
>
> We need to explain how the typedefs "u_int32_t" vs "uint32_t" conform 
> to various
> standards in ANSI or ISO.  I do not have access to the OpenBSD files, 
> but include
> the relevent statements from Solaris:
>
>
> Excerpted from <sys/int_types.h> on Solaris 10:
>
> #pragma ident   "@(#)int_types.h        1.9     04/06/14 SMI"
>
> /*
> * This file, <sys/int_types.h>, is part of the Sun Microsystems 
> implementation
> * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999
> * Programming language - C.
> *
> * Programs/Modules should not directly include this file.  Access to the
> * types defined in this file should be through the inclusion of one of 
> the
> * following files:
> *
> *      <sys/types.h>           Provides only the "_t" types defined in 
> this
> *                              file which is a subset of the contents of
> *                              <inttypes.h>.  (This can be appropriate 
> for
> *                              all programs/modules except those claiming
> *                              ANSI-C conformance.)
> *
> *      <sys/inttypes.h>        Provides the Kernel and Driver appropriate
> *                              components of <inttypes.h>.
> *
> *      <inttypes.h>            For use by applications.
> *
> * See these files for more details.
> */
>
> #include <sys/feature_tests.h>
> #include <sys/isa_defs.h>
>
> #ifdef __cplusplus
> extern "C" {
> #endif
>
> /*
> * Basic / Extended integer types
> *
> * The following defines the basic fixed-size integer types.
> *
> * Implementations are free to typedef them to Standard C integer types or
> * extensions that they support. If an implementation does not support one
> * of the particular integer data types below, then it should not 
> define the
> * typedefs and macros corresponding to that data type.  Note that int8_t
> * is not defined in -Xs mode on ISAs for which the ABI specifies "char"
> * as an unsigned entity because there is no way to define an eight bit
> * signed integral.
> */
> #if defined(_CHAR_IS_SIGNED)
> typedef char                    int8_t;
> #else
> #if defined(__STDC__)
> typedef signed char             int8_t;
> #endif
> #endif
> typedef short                   int16_t;
> typedef int                     int32_t;
> #ifdef  _LP64
> #define _INT64_TYPE
> typedef long                    int64_t;
> #else   /* _ILP32 */
> #if defined(_LONGLONG_TYPE)
> #define _INT64_TYPE
> typedef long long               int64_t;
> #endif
> #endif
>
> typedef unsigned char           uint8_t;
> typedef unsigned short          uint16_t;
> typedef unsigned int            uint32_t;
> #ifdef  _LP64
> typedef unsigned long           uint64_t;
> #else   /* _ILP32 */
> #if defined(_LONGLONG_TYPE)
> typedef unsigned long long      uint64_t;
> #endif
> #endif
>
>
> _______________________________________________
> release-wranglers mailing list
> [email protected]
> http://freedesktop.org/mailman/listinfo/release-wranglers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.