posix: deprecate POSIX_MAX_FDS and add POSIX_DEVICE_IO

The POSIX_MAX_FDS option does not correspond to any standard
POSIX option. It was used to define the size of the file
descriptor table, which is by no means exclusively used by
POSIX (also net, fs, ...).

POSIX_MAX_FDS is being deprecated in order to ensure that
Zephyr's POSIX Kconfig variables correspond to those defined in
the specification, as of IEEE 1003.1-2017. Namely,
POSIX_OPEN_MAX. CONFIG_POSIX_MAX_OPEN_FILES is being deprecated
for the same reason.

To mitigate any possible layering violations, that option is
not user selectable. It tracks the newly added
CONFIG_ZVFS_OPEN_MAX option, which is native to Zephyr.

With this deprecation, we introduce the following Kconfig
options that map directly to standard POSIX Option Groups by
simply removing "CONFIG_":

* CONFIG_POSIX_DEVICE_IO

Similarly, with this deprecation, we introduce the following
Kconfig options that map directly to standard POSIX Options by
simply removing "CONFIG":

* CONFIG_POSIX_OPEN_MAX

In order to maintain parity with the current feature set, we
introduce the following Kconfig options.

* CONFIG_POSIX_DEVICE_IO_ALIAS_CLOSE
* CONFIG_POSIX_DEVICE_IO_ALIAS_OPEN
* CONFIG_POSIX_DEVICE_IO_ALIAS_READ
* CONFIG_POSIX_DEVICE_IO_ALIAS_WRITE

Gate open(), close(), read(), and write() via the
CONFIG_POSIX_DEVICE_IO Kconfig option and move
implementations into device_io.c, to be conformant with the
spec.

Lastly, stage function names for upcoming ZVFS work, to be
completed as part of the LTSv3 Roadmap (e.g. zvfs_open(), ..).

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
This commit is contained in:
Chris Friedt 2024-05-21 22:45:15 -04:00 committed by David Leach
commit bc4374b5fe
57 changed files with 237 additions and 128 deletions

View file

@ -87,7 +87,7 @@ Socket Options
Maximum number of supported poll() entries. One needs to select proper value here depending Maximum number of supported poll() entries. One needs to select proper value here depending
on how many BSD sockets are polled in the system. on how many BSD sockets are polled in the system.
:kconfig:option:`CONFIG_POSIX_MAX_FDS` :kconfig:option:`CONFIG_ZVFS_OPEN_MAX`
Maximum number of open file descriptors, this includes files, sockets, special devices, etc. Maximum number of open file descriptors, this includes files, sockets, special devices, etc.
One needs to select proper value here depending on how many BSD sockets are created in One needs to select proper value here depending on how many BSD sockets are created in
the system. the system.

View file

@ -50,7 +50,7 @@ The *Minimal Realtime System Profile* (PSE51) includes all of the
:ref:`POSIX_C_LANG_JUMP <posix_option_group_c_lang_jump>`, yes, :ref:`POSIX_C_LANG_JUMP <posix_option_group_c_lang_jump>`, yes,
:ref:`POSIX_C_LANG_SUPPORT <posix_option_group_c_lang_support>`, yes, :ref:`POSIX_C_LANG_SUPPORT <posix_option_group_c_lang_support>`, yes,
:ref:`POSIX_DEVICE_IO <posix_option_group_device_io>`,, :ref:`POSIX_DEVICE_IO <posix_option_group_device_io>`,, :kconfig:option:`CONFIG_POSIX_DEVICE_IO`
:ref:`POSIX_SIGNALS <posix_option_group_signals>`,, :ref:`POSIX_SIGNALS <posix_option_group_signals>`,,
:ref:`POSIX_SINGLE_PROCESS <posix_option_group_single_process>`, yes, :ref:`POSIX_SINGLE_PROCESS <posix_option_group_single_process>`, yes,
:ref:`POSIX_THREADS_BASE <posix_option_group_threads_base>`, yes, :ref:`POSIX_THREADS_BASE <posix_option_group_threads_base>`, yes,

View file

@ -25,8 +25,8 @@ implementation of the POSIX API.
* :kconfig:option:`CONFIG_NET_SOCKETS_POLL_MAX` * :kconfig:option:`CONFIG_NET_SOCKETS_POLL_MAX`
* :kconfig:option:`CONFIG_POSIX_API` * :kconfig:option:`CONFIG_POSIX_API`
* :kconfig:option:`CONFIG_POSIX_FS` * :kconfig:option:`CONFIG_POSIX_FS`
* :kconfig:option:`CONFIG_POSIX_MAX_FDS` * :kconfig:option:`CONFIG_ZVFS_OPEN_MAX`
* :kconfig:option:`CONFIG_POSIX_MAX_OPEN_FILES` * :kconfig:option:`CONFIG_POSIX_OPEN_MAX`
* :kconfig:option:`CONFIG_POSIX_MQUEUE` * :kconfig:option:`CONFIG_POSIX_MQUEUE`
* :kconfig:option:`CONFIG_POSIX_RTSIG_MAX` * :kconfig:option:`CONFIG_POSIX_RTSIG_MAX`
* :kconfig:option:`CONFIG_POSIX_SIGNAL` * :kconfig:option:`CONFIG_POSIX_SIGNAL`

View file

@ -155,7 +155,7 @@ config MODEM_SOCKET
modem_socket_init(). modem_socket_init().
Note that the modem socket uses runtime allocated file descriptors Note that the modem socket uses runtime allocated file descriptors
reserved from the fdtable, for which the max count is set using the reserved from the fdtable, for which the max count is set using the
Kconfig option POSIX_MAX_FDS. Make sure to update this value as both Kconfig option ZVFS_OPEN_MAX. Make sure to update this value as both
the modem sockets and the POSIX_API, if used, share them. the modem sockets and the POSIX_API, if used, share them.
config MODEM_SOCKET_PACKET_COUNT config MODEM_SOCKET_PACKET_COUNT

View file

@ -28,7 +28,7 @@ extern "C" {
/** Socket file descriptor set. */ /** Socket file descriptor set. */
typedef struct zsock_fd_set { typedef struct zsock_fd_set {
uint32_t bitset[(CONFIG_POSIX_MAX_FDS + 31) / 32]; uint32_t bitset[(CONFIG_ZVFS_OPEN_MAX + 31) / 32];
} zsock_fd_set; } zsock_fd_set;
/** /**

View file

@ -211,7 +211,7 @@
#define _POSIX_MQ_PRIO_MAX (32) #define _POSIX_MQ_PRIO_MAX (32)
#define _POSIX_NAME_MAX (14) #define _POSIX_NAME_MAX (14)
#define _POSIX_NGROUPS_MAX (8) #define _POSIX_NGROUPS_MAX (8)
#define _POSIX_OPEN_MAX CONFIG_POSIX_MAX_FDS #define _POSIX_OPEN_MAX CONFIG_POSIX_OPEN_MAX
#define _POSIX_PATH_MAX (256) #define _POSIX_PATH_MAX (256)
#define _POSIX_PIPE_BUF (512) #define _POSIX_PIPE_BUF (512)
#define _POSIX_RE_DUP_MAX (255) #define _POSIX_RE_DUP_MAX (255)

View file

@ -268,7 +268,7 @@ enum {
#define __z_posix_sysconf_SC_NGROUPS_MAX _POSIX_NGROUPS_MAX #define __z_posix_sysconf_SC_NGROUPS_MAX _POSIX_NGROUPS_MAX
#define __z_posix_sysconf_SC_MQ_OPEN_MAX MQ_OPEN_MAX #define __z_posix_sysconf_SC_MQ_OPEN_MAX MQ_OPEN_MAX
#define __z_posix_sysconf_SC_MQ_PRIO_MAX MQ_PRIO_MAX #define __z_posix_sysconf_SC_MQ_PRIO_MAX MQ_PRIO_MAX
#define __z_posix_sysconf_SC_OPEN_MAX CONFIG_POSIX_MAX_FDS #define __z_posix_sysconf_SC_OPEN_MAX CONFIG_ZVFS_OPEN_MAX
#define __z_posix_sysconf_SC_PAGE_SIZE PAGE_SIZE #define __z_posix_sysconf_SC_PAGE_SIZE PAGE_SIZE
#define __z_posix_sysconf_SC_PAGESIZE PAGESIZE #define __z_posix_sysconf_SC_PAGESIZE PAGESIZE
#define __z_posix_sysconf_SC_THREAD_DESTRUCTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS #define __z_posix_sysconf_SC_THREAD_DESTRUCTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS

View file

@ -102,6 +102,10 @@ config NEWLIB_LIBC
depends on !NATIVE_APPLICATION depends on !NATIVE_APPLICATION
depends on NEWLIB_LIBC_SUPPORTED depends on NEWLIB_LIBC_SUPPORTED
select NEED_LIBC_MEM_PARTITION select NEED_LIBC_MEM_PARTITION
imply POSIX_DEVICE_IO_ALIAS_CLOSE
imply POSIX_DEVICE_IO_ALIAS_OPEN
imply POSIX_DEVICE_IO_ALIAS_READ
imply POSIX_DEVICE_IO_ALIAS_WRITE
imply POSIX_FD_MGMT_ALIAS_LSEEK imply POSIX_FD_MGMT_ALIAS_LSEEK
help help
Build with newlib library. The newlib library is expected to be Build with newlib library. The newlib library is expected to be

View file

@ -23,6 +23,12 @@
#include <zephyr/kernel/mm.h> #include <zephyr/kernel/mm.h>
#include <sys/time.h> #include <sys/time.h>
int _read(int fd, void *buf, int nbytes);
int _write(int fd, const void *buf, int nbytes);
int _open(const char *name, int mode);
int _close(int file);
int _lseek(int file, int ptr, int dir);
#define LIBC_BSS K_APP_BMEM(z_libc_partition) #define LIBC_BSS K_APP_BMEM(z_libc_partition)
#define LIBC_DATA K_APP_DMEM(z_libc_partition) #define LIBC_DATA K_APP_DMEM(z_libc_partition)
@ -210,8 +216,8 @@ static inline int z_vrfy_zephyr_write_stdout(const void *buf, int nbytes)
#include <zephyr/syscalls/zephyr_write_stdout_mrsh.c> #include <zephyr/syscalls/zephyr_write_stdout_mrsh.c>
#endif #endif
#ifndef CONFIG_POSIX_API #ifndef CONFIG_POSIX_DEVICE_IO
int _read(int fd, char *buf, int nbytes) int _read(int fd, void *buf, int nbytes)
{ {
ARG_UNUSED(fd); ARG_UNUSED(fd);
@ -238,10 +244,7 @@ int _close(int file)
return -1; return -1;
} }
__weak FUNC_ALIAS(_close, close, int); __weak FUNC_ALIAS(_close, close, int);
#else #endif /* CONFIG_POSIX_DEVICE_IO */
extern ssize_t write(int file, const char *buffer, size_t count);
#define _write write
#endif
#ifndef CONFIG_POSIX_FD_MGMT #ifndef CONFIG_POSIX_FD_MGMT
int _lseek(int file, int ptr, int dir) int _lseek(int file, int ptr, int dir)
@ -275,6 +278,7 @@ int _fstat(int file, struct stat *st)
return 0; return 0;
} }
__weak FUNC_ALIAS(_fstat, fstat, int); __weak FUNC_ALIAS(_fstat, fstat, int);
#endif /* CONFIG_POSIX_FILE_SYSTEM */
__weak void _exit(int status) __weak void _exit(int status)
{ {
@ -478,11 +482,6 @@ __weak FUNC_NORETURN void __chk_fail(void)
} }
#if CONFIG_XTENSA #if CONFIG_XTENSA
extern int _read(int fd, char *buf, int nbytes);
extern int _open(const char *name, int mode);
extern int _close(int file);
extern int _lseek(int file, int ptr, int dir);
/* The Newlib in xtensa toolchain has a few missing functions for the /* The Newlib in xtensa toolchain has a few missing functions for the
* reentrant versions of the syscalls. * reentrant versions of the syscalls.
*/ */

View file

@ -10,6 +10,15 @@ config FDTABLE
for any I/O object implementing POSIX I/O semantics (i.e. read/write + for any I/O object implementing POSIX I/O semantics (i.e. read/write +
aux operations). aux operations).
config ZVFS_OPEN_MAX
int "Maximum number of open file descriptors"
default 16 if WIFI_NM_WPA_SUPPLICANT
default 16 if POSIX_API
default 4
help
Maximum number of open file descriptors, this includes
files, sockets, special devices, etc.
config PRINTK_SYNC config PRINTK_SYNC
bool "Serialize printk() calls" bool "Serialize printk() calls"
default y if SMP && MP_MAX_NUM_CPUS > 1 && !(EFI_CONSOLE && LOG) default y if SMP && MP_MAX_NUM_CPUS > 1 && !(EFI_CONSOLE && LOG)

View file

@ -31,12 +31,14 @@ struct fd_entry {
struct k_condvar cond; struct k_condvar cond;
}; };
#ifdef CONFIG_POSIX_API #if defined(CONFIG_POSIX_DEVICE_IO)
static const struct fd_op_vtable stdinout_fd_op_vtable; static const struct fd_op_vtable stdinout_fd_op_vtable;
#endif
static struct fd_entry fdtable[CONFIG_POSIX_MAX_FDS] = { BUILD_ASSERT(CONFIG_ZVFS_OPEN_MAX >= 3, "CONFIG_ZVFS_OPEN_MAX >= 3 for CONFIG_POSIX_DEVICE_IO");
#ifdef CONFIG_POSIX_API #endif /* defined(CONFIG_POSIX_DEVICE_IO) */
static struct fd_entry fdtable[CONFIG_ZVFS_OPEN_MAX] = {
#if defined(CONFIG_POSIX_DEVICE_IO)
/* /*
* Predefine entries for stdin/stdout/stderr. * Predefine entries for stdin/stdout/stderr.
*/ */
@ -62,9 +64,7 @@ static struct fd_entry fdtable[CONFIG_POSIX_MAX_FDS] = {
.cond = Z_CONDVAR_INITIALIZER(fdtable[2].cond), .cond = Z_CONDVAR_INITIALIZER(fdtable[2].cond),
}, },
#else #else
{ {0},
0
},
#endif #endif
}; };
@ -296,9 +296,7 @@ int z_alloc_fd(void *obj, const struct fd_op_vtable *vtable)
return fd; return fd;
} }
#ifdef CONFIG_POSIX_API ssize_t zvfs_read(int fd, void *buf, size_t sz)
ssize_t read(int fd, void *buf, size_t sz)
{ {
ssize_t res; ssize_t res;
@ -314,9 +312,8 @@ ssize_t read(int fd, void *buf, size_t sz)
return res; return res;
} }
FUNC_ALIAS(read, _read, ssize_t);
ssize_t write(int fd, const void *buf, size_t sz) ssize_t zvfs_write(int fd, const void *buf, size_t sz)
{ {
ssize_t res; ssize_t res;
@ -332,9 +329,8 @@ ssize_t write(int fd, const void *buf, size_t sz)
return res; return res;
} }
FUNC_ALIAS(write, _write, ssize_t);
int close(int fd) int zvfs_close(int fd)
{ {
int res; int res;
@ -352,7 +348,6 @@ int close(int fd)
return res; return res;
} }
FUNC_ALIAS(close, _close, int);
#ifdef CONFIG_POSIX_FSYNC #ifdef CONFIG_POSIX_FSYNC
int fsync(int fd) int fsync(int fd)
@ -372,8 +367,8 @@ off_t zvfs_lseek(int fd, off_t offset, int whence)
return -1; return -1;
} }
return z_fdtable_call_ioctl(fdtable[fd].vtable, fdtable[fd].obj, ZFD_IOCTL_LSEEK, return z_fdtable_call_ioctl(fdtable[fd].vtable, fdtable[fd].obj, ZFD_IOCTL_LSEEK, offset,
offset, whence); whence);
} }
int ioctl(int fd, unsigned long request, ...) int ioctl(int fd, unsigned long request, ...)
@ -406,6 +401,7 @@ int zvfs_fcntl(int fd, int cmd, va_list args)
return res; return res;
} }
#if defined(CONFIG_POSIX_DEVICE_IO)
/* /*
* fd operations for stdio/stdout/stderr * fd operations for stdio/stdout/stderr
*/ */
@ -420,7 +416,7 @@ static ssize_t stdinout_read_vmeth(void *obj, void *buffer, size_t count)
static ssize_t stdinout_write_vmeth(void *obj, const void *buffer, size_t count) static ssize_t stdinout_write_vmeth(void *obj, const void *buffer, size_t count)
{ {
#if defined(CONFIG_BOARD_NATIVE_POSIX) #if defined(CONFIG_BOARD_NATIVE_POSIX)
return write(1, buffer, count); return zvfs_write(1, buffer, count);
#elif defined(CONFIG_NEWLIB_LIBC) || defined(CONFIG_ARCMWDT_LIBC) #elif defined(CONFIG_NEWLIB_LIBC) || defined(CONFIG_ARCMWDT_LIBC)
return z_impl_zephyr_write_stdout(buffer, count); return z_impl_zephyr_write_stdout(buffer, count);
#else #else
@ -441,4 +437,4 @@ static const struct fd_op_vtable stdinout_fd_op_vtable = {
.ioctl = stdinout_ioctl_vmeth, .ioctl = stdinout_ioctl_vmeth,
}; };
#endif /* CONFIG_POSIX_API */ #endif /* defined(CONFIG_POSIX_DEVICE_IO) */

View file

@ -37,9 +37,13 @@ add_subdirectory_ifdef(CONFIG_GETOPT getopt)
zephyr_library_sources_ifdef(CONFIG_EVENTFD eventfd.c) zephyr_library_sources_ifdef(CONFIG_EVENTFD eventfd.c)
zephyr_library_sources_ifdef(CONFIG_FNMATCH fnmatch.c) zephyr_library_sources_ifdef(CONFIG_FNMATCH fnmatch.c)
zephyr_library_sources_ifdef(CONFIG_GETENTROPY getentropy.c) zephyr_library_sources_ifdef(CONFIG_GETENTROPY getentropy.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_API perror.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_ASYNCHRONOUS_IO aio.c) zephyr_library_sources_ifdef(CONFIG_POSIX_ASYNCHRONOUS_IO aio.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_CONFSTR confstr.c) zephyr_library_sources_ifdef(CONFIG_POSIX_CONFSTR confstr.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_DEVICE_IO
# perror should be moved to the common libc
perror.c
device_io.c
)
zephyr_library_sources_ifdef(CONFIG_POSIX_ENV env.c) zephyr_library_sources_ifdef(CONFIG_POSIX_ENV env.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_FD_MGMT zephyr_library_sources_ifdef(CONFIG_POSIX_FD_MGMT
fd_mgmt.c fd_mgmt.c

View file

@ -27,9 +27,9 @@ rsource "Kconfig.aio"
rsource "Kconfig.barrier" rsource "Kconfig.barrier"
rsource "Kconfig.cond" rsource "Kconfig.cond"
rsource "Kconfig.confstr" rsource "Kconfig.confstr"
rsource "Kconfig.device_io"
rsource "Kconfig.env" rsource "Kconfig.env"
rsource "Kconfig.eventfd" rsource "Kconfig.eventfd"
rsource "Kconfig.fdtable"
rsource "Kconfig.fd_mgmt" rsource "Kconfig.fd_mgmt"
rsource "Kconfig.fnmatch" rsource "Kconfig.fnmatch"
rsource "Kconfig.fs" rsource "Kconfig.fs"

View file

@ -37,6 +37,26 @@ config POSIX_LIMITS_RTSIG_MAX
Please use CONFIG_POSIX_RTSIG_MAX instead. Please use CONFIG_POSIX_RTSIG_MAX instead.
config POSIX_MAX_FDS
int "Maximum number of open file descriptors [DEPRECATED]"
default POSIX_OPEN_MAX
help
This option is deprecated.
Please use CONFIG_POSIX_OPEN_MAX instead.
See also CONFIG_ZVFS_OPEN_MAX.
config POSIX_MAX_OPEN_FILES
int "Maximum number of open file descriptors [DEPRECATED]"
default POSIX_OPEN_MAX
help
This option is deprecated.
Please use CONFIG_POSIX_OPEN_MAX instead.
See also CONFIG_ZVFS_OPEN_MAX.
config TIMER config TIMER
bool "Timer support [DEPRECATED]" bool "Timer support [DEPRECATED]"
select DEPRECATED select DEPRECATED

View file

@ -0,0 +1,57 @@
# Copyright (c) 2024 Tenstorrent AI ULC
#
# SPDX-License-Identifier: Apache-2.0
menu "POSIX device I/O"
config POSIX_DEVICE_IO
bool "POSIX device I/O [EXPERIMENTAL]"
default y if POSIX_API
select FDTABLE
select EXPERIMENTAL
help
Select 'y' here and Zephyr will provide an implementation of the POSIX_DEVICE_IO Option
Group such as FD_CLR(), FD_ISSET(), FD_SET(), FD_ZERO(), close(), fdopen(), fileno(), open(),
poll(), pread(), pselect(), pwrite(), read(), select(), and write().
For more informnation, please see
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_subprofiles.html
if POSIX_DEVICE_IO
# These options are intended to be used for compatibility with external POSIX
# implementations such as those in Newlib or Picolibc.
config POSIX_DEVICE_IO_ALIAS_CLOSE
bool
help
Select 'y' here and Zephyr will provide an alias for close() as _close().
config POSIX_DEVICE_IO_ALIAS_OPEN
bool
help
Select 'y' here and Zephyr will provide an alias for open() as _open().
config POSIX_DEVICE_IO_ALIAS_READ
bool
help
Select 'y' here and Zephyr will provide an alias for read() as _read().
config POSIX_DEVICE_IO_ALIAS_WRITE
bool
help
Select 'y' here and Zephyr will provide an alias for write() as _write().
endif # POSIX_DEVICE_IO
config POSIX_OPEN_MAX
int
default ZVFS_OPEN_MAX
help
The maximum number of files that a process can have open at one time. This option is not
directly user-configurable but can be adjusted via CONFIG_ZVFS_OPEN_MAX.
For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html
endmenu

View file

@ -1,16 +0,0 @@
# Copyright (c) 2018 Linaro
#
# SPDX-License-Identifier: Apache-2.0
menu "File descriptor table options"
config POSIX_MAX_FDS
int "Maximum number of open file descriptors"
default 16 if WIFI_NM_WPA_SUPPLICANT
default 16 if POSIX_API
default 4
help
Maximum number of open file descriptors, this includes
files, sockets, special devices, etc.
endmenu # "File descriptor table options"

View file

@ -12,13 +12,6 @@ menuconfig POSIX_FS
if POSIX_FS if POSIX_FS
config POSIX_MAX_OPEN_FILES
int "Maximum number of open file descriptors"
default 16
help
Maximum number of open files. Note that this setting
is additionally bounded by CONFIG_POSIX_MAX_FDS.
config POSIX_FSYNC config POSIX_FSYNC
bool "Support for fsync()" bool "Support for fsync()"
default y default y

View file

@ -0,0 +1,64 @@
/*
* Copyright (c) 2024, Tenstorrent AI ULC
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stddef.h>
#include <stdint.h>
#include <zephyr/posix/poll.h>
#include <zephyr/posix/unistd.h>
#include <zephyr/posix/sys/select.h>
#include <zephyr/posix/sys/socket.h>
/* prototypes for external, not-yet-public, functions in fdtable.c or fs.c */
int zvfs_close(int fd);
int zvfs_open(const char *name, int flags);
ssize_t zvfs_read(int fd, void *buf, size_t sz);
ssize_t zvfs_write(int fd, const void *buf, size_t sz);
int close(int fd)
{
return zvfs_close(fd);
}
#ifdef CONFIG_POSIX_DEVICE_IO_ALIAS_CLOSE
FUNC_ALIAS(close, _close, int);
#endif
int open(const char *name, int flags, ...)
{
/* FIXME: necessarily need to check for O_CREAT and unpack ... if set */
return zvfs_open(name, flags);
}
#ifdef CONFIG_POSIX_DEVICE_IO_ALIAS_OPEN
FUNC_ALIAS(open, _open, int);
#endif
int poll(struct pollfd *fds, int nfds, int timeout)
{
/* TODO: create zvfs_poll() and dispatch to subsystems based on file type */
return zsock_poll(fds, nfds, timeout);
}
ssize_t read(int fd, void *buf, size_t sz)
{
return zvfs_read(fd, buf, sz);
}
#ifdef CONFIG_POSIX_DEVICE_IO_ALIAS_READ
FUNC_ALIAS(read, _read, ssize_t);
#endif
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
{
/* TODO: create zvfs_select() and dispatch to subsystems based on file type */
return zsock_select(nfds, readfds, writefds, exceptfds, (struct zsock_timeval *)timeout);
}
ssize_t write(int fd, const void *buf, size_t sz)
{
return zvfs_write(fd, buf, sz);
}
#ifdef CONFIG_POSIX_DEVICE_IO_ALIAS_WRITE
FUNC_ALIAS(write, _write, ssize_t);
#endif

View file

@ -26,7 +26,7 @@ struct posix_fs_desc {
bool used; bool used;
}; };
static struct posix_fs_desc desc_array[CONFIG_POSIX_MAX_OPEN_FILES]; static struct posix_fs_desc desc_array[CONFIG_POSIX_OPEN_MAX];
static struct fs_dirent fdirent; static struct fs_dirent fdirent;
static struct dirent pdirent; static struct dirent pdirent;
@ -39,7 +39,7 @@ static struct posix_fs_desc *posix_fs_alloc_obj(bool is_dir)
struct posix_fs_desc *ptr = NULL; struct posix_fs_desc *ptr = NULL;
unsigned int key = irq_lock(); unsigned int key = irq_lock();
for (i = 0; i < CONFIG_POSIX_MAX_OPEN_FILES; i++) { for (i = 0; i < CONFIG_POSIX_OPEN_MAX; i++) {
if (desc_array[i].used == false) { if (desc_array[i].used == false) {
ptr = &desc_array[i]; ptr = &desc_array[i];
ptr->used = true; ptr->used = true;
@ -80,12 +80,7 @@ static int posix_mode_to_zephyr(int mf)
return mode; return mode;
} }
/** int zvfs_open(const char *name, int flags)
* @brief Open a file.
*
* See IEEE 1003.1
*/
int open(const char *name, int flags, ...)
{ {
int rc, fd; int rc, fd;
struct posix_fs_desc *ptr = NULL; struct posix_fs_desc *ptr = NULL;
@ -123,10 +118,6 @@ int open(const char *name, int flags, ...)
return fd; return fd;
} }
#if !defined(CONFIG_NEWLIB_LIBC) && !defined(CONFIG_PICOLIBC)
FUNC_ALIAS(open, _open, int);
#endif
static int fs_close_vmeth(void *obj) static int fs_close_vmeth(void *obj)
{ {
struct posix_fs_desc *ptr = obj; struct posix_fs_desc *ptr = obj;

View file

@ -13,8 +13,6 @@
#include <zephyr/posix/arpa/inet.h> #include <zephyr/posix/arpa/inet.h>
#include <zephyr/posix/netinet/in.h> #include <zephyr/posix/netinet/in.h>
#include <zephyr/posix/net/if.h> #include <zephyr/posix/net/if.h>
#include <zephyr/posix/poll.h>
#include <zephyr/posix/sys/select.h>
#include <zephyr/posix/sys/socket.h> #include <zephyr/posix/sys/socket.h>
/* From arpa/inet.h */ /* From arpa/inet.h */
@ -355,11 +353,6 @@ int listen(int sock, int backlog)
return zsock_listen(sock, backlog); return zsock_listen(sock, backlog);
} }
int poll(struct pollfd *fds, int nfds, int timeout)
{
return zsock_poll(fds, nfds, timeout);
}
ssize_t recv(int sock, void *buf, size_t max_len, int flags) ssize_t recv(int sock, void *buf, size_t max_len, int flags)
{ {
return zsock_recv(sock, buf, max_len, flags); return zsock_recv(sock, buf, max_len, flags);
@ -376,11 +369,6 @@ ssize_t recvmsg(int sock, struct msghdr *msg, int flags)
return zsock_recvmsg(sock, msg, flags); return zsock_recvmsg(sock, msg, flags);
} }
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
{
return zsock_select(nfds, readfds, writefds, exceptfds, (struct zsock_timeval *)timeout);
}
ssize_t send(int sock, const void *buf, size_t len, int flags) ssize_t send(int sock, const void *buf, size_t len, int flags)
{ {
return zsock_send(sock, buf, len, flags); return zsock_send(sock, buf, len, flags);

View file

@ -41,7 +41,7 @@ config WIFI_NM_WPA_SUPPLICANT_WQ_PRIO
int "Thread priority of wpa_supplicant iface workqueue" int "Thread priority of wpa_supplicant iface workqueue"
default 7 default 7
# Currently we default POSIX_MAX_FDS to 16 in lib/posix/Kconfig # Currently we default ZVFS_OPEN_MAX to 16 in lib/posix/Kconfig
# l2_packet - 1 # l2_packet - 1
# ctrl_iface - 2 * socketpairs = 4(local and global) # ctrl_iface - 2 * socketpairs = 4(local and global)
# z_wpa_event_sock - 1 socketpair = 2 # z_wpa_event_sock - 1 socketpair = 2

View file

@ -28,7 +28,7 @@ CONFIG_NET_TCP=y
CONFIG_NET_IPV6=n CONFIG_NET_IPV6=n
CONFIG_NET_IPV4=y CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=6 CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_CONNECTION_MANAGER=y CONFIG_NET_CONNECTION_MANAGER=y
# Kernel options # Kernel options
@ -61,7 +61,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2"
# Number of socket descriptors might need adjusting # Number of socket descriptors might need adjusting
# if there are more than 1 handlers defined. # if there are more than 1 handlers defined.
CONFIG_POSIX_MAX_FDS=16 CONFIG_ZVFS_OPEN_MAX=16
# Some platforms require relatively large stack sizes. # Some platforms require relatively large stack sizes.
# This can be tuned per-board. # This can be tuned per-board.

View file

@ -51,7 +51,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2"
# Number of socket descriptors might need adjusting # Number of socket descriptors might need adjusting
# if there are more than 1 handlers defined. # if there are more than 1 handlers defined.
CONFIG_POSIX_MAX_FDS=16 CONFIG_ZVFS_OPEN_MAX=16
# Some platforms require relatively large stack sizes. # Some platforms require relatively large stack sizes.
# This can be tuned per-board. # This can be tuned per-board.

View file

@ -5,7 +5,7 @@ CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=n CONFIG_NET_IPV6=n
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_API=y CONFIG_POSIX_API=y
CONFIG_POSIX_MAX_FDS=6 CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_CONNECTION_MANAGER=y CONFIG_NET_CONNECTION_MANAGER=y
# Kernel options # Kernel options

View file

@ -2,7 +2,7 @@
CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y
# POSIX options # POSIX options
CONFIG_POSIX_MAX_FDS=20 CONFIG_ZVFS_OPEN_MAX=20
CONFIG_POSIX_API=y CONFIG_POSIX_API=y
# Networking config # Networking config

View file

@ -12,4 +12,4 @@ CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=2048
CONFIG_NET_SOCKETS_SOCKOPT_TLS=y CONFIG_NET_SOCKETS_SOCKOPT_TLS=y
CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=4 CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=4
CONFIG_NET_SOCKETS_ENABLE_DTLS=y CONFIG_NET_SOCKETS_ENABLE_DTLS=y
CONFIG_POSIX_MAX_FDS=8 CONFIG_ZVFS_OPEN_MAX=8

View file

@ -13,4 +13,4 @@ CONFIG_NET_SOCKETS_SOCKOPT_TLS=y
CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=6 CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=6
CONFIG_NET_SOCKETS_ENABLE_DTLS=y CONFIG_NET_SOCKETS_ENABLE_DTLS=y
CONFIG_NET_SOCKETS_DTLS_TIMEOUT=30000 CONFIG_NET_SOCKETS_DTLS_TIMEOUT=30000
CONFIG_POSIX_MAX_FDS=16 CONFIG_ZVFS_OPEN_MAX=16

View file

@ -6,7 +6,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_IPV4=y CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_API=y CONFIG_POSIX_API=y
CONFIG_POSIX_MAX_FDS=6 CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_CONNECTION_MANAGER=y CONFIG_NET_CONNECTION_MANAGER=y
# Kernel options # Kernel options
@ -48,7 +48,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2"
# Number of socket descriptors might need adjusting # Number of socket descriptors might need adjusting
# if there are more than 1 handlers defined. # if there are more than 1 handlers defined.
CONFIG_POSIX_MAX_FDS=12 CONFIG_ZVFS_OPEN_MAX=12
# How many client can connect to echo-server simultaneously # How many client can connect to echo-server simultaneously
CONFIG_NET_SAMPLE_NUM_HANDLERS=1 CONFIG_NET_SAMPLE_NUM_HANDLERS=1

View file

@ -10,7 +10,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_TCP=y CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_NET_IPV4_MAPPING_TO_IPV6=y CONFIG_NET_IPV4_MAPPING_TO_IPV6=y
CONFIG_POSIX_MAX_FDS=10 CONFIG_ZVFS_OPEN_MAX=10
CONFIG_NET_MAX_CONN=5 CONFIG_NET_MAX_CONN=5
CONFIG_NET_SOCKETS_SERVICE=y CONFIG_NET_SOCKETS_SERVICE=y
CONFIG_NET_SOCKETS_POLL_MAX=20 CONFIG_NET_SOCKETS_POLL_MAX=20

View file

@ -5,7 +5,7 @@ CONFIG_LOG=y
CONFIG_ENTROPY_GENERATOR=y CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_INIT_STACKS=y CONFIG_INIT_STACKS=y
CONFIG_POSIX_MAX_FDS=32 CONFIG_ZVFS_OPEN_MAX=32
CONFIG_POSIX_API=y CONFIG_POSIX_API=y
CONFIG_FDTABLE=y CONFIG_FDTABLE=y
CONFIG_NET_SOCKETS_POLL_MAX=32 CONFIG_NET_SOCKETS_POLL_MAX=32

View file

@ -6,7 +6,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_IPV4=y CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_API=y CONFIG_POSIX_API=y
CONFIG_POSIX_MAX_FDS=6 CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_SOCKETS_NET_MGMT=y CONFIG_NET_SOCKETS_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y CONFIG_NET_MGMT_EVENT=y

View file

@ -7,7 +7,7 @@ CONFIG_NET_IPV4=n
CONFIG_NET_MAX_CONTEXTS=10 CONFIG_NET_MAX_CONTEXTS=10
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_API=y CONFIG_POSIX_API=y
CONFIG_POSIX_MAX_FDS=6 CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_CONTEXT_RCVTIMEO=y CONFIG_NET_CONTEXT_RCVTIMEO=y
CONFIG_NET_MGMT=y CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y CONFIG_NET_MGMT_EVENT=y

View file

@ -20,7 +20,7 @@ CONFIG_NET_MAX_CONTEXTS=5
CONFIG_NET_TC_TX_COUNT=1 CONFIG_NET_TC_TX_COUNT=1
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POLL_MAX=9 CONFIG_NET_SOCKETS_POLL_MAX=9
CONFIG_POSIX_MAX_FDS=8 CONFIG_ZVFS_OPEN_MAX=8
CONFIG_POSIX_API=y CONFIG_POSIX_API=y
CONFIG_INIT_STACKS=y CONFIG_INIT_STACKS=y

View file

@ -3,7 +3,7 @@ CONFIG_NETWORKING=y
CONFIG_NET_TCP=y CONFIG_NET_TCP=y
CONFIG_NET_IPV4=y CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=6 CONFIG_ZVFS_OPEN_MAX=6
CONFIG_POSIX_API=y CONFIG_POSIX_API=y
# Kernel options # Kernel options

View file

@ -20,8 +20,8 @@ static K_MUTEX_DEFINE(sock_obj_mutex);
/* Allocate some extra socket objects so that we can track /* Allocate some extra socket objects so that we can track
* closed sockets and get some historical statistics. * closed sockets and get some historical statistics.
*/ */
static struct sock_obj sock_objects[CONFIG_POSIX_MAX_FDS * 2] = { static struct sock_obj sock_objects[CONFIG_ZVFS_OPEN_MAX * 2] = {
[0 ... ((CONFIG_POSIX_MAX_FDS * 2) - 1)] = { [0 ... ((CONFIG_ZVFS_OPEN_MAX * 2) - 1)] = {
.fd = -1, .fd = -1,
.init_done = false, .init_done = false,
} }

View file

@ -14,7 +14,7 @@ CONFIG_THRIFT_SSL_SOCKET=y
# tcp sockets (client, server): 2 # tcp sockets (client, server): 2
# tls sockets (client, server): 2 # tls sockets (client, server): 2
# socketpairs for cancellation (accept, client, server): 6 # socketpairs for cancellation (accept, client, server): 6
CONFIG_POSIX_MAX_FDS=15 CONFIG_ZVFS_OPEN_MAX=15
# TLS configuration # TLS configuration
CONFIG_MBEDTLS=y CONFIG_MBEDTLS=y

View file

@ -51,7 +51,7 @@ CONFIG_NET_PKT_RX_COUNT=20
# stdin, stdout, stderr: 3 # stdin, stdout, stderr: 3
# socketpair for channel: 2 # socketpair for channel: 2
# eventfd for cancellation: 1 # eventfd for cancellation: 1
CONFIG_POSIX_MAX_FDS=6 CONFIG_ZVFS_OPEN_MAX=6
# Network address config # Network address config
CONFIG_NET_IPV4=y CONFIG_NET_IPV4=y

View file

@ -30,4 +30,4 @@ CONFIG_ZTEST=y
CONFIG_MAIN_STACK_SIZE=1344 CONFIG_MAIN_STACK_SIZE=1344
CONFIG_NET_SOCKETS_POLL_MAX=9 CONFIG_NET_SOCKETS_POLL_MAX=9
CONFIG_POSIX_MAX_FDS=8 CONFIG_ZVFS_OPEN_MAX=8

View file

@ -9,7 +9,7 @@ CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_ZTEST_STACK_SIZE=1024 CONFIG_ZTEST_STACK_SIZE=1024
CONFIG_POSIX_MAX_FDS=10 CONFIG_ZVFS_OPEN_MAX=10
CONFIG_REQUIRES_FULL_LIBC=y CONFIG_REQUIRES_FULL_LIBC=y
CONFIG_EVENTFD_MAX=10 CONFIG_EVENTFD_MAX=10
CONFIG_NET_MAX_CONTEXTS=10 CONFIG_NET_MAX_CONTEXTS=10

View file

@ -7,7 +7,7 @@ CONFIG_POSIX_API=y
CONFIG_ENTROPY_GENERATOR=y CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_POSIX_MAX_FDS=10 CONFIG_ZVFS_OPEN_MAX=10
CONFIG_REQUIRES_FULL_LIBC=y CONFIG_REQUIRES_FULL_LIBC=y
CONFIG_EVENTFD_MAX=10 CONFIG_EVENTFD_MAX=10
CONFIG_NET_MAX_CONTEXTS=10 CONFIG_NET_MAX_CONTEXTS=10

View file

@ -37,9 +37,9 @@ CONFIG_NET_BUF_TX_COUNT=128
CONFIG_NET_BUF_RX_COUNT=128 CONFIG_NET_BUF_RX_COUNT=128
CONFIG_NET_PKT_TX_COUNT=16 CONFIG_NET_PKT_TX_COUNT=16
CONFIG_NET_PKT_RX_COUNT=16 CONFIG_NET_PKT_RX_COUNT=16
CONFIG_POSIX_MAX_FDS=32 CONFIG_ZVFS_OPEN_MAX=32
CONFIG_NET_SOCKETS_POLL_MAX=32 CONFIG_NET_SOCKETS_POLL_MAX=32
CONFIG_POSIX_MAX_FDS=32 CONFIG_ZVFS_OPEN_MAX=32
CONFIG_REQUIRES_FULL_LIBC=y CONFIG_REQUIRES_FULL_LIBC=y
CONFIG_EVENTFD_MAX=10 CONFIG_EVENTFD_MAX=10
CONFIG_NET_MAX_CONTEXTS=10 CONFIG_NET_MAX_CONTEXTS=10

View file

@ -7,7 +7,7 @@ CONFIG_NET_L2_ETHERNET=n
CONFIG_NET_UDP=y CONFIG_NET_UDP=y
CONFIG_NET_IPV4=y CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=2 CONFIG_ZVFS_OPEN_MAX=2
CONFIG_ZTEST_STACK_SIZE=2048 CONFIG_ZTEST_STACK_SIZE=2048
CONFIG_MAIN_STACK_SIZE=2048 CONFIG_MAIN_STACK_SIZE=2048
CONFIG_NET_LOG=y CONFIG_NET_LOG=y

View file

@ -6,7 +6,7 @@ CONFIG_NET_UDP=y
CONFIG_NET_TCP=n CONFIG_NET_TCP=n
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_PACKET=y CONFIG_NET_SOCKETS_PACKET=y
CONFIG_POSIX_MAX_FDS=8 CONFIG_ZVFS_OPEN_MAX=8
CONFIG_NET_IPV6_DAD=n CONFIG_NET_IPV6_DAD=n
CONFIG_NET_IPV6_MLD=n CONFIG_NET_IPV6_MLD=n

View file

@ -6,7 +6,7 @@ CONFIG_NET_UDP=n
CONFIG_NET_TCP=n CONFIG_NET_TCP=n
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_PACKET=y CONFIG_NET_SOCKETS_PACKET=y
CONFIG_POSIX_MAX_FDS=8 CONFIG_ZVFS_OPEN_MAX=8
CONFIG_NET_SOCKETS_LOG_LEVEL_DBG=y CONFIG_NET_SOCKETS_LOG_LEVEL_DBG=y
CONFIG_NET_CORE_LOG_LEVEL_DBG=y CONFIG_NET_CORE_LOG_LEVEL_DBG=y

View file

@ -5,7 +5,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_UDP=y CONFIG_NET_UDP=y
CONFIG_NET_TCP=y CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=10 CONFIG_ZVFS_OPEN_MAX=10
CONFIG_NET_PKT_TX_COUNT=8 CONFIG_NET_PKT_TX_COUNT=8
CONFIG_NET_PKT_RX_COUNT=8 CONFIG_NET_PKT_RX_COUNT=8
CONFIG_NET_MAX_CONN=5 CONFIG_NET_MAX_CONN=5

View file

@ -28,7 +28,7 @@ CONFIG_NET_CONTEXT_REUSEPORT=y
CONFIG_NET_HOSTNAME_ENABLE=y CONFIG_NET_HOSTNAME_ENABLE=y
CONFIG_NET_HOSTNAME="ztest_hostname" CONFIG_NET_HOSTNAME="ztest_hostname"
CONFIG_POSIX_MAX_FDS=8 CONFIG_ZVFS_OPEN_MAX=8
CONFIG_NET_MAX_CONN=10 CONFIG_NET_MAX_CONN=10
CONFIG_NET_MAX_CONTEXTS=10 CONFIG_NET_MAX_CONTEXTS=10

View file

@ -10,7 +10,7 @@ CONFIG_NET_IPV4=n
CONFIG_NET_IPV6=y CONFIG_NET_IPV6=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
# Defines fd_set size # Defines fd_set size
CONFIG_POSIX_MAX_FDS=33 CONFIG_ZVFS_OPEN_MAX=33
# Network driver config # Network driver config
CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y

View file

@ -34,7 +34,7 @@ ZTEST_USER(net_socket_select, test_fd_set)
{ {
zsock_fd_set set; zsock_fd_set set;
/* Relies on specific value of CONFIG_POSIX_MAX_FDS in prj.conf */ /* Relies on specific value of CONFIG_ZVFS_OPEN_MAX in prj.conf */
zassert_equal(sizeof(set.bitset), sizeof(uint32_t) * 2, ""); zassert_equal(sizeof(set.bitset), sizeof(uint32_t) * 2, "");
ZSOCK_FD_ZERO(&set); ZSOCK_FD_ZERO(&set);

View file

@ -5,7 +5,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_UDP=y CONFIG_NET_UDP=y
CONFIG_NET_TCP=y CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=10 CONFIG_ZVFS_OPEN_MAX=10
CONFIG_NET_PKT_TX_COUNT=8 CONFIG_NET_PKT_TX_COUNT=8
CONFIG_NET_PKT_RX_COUNT=8 CONFIG_NET_PKT_RX_COUNT=8
CONFIG_NET_MAX_CONN=5 CONFIG_NET_MAX_CONN=5

View file

@ -7,7 +7,7 @@ CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETPAIR=y CONFIG_NET_SOCKETPAIR=y
CONFIG_NET_SOCKETPAIR_BUFFER_SIZE=64 CONFIG_NET_SOCKETPAIR_BUFFER_SIZE=64
CONFIG_POSIX_MAX_FDS=10 CONFIG_ZVFS_OPEN_MAX=10
# Network driver config # Network driver config
CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y

View file

@ -11,7 +11,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_IPV6_ND=n CONFIG_NET_IPV6_ND=n
CONFIG_NET_TCP=y CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=10 CONFIG_ZVFS_OPEN_MAX=10
# Network driver config # Network driver config
CONFIG_NET_DRIVERS=y CONFIG_NET_DRIVERS=y

View file

@ -2491,7 +2491,7 @@ static void after(void *arg)
{ {
ARG_UNUSED(arg); ARG_UNUSED(arg);
for (int i = 0; i < CONFIG_POSIX_MAX_FDS; ++i) { for (int i = 0; i < CONFIG_ZVFS_OPEN_MAX; ++i) {
(void)zsock_close(i); (void)zsock_close(i);
} }
} }

View file

@ -19,7 +19,7 @@ CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=4
CONFIG_NET_CONTEXT_RCVTIMEO=y CONFIG_NET_CONTEXT_RCVTIMEO=y
CONFIG_NET_CONTEXT_SNDTIMEO=y CONFIG_NET_CONTEXT_SNDTIMEO=y
CONFIG_NET_CONTEXT_RCVBUF=y CONFIG_NET_CONTEXT_RCVBUF=y
CONFIG_POSIX_MAX_FDS=20 CONFIG_ZVFS_OPEN_MAX=20
# Keep timings short for the test # Keep timings short for the test
CONFIG_NET_TCP_TIME_WAIT_DELAY=10 CONFIG_NET_TCP_TIME_WAIT_DELAY=10

View file

@ -29,7 +29,7 @@ CONFIG_NET_BUF_TX_COUNT=64
CONFIG_NET_PKT_TX_COUNT=64 CONFIG_NET_PKT_TX_COUNT=64
CONFIG_NET_BUF_RX_COUNT=64 CONFIG_NET_BUF_RX_COUNT=64
CONFIG_NET_PKT_RX_COUNT=64 CONFIG_NET_PKT_RX_COUNT=64
CONFIG_POSIX_MAX_FDS=10 CONFIG_ZVFS_OPEN_MAX=10
# Stack sizes # Stack sizes
CONFIG_MAIN_STACK_SIZE=2048 CONFIG_MAIN_STACK_SIZE=2048

View file

@ -7,7 +7,7 @@ CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=y CONFIG_NET_IPV6=y
CONFIG_NET_UDP=y CONFIG_NET_UDP=y
CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=10 CONFIG_ZVFS_OPEN_MAX=10
CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3 CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3
CONFIG_NET_IPV6_DAD=n CONFIG_NET_IPV6_DAD=n
CONFIG_NET_IPV6_MLD=n CONFIG_NET_IPV6_MLD=n

View file

@ -2532,7 +2532,7 @@ static void after(void *arg)
{ {
ARG_UNUSED(arg); ARG_UNUSED(arg);
for (int i = 0; i < CONFIG_POSIX_MAX_FDS; ++i) { for (int i = 0; i < CONFIG_ZVFS_OPEN_MAX; ++i) {
(void)zsock_close(i); (void)zsock_close(i);
} }
} }

View file

@ -290,7 +290,7 @@ ZTEST(posix_fs_file_test, test_fs_unlink)
ZTEST(posix_fs_file_test, test_fs_fd_leak) ZTEST(posix_fs_file_test, test_fs_fd_leak)
{ {
const int reps = const int reps =
MAX(CONFIG_POSIX_MAX_OPEN_FILES, CONFIG_POSIX_MAX_FDS) + 5; MAX(CONFIG_POSIX_OPEN_MAX, CONFIG_ZVFS_OPEN_MAX) + 5;
for (int i = 0; i < reps; i++) { for (int i = 0; i < reps; i++) {
if (i > 0) { if (i > 0) {