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-05 16:43:28

            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_CLOCK_SELECTION
      56              : #define _POSIX_CLOCK_SELECTION _POSIX_VERSION
      57              : #endif
      58              : 
      59              : #ifdef CONFIG_POSIX_CPUTIME
      60              : #define _POSIX_CPUTIME _POSIX_VERSION
      61              : #endif
      62              : 
      63              : #ifdef CONFIG_POSIX_FSYNC
      64              : #define _POSIX_FSYNC _POSIX_VERSION
      65              : #endif
      66              : 
      67              : #ifdef CONFIG_NET_IPV6
      68              : #define _POSIX_IPV6 _POSIX_VERSION
      69              : #endif
      70              : 
      71              : /* #define _POSIX_JOB_CONTROL (-1L) */
      72              : 
      73              : #ifdef CONFIG_POSIX_MAPPED_FILES
      74              : #define _POSIX_MAPPED_FILES _POSIX_VERSION
      75              : #endif
      76              : 
      77              : #ifdef CONFIG_POSIX_MEMLOCK
      78              : #define _POSIX_MEMLOCK _POSIX_VERSION
      79              : #endif
      80              : 
      81              : #ifdef CONFIG_POSIX_MEMLOCK_RANGE
      82              : #define _POSIX_MEMLOCK_RANGE _POSIX_VERSION
      83              : #endif
      84              : 
      85              : #ifdef CONFIG_POSIX_MEMORY_PROTECTION
      86              : #define _POSIX_MEMORY_PROTECTION _POSIX_VERSION
      87              : #endif
      88              : 
      89              : #ifdef CONFIG_POSIX_MESSAGE_PASSING
      90              : #define _POSIX_MESSAGE_PASSING _POSIX_VERSION
      91              : #endif
      92              : 
      93              : #ifdef CONFIG_POSIX_MONOTONIC_CLOCK
      94              : #define _POSIX_MONOTONIC_CLOCK _POSIX_VERSION
      95              : #endif
      96              : 
      97              : /* #define _POSIX_PRIORITIZED_IO (-1L) */
      98              : 
      99              : #ifdef CONFIG_POSIX_PRIORITY_SCHEDULING
     100              : #define _POSIX_PRIORITY_SCHEDULING _POSIX_VERSION
     101              : #endif
     102              : 
     103              : #ifdef CONFIG_NET_SOCKETS_PACKET
     104              : #define _POSIX_RAW_SOCKETS _POSIX_VERSION
     105              : #endif
     106              : 
     107              : #ifdef CONFIG_POSIX_READER_WRITER_LOCKS
     108              : #define _POSIX_READER_WRITER_LOCKS _POSIX_VERSION
     109              : #endif
     110              : 
     111              : /* #define _POSIX_REALTIME_SIGNALS (-1L) */
     112              : /* #define _POSIX_REGEXP (-1L) */
     113              : /* #define _POSIX_SAVED_IDS (-1L) */
     114              : 
     115              : #ifdef CONFIG_POSIX_SEMAPHORES
     116              : #define _POSIX_SEMAPHORES _POSIX_VERSION
     117              : #endif
     118              : 
     119              : #ifdef CONFIG_POSIX_SHARED_MEMORY_OBJECTS
     120              : #define _POSIX_SHARED_MEMORY_OBJECTS _POSIX_VERSION
     121              : #endif
     122              : 
     123              : /* #define _POSIX_SHELL (-1L) */
     124              : /* #define _POSIX_SPAWN (-1L) */
     125              : 
     126              : #ifdef CONFIG_POSIX_SPIN_LOCKS
     127              : #define _POSIX_SPIN_LOCKS _POSIX_VERSION
     128              : #endif
     129              : 
     130              : /* #define _POSIX_SPORADIC_SERVER (-1L) */
     131              : 
     132              : #ifdef CONFIG_POSIX_SYNCHRONIZED_IO
     133              : #define _POSIX_SYNCHRONIZED_IO _POSIX_VERSION
     134              : #endif
     135              : 
     136              : #ifdef CONFIG_POSIX_THREAD_ATTR_STACKADDR
     137              : #define _POSIX_THREAD_ATTR_STACKADDR _POSIX_VERSION
     138              : #endif
     139              : 
     140              : #ifdef CONFIG_POSIX_THREAD_ATTR_STACKSIZE
     141              : #define _POSIX_THREAD_ATTR_STACKSIZE _POSIX_VERSION
     142              : #endif
     143              : 
     144              : #ifdef CONFIG_POSIX_THREAD_CPUTIME
     145              : #define _POSIX_THREAD_CPUTIME _POSIX_VERSION
     146              : #endif
     147              : 
     148              : #ifdef CONFIG_POSIX_THREAD_PRIO_INHERIT
     149              : #define _POSIX_THREAD_PRIO_INHERIT _POSIX_VERSION
     150              : #endif
     151              : 
     152              : #ifdef CONFIG_POSIX_THREAD_PRIO_PROTECT
     153              : #define _POSIX_THREAD_PRIO_PROTECT _POSIX_VERSION
     154              : #endif
     155              : 
     156              : #ifdef CONFIG_POSIX_THREAD_PRIORITY_SCHEDULING
     157              : #define _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_VERSION
     158              : #endif
     159              : 
     160              : /* #define _POSIX_THREAD_PROCESS_SHARED (-1L) */
     161              : /* #define _POSIX_THREAD_ROBUST_PRIO_INHERIT (-1L) */
     162              : /* #define _POSIX_THREAD_ROBUST_PRIO_PROTECT (-1L) */
     163              : 
     164              : #ifdef CONFIG_POSIX_THREAD_SAFE_FUNCTIONS
     165              : #define _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_VERSION
     166              : #endif
     167              : 
     168              : /* #define _POSIX_THREAD_SPORADIC_SERVER (-1L) */
     169              : 
     170              : #ifdef CONFIG_POSIX_THREADS
     171              : #ifndef _POSIX_THREADS
     172              : #define _POSIX_THREADS _POSIX_VERSION
     173              : #endif
     174              : #endif
     175              : 
     176              : #ifdef CONFIG_POSIX_TIMEOUTS
     177              : #define _POSIX_TIMEOUTS _POSIX_VERSION
     178              : #endif
     179              : 
     180              : #ifdef CONFIG_POSIX_TIMERS
     181              : #define _POSIX_TIMERS _POSIX_VERSION
     182              : #endif
     183              : 
     184              : /* #define _POSIX_TRACE (-1L) */
     185              : /* #define _POSIX_TRACE_EVENT_FILTER (-1L) */
     186              : /* #define _POSIX_TRACE_INHERIT (-1L) */
     187              : /* #define _POSIX_TRACE_LOG (-1L) */
     188              : /* #define _POSIX_TYPED_MEMORY_OBJECTS (-1L) */
     189              : 
     190              : /*
     191              :  * POSIX v6 Options
     192              :  */
     193              : /* #define _POSIX_V6_ILP32_OFF32 (-1L) */
     194              : /* #define _POSIX_V6_ILP32_OFFBIG (-1L) */
     195              : /* #define _POSIX_V6_LP64_OFF64 (-1L) */
     196              : /* #define _POSIX_V6_LPBIG_OFFBIG (-1L) */
     197              : 
     198              : /*
     199              :  * POSIX v7 Options
     200              :  */
     201              : /* #define _POSIX_V7_ILP32_OFF32 (-1L) */
     202              : /* #define _POSIX_V7_ILP32_OFFBIG (-1L) */
     203              : /* #define _POSIX_V7_LP64_OFF64 (-1L) */
     204              : /* #define _POSIX_V7_LPBIG_OFFBIG (-1L) */
     205              : 
     206              : /*
     207              :  * POSIX2 Options
     208              :  */
     209              : /* #define _POSIX2_VERSION (-1) */
     210              : #define _POSIX2_C_BIND _POSIX_VERSION
     211              : /* #define _POSIX2_C_DEV (-1) */
     212              : /* #define _POSIX2_CHAR_TERM (-1L) */
     213              : /* #define _POSIX2_FORT_DEV (-1L) */
     214              : /* #define _POSIX2_FORT_RUN (-1L) */
     215              : /* #define _POSIX2_LOCALEDEF (-1L) */
     216              : /* #define _POSIX2_PBS (-1L) */
     217              : /* #define _POSIX2_PBS_ACCOUNTING (-1L) */
     218              : /* #define _POSIX2_PBS_CHECKPOINT (-1L) */
     219              : /* #define _POSIX2_PBS_LOCATE (-1L) */
     220              : /* #define _POSIX2_PBS_MESSAGE (-1L) */
     221              : /* #define _POSIX2_PBS_TRACK (-1L) */
     222              : /* #define _POSIX2_SW_DEV (-1L) */
     223              : /* #define _POSIX2_UPE (-1L) */
     224              : 
     225              : /*
     226              :  * X/Open System Interfaces
     227              :  */
     228              : #define _XOPEN_VERSION 700
     229              : /* #define _XOPEN_CRYPT (-1L) */
     230              : /* #define _XOPEN_ENH_I18N (-1L) */
     231              : #if defined(CONFIG_XSI_REALTIME) ||                                                                \
     232              :         (defined(CONFIG_POSIX_FSYNC) && defined(CONFIG_POSIX_MEMLOCK) &&                           \
     233              :          defined(CONFIG_POSIX_MEMLOCK_RANGE) && defined(CONFIG_POSIX_MESSAGE_PASSING) &&           \
     234              :          defined(CONFIG_POSIX_PRIORITY_SCHEDULING) &&                                              \
     235              :          defined(CONFIG_POSIX_SHARED_MEMORY_OBJECTS) && defined(CONFIG_POSIX_SYNCHRONIZED_IO))
     236              : #define _XOPEN_REALTIME _XOPEN_VERSION
     237              : #endif
     238              : /* #define _XOPEN_REALTIME_THREADS (-1L) */
     239              : /* #define _XOPEN_SHM (-1L) */
     240              : 
     241              : #ifdef CONFIG_XOPEN_STREAMS
     242              : #define _XOPEN_STREAMS _XOPEN_VERSION
     243              : #endif
     244              : 
     245              : /* #define _XOPEN_UNIX (-1L) */
     246              : /* #define _XOPEN_UUCP (-1L) */
     247              : 
     248              : #endif /* INCLUDE_ZEPHYR_POSIX_POSIX_FEATURES_H_ */
        

Generated by: LCOV version 2.0-1