---
name: "stdint.h"
section: "3avr"
platform: "linux"
package: "avr-libc"
version: "1:2.2.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/stdint.h"
---

# stdint.h(3avr)

## NAME

stdint.h

## SYNOPSIS

### Macros

**Limits of specified-width integer types**\
 C++ implementations should define these macros only when \_\_STDC\_LIMIT\_MACROS is defined before \<**stdint.h**\> is included

\#define **INT8\_MAX**   0x7f\
 \#define **INT8\_MIN**   (-**INT8\_MAX** - 1)\
 \#define **UINT8\_MAX**   (**INT8\_MAX** \* 2 + 1)\
 \#define **INT16\_MAX**   0x7fff\
 \#define **INT16\_MIN**   (-**INT16\_MAX** - 1)\
 \#define **UINT16\_MAX**   (\_\_CONCAT(**INT16\_MAX**, U) \* 2U + 1U)\
 \#define **INT32\_MAX**   0x7fffffffL\
 \#define **INT32\_MIN**   (-**INT32\_MAX** - 1L)\
 \#define **UINT32\_MAX**   (\_\_CONCAT(**INT32\_MAX**, U) \* 2UL + 1UL)\
 \#define **INT64\_MAX**   0x7fffffffffffffffLL\
 \#define **INT64\_MIN**   (-**INT64\_MAX** - 1LL)\
 \#define **UINT64\_MAX**   (\_\_CONCAT(**INT64\_MAX**, U) \* 2ULL + 1ULL)\

**Limits of minimum-width integer types**\

\#define **INT\_LEAST8\_MAX**   **INT8\_MAX**\
 \#define **INT\_LEAST8\_MIN**   **INT8\_MIN**\
 \#define **UINT\_LEAST8\_MAX**   **UINT8\_MAX**\
 \#define **INT\_LEAST16\_MAX**   **INT16\_MAX**\
 \#define **INT\_LEAST16\_MIN**   **INT16\_MIN**\
 \#define **UINT\_LEAST16\_MAX**   **UINT16\_MAX**\
 \#define **INT\_LEAST32\_MAX**   **INT32\_MAX**\
 \#define **INT\_LEAST32\_MIN**   **INT32\_MIN**\
 \#define **UINT\_LEAST32\_MAX**   **UINT32\_MAX**\
 \#define **INT\_LEAST64\_MAX**   **INT64\_MAX**\
 \#define **INT\_LEAST64\_MIN**   **INT64\_MIN**\
 \#define **UINT\_LEAST64\_MAX**   **UINT64\_MAX**\

**Limits of fastest minimum-width integer types**\

\#define **INT\_FAST8\_MAX**   **INT8\_MAX**\
 \#define **INT\_FAST8\_MIN**   **INT8\_MIN**\
 \#define **UINT\_FAST8\_MAX**   **UINT8\_MAX**\
 \#define **INT\_FAST16\_MAX**   **INT16\_MAX**\
 \#define **INT\_FAST16\_MIN**   **INT16\_MIN**\
 \#define **UINT\_FAST16\_MAX**   **UINT16\_MAX**\
 \#define **INT\_FAST32\_MAX**   **INT32\_MAX**\
 \#define **INT\_FAST32\_MIN**   **INT32\_MIN**\
 \#define **UINT\_FAST32\_MAX**   **UINT32\_MAX**\
 \#define **INT\_FAST64\_MAX**   **INT64\_MAX**\
 \#define **INT\_FAST64\_MIN**   **INT64\_MIN**\
 \#define **UINT\_FAST64\_MAX**   **UINT64\_MAX**\

**Limits of integer types capable of holding object pointers**\

\#define **INTPTR\_MAX**   **INT16\_MAX**\
 \#define **INTPTR\_MIN**   **INT16\_MIN**\
 \#define **UINTPTR\_MAX**   **UINT16\_MAX**\

**Limits of greatest-width integer types**\

\#define **INTMAX\_MAX**   **INT64\_MAX**\
 \#define **INTMAX\_MIN**   **INT64\_MIN**\
 \#define **UINTMAX\_MAX**   **UINT64\_MAX**\

**Limits of other integer types**\
 C++ implementations should define these macros only when \_\_STDC\_LIMIT\_MACROS is defined before \<**stdint.h**\> is included

\#define **PTRDIFF\_MAX**   **INT16\_MAX**\
 \#define **PTRDIFF\_MIN**   **INT16\_MIN**\
 \#define **SIG\_ATOMIC\_MAX**   **INT8\_MAX**\
 \#define **SIG\_ATOMIC\_MIN**   **INT8\_MIN**\
 \#define **SIZE\_MAX**   **UINT16\_MAX**\
 \#define **WCHAR\_MAX**   \_\_WCHAR\_MAX\_\_\
 \#define **WCHAR\_MIN**   \_\_WCHAR\_MIN\_\_\
 \#define **WINT\_MAX**   \_\_WINT\_MAX\_\_\
 \#define **WINT\_MIN**   \_\_WINT\_MIN\_\_\

**Macros for integer constants**\
 C++ implementations should define these macros only when \_\_STDC\_CONSTANT\_MACROS is defined before \<**stdint.h**\> is included.

These definitions are valid for integer constants without suffix and for macros defined as integer constant without suffix

\#define **INT8\_C**(value)   ((**int8\_t**) value)\
 \#define **UINT8\_C**(value)   ((**uint8\_t**) \_\_CONCAT(value, U))\
 \#define **INT16\_C**(value)   value\
 \#define **UINT16\_C**(value)   \_\_CONCAT(value, U)\
 \#define **INT32\_C**(value)   \_\_CONCAT(value, L)\
 \#define **UINT32\_C**(value)   \_\_CONCAT(value, UL)\
 \#define **INT64\_C**(value)   \_\_CONCAT(value, LL)\
 \#define **UINT64\_C**(value)   \_\_CONCAT(value, ULL)\
 \#define **INTMAX\_C**(value)   \_\_CONCAT(value, LL)\
 \#define **UINTMAX\_C**(value)   \_\_CONCAT(value, ULL)\

### Typedefs

**Exact-width integer types**\
 Integer types having exactly the specified width

typedef signed char **int8\_t**\
 typedef unsigned char **uint8\_t**\
 typedef signed int **int16\_t**\
 typedef unsigned int **uint16\_t**\
 typedef signed long int **int32\_t**\
 typedef unsigned long int **uint32\_t**\
 typedef signed long long int **int64\_t**\
 typedef unsigned long long int **uint64\_t**\

**Integer types capable of holding object pointers**\
 These allow you to declare variables of the same size as a pointer.

typedef **int16\_t** **intptr\_t**\
 typedef **uint16\_t** **uintptr\_t**\

**Minimum-width integer types**\
 Integer types having at least the specified width

typedef **int8\_t** **int\_least8\_t**\
 typedef **uint8\_t** **uint\_least8\_t**\
 typedef **int16\_t** **int\_least16\_t**\
 typedef **uint16\_t** **uint\_least16\_t**\
 typedef **int32\_t** **int\_least32\_t**\
 typedef **uint32\_t** **uint\_least32\_t**\
 typedef **int64\_t** **int\_least64\_t**\
 typedef **uint64\_t** **uint\_least64\_t**\

**Fastest minimum-width integer types**\
 Integer types being usually fastest having at least the specified width

typedef **int8\_t** **int\_fast8\_t**\
 typedef **uint8\_t** **uint\_fast8\_t**\
 typedef **int16\_t** **int\_fast16\_t**\
 typedef **uint16\_t** **uint\_fast16\_t**\
 typedef **int32\_t** **int\_fast32\_t**\
 typedef **uint32\_t** **uint\_fast32\_t**\
 typedef **int64\_t** **int\_fast64\_t**\
 typedef **uint64\_t** **uint\_fast64\_t**\

**Greatest-width integer types**\
 Types designating integer data capable of representing any value of any integer type in the corresponding signed or unsigned category

typedef **int64\_t** **intmax\_t**\
 typedef **uint64\_t** **uintmax\_t**\

## Author

Generated automatically by Doxygen for AVR-LibC from the source code.
