posix: deprecate POSIX_PUTMSG for XOPEN_STREAMS

This change deprecates CONFIG_POSIX_PUTMSG and introduces a new
Kconfig option CONFIG_XOPEN_STREAMS which maps directly to the
standard POSIX Option, _XOPEN_STREAMS.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
This commit is contained in:
Chris Friedt 2024-05-22 23:00:40 -04:00 committed by David Leach
commit 2f2cad742e
8 changed files with 28 additions and 14 deletions

View file

@ -111,7 +111,7 @@ POSIX System Interfaces
_XOPEN_CRYPT, -1,
_XOPEN_REALTIME, -1,
_XOPEN_REALTIME_THREADS, -1,
:ref:`_XOPEN_STREAMS<posix_option_xopen_streams>`, -1, :ref:`†<posix_undefined_behaviour>`
:ref:`_XOPEN_STREAMS<posix_option_xopen_streams>`, 200809L, :kconfig:option:`CONFIG_XOPEN_STREAMS`
_XOPEN_UNIX, -1,
POSIX Shell and Utilities

View file

@ -186,7 +186,7 @@
/* #define _XOPEN_REALTIME (-1L) */
/* #define _XOPEN_REALTIME_THREADS (-1L) */
/* #define _XOPEN_SHM (-1L) */
/* #define _XOPEN_STREAMS (-1L) */
#define _XOPEN_STREAMS COND_CODE_1(CONFIG_XOPEN_STREAMS, (_XOPEN_VERSION), (-1))
/* #define _XOPEN_UNIX (-1L) */
/* #define _XOPEN_UUCP (-1L) */

View file

@ -249,7 +249,8 @@ enum {
#define __z_posix_sysconf_SC_XOPEN_REALTIME (-1L)
#define __z_posix_sysconf_SC_XOPEN_REALTIME_THREADS (-1L)
#define __z_posix_sysconf_SC_XOPEN_SHM (-1L)
#define __z_posix_sysconf_SC_XOPEN_STREAMS (-1L)
#define __z_posix_sysconf_SC_XOPEN_STREAMS \
COND_CODE_1(CONFIG_XOPEN_STREAMS, (_POSIX_XOPEN_STREAMS), (-1))
#define __z_posix_sysconf_SC_XOPEN_UNIX (-1L)
#define __z_posix_sysconf_SC_XOPEN_UUCP (-1L)
#define __z_posix_sysconf_SC_XOPEN_VERSION _XOPEN_VERSION

View file

@ -58,7 +58,6 @@ zephyr_library_sources_ifdef(CONFIG_POSIX_MULTI_PROCESS
sleep.c
)
zephyr_library_sources_ifdef(CONFIG_POSIX_NETWORKING net.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_PUTMSG stropts.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_SIGNAL signal.c ${STRSIGNAL_TABLE_H})
zephyr_library_sources_ifdef(CONFIG_POSIX_SINGLE_PROCESS
confstr.c
@ -80,6 +79,7 @@ zephyr_library_sources_ifdef(CONFIG_PTHREAD pthread.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_PRIORITY_SCHEDULING sched.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_READER_WRITER_LOCKS rwlock.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_SEMAPHORES semaphore.c)
zephyr_library_sources_ifdef(CONFIG_XOPEN_STREAMS stropts.c)
zephyr_library_sources_ifdef(CONFIG_XSI_SYSTEM_LOGGING syslog.c)
zephyr_library_sources_ifdef(CONFIG_GETOPT_LONG

View file

@ -43,7 +43,6 @@ rsource "Kconfig.sched"
rsource "Kconfig.semaphore"
rsource "Kconfig.signal"
rsource "Kconfig.spinlock"
rsource "Kconfig.stropts"
rsource "Kconfig.sync_io"
rsource "Kconfig.timer"
rsource "Kconfig.xsi"

View file

@ -129,6 +129,15 @@ config POSIX_MQUEUE
Please use CONFIG_POSIX_MESSAGE_PASSING instead.
config POSIX_PUTMSG
bool "Support for putmsg function [DEPRECATED]"
select DEPRECATED
select XOPEN_STREAMS
help
This option is deprecated.
Please use CONFIG_XOPEN_STREAMS instead.
config POSIX_SYSCONF
bool "Support for sysconf() [DEPRECATED]"
select DEPRECATED

View file

@ -1,9 +0,0 @@
# copyright (c) 2024 Abhinav Srivastava
#
# SPDX-License-Identifier: Apache-2.0
config POSIX_PUTMSG
bool "Support for putmsg function"
default y if POSIX_API
help
This option provides support for the putmsg function used in message passing.

View file

@ -2,6 +2,8 @@
#
# SPDX-License-Identifier: Apache-2.0
menu "X/Open system interfaces"
config XSI_SINGLE_PROCESS
bool "X/Open single process"
default y if POSIX_API
@ -14,6 +16,16 @@ config XSI_SINGLE_PROCESS
For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_subprofiles.html
config XOPEN_STREAMS
bool "X/Open streams"
default y if POSIX_API
help
This option provides support for the X/Open Streams interface, including functions such as
fattach(), fdetach(), getmsg(), getpmsg(), putmsg(), and putpmsg().
For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap02.html#tag_02_01_05_09
config XSI_SYSTEM_LOGGING
bool "X/Open system logging"
default y if POSIX_API
@ -23,3 +35,5 @@ config XSI_SYSTEM_LOGGING
For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_subprofiles.html
endmenu