From 301b5b6e6cea1b63c191eafa8937458059c348d9 Mon Sep 17 00:00:00 2001 From: Marvin Friedrich Date: Tue, 6 Oct 2026 00:04:26 +0200 Subject: [PATCH] uapi fixes --- include/uapi/archctl.h | 8 ++++---- include/uapi/dirent.h | 25 +++++++++++++++++++++++++ include/uapi/limits.h | 9 +++++++++ include/uapi/statvfs.h | 26 ++++++++++++++++++++++++++ include/uapi/uio.h | 5 +++-- 5 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 include/uapi/dirent.h create mode 100644 include/uapi/limits.h create mode 100644 include/uapi/statvfs.h diff --git a/include/uapi/archctl.h b/include/uapi/archctl.h index 3f55cb4..005cf7f 100644 --- a/include/uapi/archctl.h +++ b/include/uapi/archctl.h @@ -3,10 +3,10 @@ #define __ZINNIA_UAPI_ARCHCTL_H #ifdef __x86_64__ -#define __ARCHCTL_SET_FSBASE 1 -#define __ARCHCTL_SET_GSBASE 2 -#define __ARCHCTL_GET_FSBASE 3 -#define __ARCHCTL_GET_GSBASE 4 +#define __ARCHCTL_SET_FSBASE 0 +#define __ARCHCTL_SET_GSBASE 1 +#define __ARCHCTL_GET_FSBASE 2 +#define __ARCHCTL_GET_GSBASE 3 #endif #endif diff --git a/include/uapi/dirent.h b/include/uapi/dirent.h new file mode 100644 index 0000000..e5146dc --- /dev/null +++ b/include/uapi/dirent.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: Unlicense */ +#ifndef __ZINNIA_UAPI_DIRENT_H +#define __ZINNIA_UAPI_DIRENT_H + +#include + +#define __DT_UNKNOWN 0 +#define __DT_FIFO 1 +#define __DT_CHR 2 +#define __DT_DIR 4 +#define __DT_BLK 6 +#define __DT_REG 8 +#define __DT_LNK 10 +#define __DT_SOCK 12 +#define __DT_WHT 14 + +struct __dirent { + __ino_t d_ino; + __off_t d_off; + uint16_t d_reclen; + uint8_t d_type; + char d_name[256]; +}; + +#endif diff --git a/include/uapi/limits.h b/include/uapi/limits.h new file mode 100644 index 0000000..2d6c903 --- /dev/null +++ b/include/uapi/limits.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: Unlicense */ +#ifndef __ZINNIA_UAPI_LIMITS_H +#define __ZINNIA_UAPI_LIMITS_H + +#define __PATH_MAX 4096 +#define __NAME_MAX 255 +#define __SYMLINK_MAX 4096 + +#endif diff --git a/include/uapi/statvfs.h b/include/uapi/statvfs.h new file mode 100644 index 0000000..13c0819 --- /dev/null +++ b/include/uapi/statvfs.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: Unlicense */ +#ifndef __ZINNIA_UAPI_STATVFS_H +#define __ZINNIA_UAPI_STATVFS_H + +#include + +#define __ST_RDONLY 1 +#define __ST_NOSUID 2 +#define __ST_MANDLOCK 64 + +struct __statvfs { + uintptr_t f_bsize; + uintptr_t f_frsize; + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_bavail; + __fsfilcnt_t f_files; + __fsfilcnt_t f_ffree; + __fsfilcnt_t f_favail; + uintptr_t f_fsid; + uintptr_t f_flag; + uintptr_t f_namemax; + char f_basetype[80]; +}; + +#endif diff --git a/include/uapi/uio.h b/include/uapi/uio.h index c407908..632933f 100644 --- a/include/uapi/uio.h +++ b/include/uapi/uio.h @@ -3,9 +3,10 @@ #define __ZINNIA_UAPI_UIO_H #include +#include -struct iovec { - void* base; +struct __iovec { + uintptr_t base; size_t len; };