diff --git a/include/zephyr/net/socket.h b/include/zephyr/net/socket.h index ae6218b3b9256..b3f79ee37c6b9 100644 --- a/include/zephyr/net/socket.h +++ b/include/zephyr/net/socket.h @@ -39,6 +39,8 @@ struct zsock_pollfd { short revents; }; +typedef uint64_t zsock_eventfd_t; + /* ZSOCK_POLL* values are compatible with Linux */ /** zsock_poll: Poll for readability */ #define ZSOCK_POLLIN 1 @@ -75,6 +77,12 @@ struct zsock_pollfd { /** zsock_shutdown: Shut down for both reading and writing */ #define ZSOCK_SHUT_RDWR 2 +/** zsock_eventfd **/ +#define ZSOCK_EFD_IN_USE 0x1 +#define ZSOCK_EFD_SEMAPHORE 0x2 +#define ZSOCK_EFD_NONBLOCK O_NONBLOCK +#define ZSOCK_EFD_FLAGS_SET (ZSOCK_EFD_SEMAPHORE | ZSOCK_EFD_NONBLOCK) + /** Protocol level for TLS. * Here, the same socket protocol level for TLS as in Linux was used. */ @@ -268,6 +276,43 @@ __syscall int zsock_socket(int family, int type, int proto); */ __syscall int zsock_socketpair(int family, int type, int proto, int *sv); +/** + * @brief Create an unnamed pair of connected sockets + * + * @details + * @rst + * See `POSIX.1-2017 article + * `__ + * for normative description. + * This function is also exposed as ``eventfd()`` + * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. + * @endrst + */ +__syscall int zsock_eventfd(unsigned int initval, int flags); + +/** + * @brief Read from an eventfd + * + * If call is successful, the value parameter will have the value 1 + * + * @param fd File descriptor + * @param value Pointer for storing the read value + * + * @return 0 on success, -1 on error + */ +__syscall int zsock_eventfd_read(int fd, zsock_eventfd_t *value); + +/** + * @brief Write to an eventfd + * + * @param fd File descriptor + * @param value Value to write + * + * @return 0 on success, -1 on error + */ +__syscall int zsock_eventfd_write(int fd, zsock_eventfd_t value); + + /** * @brief Close a network socket * @@ -685,6 +730,8 @@ int zsock_getnameinfo(const struct sockaddr *addr, socklen_t addrlen, #define pollfd zsock_pollfd +#define eventfd_t zsock_eventfd_t + /** POSIX wrapper for @ref zsock_socket */ static inline int socket(int family, int type, int proto) { @@ -697,6 +744,24 @@ static inline int socketpair(int family, int type, int proto, int sv[2]) return zsock_socketpair(family, type, proto, sv); } +/** POSIX wrapper for @ref zsock_eventfd */ +static inline int eventfd(unsigned int initval, int flags) +{ + return zsock_eventfd(initval, flags); +} + +/** POSIX wrapper for @ref zsock_eventfd_read */ +static inline int eventfd_read(int fd, zsock_eventfd_t *value) +{ + return zsock_eventfd_read(fd, value); +} + +/** POSIX wrapper for @ref zsock_eventfd_write */ +static inline int eventfd_write(int fd, zsock_eventfd_t value) +{ + return zsock_eventfd_write(fd, value); +} + /** POSIX wrapper for @ref zsock_close */ static inline int close(int sock) { @@ -896,6 +961,15 @@ static inline char *inet_ntop(sa_family_t family, const void *src, char *dst, /** POSIX wrapper for @ref ZSOCK_SHUT_RDWR */ #define SHUT_RDWR ZSOCK_SHUT_RDWR +/** POSIX wrapper for @ref ZSOCK_EFD_IN_USE */ +#define EFD_IN_USE ZSOCK_EFD_IN_USE +/** POSIX wrapper for @ref ZSOCK_EFD_SEMAPHORE */ +#define EFD_SEMAPHORE ZSOCK_EFD_SEMAPHORE +/** POSIX wrapper for @ref ZSOCK_EFD_NONBLOCK */ +#define EFD_NONBLOCK ZSOCK_EFD_NONBLOCK +/** POSIX wrapper for @ref ZSOCK_EFD_FLAGS_SET */ +#define EFD_FLAGS_SET ZSOCK_EFD_FLAGS_SET + /** POSIX wrapper for @ref DNS_EAI_BADFLAGS */ #define EAI_BADFLAGS DNS_EAI_BADFLAGS /** POSIX wrapper for @ref DNS_EAI_NONAME */ diff --git a/include/zephyr/posix/sys/eventfd.h b/include/zephyr/posix/sys/eventfd.h deleted file mode 100644 index 4d6d4dc33ca5c..0000000000000 --- a/include/zephyr/posix/sys/eventfd.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2020 Tobias Svehagen - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef ZEPHYR_INCLUDE_POSIX_SYS_EVENTFD_H_ -#define ZEPHYR_INCLUDE_POSIX_SYS_EVENTFD_H_ - -#include -#include -#include - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define EFD_IN_USE 0x1 -#define EFD_SEMAPHORE 0x2 -#define EFD_NONBLOCK O_NONBLOCK -#define EFD_FLAGS_SET (EFD_SEMAPHORE | EFD_NONBLOCK) - -typedef uint64_t eventfd_t; - -/** - * @brief Create a file descriptor for event notification - * - * The returned file descriptor can be used with POSIX read/write calls or - * with the eventfd_read/eventfd_write functions. - * - * It also supports polling and by including an eventfd in a call to poll, - * it is possible to signal and wake the polling thread by simply writing to - * the eventfd. - * - * When using read() and write() on an eventfd, the size must always be at - * least 8 bytes or the operation will fail with EINVAL. - * - * @return New eventfd file descriptor on success, -1 on error - */ -int eventfd(unsigned int initval, int flags); - -/** - * @brief Read from an eventfd - * - * If call is successful, the value parameter will have the value 1 - * - * @param fd File descriptor - * @param value Pointer for storing the read value - * - * @return 0 on success, -1 on error - */ -static inline int eventfd_read(int fd, eventfd_t *value) -{ - const struct fd_op_vtable *efd_vtable; - struct k_mutex *lock; - ssize_t ret; - void *obj; - - obj = z_get_fd_obj_and_vtable(fd, &efd_vtable, &lock); - - (void)k_mutex_lock(lock, K_FOREVER); - - ret = efd_vtable->read(obj, value, sizeof(*value)); - - k_mutex_unlock(lock); - - return ret == sizeof(eventfd_t) ? 0 : -1; -} - -/** - * @brief Write to an eventfd - * - * @param fd File descriptor - * @param value Value to write - * - * @return 0 on success, -1 on error - */ -static inline int eventfd_write(int fd, eventfd_t value) -{ - const struct fd_op_vtable *efd_vtable; - struct k_mutex *lock; - ssize_t ret; - void *obj; - - obj = z_get_fd_obj_and_vtable(fd, &efd_vtable, &lock); - - (void)k_mutex_lock(lock, K_FOREVER); - - ret = efd_vtable->write(obj, &value, sizeof(value)); - - k_mutex_unlock(lock); - - return ret == sizeof(eventfd_t) ? 0 : -1; -} - -#ifdef __cplusplus -} -#endif - -#endif /* ZEPHYR_INCLUDE_POSIX_SYS_EVENTFD_H_ */ diff --git a/lib/posix/CMakeLists.txt b/lib/posix/CMakeLists.txt index 1bb9f8467cb5f..2a06df2e41969 100644 --- a/lib/posix/CMakeLists.txt +++ b/lib/posix/CMakeLists.txt @@ -23,7 +23,6 @@ zephyr_library_sources_ifdef(CONFIG_PTHREAD_IPC semaphore.c) zephyr_library_sources_ifdef(CONFIG_PTHREAD_IPC pthread_key.c) zephyr_library_sources_ifdef(CONFIG_POSIX_MQUEUE mqueue.c) zephyr_library_sources_ifdef(CONFIG_POSIX_FS fs.c) -zephyr_library_sources_ifdef(CONFIG_EVENTFD eventfd.c) add_subdirectory_ifdef(CONFIG_GETOPT getopt) if(NOT (CONFIG_BOARD_NATIVE_POSIX OR CONFIG_BOARD_NATIVE_POSIX_64BIT)) diff --git a/lib/posix/Kconfig b/lib/posix/Kconfig index 8bb56649e3993..274717a856c61 100644 --- a/lib/posix/Kconfig +++ b/lib/posix/Kconfig @@ -110,19 +110,3 @@ config APP_LINK_WITH_POSIX_SUBSYS depends on POSIX_API help Add POSIX subsystem header files to the 'app' include path. - -config EVENTFD - bool "Support for eventfd" - depends on !ARCH_POSIX - help - Enable support for event file descriptors, eventfd. An eventfd can - be used as an event wait/notify mechanism together with POSIX calls - like read, write and poll. - -config EVENTFD_MAX - int "Maximum number of eventfd's" - depends on EVENTFD - default 1 - range 1 4096 - help - The maximum number of supported event file descriptors. diff --git a/samples/posix/eventfd/CMakeLists.txt b/samples/net/sockets/eventfd/CMakeLists.txt similarity index 100% rename from samples/posix/eventfd/CMakeLists.txt rename to samples/net/sockets/eventfd/CMakeLists.txt diff --git a/samples/posix/eventfd/Makefile.posix b/samples/net/sockets/eventfd/Makefile.posix similarity index 100% rename from samples/posix/eventfd/Makefile.posix rename to samples/net/sockets/eventfd/Makefile.posix diff --git a/samples/net/sockets/eventfd/prj.conf b/samples/net/sockets/eventfd/prj.conf new file mode 100644 index 0000000000000..c4b1886032717 --- /dev/null +++ b/samples/net/sockets/eventfd/prj.conf @@ -0,0 +1,11 @@ +# General config +CONFIG_NEWLIB_LIBC=y +CONFIG_NEWLIB_LIBC_NANO=n + +# eventfd() implementation only makes sense for networking APIs. +CONFIG_NETWORKING=y +CONFIG_NET_SOCKETS=y +CONFIG_NET_SOCKETS_POSIX_NAMES=y +CONFIG_NET_EVENTFD=y +CONFIG_NET_SLIP_TAP=n +CONFIG_TEST_RANDOM_GENERATOR=y diff --git a/samples/posix/eventfd/sample.yaml b/samples/net/sockets/eventfd/sample.yaml similarity index 100% rename from samples/posix/eventfd/sample.yaml rename to samples/net/sockets/eventfd/sample.yaml diff --git a/samples/posix/eventfd/src/main.c b/samples/net/sockets/eventfd/src/main.c similarity index 78% rename from samples/posix/eventfd/src/main.c rename to samples/net/sockets/eventfd/src/main.c index 759ea0897f9ab..6f37430311685 100644 --- a/samples/posix/eventfd/src/main.c +++ b/samples/net/sockets/eventfd/src/main.c @@ -6,11 +6,10 @@ * This sample application is roughly based on the sample code in Linux * manpage for eventfd(). */ -#include -#include #include #include #include +#include #define fatal(msg) \ do { perror(msg); exit(EXIT_FAILURE); } while (0) @@ -31,8 +30,8 @@ void writer(void) for (j = 1; j < g_argc; j++) { printf("Writing %s to efd\n", g_argv[j]); u = strtoull(g_argv[j], NULL, 0); - s = write(efd, &u, sizeof(uint64_t)); - if (s != sizeof(uint64_t)) { + s = eventfd_write(efd, u); + if (s != 0) { fatal("write"); } } @@ -44,21 +43,21 @@ void reader(void) uint64_t u; ssize_t s; - sleep(1); + k_sleep(K_MSEC(1000)); printf("About to read\n"); - s = read(efd, &u, sizeof(uint64_t)); - if (s != sizeof(uint64_t)) { + s = eventfd_read(efd, &u); + if (s != 0) { fatal("read"); } printf("Read %llu (0x%llx) from efd\n", (unsigned long long)u, (unsigned long long)u); } -int main(int argc, char *argv[]) +void main(void) { - argv = input_argv; - argc = sizeof(input_argv) / sizeof(input_argv[0]); + char **argv = input_argv; + int argc = sizeof(input_argv) / sizeof(input_argv[0]); if (argc < 2) { fprintf(stderr, "Usage: %s ...\n", argv[0]); @@ -77,6 +76,4 @@ int main(int argc, char *argv[]) reader(); printf("Finished\n"); - - return 0; } diff --git a/samples/posix/eventfd/prj.conf b/samples/posix/eventfd/prj.conf deleted file mode 100644 index ab7c7475befd1..0000000000000 --- a/samples/posix/eventfd/prj.conf +++ /dev/null @@ -1,11 +0,0 @@ -# General config -CONFIG_NEWLIB_LIBC=y -CONFIG_NEWLIB_LIBC_NANO=n -CONFIG_POSIX_API=y -CONFIG_EVENTFD=y - -# eventfd() implementation currently depends on some networking APIs, -# so provide reasonable defaults so it can be built. -CONFIG_NETWORKING=y -CONFIG_NET_SLIP_TAP=n -CONFIG_TEST_RANDOM_GENERATOR=y diff --git a/subsys/net/lib/sockets/CMakeLists.txt b/subsys/net/lib/sockets/CMakeLists.txt index 189c79488393f..bb8c2cde74609 100644 --- a/subsys/net/lib/sockets/CMakeLists.txt +++ b/subsys/net/lib/sockets/CMakeLists.txt @@ -31,5 +31,6 @@ if(CONFIG_SOCKS) endif() zephyr_sources_ifdef(CONFIG_NET_SOCKETPAIR socketpair.c) +zephyr_sources_ifdef(CONFIG_NET_EVENTFD eventfd.c) zephyr_link_libraries_ifdef(CONFIG_MBEDTLS mbedTLS) diff --git a/subsys/net/lib/sockets/Kconfig b/subsys/net/lib/sockets/Kconfig index 84f8e1b167d6e..0111bafa63b61 100644 --- a/subsys/net/lib/sockets/Kconfig +++ b/subsys/net/lib/sockets/Kconfig @@ -257,6 +257,21 @@ config NET_SOCKETPAIR_BUFFER_SIZE help Buffer size for socketpair(2) +config NET_EVENTFD + bool "Support for eventfd" + help + Enable support for event file descriptors, eventfd. An eventfd can + be used as an event wait/notify mechanism together with POSIX calls + like read, write and poll. + +config NET_EVENTFD_MAX + int "Maximum number of eventfd's" + depends on NET_EVENTFD + default 1 + range 1 4096 + help + The maximum number of supported event file descriptors. + config NET_SOCKETS_NET_MGMT bool "Network management socket support [EXPERIMENTAL]" depends on NET_MGMT_EVENT diff --git a/lib/posix/eventfd.c b/subsys/net/lib/sockets/eventfd.c similarity index 73% rename from lib/posix/eventfd.c rename to subsys/net/lib/sockets/eventfd.c index 17573d074daa6..9c93d0fe6ec29 100644 --- a/lib/posix/eventfd.c +++ b/subsys/net/lib/sockets/eventfd.c @@ -6,21 +6,24 @@ #include #include -#include #include +#include #include +#include + +#include struct eventfd { struct k_poll_signal read_sig; struct k_poll_signal write_sig; struct k_spinlock lock; _wait_q_t wait_q; - eventfd_t cnt; + zsock_eventfd_t cnt; int flags; }; K_MUTEX_DEFINE(eventfd_mtx); -static struct eventfd efds[CONFIG_EVENTFD_MAX]; +static struct eventfd efds[CONFIG_NET_EVENTFD_MAX]; static int eventfd_poll_prepare(struct eventfd *efd, struct zsock_pollfd *pfd, @@ -83,23 +86,23 @@ static ssize_t eventfd_read_op(void *obj, void *buf, size_t sz) { struct eventfd *efd = obj; int result = 0; - eventfd_t count = 0; + zsock_eventfd_t count = 0; k_spinlock_key_t key; - if (sz < sizeof(eventfd_t)) { + if (sz < sizeof(zsock_eventfd_t)) { errno = EINVAL; return -1; } for (;;) { key = k_spin_lock(&efd->lock); - if ((efd->flags & EFD_NONBLOCK) && efd->cnt == 0) { + if ((efd->flags & ZSOCK_EFD_NONBLOCK) && efd->cnt == 0) { result = EAGAIN; break; } else if (efd->cnt == 0) { z_pend_curr(&efd->lock, key, &efd->wait_q, K_FOREVER); } else { - count = (efd->flags & EFD_SEMAPHORE) ? 1 : efd->cnt; + count = (efd->flags & ZSOCK_EFD_SEMAPHORE) ? 1 : efd->cnt; efd->cnt -= count; if (efd->cnt == 0) { k_poll_signal_reset(&efd->read_sig); @@ -119,25 +122,25 @@ static ssize_t eventfd_read_op(void *obj, void *buf, size_t sz) return -1; } - *(eventfd_t *)buf = count; + *(zsock_eventfd_t *)buf = count; - return sizeof(eventfd_t); + return sizeof(zsock_eventfd_t); } static ssize_t eventfd_write_op(void *obj, const void *buf, size_t sz) { struct eventfd *efd = obj; int result = 0; - eventfd_t count; + zsock_eventfd_t count; bool overflow; k_spinlock_key_t key; - if (sz < sizeof(eventfd_t)) { + if (sz < sizeof(zsock_eventfd_t)) { errno = EINVAL; return -1; } - count = *((eventfd_t *)buf); + count = *((zsock_eventfd_t *)buf); if (count == UINT64_MAX) { errno = EINVAL; @@ -145,13 +148,13 @@ static ssize_t eventfd_write_op(void *obj, const void *buf, size_t sz) } if (count == 0) { - return sizeof(eventfd_t); + return sizeof(zsock_eventfd_t); } for (;;) { key = k_spin_lock(&efd->lock); overflow = UINT64_MAX - count <= efd->cnt; - if ((efd->flags & EFD_NONBLOCK) && overflow) { + if ((efd->flags & ZSOCK_EFD_NONBLOCK) && overflow) { result = EAGAIN; break; } else if (overflow) { @@ -176,7 +179,7 @@ static ssize_t eventfd_write_op(void *obj, const void *buf, size_t sz) return -1; } - return sizeof(eventfd_t); + return sizeof(zsock_eventfd_t); } static int eventfd_close_op(void *obj) @@ -194,14 +197,14 @@ static int eventfd_ioctl_op(void *obj, unsigned int request, va_list args) switch (request) { case F_GETFL: - return efd->flags & EFD_FLAGS_SET; + return efd->flags & ZSOCK_EFD_FLAGS_SET; case F_SETFL: { int flags; flags = va_arg(args, int); - if (flags & ~EFD_FLAGS_SET) { + if (flags & ~ZSOCK_EFD_FLAGS_SET) { errno = EINVAL; return -1; } @@ -246,13 +249,58 @@ static const struct fd_op_vtable eventfd_fd_vtable = { .ioctl = eventfd_ioctl_op, }; -int eventfd(unsigned int initval, int flags) +int z_impl_zsock_eventfd_read(int fd, zsock_eventfd_t *value) +{ + const struct fd_op_vtable *efd_vtable; + struct k_mutex *lock; + ssize_t ret; + void *obj; + + obj = z_get_fd_obj_and_vtable(fd, &efd_vtable, &lock); + + (void)k_mutex_lock(lock, K_FOREVER); + + ret = efd_vtable->read(obj, value, sizeof(*value)); + + k_mutex_unlock(lock); + + return ret == sizeof(zsock_eventfd_t) ? 0 : -1; +} + +/** + * @brief Write to an eventfd + * + * @param fd File descriptor + * @param value Value to write + * + * @return 0 on success, -1 on error + */ +int z_impl_zsock_eventfd_write(int fd, zsock_eventfd_t value) +{ + const struct fd_op_vtable *efd_vtable; + struct k_mutex *lock; + ssize_t ret; + void *obj; + + obj = z_get_fd_obj_and_vtable(fd, &efd_vtable, &lock); + + (void)k_mutex_lock(lock, K_FOREVER); + + ret = efd_vtable->write(obj, &value, sizeof(value)); + + k_mutex_unlock(lock); + + return ret == sizeof(zsock_eventfd_t) ? 0 : -1; +} + + +int z_impl_zsock_eventfd(unsigned int initval, int flags) { struct eventfd *efd = NULL; int fd = -1; int i; - if (flags & ~EFD_FLAGS_SET) { + if (flags & ~ZSOCK_EFD_FLAGS_SET) { errno = EINVAL; return -1; } @@ -260,7 +308,7 @@ int eventfd(unsigned int initval, int flags) k_mutex_lock(&eventfd_mtx, K_FOREVER); for (i = 0; i < ARRAY_SIZE(efds); ++i) { - if (!(efds[i].flags & EFD_IN_USE)) { + if (!(efds[i].flags & ZSOCK_EFD_IN_USE)) { efd = &efds[i]; break; } @@ -276,7 +324,7 @@ int eventfd(unsigned int initval, int flags) goto exit_mtx; } - efd->flags = EFD_IN_USE | flags; + efd->flags = ZSOCK_EFD_IN_USE | flags; efd->cnt = initval; k_poll_signal_init(&efd->write_sig); diff --git a/tests/posix/eventfd/CMakeLists.txt b/tests/net/socket/eventfd/CMakeLists.txt similarity index 100% rename from tests/posix/eventfd/CMakeLists.txt rename to tests/net/socket/eventfd/CMakeLists.txt diff --git a/tests/posix/eventfd/prj.conf b/tests/net/socket/eventfd/prj.conf similarity index 74% rename from tests/posix/eventfd/prj.conf rename to tests/net/socket/eventfd/prj.conf index fd7af65fb70bf..1e05c809abeb0 100644 --- a/tests/posix/eventfd/prj.conf +++ b/tests/net/socket/eventfd/prj.conf @@ -2,6 +2,9 @@ CONFIG_NETWORKING=y CONFIG_NET_TEST=y CONFIG_NET_SOCKETS=y +CONFIG_NET_EVENTFD=y +CONFIG_NET_EVENTFD_MAX=3 +CONFIG_NET_SOCKETS_POSIX_NAMES=y # Network driver config CONFIG_TEST_RANDOM_GENERATOR=y @@ -9,9 +12,5 @@ CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_ZTEST=y CONFIG_ZTEST_NEW_API=y -CONFIG_POSIX_API=y CONFIG_POSIX_MAX_FDS=10 CONFIG_MAX_PTHREAD_COUNT=1 - -CONFIG_EVENTFD=y -CONFIG_EVENTFD_MAX=3 diff --git a/tests/posix/eventfd/src/main.c b/tests/net/socket/eventfd/src/main.c similarity index 98% rename from tests/posix/eventfd/src/main.c rename to tests/net/socket/eventfd/src/main.c index fb24bc58101a2..6b54419a6b18a 100644 --- a/tests/posix/eventfd/src/main.c +++ b/tests/net/socket/eventfd/src/main.c @@ -6,11 +6,10 @@ #include #include -#include #include +#include + #include -#include -#include #define TESTVAL 10 diff --git a/tests/posix/eventfd/testcase.yaml b/tests/net/socket/eventfd/testcase.yaml similarity index 100% rename from tests/posix/eventfd/testcase.yaml rename to tests/net/socket/eventfd/testcase.yaml diff --git a/tests/posix/eventfd_basic/CMakeLists.txt b/tests/net/socket/eventfd_basic/CMakeLists.txt similarity index 100% rename from tests/posix/eventfd_basic/CMakeLists.txt rename to tests/net/socket/eventfd_basic/CMakeLists.txt diff --git a/tests/posix/eventfd_basic/prj.conf b/tests/net/socket/eventfd_basic/prj.conf similarity index 68% rename from tests/posix/eventfd_basic/prj.conf rename to tests/net/socket/eventfd_basic/prj.conf index 2f8e00774b7a5..a4f3a78b4d7cd 100644 --- a/tests/posix/eventfd_basic/prj.conf +++ b/tests/net/socket/eventfd_basic/prj.conf @@ -2,12 +2,12 @@ CONFIG_NETWORKING=y CONFIG_NET_TEST=y CONFIG_NET_SOCKETS=y +CONFIG_NET_EVENTFD=y +CONFIG_NET_EVENTFD_MAX=1 +CONFIG_NET_SOCKETS_POSIX_NAMES=y # Network driver config CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_ZTEST=y CONFIG_ZTEST_NEW_API=y - -CONFIG_EVENTFD=y -CONFIG_EVENTFD_MAX=1 diff --git a/tests/posix/eventfd_basic/src/main.c b/tests/net/socket/eventfd_basic/src/main.c similarity index 92% rename from tests/posix/eventfd_basic/src/main.c rename to tests/net/socket/eventfd_basic/src/main.c index c25efa206455d..f1e204b58f2d5 100644 --- a/tests/posix/eventfd_basic/src/main.c +++ b/tests/net/socket/eventfd_basic/src/main.c @@ -9,12 +9,6 @@ #include -#ifdef CONFIG_POSIX_API -#include -#else -#include -#endif - ZTEST_SUITE(test_eventfd_basic, NULL, NULL, NULL, NULL, NULL); ZTEST(test_eventfd_basic, test_eventfd) diff --git a/tests/posix/eventfd_basic/testcase.yaml b/tests/net/socket/eventfd_basic/testcase.yaml similarity index 100% rename from tests/posix/eventfd_basic/testcase.yaml rename to tests/net/socket/eventfd_basic/testcase.yaml