LCOV - code coverage report
Current view: top level - zephyr/sys - errno_private.h Coverage Total Hit
Test: new.info Lines: 0.0 % 1 0
Test Date: 2025-09-05 20:47:19

            Line data    Source code
       1            0 : /*
       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              : #include <zephyr/types.h> /* For Z_THREAD_LOCAL */
      12              : 
      13              : #ifdef __cplusplus
      14              : extern "C" {
      15              : #endif
      16              : 
      17              : /* NOTE: located here to avoid include dependency loops between errno.h
      18              :  * and kernel.h
      19              :  */
      20              : 
      21              : #ifdef CONFIG_LIBC_ERRNO
      22              : #include <errno.h>
      23              : 
      24              : static inline int *z_errno(void)
      25              : {
      26              :         return &errno;
      27              : }
      28              : 
      29              : #elif defined(CONFIG_ERRNO_IN_TLS)
      30              : extern Z_THREAD_LOCAL int z_errno_var;
      31              : 
      32              : static inline int *z_errno(void)
      33              : {
      34              :         return &z_errno_var;
      35              : }
      36              : #else
      37              : /**
      38              :  * return a pointer to a memory location containing errno
      39              :  *
      40              :  * errno is thread-specific, and can't just be a global. This pointer
      41              :  * is guaranteed to be read/writable from user mode.
      42              :  *
      43              :  * @return Memory location of errno data for current thread
      44              :  */
      45              : __syscall int *z_errno(void);
      46              : 
      47              : #endif /* CONFIG_ERRNO_IN_TLS */
      48              : 
      49              : #ifdef __cplusplus
      50              : }
      51              : #endif
      52              : 
      53              : #if !defined(CONFIG_ERRNO_IN_TLS) && !defined(CONFIG_LIBC_ERRNO)
      54              : #include <zephyr/syscalls/errno_private.h>
      55              : #endif /* CONFIG_ERRNO_IN_TLS */
      56              : 
      57              : #endif /* ZEPHYR_INCLUDE_SYS_ERRNO_PRIVATE_H_ */
        

Generated by: LCOV version 2.0-1