Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2017 Linaro Limited
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_ZEPHYR_TYPES_H_
8#define ZEPHYR_INCLUDE_ZEPHYR_TYPES_H_
9
10#include <stddef.h>
11#include <stdint.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17/*
18 * A type with strong alignment requirements, similar to C11 max_align_t. It can
19 * be used to force alignment of data structures allocated on the stack or as
20 * return * type for heap allocators.
21 */
22typedef union {
23 long long thelonglong;
24 long double thelongdouble;
25 uintmax_t theuintmax_t;
26 size_t thesize_t;
27 uintptr_t theuintptr_t;
28 void *thepvoid;
29 void (*thepfunc)(void);
30} z_max_align_t;
31
32#ifdef __cplusplus
33/* Zephyr requires an int main(void) signature with C linkage for the application main if present */
34extern int main(void);
35#endif
36
37#ifdef __cplusplus
38}
39#endif
40
41#endif /* ZEPHYR_INCLUDE_ZEPHYR_TYPES_H_ */
__UINTPTR_TYPE__ uintptr_t
Definition: stdint.h:105
__UINT64_TYPE__ uintmax_t
Definition: stdint.h:92