coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
stdint.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef STDINT_H
4 #define STDINT_H
5 
6 /* Fixed width integer types */
7 typedef signed char int8_t;
8 typedef unsigned char uint8_t;
9 
10 typedef signed short int16_t;
11 typedef unsigned short uint16_t;
12 
13 typedef signed int int32_t;
14 typedef unsigned int uint32_t;
15 
16 typedef signed long long int64_t;
17 typedef unsigned long long uint64_t;
18 
19 /* Types for 'void *' pointers */
20 typedef signed long intptr_t;
21 typedef unsigned long uintptr_t;
22 
23 /* Ensure that the widths are all correct */
24 _Static_assert(sizeof(int8_t) == 1, "Size of int8_t is incorrect");
25 _Static_assert(sizeof(uint8_t) == 1, "Size of uint8_t is incorrect");
26 
27 _Static_assert(sizeof(int16_t) == 2, "Size of int16_t is incorrect");
28 _Static_assert(sizeof(uint16_t) == 2, "Size of uint16_t is incorrect");
29 
30 _Static_assert(sizeof(int32_t) == 4, "Size of int32_t is incorrect");
31 _Static_assert(sizeof(uint32_t) == 4, "Size of uint32_t is incorrect");
32 
33 _Static_assert(sizeof(int64_t) == 8, "Size of int64_t is incorrect");
34 _Static_assert(sizeof(uint64_t) == 8, "Size of uint64_t is incorrect");
35 
36 _Static_assert(sizeof(intptr_t) == sizeof(void *), "Size of intptr_t is incorrect");
37 _Static_assert(sizeof(uintptr_t) == sizeof(void *), "Size of uintptr_t is incorrect");
38 
39 /* Maximum width integer types */
40 typedef int64_t intmax_t;
42 
43 /* Convenient typedefs */
44 typedef int8_t s8;
45 typedef uint8_t u8;
46 
47 typedef int16_t s16;
48 typedef uint16_t u16;
49 
50 typedef int32_t s32;
51 typedef uint32_t u32;
52 
53 typedef int64_t s64;
54 typedef uint64_t u64;
55 
56 /* Limits of integer types */
57 #define INT8_MIN ((int8_t)0x80)
58 #define INT8_MAX ((int8_t)0x7F)
59 #define UINT8_MAX ((uint8_t)0xFF)
60 
61 #define INT16_MIN ((int16_t)0x8000)
62 #define INT16_MAX ((int16_t)0x7FFF)
63 #define UINT16_MAX ((uint16_t)0xFFFF)
64 
65 #define INT32_MIN ((int32_t)0x80000000)
66 #define INT32_MAX ((int32_t)0x7FFFFFFF)
67 #define UINT32_MAX ((uint32_t)0xFFFFFFFF)
68 
69 #define INT64_MIN ((int64_t)0x8000000000000000)
70 #define INT64_MAX ((int64_t)0x7FFFFFFFFFFFFFFF)
71 #define UINT64_MAX ((uint64_t)0xFFFFFFFFFFFFFFFF)
72 
73 #define INTMAX_MIN INT64_MIN
74 #define INTMAX_MAX INT64_MAX
75 #define UINTMAX_MAX UINT64_MAX
76 
77 #endif /* STDINT_H */
int64_t intmax_t
Definition: stdint.h:40
signed short int16_t
Definition: stdint.h:10
unsigned short uint16_t
Definition: stdint.h:11
uint64_t uintmax_t
Definition: stdint.h:41
int64_t s64
Definition: stdint.h:53
uint64_t u64
Definition: stdint.h:54
unsigned int uint32_t
Definition: stdint.h:14
uint32_t u32
Definition: stdint.h:51
signed long intptr_t
Definition: stdint.h:20
_Static_assert(sizeof(int8_t)==1, "Size of int8_t is incorrect")
unsigned long uintptr_t
Definition: stdint.h:21
uint16_t u16
Definition: stdint.h:48
int8_t s8
Definition: stdint.h:44
int16_t s16
Definition: stdint.h:47
unsigned long long uint64_t
Definition: stdint.h:17
signed int int32_t
Definition: stdint.h:13
uint8_t u8
Definition: stdint.h:45
unsigned char uint8_t
Definition: stdint.h:8
signed long long int64_t
Definition: stdint.h:16
int32_t s32
Definition: stdint.h:50
signed char int8_t
Definition: stdint.h:7