zephyr/lib/posix
Chris Friedt 5ab984a834 posix: convert static inline functions to library functions
With CONFIG_NET_POSIX_NAMES being deprecated, convert static
inlines in headers to prototypes, and move implementations
to lib/posix/options/net.c .

Since select and poll should technically also operate on
non-socket file descriptors, these may be relocated in the
future.

Below are some reasons for this change.
1. So posix calls are regular symbols and not directly inlined
   as syscalls. This is also the most portable linkage type.
2. Many posix calls are cancellation points and additional
   checks are necessary within the implementation.
3. The more we add to an inline call, the less sense it makes
   for that call to be inline.
4. When the implementation of a posix function changes, the
   interface for it should still remain consistent.

Note: the same principles have been applied in Zephyr's
posix implementation already, e.g. clock_gettime(), so this
is nothing new.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-04-02 21:01:33 -04:00
..
options posix: convert static inline functions to library functions 2024-04-02 21:01:33 -04:00
shell posix: manually define _POSIX_C_SOURCE in lib/posix 2024-03-08 04:28:47 -05:00
CMakeLists.txt lib: posix: shell: Fix compiler warning of lib__posix__shell 2024-03-15 06:30:31 -04:00
Kconfig posix: separate shell utilities and posix api implementation 2024-02-01 05:26:24 -05:00