[BACK]Return to inttypes.h CVS log [TXT][DIR] Up to [local] / src / include

Diff for /src/include/inttypes.h between version 1.5 and 1.6

version 1.5, 2003/06/17 21:56:23 version 1.6, 2006/01/06 18:54:25
Line 1 
Line 1 
 /*      $OpenBSD$       */  /*      $OpenBSD$       */
   
 /*  /*
  * Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com>   * Copyright (c) 1997, 2005 Todd C. Miller <Todd.Miller@courtesan.com>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 16 
Line 16 
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
   
 #ifndef _INTTYPES_H_  #ifndef _INTTYPES_H_
 #define _INTTYPES_H_  #define _INTTYPES_H_
   
 /* Machine type dependent parameters. */  #include <sys/stdint.h>
 #include <machine/types.h>  
   
 /* XXX - these really belong in <machine/types.h> (maybe create u_register_t) */  #if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
 typedef long                    intptr_t;  /*
 typedef unsigned long           uintptr_t;   * 7.8.1 Macros for format specifiers
    *
    * Each of the following object-like macros expands to a string
    * literal containing a conversion specifier, possibly modified by
    * a prefix such as hh, h, l, or ll, suitable for use within the
    * format argument of a formatted input/output function when
    * converting the corresponding integer type.  These macro names
    * have the general form of PRI (character string literals for the
    * fprintf family) or SCN (character string literals for the fscanf
    * family), followed by the conversion specifier, followed by a
    * name corresponding to a similar typedef name.  For example,
    * PRIdFAST32 can be used in a format string to print the value of
    * an integer of type int_fast32_t.
    */
   
   /* fprintf macros for signed integers */
   #define PRId8                   "d"
   #define PRId16                  "d"
   #define PRId32                  "d"
   #define PRId64                  "lld"
   
   #define PRIdLEAST8              "d"
   #define PRIdLEAST16             "d"
   #define PRIdLEAST32             "d"
   #define PRIdLEAST64             "lld"
   
   #define PRIdFAST8               "d"
   #define PRIdFAST16              "d"
   #define PRIdFAST32              "d"
   #define PRIdFAST64              "lld"
   
   #define PRIdMAX                 "jd"
   #ifdef __LP64__
   #define PRIdPTR                 "ld"
   #else
   #define PRIdPTR                 "d"
   #endif
   
   #define PRIi8                   "i"
   #define PRIi16                  "i"
   #define PRIi32                  "i"
   #define PRIi64                  "lli"
   
   #define PRIiLEAST8              "i"
   #define PRIiLEAST16             "i"
   #define PRIiLEAST32             "i"
   #define PRIiLEAST64             "lli"
   
   #define PRIiFAST8               "i"
   #define PRIiFAST16              "i"
   #define PRIiFAST32              "i"
   #define PRIiFAST64              "lli"
   
   #define PRIiMAX                 "ji"
   #ifdef __LP64__
   #define PRIiPTR                 "li"
   #else
   #define PRIiPTR                 "i"
   #endif
   
   /* fprintf macros for unsigned integers */
   #define PRIo8                   "o"
   #define PRIo16                  "o"
   #define PRIo32                  "o"
   #define PRIo64                  "llo"
   
   #define PRIoLEAST8              "o"
   #define PRIoLEAST16             "o"
   #define PRIoLEAST32             "o"
   #define PRIoLEAST64             "llo"
   
   #define PRIoFAST8               "o"
   #define PRIoFAST16              "o"
   #define PRIoFAST32              "o"
   #define PRIoFAST64              "llo"
   
   #define PRIoMAX                 "jo"
   #ifdef __LP64__
   #define PRIoPTR                 "lo"
   #else
   #define PRIoPTR                 "o"
   #endif
   
   #define PRIu8                   "u"
   #define PRIu16                  "u"
   #define PRIu32                  "u"
   #define PRIu64                  "llu"
   
   #define PRIuLEAST8              "u"
   #define PRIuLEAST16             "u"
   #define PRIuLEAST32             "u"
   #define PRIuLEAST64             "llu"
   
   #define PRIuFAST8               "u"
   #define PRIuFAST16              "u"
   #define PRIuFAST32              "u"
   #define PRIuFAST64              "llu"
   
   #define PRIuMAX                 "ju"
   #ifdef __LP64__
   #define PRIuPTR                 "lu"
   #else
   #define PRIuPTR                 "u"
   #endif
   
   #define PRIx8                   "x"
   #define PRIx16                  "x"
   #define PRIx32                  "x"
   #define PRIx64                  "llx"
   
   #define PRIxLEAST8              "x"
   #define PRIxLEAST16             "x"
   #define PRIxLEAST32             "x"
   #define PRIxLEAST64             "llx"
   
   #define PRIxFAST8               "x"
   #define PRIxFAST16              "x"
   #define PRIxFAST32              "x"
   #define PRIxFAST64              "llx"
   
   #define PRIxMAX                 "jx"
   #ifdef __LP64__
   #define PRIxPTR                 "lx"
   #else
   #define PRIxPTR                 "x"
   #endif
   
   #define PRIX8                   "X"
   #define PRIX16                  "X"
   #define PRIX32                  "X"
   #define PRIX64                  "llX"
   
   #define PRIXLEAST8              "X"
   #define PRIXLEAST16             "X"
   #define PRIXLEAST32             "X"
   #define PRIXLEAST64             "llX"
   
   #define PRIXFAST8               "X"
   #define PRIXFAST16              "X"
   #define PRIXFAST32              "X"
   #define PRIXFAST64              "llX"
   
   #define PRIXMAX                 "jX"
   #ifdef __LP64__
   #define PRIXPTR                 "lX"
   #else
   #define PRIXPTR                 "X"
   #endif
   
   /* fscanf macros for signed integers */
   #define SCNd8                   "hhd"
   #define SCNd16                  "hd"
   #define SCNd32                  "d"
   #define SCNd64                  "lld"
   
   #define SCNdLEAST8              "hhd"
   #define SCNdLEAST16             "hd"
   #define SCNdLEAST32             "d"
   #define SCNdLEAST64             "lld"
   
   #define SCNdFAST8               "hhd"
   #define SCNdFAST16              "hd"
   #define SCNdFAST32              "d"
   #define SCNdFAST64              "lld"
   
   #define SCNdMAX                 "jd"
   #ifdef __LP64__
   #define SCNdPTR                 "ld"
   #else
   #define SCNdPTR                 "d"
   #endif
   
   #define SCNi8                   "hhi"
   #define SCNi16                  "hi"
   #define SCNi32                  "i"
   #define SCNi64                  "lli"
   
   #define SCNiLEAST8              "hhi"
   #define SCNiLEAST16             "hi"
   #define SCNiLEAST32             "i"
   #define SCNiLEAST64             "lli"
   
   #define SCNiFAST8               "hhi"
   #define SCNiFAST16              "hi"
   #define SCNiFAST32              "i"
   #define SCNiFAST64              "lli"
   
   #define SCNiMAX                 "ji"
   #ifdef __LP64__
   #define SCNiPTR                 "li"
   #else
   #define SCNiPTR                 "i"
   #endif
   
   /* fscanf macros for unsigned integers */
   #define SCNo8                   "hho"
   #define SCNo16                  "ho"
   #define SCNo32                  "o"
   #define SCNo64                  "llo"
   
   #define SCNoLEAST8              "hho"
   #define SCNoLEAST16             "ho"
   #define SCNoLEAST32             "o"
   #define SCNoLEAST64             "llo"
   
   #define SCNoFAST8               "hho"
   #define SCNoFAST16              "ho"
   #define SCNoFAST32              "o"
   #define SCNoFAST64              "llo"
   
   #define SCNoMAX                 "jo"
   #ifdef __LP64__
   #define SCNoPTR                 "lo"
   #else
   #define SCNoPTR                 "o"
   #endif
   
   #define SCNu8                   "hhu"
   #define SCNu16                  "hu"
   #define SCNu32                  "u"
   #define SCNu64                  "llu"
   
   #define SCNuLEAST8              "hhu"
   #define SCNuLEAST16             "hu"
   #define SCNuLEAST32             "u"
   #define SCNuLEAST64             "llu"
   
   #define SCNuFAST8               "hhu"
   #define SCNuFAST16              "hu"
   #define SCNuFAST32              "u"
   #define SCNuFAST64              "llu"
   
   #define SCNuMAX                 "ju"
   #ifdef __LP64__
   #define SCNuPTR                 "lu"
   #else
   #define SCNuPTR                 "u"
   #endif
   
   #define SCNx8                   "hhx"
   #define SCNx16                  "hx"
   #define SCNx32                  "x"
   #define SCNx64                  "llx"
   
   #define SCNxLEAST8              "hhx"
   #define SCNxLEAST16             "hx"
   #define SCNxLEAST32             "x"
   #define SCNxLEAST64             "llx"
   
   #define SCNxFAST8               "hhx"
   #define SCNxFAST16              "hx"
   #define SCNxFAST32              "x"
   #define SCNxFAST64              "llx"
   
   #define SCNxMAX                 "jx"
   #ifdef __LP64__
   #define SCNxPTR                 "lx"
   #else
   #define SCNxPTR                 "x"
   #endif
   
   #endif /* __cplusplus || __STDC_FORMAT_MACROS */
   
   /* XXX - need to add imax/umax functions */
   
 #endif /* _INTTYPES_H_ */  #endif /* _INTTYPES_H_ */

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6