LCOV - code coverage report
Current view: top level - zephyr/posix - posix_features.h Coverage Total Hit
Test: new.info Lines: 0.0 % 1 0
Test Date: 2025-09-25 19:22:35

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2024 BayLibre SAS
       3              :  * Copyright (c) 2024 Tenstorrent AI ULC
       4              :  *
       5              :  * SPDX-License-Identifier: Apache-2.0
       6              :  */
       7              : 
       8              : #ifndef INCLUDE_ZEPHYR_POSIX_POSIX_FEATURES_H_
       9              : #define INCLUDE_ZEPHYR_POSIX_POSIX_FEATURES_H_
      10              : 
      11              : #include <zephyr/autoconf.h>       /* CONFIG_* */
      12              : #include <zephyr/sys/util_macro.h> /* COND_CODE_1() */
      13              : 
      14              : /*
      15              :  * POSIX Application Environment Profiles (AEP - IEEE Std 1003.13-2003)
      16              :  */
      17              : 
      18              : #ifdef CONFIG_POSIX_AEP_REALTIME_MINIMAL
      19              : #define _POSIX_AEP_REALTIME_MINIMAL 200312L
      20              : #endif
      21              : 
      22              : #ifdef CONFIG_POSIX_AEP_REALTIME_CONTROLLER
      23              : #define _POSIX_AEP_REALTIME_CONTROLLER 200312L
      24              : #endif
      25              : 
      26              : #ifdef CONFIG_POSIX_AEP_REALTIME_DEDICATED
      27              : #define _POSIX_AEP_REALTIME_DEDICATED 200312L
      28              : #endif
      29              : 
      30              : /*
      31              :  * Subprofiling Considerations
      32              :  */
      33              : #define _POSIX_SUBPROFILE 1
      34              : 
      35              : /*
      36              :  * POSIX System Interfaces
      37              :  */
      38              : 
      39              : #define _POSIX_VERSION 200809L
      40              : 
      41              : #define _POSIX_CHOWN_RESTRICTED (0)
      42              : #define _POSIX_NO_TRUNC         (0)
      43              : #define _POSIX_VDISABLE         ('\0')
      44              : 
      45              : /* #define _POSIX_ADVISORY_INFO (-1L) */
      46              : 
      47              : #ifdef CONFIG_POSIX_ASYNCHRONOUS_IO
      48              : #define _POSIX_ASYNCHRONOUS_IO _POSIX_VERSION
      49              : #endif
      50              : 
      51              : #ifdef CONFIG_POSIX_BARRIERS
      52              : #define _POSIX_BARRIERS _POSIX_VERSION
      53              : #endif
      54              : 
      55              : #ifdef CONFIG_POSIX_FSYNC
      56              : #define _POSIX_FSYNC _POSIX_VERSION
      57              : #endif
      58              : 
      59              : #ifdef CONFIG_NET_IPV6
      60              : #define _POSIX_IPV6 _POSIX_VERSION
      61              : #endif
      62              : 
      63              : /* #define _POSIX_JOB_CONTROL (-1L) */
      64              : 
      65              : #ifdef CONFIG_POSIX_MAPPED_FILES
      66              : #define _POSIX_MAPPED_FILES _POSIX_VERSION
      67              : #endif
      68              : 
      69              : #ifdef CONFIG_POSIX_MEMLOCK
      70              : #define _POSIX_MEMLOCK _POSIX_VERSION
      71              : #endif
      72              : 
      73              : #ifdef CONFIG_POSIX_MEMLOCK_RANGE
      74              : #define _POSIX_MEMLOCK_RANGE _POSIX_VERSION
      75              : #endif
      76              : 
      77              : #ifdef CONFIG_POSIX_MEMORY_PROTECTION
      78              : #define _POSIX_MEMORY_PROTECTION _POSIX_VERSION
      79              : #endif
      80              : 
      81              : #ifdef CONFIG_POSIX_MESSAGE_PASSING
      82              : #define _POSIX_MESSAGE_PASSING _POSIX_VERSION
      83              : #endif
      84              : 
      85              : /* #define _POSIX_PRIORITIZED_IO (-1L) */
      86              : 
      87              : #ifdef CONFIG_POSIX_PRIORITY_SCHEDULING
      88              : #define _POSIX_PRIORITY_SCHEDULING _POSIX_VERSION
      89              : #endif
      90              : 
      91              : #ifdef CONFIG_NET_SOCKETS_PACKET
      92              : #define _POSIX_RAW_SOCKETS _POSIX_VERSION
      93              : #endif
      94              : 
      95              : #ifdef CONFIG_POSIX_RW_LOCKS
      96              : #define _POSIX_READER_WRITER_LOCKS _POSIX_VERSION
      97              : #endif
      98              : 
      99              : /* #define _POSIX_REGEXP (-1L) */
     100              : /* #define _POSIX_SAVED_IDS (-1L) */
     101              : 
     102              : #ifdef CONFIG_POSIX_SEMAPHORES
     103              : #define _POSIX_SEMAPHORES _POSIX_VERSION
     104              : #endif
     105              : 
     106              : #ifdef CONFIG_POSIX_SHARED_MEMORY_OBJECTS
     107              : #define _POSIX_SHARED_MEMORY_OBJECTS _POSIX_VERSION
     108              : #endif
     109              : 
     110              : /* #define _POSIX_SHELL (-1L) */
     111              : /* #define _POSIX_SPAWN (-1L) */
     112              : 
     113              : #ifdef CONFIG_POSIX_SPIN_LOCKS
     114              : #define _POSIX_SPIN_LOCKS _POSIX_VERSION
     115              : #endif
     116              : 
     117              : /* #define _POSIX_SPORADIC_SERVER (-1L) */
     118              : 
     119              : #ifdef CONFIG_POSIX_SYNCHRONIZED_IO
     120              : #define _POSIX_SYNCHRONIZED_IO _POSIX_VERSION
     121              : #endif
     122              : 
     123              : #ifdef CONFIG_POSIX_THREAD_ATTR_STACKADDR
     124              : #define _POSIX_THREAD_ATTR_STACKADDR _POSIX_VERSION
     125              : #endif
     126              : 
     127              : #ifdef CONFIG_POSIX_THREAD_ATTR_STACKSIZE
     128              : #define _POSIX_THREAD_ATTR_STACKSIZE _POSIX_VERSION
     129              : #endif
     130              : 
     131              : #ifdef CONFIG_POSIX_THREAD_CPUTIME
     132              : #define _POSIX_THREAD_CPUTIME _POSIX_VERSION
     133              : #endif
     134              : 
     135              : #ifdef CONFIG_POSIX_THREAD_PRIO_INHERIT
     136              : #define _POSIX_THREAD_PRIO_INHERIT _POSIX_VERSION
     137              : #endif
     138              : 
     139              : #ifdef CONFIG_POSIX_THREAD_PRIO_PROTECT
     140              : #define _POSIX_THREAD_PRIO_PROTECT _POSIX_VERSION
     141              : #endif
     142              : 
     143              : #ifdef CONFIG_POSIX_THREAD_PRIORITY_SCHEDULING
     144              : #define _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_VERSION
     145              : #endif
     146              : 
     147              : /* #define _POSIX_THREAD_PROCESS_SHARED (-1L) */
     148              : /* #define _POSIX_THREAD_ROBUST_PRIO_INHERIT (-1L) */
     149              : /* #define _POSIX_THREAD_ROBUST_PRIO_PROTECT (-1L) */
     150              : 
     151              : /* #define _POSIX_THREAD_SPORADIC_SERVER (-1L) */
     152              : 
     153              : #ifdef CONFIG_POSIX_THREADS
     154              : #ifndef _POSIX_THREADS
     155              : #define _POSIX_THREADS _POSIX_VERSION
     156              : #endif
     157              : #endif
     158              : 
     159              : #ifdef CONFIG_POSIX_TIMEOUTS
     160              : #define _POSIX_TIMEOUTS _POSIX_VERSION
     161              : #endif
     162              : 
     163              : /* #define _POSIX_TRACE (-1L) */
     164              : /* #define _POSIX_TRACE_EVENT_FILTER (-1L) */
     165              : /* #define _POSIX_TRACE_INHERIT (-1L) */
     166              : /* #define _POSIX_TRACE_LOG (-1L) */
     167              : /* #define _POSIX_TYPED_MEMORY_OBJECTS (-1L) */
     168              : 
     169              : /*
     170              :  * POSIX v6 Options
     171              :  */
     172              : /* #define _POSIX_V6_ILP32_OFF32 (-1L) */
     173              : /* #define _POSIX_V6_ILP32_OFFBIG (-1L) */
     174              : /* #define _POSIX_V6_LP64_OFF64 (-1L) */
     175              : /* #define _POSIX_V6_LPBIG_OFFBIG (-1L) */
     176              : 
     177              : /*
     178              :  * POSIX v7 Options
     179              :  */
     180              : /* #define _POSIX_V7_ILP32_OFF32 (-1L) */
     181              : /* #define _POSIX_V7_ILP32_OFFBIG (-1L) */
     182              : /* #define _POSIX_V7_LP64_OFF64 (-1L) */
     183              : /* #define _POSIX_V7_LPBIG_OFFBIG (-1L) */
     184              : 
     185              : /*
     186              :  * POSIX2 Options
     187              :  */
     188              : /* #define _POSIX2_VERSION (-1) */
     189              : #define _POSIX2_C_BIND _POSIX_VERSION
     190              : /* #define _POSIX2_C_DEV (-1) */
     191              : /* #define _POSIX2_CHAR_TERM (-1L) */
     192              : /* #define _POSIX2_FORT_DEV (-1L) */
     193              : /* #define _POSIX2_FORT_RUN (-1L) */
     194              : /* #define _POSIX2_LOCALEDEF (-1L) */
     195              : /* #define _POSIX2_PBS (-1L) */
     196              : /* #define _POSIX2_PBS_ACCOUNTING (-1L) */
     197              : /* #define _POSIX2_PBS_CHECKPOINT (-1L) */
     198              : /* #define _POSIX2_PBS_LOCATE (-1L) */
     199              : /* #define _POSIX2_PBS_MESSAGE (-1L) */
     200              : /* #define _POSIX2_PBS_TRACK (-1L) */
     201              : /* #define _POSIX2_SW_DEV (-1L) */
     202              : /* #define _POSIX2_UPE (-1L) */
     203              : 
     204              : /*
     205              :  * X/Open System Interfaces
     206              :  */
     207              : #define _XOPEN_VERSION 700
     208              : /* #define _XOPEN_CRYPT (-1L) */
     209              : /* #define _XOPEN_ENH_I18N (-1L) */
     210              : #if defined(CONFIG_XSI_REALTIME) ||                                                                \
     211              :         (defined(CONFIG_POSIX_FSYNC) && defined(CONFIG_POSIX_MEMLOCK) &&                           \
     212              :          defined(CONFIG_POSIX_MEMLOCK_RANGE) && defined(CONFIG_POSIX_MESSAGE_PASSING) &&           \
     213              :          defined(CONFIG_POSIX_PRIORITY_SCHEDULING) &&                                              \
     214              :          defined(CONFIG_POSIX_SHARED_MEMORY_OBJECTS) && defined(CONFIG_POSIX_SYNCHRONIZED_IO))
     215              : #define _XOPEN_REALTIME _XOPEN_VERSION
     216              : #endif
     217              : /* #define _XOPEN_REALTIME_THREADS (-1L) */
     218              : /* #define _XOPEN_SHM (-1L) */
     219              : 
     220              : #ifdef CONFIG_XOPEN_STREAMS
     221              : #define _XOPEN_STREAMS _XOPEN_VERSION
     222              : #endif
     223              : 
     224              : /* #define _XOPEN_UNIX (-1L) */
     225              : /* #define _XOPEN_UUCP (-1L) */
     226              : 
     227              : #endif /* INCLUDE_ZEPHYR_POSIX_POSIX_FEATURES_H_ */
        

Generated by: LCOV version 2.0-1