busybox/include/fix_u32.h
<<
>>
Prefs
   1/* vi: set sw=4 ts=4: */
   2/*
   3 * This header makes it easier to include kernel headers
   4 * which use u32 and such.
   5 *
   6 * Licensed under GPLv2, see file LICENSE in this source tree.
   7 */
   8#ifndef FIX_U32_H
   9#define FIX_U32_H 1
  10
  11/* Try hard to pull in u32 types and such.
  12 * Otherwise, #include "fix_u32.h" + #include <linux/foo.h>
  13 * may end up typedef'ing bb_hack_u32 inside foo.h,
  14 * and repeated typedefs aren't allowed in C/C++.
  15 */
  16#include <asm/types.h>
  17#include <linux/types.h>
  18
  19/* In case above includes still failed to provide the types,
  20 * provide them ourself
  21 */
  22#undef __u64
  23#undef u64
  24#undef u32
  25#undef u16
  26#undef u8
  27#undef __s64
  28#undef s64
  29#undef s32
  30#undef s16
  31#undef s8
  32
  33#define __u64 bb_hack___u64
  34#define u64   bb_hack_u64
  35#define u32   bb_hack_u32
  36#define u16   bb_hack_u16
  37#define u8    bb_hack_u8
  38#define __s64 bb_hack___s64
  39#define s64   bb_hack_s64
  40#define s32   bb_hack_s32
  41#define s16   bb_hack_s16
  42#define s8    bb_hack_s8
  43
  44typedef uint64_t __u64;
  45typedef uint64_t u64;
  46typedef uint32_t u32;
  47typedef uint16_t u16;
  48typedef uint8_t u8;
  49typedef int64_t __s64;
  50typedef int64_t s64;
  51typedef int32_t s32;
  52typedef int16_t s16;
  53typedef int8_t s8;
  54
  55#endif
  56