Zephyr API Documentation
3.6.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
errno_private.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018 Intel Corporation.
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef ZEPHYR_INCLUDE_SYS_ERRNO_PRIVATE_H_
8
#define ZEPHYR_INCLUDE_SYS_ERRNO_PRIVATE_H_
9
10
#include <
zephyr/toolchain.h
>
11
12
#ifdef __cplusplus
13
extern
"C"
{
14
#endif
15
16
/* NOTE: located here to avoid include dependency loops between errno.h
17
* and kernel.h
18
*/
19
20
#ifdef CONFIG_LIBC_ERRNO
21
#include <
errno.h
>
22
23
static
inline
int
*z_errno(
void
)
24
{
25
return
&
errno
;
26
}
27
28
#elif defined(CONFIG_ERRNO_IN_TLS)
29
extern
__thread
int
z_errno_var;
30
31
static
inline
int
*z_errno(
void
)
32
{
33
return
&z_errno_var;
34
}
35
#else
44
__syscall
int
*z_errno(
void
);
45
46
#endif
/* CONFIG_ERRNO_IN_TLS */
47
48
#ifdef __cplusplus
49
}
50
#endif
51
52
#if !defined(CONFIG_ERRNO_IN_TLS) && !defined(CONFIG_LIBC_ERRNO)
53
#include <syscalls/errno_private.h>
54
#endif
/* CONFIG_ERRNO_IN_TLS */
55
56
#endif
/* ZEPHYR_INCLUDE_SYS_ERRNO_PRIVATE_H_ */
errno.h
System error numbers.
errno
#define errno
Definition:
errno.h:38
toolchain.h
Macros to abstract toolchain specific capabilities.
zephyr
sys
errno_private.h
Generated on Thu Sep 26 2024 10:47:06 for Zephyr API Documentation by
1.9.6