Blender V5.0
BLI_sys_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
18
19#pragma once
20
21#if defined(__linux__) || defined(__GNU__) || defined(__NetBSD__) || defined(__OpenBSD__) || \
22 defined(__FreeBSD_kernel__) || defined(__HAIKU__)
23
24/* Linux-i386, Linux-Alpha, Linux-PPC */
25# include <stdint.h> // IWYU pragma: export
26
27/* XXX */
28# ifndef UINT64_MAX
29# define UINT64_MAX 18446744073709551615
30typedef uint8_t u_int8_t;
31typedef uint16_t u_int16_t;
32typedef uint32_t u_int32_t;
33typedef uint64_t u_int64_t;
34# endif
35
36#elif defined(__APPLE__)
37
38# include <inttypes.h> // IWYU pragma: export
39
40/* MSVC >= 2010 */
41#elif defined(_MSC_VER)
42# include <stdint.h> // IWYU pragma: export
43
44#else
45
46/* FreeBSD, Solaris */
47# include <stdint.h> // IWYU pragma: export
48# include <sys/types.h> // IWYU pragma: export
49
50#endif /* `ifdef` platform for types. */
51
52#include <stdbool.h> // IWYU pragma: export
53#include <stddef.h> // IWYU pragma: export
54
55#ifndef __cplusplus
56/* The <uchar.h> standard header is missing on some systems. */
57# if defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
58typedef unsigned int char32_t;
59# else
60# include <uchar.h> // IWYU pragma: export
61# endif
62#endif
63
64typedef unsigned int uint;
65typedef unsigned short ushort;
66typedef unsigned long ulong;
67typedef unsigned char uchar;
unsigned char uchar
unsigned long ulong
unsigned int uint
unsigned short ushort
unsigned long long int uint64_t