From e9ea25fa07989e5dc554b00e8c7234863585a712 Mon Sep 17 00:00:00 2001 From: Matheus Date: Sat, 20 Apr 2024 15:45:36 -0300 Subject: [PATCH] sockfs: FIONREAD ioctl --- kernel-src/fs/sockfs.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/kernel-src/fs/sockfs.c b/kernel-src/fs/sockfs.c index df3edbcb..d178c715 100644 --- a/kernel-src/fs/sockfs.c +++ b/kernel-src/fs/sockfs.c @@ -134,9 +134,20 @@ int sockfs_ioctl(vnode_t *node, unsigned long request, void *arg, int *result) { free(dev); return e; - default: - return EINVAL; } + case FIONREAD: + { + socket_t *socket = SOCKFS_SOCKET_FROM_NODE(node); + int *count = arg; + if (socket->ops->datacount == NULL) + return ENOTTY; + + *count = socket->ops->datacount(socket); + printf("count %d\n", *count); + return 0; + } + default: + return ENOTTY; } return 0; }