diff options
author | Ian Moffett <ian@osmora.org> | 2024-03-07 17:28:52 -0500 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-03-07 18:24:51 -0500 |
commit | f5e48e94a2f4d4bbd6e5628c7f2afafc6dbcc459 (patch) | |
tree | 93b156621dc0303816b37f60ba88051b702d92f6 /lib/mlibc/options/linux | |
parent | bd5969fc876a10b18613302db7087ef3c40f18e1 (diff) |
build: Build mlibc + add distclean target
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'lib/mlibc/options/linux')
70 files changed, 0 insertions, 2828 deletions
diff --git a/lib/mlibc/options/linux/generic/capabilities.cpp b/lib/mlibc/options/linux/generic/capabilities.cpp deleted file mode 100644 index 871822a..0000000 --- a/lib/mlibc/options/linux/generic/capabilities.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <mlibc/debug.hpp> - -#ifdef __cplusplus -extern "C" { -#endif - -int capset(void *, void *) { - mlibc::infoLogger() << "mlibc: capset is a no-op!" << frg::endlog; - return 0; -} - -int capget(void *, void *) { - mlibc::infoLogger() << "mlibc: capget is a no-op!" << frg::endlog; - return 0; -} - -#ifdef __cplusplus -} -#endif diff --git a/lib/mlibc/options/linux/generic/cpuset.cpp b/lib/mlibc/options/linux/generic/cpuset.cpp deleted file mode 100644 index d0292b7..0000000 --- a/lib/mlibc/options/linux/generic/cpuset.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include <limits.h> -#include <sched.h> -#include <stdlib.h> -#include <string.h> - -cpu_set_t *__mlibc_cpu_alloc(int num_cpus) { - return reinterpret_cast<cpu_set_t *>(calloc(1, CPU_ALLOC_SIZE(num_cpus))); -} - -#define CPU_MASK_BITS (CHAR_BIT * sizeof(__cpu_mask)) - -size_t __mlibc_cpu_alloc_size(int num_cpus) { - /* calculate the (unaligned) remainder that doesn't neatly fit in one __cpu_mask; 0 or 1 */ - size_t remainder = ((num_cpus % CPU_MASK_BITS) + CPU_MASK_BITS - 1) / CPU_MASK_BITS; - return sizeof(__cpu_mask) * (num_cpus / CPU_MASK_BITS + remainder); -} - -void __mlibc_cpu_zero(const size_t setsize, cpu_set_t *set) { - memset(set, 0, CPU_ALLOC_SIZE(setsize)); -} - -void __mlibc_cpu_set(const int cpu, const size_t setsize, cpu_set_t *set) { - if(cpu >= static_cast<int>(setsize * CHAR_BIT)) { - return; - } - - unsigned char *ptr = reinterpret_cast<unsigned char *>(set); - size_t off = cpu / CHAR_BIT; - size_t mask = 1 << (cpu % CHAR_BIT); - - ptr[off] |= mask; -} - -void __mlibc_cpu_clear(const int cpu, const size_t setsize, cpu_set_t *set) { - if(cpu >= static_cast<int>(setsize * CHAR_BIT)) { - return; - } - - unsigned char *ptr = reinterpret_cast<unsigned char *>(set); - size_t off = cpu / CHAR_BIT; - size_t mask = 1 << (cpu % CHAR_BIT); - - ptr[off] &= ~mask; -} - - -int __mlibc_cpu_isset(const int cpu, const size_t setsize, const cpu_set_t *set) { - if(cpu >= static_cast<int>(setsize * CHAR_BIT)) { - return false; - } - - const unsigned char *ptr = reinterpret_cast<const unsigned char *>(set); - size_t off = cpu / CHAR_BIT; - size_t mask = 1 << (cpu % CHAR_BIT); - - return (ptr[off] & mask); -} - -int __mlibc_cpu_count(const size_t setsize, const cpu_set_t *set) { - size_t count = 0; - const unsigned char *ptr = reinterpret_cast<const unsigned char *>(set); - - for(size_t i = 0; i < setsize; i++) { - for(size_t bit = 0; bit < CHAR_BIT; bit++) { - if((1 << bit) & ptr[i]) - count++; - } - } - - return count; -} diff --git a/lib/mlibc/options/linux/generic/ifaddrs.cpp b/lib/mlibc/options/linux/generic/ifaddrs.cpp deleted file mode 100644 index 67dfbc6..0000000 --- a/lib/mlibc/options/linux/generic/ifaddrs.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <bits/ensure.h> -#include <mlibc/debug.hpp> -#include <ifaddrs.h> -#include <errno.h> - -int getifaddrs(struct ifaddrs **) { - mlibc::infoLogger() << "mlibc: getifaddrs fails unconditionally!" << frg::endlog; - errno = ENOSYS; - return -1; -} - -void freeifaddrs(struct ifaddrs *) { - mlibc::infoLogger() << "mlibc: freeifaddrs is a stub!" << frg::endlog; - return; -} diff --git a/lib/mlibc/options/linux/generic/linux-unistd.cpp b/lib/mlibc/options/linux/generic/linux-unistd.cpp deleted file mode 100644 index ec13f72..0000000 --- a/lib/mlibc/options/linux/generic/linux-unistd.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include <bits/linux/linux_unistd.h> -#include <bits/ensure.h> - -#include <errno.h> -#include <mlibc/posix-sysdeps.hpp> -#include <unistd.h> - -int dup3(int oldfd, int newfd, int flags) { - if(oldfd == newfd) { - errno = EINVAL; - return -1; - } - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_dup2, -1); - if(int e = mlibc::sys_dup2(oldfd, flags, newfd); e) { - errno = e; - return -1; - } - return newfd; -} - -int vhangup(void) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} - -int getdtablesize(void){ - return sysconf(_SC_OPEN_MAX); -} - -int syncfs(int) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} diff --git a/lib/mlibc/options/linux/generic/malloc.cpp b/lib/mlibc/options/linux/generic/malloc.cpp deleted file mode 100644 index 065de6c..0000000 --- a/lib/mlibc/options/linux/generic/malloc.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include <bits/ensure.h> -#include <malloc.h> - -void *memalign(size_t, size_t) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} diff --git a/lib/mlibc/options/linux/generic/mntent-stubs.cpp b/lib/mlibc/options/linux/generic/mntent-stubs.cpp deleted file mode 100644 index 35c0e92..0000000 --- a/lib/mlibc/options/linux/generic/mntent-stubs.cpp +++ /dev/null @@ -1,98 +0,0 @@ - -#include <errno.h> -#include <mntent.h> -#include <stdio.h> -#include <limits.h> -#include <string.h> -#include <bits/ensure.h> - -namespace { - -char *internal_buf; -size_t internal_bufsize; - -} - -#define SENTINEL (char *)&internal_buf - -FILE *setmntent(const char *name, const char *mode) { - return fopen(name, mode); -} - -struct mntent *getmntent(FILE *f) { - static struct mntent mnt; - return getmntent_r(f, &mnt, SENTINEL, 0); -} - -int addmntent(FILE *f, const struct mntent *mnt) { - if(fseek(f, 0, SEEK_END)) { - return 1; - } - return fprintf(f, "%s\t%s\t%s\t%s\t%d\t%d\n", - mnt->mnt_fsname, mnt->mnt_dir, mnt->mnt_type, mnt->mnt_opts, - mnt->mnt_freq, mnt->mnt_passno) < 0; -} - -int endmntent(FILE *f) { - if(f) { - fclose(f); - } - return 1; -} - -char *hasmntopt(const struct mntent *mnt, const char *opt) { - return strstr(mnt->mnt_opts, opt); -} - -/* Adapted from musl */ -struct mntent *getmntent_r(FILE *f, struct mntent *mnt, char *linebuf, int buflen) { - int n[8]; - bool use_internal = (linebuf == SENTINEL); - int len; - size_t i; - - mnt->mnt_freq = 0; - mnt->mnt_passno = 0; - - do { - if(use_internal) { - getline(&internal_buf, &internal_bufsize, f); - linebuf = internal_buf; - } else { - fgets(linebuf, buflen, f); - } - if(feof(f) || ferror(f)) { - return 0; - } - if(!strchr(linebuf, '\n')) { - fscanf(f, "%*[^\n]%*[\n]"); - errno = ERANGE; - return 0; - } - - len = strlen(linebuf); - if(len > INT_MAX) { - continue; - } - - for(i = 0; i < sizeof n / sizeof *n; i++) { - n[i] = len; - } - - sscanf(linebuf, " %n%*s%n %n%*s%n %n%*s%n %n%*s%n %d %d", - n, n + 1, n + 2, n + 3, n + 4, n + 5, n + 6, n + 7, - &mnt->mnt_freq, &mnt->mnt_passno); - } while(linebuf[n[0]] == '#' || n[1] == len); - - linebuf[n[1]] = 0; - linebuf[n[3]] = 0; - linebuf[n[5]] = 0; - linebuf[n[7]] = 0; - - mnt->mnt_fsname = linebuf + n[0]; - mnt->mnt_dir = linebuf + n[2]; - mnt->mnt_type = linebuf + n[4]; - mnt->mnt_opts = linebuf + n[6]; - - return mnt; -} diff --git a/lib/mlibc/options/linux/generic/module.cpp b/lib/mlibc/options/linux/generic/module.cpp deleted file mode 100644 index 53b6dc8..0000000 --- a/lib/mlibc/options/linux/generic/module.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include <errno.h> -#include <module.h> - -#include <bits/ensure.h> -#include <mlibc/debug.hpp> -#include <mlibc/linux-sysdeps.hpp> - -int init_module(void *module, unsigned long length, const char *args) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_init_module, -1); - if(int e = mlibc::sys_init_module(module, length, args); e) { - errno = e; - return -1; - } - return 0; -} - -int delete_module(const char *name, unsigned flags) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_delete_module, -1); - if(int e = mlibc::sys_delete_module(name, flags); e) { - errno = e; - return -1; - } - return 0; -} diff --git a/lib/mlibc/options/linux/generic/pty-stubs.cpp b/lib/mlibc/options/linux/generic/pty-stubs.cpp deleted file mode 100644 index 8d95027..0000000 --- a/lib/mlibc/options/linux/generic/pty-stubs.cpp +++ /dev/null @@ -1,101 +0,0 @@ - -#include <asm/ioctls.h> -#include <bits/ensure.h> -#include <errno.h> -#include <fcntl.h> -#include <pty.h> -#include <stdio.h> -#include <sys/ioctl.h> -#include <unistd.h> -#include <stdlib.h> - -#include <mlibc/debug.hpp> -#include <mlibc/linux-sysdeps.hpp> - -int openpty(int *mfd, int *sfd, char *name, const struct termios *ios, const struct winsize *win) { - int ptmx_fd; - if(int e = mlibc::sys_open("/dev/ptmx", O_RDWR | O_NOCTTY, 0, &ptmx_fd); e) { - errno = e; - goto fail; - } - - char spath[32]; - if(!name) - name = spath; - if(ptsname_r(ptmx_fd, name, 32)) - goto fail; - - int pts_fd; - unlockpt(ptmx_fd); - if(int e = mlibc::sys_open(name, O_RDWR | O_NOCTTY, 0, &pts_fd); e) { - errno = e; - goto fail; - } - - if(ios) - tcsetattr(ptmx_fd, TCSAFLUSH, ios); - - if(win) - ioctl(ptmx_fd, TIOCSWINSZ, (void*)win); - - *mfd = ptmx_fd; - *sfd = pts_fd; - return 0; - -fail: - mlibc::sys_close(ptmx_fd); - return -1; -} - -int login_tty(int fd) { - if(setsid() == -1) - return -1; - if(ioctl(fd, TIOCSCTTY, 0)) - return -1; - - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_dup2, -1); - if(int e = mlibc::sys_dup2(fd, 0, STDIN_FILENO); e) { - errno = e; - return -1; - } - if(int e = mlibc::sys_dup2(fd, 0, STDOUT_FILENO); e) { - errno = e; - return -1; - } - if(int e = mlibc::sys_dup2(fd, 0, STDERR_FILENO); e) { - errno = e; - return -1; - } - - if(int e = mlibc::sys_close(fd); e) { - errno = e; - return -1; - } - return 0; -} - -int forkpty(int *mfd, char *name, const struct termios *ios, const struct winsize *win) { - int sfd; - if(openpty(mfd, &sfd, name, ios, win)) - return -1; - - pid_t child; - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_fork, -1); - if(int e = mlibc::sys_fork(&child); e) { - errno = e; - return -1; - } - - if(!child) { - if(login_tty(sfd)) - mlibc::panicLogger() << "mlibc: TTY login fail in forkpty() child" << frg::endlog; - }else{ - if(int e = mlibc::sys_close(sfd); e) { - errno = e; - return -1; - } - } - - return child; -} - diff --git a/lib/mlibc/options/linux/generic/sched.cpp b/lib/mlibc/options/linux/generic/sched.cpp deleted file mode 100644 index 760a9f5..0000000 --- a/lib/mlibc/options/linux/generic/sched.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include <bits/ensure.h> -#include <errno.h> -#include <sched.h> - -#include <mlibc/linux-sysdeps.hpp> -#include <mlibc/posix-sysdeps.hpp> - -int sched_getcpu(void) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_getcpu, -1); - int cpu; - if(int e = mlibc::sys_getcpu(&cpu); e) { - errno = e; - return -1; - } - return cpu; -} - -int setns(int, int) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} - -int sched_getscheduler(pid_t) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} - -int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_getaffinity, -1); - if(int e = mlibc::sys_getaffinity(pid, cpusetsize, mask); e) { - errno = e; - return -1; - } - return 0; -} - -int unshare(int) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} - -int sched_setaffinity(pid_t, size_t, const cpu_set_t *) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} - -int clone(int (*)(void *), void *, int, void *, ...) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} diff --git a/lib/mlibc/options/linux/generic/sys-epoll.cpp b/lib/mlibc/options/linux/generic/sys-epoll.cpp deleted file mode 100644 index 799d1a9..0000000 --- a/lib/mlibc/options/linux/generic/sys-epoll.cpp +++ /dev/null @@ -1,58 +0,0 @@ - -#include <errno.h> -#include <sys/epoll.h> - -#include <bits/ensure.h> -#include <mlibc/linux-sysdeps.hpp> -#include <stddef.h> - -int epoll_create(int) { - int fd; - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_epoll_create, -1); - if(int e = mlibc::sys_epoll_create(0, &fd); e) { - errno = e; - return -1; - } - return fd; -} - -int epoll_pwait(int epfd, struct epoll_event *evnts, int n, int timeout, - const sigset_t *sigmask) { - int raised; - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_epoll_pwait, -1); - if(int e = mlibc::sys_epoll_pwait(epfd, evnts, n, timeout, sigmask, &raised)) { - errno = e; - return -1; - } - return raised; -} - -int epoll_create1(int flags) { - int fd; - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_epoll_create, -1); - if(int e = mlibc::sys_epoll_create(flags, &fd); e) { - errno = e; - return -1; - } - return fd; -} - -int epoll_ctl(int epfd, int mode, int fd, struct epoll_event *ev) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_epoll_ctl, -1); - if(int e = mlibc::sys_epoll_ctl(epfd, mode, fd, ev); e) { - errno = e; - return -1; - } - return 0; -} - -int epoll_wait(int epfd, struct epoll_event *evnts, int n, int timeout) { - int raised; - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_epoll_pwait, -1); - if(int e = mlibc::sys_epoll_pwait(epfd, evnts, n, timeout, NULL, &raised)) { - errno = e; - return -1; - } - return raised; -} - diff --git a/lib/mlibc/options/linux/generic/sys-eventfd.cpp b/lib/mlibc/options/linux/generic/sys-eventfd.cpp deleted file mode 100644 index 1d83d8c..0000000 --- a/lib/mlibc/options/linux/generic/sys-eventfd.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include <sys/eventfd.h> -#include <errno.h> - -#include <bits/ensure.h> -#include <mlibc/linux-sysdeps.hpp> - -int eventfd(unsigned int initval, int flags) { - int fd = 0; - - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_eventfd_create, -1); - if (int e = mlibc::sys_eventfd_create(initval, flags, &fd); e) { - errno = e; - return -1; - } - - return fd; -} - -int eventfd_read(int fd, eventfd_t *value) { - ssize_t bytes_read; - if (int e = mlibc::sys_read(fd, value, 8, &bytes_read); e) { - errno = e; - return -1; - } - - if (bytes_read != 8) { - return -1; - } - - return 0; -} - -int eventfd_write(int fd, eventfd_t value) { - ssize_t bytes_written; - if (int e = mlibc::sys_write(fd, &value, 8, &bytes_written); e) { - errno = e; - return -1; - } - - if (bytes_written != 8) { - return -1; - } - - return 0; -} diff --git a/lib/mlibc/options/linux/generic/sys-fsuid.cpp b/lib/mlibc/options/linux/generic/sys-fsuid.cpp deleted file mode 100644 index 653456c..0000000 --- a/lib/mlibc/options/linux/generic/sys-fsuid.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <bits/ensure.h> -#include <sys/fsuid.h> - -int setfsuid(uid_t) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} - -int setfsgid(gid_t) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} diff --git a/lib/mlibc/options/linux/generic/sys-inotify-stubs.cpp b/lib/mlibc/options/linux/generic/sys-inotify-stubs.cpp deleted file mode 100644 index 0bc25c9..0000000 --- a/lib/mlibc/options/linux/generic/sys-inotify-stubs.cpp +++ /dev/null @@ -1,47 +0,0 @@ - -#include <errno.h> -#include <sys/inotify.h> - -#include <bits/ensure.h> -#include <mlibc/debug.hpp> -#include <mlibc/linux-sysdeps.hpp> - -int inotify_init(void) { - int fd; - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_inotify_create, -1); - if(int e = mlibc::sys_inotify_create(0, &fd); e) { - errno = e; - return -1; - } - return fd; -} - -int inotify_init1(int flags) { - int fd; - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_inotify_create, -1); - if(int e = mlibc::sys_inotify_create(flags, &fd); e) { - errno = e; - return -1; - } - return fd; -} - -int inotify_add_watch(int ifd, const char *path, uint32_t mask) { - int wd; - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_inotify_add_watch, -1); - if(int e = mlibc::sys_inotify_add_watch(ifd, path, mask, &wd); e) { - errno = e; - return -1; - } - return wd; -} - -int inotify_rm_watch(int ifd, int wd) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_inotify_rm_watch, -1); - if(int e = mlibc::sys_inotify_rm_watch(ifd, wd); e) { - errno = e; - return -1; - } - return 0; -} - diff --git a/lib/mlibc/options/linux/generic/sys-klog.cpp b/lib/mlibc/options/linux/generic/sys-klog.cpp deleted file mode 100644 index 059e292..0000000 --- a/lib/mlibc/options/linux/generic/sys-klog.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <errno.h> -#include <sys/klog.h> - -#include <bits/ensure.h> - -#include <mlibc/linux-sysdeps.hpp> - -int klogctl(int type, char *bufp, int len) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_klogctl, -1); - int out; - if (int e = mlibc::sys_klogctl(type, bufp, len, &out); e) { - errno = e; - return -1; - } - return out; -} diff --git a/lib/mlibc/options/linux/generic/sys-mount.cpp b/lib/mlibc/options/linux/generic/sys-mount.cpp deleted file mode 100644 index 4783183..0000000 --- a/lib/mlibc/options/linux/generic/sys-mount.cpp +++ /dev/null @@ -1,29 +0,0 @@ - -#include <errno.h> -#include <sys/mount.h> - -#include <bits/ensure.h> -#include <mlibc/linux-sysdeps.hpp> - -int mount(const char *source, const char *target, - const char *fstype, unsigned long flags, const void *data) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_mount, -1); - if(int e = mlibc::sys_mount(source, target, fstype, flags, data); e) { - errno = e; - return -1; - } - return 0; -} - -int umount(const char *target) { - return umount2(target, 0); -} - -int umount2(const char *target, int flags) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_umount2, -1); - if(int e = mlibc::sys_umount2(target, flags); e) { - errno = e; - return -1; - } - return 0; -} diff --git a/lib/mlibc/options/linux/generic/sys-prctl-stubs.cpp b/lib/mlibc/options/linux/generic/sys-prctl-stubs.cpp deleted file mode 100644 index 5280332..0000000 --- a/lib/mlibc/options/linux/generic/sys-prctl-stubs.cpp +++ /dev/null @@ -1,25 +0,0 @@ - -#include <stdarg.h> -#include <errno.h> -#include <bits/ensure.h> -#include <sys/prctl.h> - -#include <mlibc/debug.hpp> - -#include "mlibc/linux-sysdeps.hpp" - -int prctl(int op, ...) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_prctl, -1); - - int val; - va_list ap; - va_start(ap, op); - if(int e = mlibc::sys_prctl(op, ap, &val); e) { - errno = e; - return -1; - } - va_end(ap); - - return val; -} - diff --git a/lib/mlibc/options/linux/generic/sys-ptrace-stubs.cpp b/lib/mlibc/options/linux/generic/sys-ptrace-stubs.cpp deleted file mode 100644 index 8c836c5..0000000 --- a/lib/mlibc/options/linux/generic/sys-ptrace-stubs.cpp +++ /dev/null @@ -1,36 +0,0 @@ - -#include <sys/ptrace.h> -#include <stdarg.h> -#include <errno.h> - -#include <bits/ensure.h> -#include <mlibc/debug.hpp> -#include <mlibc/linux-sysdeps.hpp> - -long ptrace(int req, ...) { - va_list ap; - - va_start(ap, req); - auto pid = va_arg(ap, pid_t); - auto addr = va_arg(ap, void *); - auto data = va_arg(ap, void *); - va_end(ap); - - long ret; - if(req > 0 && req < 4) { - data = &ret; - } - - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_ptrace, -1); - long out; - if(int e = mlibc::sys_ptrace(req, pid, addr, data, &out); e) { - errno = e; - return -1; - } else if(req > 0 && req < 4) { - errno = 0; - return ret; - } - - return out; -} - diff --git a/lib/mlibc/options/linux/generic/sys-quota.cpp b/lib/mlibc/options/linux/generic/sys-quota.cpp deleted file mode 100644 index 27c0e6d..0000000 --- a/lib/mlibc/options/linux/generic/sys-quota.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include <bits/ensure.h> -#include <sys/quota.h> - -int quotactl(int, const char *, int, caddr_t) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} diff --git a/lib/mlibc/options/linux/generic/sys-random-stubs.cpp b/lib/mlibc/options/linux/generic/sys-random-stubs.cpp deleted file mode 100644 index 5e5057f..0000000 --- a/lib/mlibc/options/linux/generic/sys-random-stubs.cpp +++ /dev/null @@ -1,21 +0,0 @@ - -#include <sys/random.h> -#include <bits/ensure.h> - -#include <mlibc/debug.hpp> -#include <mlibc/posix-sysdeps.hpp> - -#include <errno.h> - -ssize_t getrandom(void *buffer, size_t max_size, unsigned int flags) { - if(flags & ~(GRND_RANDOM | GRND_NONBLOCK)) { - errno = EINVAL; - return -1; - } - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_getentropy, -1); - if(int e = mlibc::sys_getentropy(buffer, max_size); e) { - errno = e; - return -1; - } - return max_size; -} diff --git a/lib/mlibc/options/linux/generic/sys-reboot.cpp b/lib/mlibc/options/linux/generic/sys-reboot.cpp deleted file mode 100644 index c9b503f..0000000 --- a/lib/mlibc/options/linux/generic/sys-reboot.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <errno.h> -#include <sys/reboot.h> -#include <bits/ensure.h> -#include <mlibc/linux-sysdeps.hpp> - -int reboot(int what) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_reboot, -1); - if (int e = mlibc::sys_reboot(what); e) { - errno = e; - return -1; - } - return 0; -} diff --git a/lib/mlibc/options/linux/generic/sys-sendfile-stubs.cpp b/lib/mlibc/options/linux/generic/sys-sendfile-stubs.cpp deleted file mode 100644 index 25cd0a0..0000000 --- a/lib/mlibc/options/linux/generic/sys-sendfile-stubs.cpp +++ /dev/null @@ -1,9 +0,0 @@ - -#include <sys/sendfile.h> -#include <bits/ensure.h> - -ssize_t sendfile(int, int, off_t *, size_t) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} - diff --git a/lib/mlibc/options/linux/generic/sys-signalfd.cpp b/lib/mlibc/options/linux/generic/sys-signalfd.cpp deleted file mode 100644 index 28cfea0..0000000 --- a/lib/mlibc/options/linux/generic/sys-signalfd.cpp +++ /dev/null @@ -1,17 +0,0 @@ - -#include <errno.h> -#include <sys/signalfd.h> - -#include <bits/ensure.h> -#include <mlibc/linux-sysdeps.hpp> - -int signalfd(int fd, const sigset_t *mask, int flags) { - __ensure(fd == -1); - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_signalfd_create, -1); - if(int e = mlibc::sys_signalfd_create(mask, flags, &fd); e) { - errno = e; - return -1; - } - return fd; -} - diff --git a/lib/mlibc/options/linux/generic/sys-statfs-stubs.cpp b/lib/mlibc/options/linux/generic/sys-statfs-stubs.cpp deleted file mode 100644 index 6152ef2..0000000 --- a/lib/mlibc/options/linux/generic/sys-statfs-stubs.cpp +++ /dev/null @@ -1,26 +0,0 @@ - -#include <errno.h> -#include <sys/statfs.h> -#include <bits/ensure.h> - -#include <mlibc/debug.hpp> -#include <mlibc/linux-sysdeps.hpp> - -int statfs(const char *path, struct statfs *buf) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_statfs, -1); - if(int e = mlibc::sys_statfs(path, buf); e) { - errno = e; - return -1; - } - return 0; -} - -int fstatfs(int fd, struct statfs *buf) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_fstatfs, -1); - if (int e = mlibc::sys_fstatfs(fd, buf); e) { - errno = e; - return -1; - } - return 0; -} - diff --git a/lib/mlibc/options/linux/generic/sys-swap.cpp b/lib/mlibc/options/linux/generic/sys-swap.cpp deleted file mode 100644 index 44ddf98..0000000 --- a/lib/mlibc/options/linux/generic/sys-swap.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include <errno.h> -#include <sys/swap.h> - -#include <bits/ensure.h> -#include <mlibc/debug.hpp> -#include <mlibc/linux-sysdeps.hpp> - -int swapon(const char *path, int flags) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_swapon, -1); - if(int e = mlibc::sys_swapon(path, flags); e) { - errno = e; - return -1; - } - return 0; -} - -int swapoff(const char *path) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_swapoff, -1); - if(int e = mlibc::sys_swapoff(path); e) { - errno = e; - return -1; - } - return 0; -} diff --git a/lib/mlibc/options/linux/generic/sys-sysinfo.cpp b/lib/mlibc/options/linux/generic/sys-sysinfo.cpp deleted file mode 100644 index 950c38a..0000000 --- a/lib/mlibc/options/linux/generic/sys-sysinfo.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <errno.h> -#include <sys/sysinfo.h> - -#include <bits/ensure.h> -#include <mlibc/debug.hpp> -#include <mlibc/linux-sysdeps.hpp> - -int sysinfo(struct sysinfo *info) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_sysinfo, -1); - if(int e = mlibc::sys_sysinfo(info); e) { - errno = e; - return -1; - } - return 0; -} diff --git a/lib/mlibc/options/linux/generic/sys-timerfd.cpp b/lib/mlibc/options/linux/generic/sys-timerfd.cpp deleted file mode 100644 index 80bca1b..0000000 --- a/lib/mlibc/options/linux/generic/sys-timerfd.cpp +++ /dev/null @@ -1,33 +0,0 @@ - -#include <errno.h> -#include <sys/timerfd.h> - -#include <bits/ensure.h> -#include <mlibc/debug.hpp> -#include <mlibc/linux-sysdeps.hpp> - -int timerfd_create(int clockid, int flags) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_timerfd_create, -1); - int fd; - if(int e = mlibc::sys_timerfd_create(clockid, flags, &fd); e) { - errno = e; - return -1; - } - return fd; -} - -int timerfd_settime(int fd, int flags, const struct itimerspec *value, - struct itimerspec *oldvalue) { - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_timerfd_settime, -1); - if(int e = mlibc::sys_timerfd_settime(fd, flags, value, oldvalue); e) { - errno = e; - return -1; - } - return 0; -} - -int timerfd_gettime(int, struct itimerspec *) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} - diff --git a/lib/mlibc/options/linux/generic/sys-xattr.cpp b/lib/mlibc/options/linux/generic/sys-xattr.cpp deleted file mode 100644 index c8d598f..0000000 --- a/lib/mlibc/options/linux/generic/sys-xattr.cpp +++ /dev/null @@ -1,122 +0,0 @@ -#include <errno.h> -#include <sys/xattr.h> - -#include <mlibc/linux-sysdeps.hpp> -#include <bits/ensure.h> - -int setxattr(const char *path, const char *name, const void *val, size_t size, - int flags) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_setxattr, -1); - - if (int e = sysdep(path, name, val, size, flags); e) { - errno = e; - return -1; - } - return 0; -} - -int lsetxattr(const char *path, const char *name, const void *val, size_t size, - int flags) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_lsetxattr, -1); - - if (int e = sysdep(path, name, val, size, flags); e) { - errno = e; - return -1; - } - return 0; -} - -int fsetxattr(int fd, const char *name, const void *val, size_t size, - int flags) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_fsetxattr, -1); - - if (int e = sysdep(fd, name, val, size, flags); e) { - errno = e; - return -1; - } - return 0; -} - -ssize_t getxattr(const char *path, const char *name, void *val, size_t size) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_getxattr, -1); - - ssize_t nread; - if (int e = sysdep(path, name, val, size, &nread); e) { - errno = e; - return -1; - } - - return nread; -} - -ssize_t lgetxattr(const char *path, const char *name, void *val, size_t size) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_lgetxattr, -1); - - ssize_t nread; - if (int e = sysdep(path, name, val, size, &nread); e) { - errno = e; - return -1; - } - - return nread; -} - -ssize_t fgetxattr(int fd, const char *name, void *val, size_t size) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_fgetxattr, -1); - - ssize_t nread; - if (int e = sysdep(fd, name, val, size, &nread); e) { - errno = e; - return -1; - } - - return nread; -} - -int removexattr(const char *path, const char *name) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_removexattr, -1); - return sysdep(path, name); -} - -int lremovexattr(const char *path, const char *name) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_lremovexattr, -1); - return sysdep(path, name); -} - -int fremovexattr(int fd, const char *name) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_fremovexattr, -1); - return sysdep(fd, name); -} - -ssize_t listxattr(const char *path, char *list, size_t size) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_listxattr, -1); - - ssize_t nread; - if (int e = sysdep(path, list, size, &nread); e) { - errno = e; - return -1; - } - return nread; -} - -ssize_t llistxattr(const char *path, char *list, size_t size) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_llistxattr, -1); - - ssize_t nread; - if (int e = sysdep(path, list, size, &nread); e) { - errno = e; - return -1; - } - return nread; -} - -ssize_t flistxattr(int fd, char *list, size_t size) { - auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_flistxattr, -1); - - ssize_t nread; - if (int e = sysdep(fd, list, size, &nread); e) { - errno = e; - return -1; - } - return nread; -} diff --git a/lib/mlibc/options/linux/generic/utmp-stubs.cpp b/lib/mlibc/options/linux/generic/utmp-stubs.cpp deleted file mode 100644 index 658dfd3..0000000 --- a/lib/mlibc/options/linux/generic/utmp-stubs.cpp +++ /dev/null @@ -1,116 +0,0 @@ -#include <utmp.h> -#include <errno.h> -#include <fcntl.h> -#include <stdlib.h> -#include <unistd.h> - -#include <bits/ensure.h> -#include <mlibc/debug.hpp> - -/* - * The code in this file is largely based on glibc. - * This includes: - * - setutent - * - read_last_entry - * - getutent - * - getutent_r - * - endutent - */ -static int fd = -1; -static off_t offset; - -static struct utmp last_entry; - -void setutent(void) { - if(fd < 0) { - fd = open("/run/utmp", O_RDONLY | O_LARGEFILE | O_CLOEXEC); - if(fd == -1) { - return; - } - } - - lseek(fd, 0, SEEK_SET); - offset = 0; -} - -static ssize_t read_last_entry(void) { - struct utmp buf; - ssize_t bytes_read = pread(fd, &buf, sizeof(buf), offset); - - if(bytes_read < 0) { - return -1; - } else if(bytes_read != sizeof(buf)) { - // EOF - return 0; - } else { - last_entry = buf; - offset += sizeof(buf); - return 1; - } -} - -struct utmp *getutent(void) { - struct utmp *result; - static struct utmp *buf; - if(buf == NULL) { - buf = (struct utmp *)malloc(sizeof(struct utmp)); - if(buf == NULL) { - return NULL; - } - } - - if(getutent_r(buf, &result) < 0) { - return NULL; - } - return result; -} - -int getutent_r(struct utmp *buf, struct utmp **res) { - int saved_errno = errno; - - if(fd < 0) { - setutent(); - } - - ssize_t bytes_read = read_last_entry(); - - if(bytes_read <= 0) { - if(bytes_read == 0) { - errno = saved_errno; - *res = NULL; - return -1; - } - } - - memcpy(buf, &last_entry, sizeof(struct utmp)); - *res = buf; - - return 0; -} - -void endutent(void) { - if(fd >= 0) { - close(fd); - fd = -1; - } -} - -struct utmp *pututline(const struct utmp *) { - mlibc::infoLogger() << "\e[31mmlibc: pututline() is a stub!\e[39m" << frg::endlog; - return NULL; -} - -struct utmp *getutline(const struct utmp *) { - mlibc::infoLogger() << "\e[31mmlibc: getutline() is a stub!\e[39m" << frg::endlog; - return NULL; -} - -int utmpname(const char *) { - mlibc::infoLogger() << "\e[31mmlibc: utmpname() is a stub!\e[39m" << frg::endlog; - return -1; -} - -struct utmp *getutid(const struct utmp *) { - mlibc::infoLogger() << "\e[31mmlibc: getutid() is a stub!\e[39m" << frg::endlog; - return NULL; -} diff --git a/lib/mlibc/options/linux/generic/utmpx.cpp b/lib/mlibc/options/linux/generic/utmpx.cpp deleted file mode 100644 index 4742567..0000000 --- a/lib/mlibc/options/linux/generic/utmpx.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include <bits/ensure.h> -#include <stddef.h> -#include <errno.h> -#include <utmpx.h> -#include <mlibc/debug.hpp> - -void updwtmpx(const char *, const struct utmpx *) { - // Empty as musl does - mlibc::infoLogger() << "\e[31mmlibc: updwtmpx() is a stub\e[39m" << frg::endlog; -} - -void endutxent(void) { - // Empty as musl does - mlibc::infoLogger() << "\e[31mmlibc: endutxent() is a stub\e[39m" << frg::endlog; -} - -void setutxent(void) { - // Empty as musl does - mlibc::infoLogger() << "\e[31mmlibc: setutxent() is a stub\e[39m" << frg::endlog; -} - -struct utmpx *getutxent(void) { - // return NULL as musl does - mlibc::infoLogger() << "\e[31mmlibc: getutxent() is a stub\e[39m" << frg::endlog; - return NULL; -} - -struct utmpx *pututxline(const struct utmpx *) { - // return NULL as musl does - mlibc::infoLogger() << "\e[31mmlibc: pututxline() is a stub\e[39m" << frg::endlog; - return NULL; -} - -int utmpxname(const char *) { - // return -1 as musl does - mlibc::infoLogger() << "\e[31mmlibc: utmpxname() is a stub\e[39m" << frg::endlog; - errno = ENOSYS; - return -1; -} - -struct utmpx *getutxid(const struct utmpx *) { - // return NULL as musl does - mlibc::infoLogger() << "\e[31mmlibc: getutxid() is a stub\e[39m" << frg::endlog; - return NULL; -} diff --git a/lib/mlibc/options/linux/include/bits/linux/cpu_set.h b/lib/mlibc/options/linux/include/bits/linux/cpu_set.h deleted file mode 100644 index f3c753e..0000000 --- a/lib/mlibc/options/linux/include/bits/linux/cpu_set.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _LINUX_CPU_SET_H -#define _LINUX_CPU_SET_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <bits/cpu_set.h> -#include <bits/size_t.h> -#include <limits.h> -#include <stdlib.h> - -#ifndef __MLIBC_ABI_ONLY - -cpu_set_t *__mlibc_cpu_alloc(int num_cpus); -size_t __mlibc_cpu_alloc_size(int num_cpus); - -void __mlibc_cpu_zero(const size_t setsize, cpu_set_t *set); -void __mlibc_cpu_set(const int cpu, const size_t setsize, cpu_set_t *set); -void __mlibc_cpu_clear(const int cpu, const size_t setsize, cpu_set_t *set); -int __mlibc_cpu_isset(const int cpu, const size_t setsize, const cpu_set_t *set); -int __mlibc_cpu_count(const size_t setsize, const cpu_set_t *set); - -#define CPU_ALLOC_SIZE(n) __mlibc_cpu_alloc_size((n)) -#define CPU_ALLOC(n) __mlibc_cpu_alloc((n)) -#define CPU_FREE(set) free((set)) - -#define CPU_ZERO_S(setsize, set) __mlibc_cpu_zero((setsize), (set)) -#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t), set) - -#define CPU_SET_S(cpu, setsize, set) __mlibc_cpu_set((cpu), (setsize), (set)) -#define CPU_SET(cpu, set) CPU_SET_S(cpu, sizeof(cpu_set_t), set) - -#define CPU_CLR_S(cpu, setsize, set) __mlibc_cpu_clear((cpu), (setsize), (set)) -#define CPU_CLR(cpu, set) CPU_CLR_S(cpu, sizeof(cpu_set_t), set) - -#define CPU_ISSET_S(cpu, setsize, set) __mlibc_cpu_isset((cpu), (setsize), (set)) -#define CPU_ISSET(cpu, set) CPU_ISSET_S(cpu, sizeof(cpu_set_t), set) - -#define CPU_COUNT_S(setsize, set) __mlibc_cpu_count((setsize), (set)) -#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t), set) - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif /* _LINUX_CPU_SET_H */ diff --git a/lib/mlibc/options/linux/include/bits/linux/linux_sched.h b/lib/mlibc/options/linux/include/bits/linux/linux_sched.h deleted file mode 100644 index 6a1209a..0000000 --- a/lib/mlibc/options/linux/include/bits/linux/linux_sched.h +++ /dev/null @@ -1,59 +0,0 @@ - -#ifndef _LINUX_SCHED_H -#define _LINUX_SCHED_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <abi-bits/pid_t.h> -#include <bits/size_t.h> -#include <bits/linux/cpu_set.h> - -#define CLONE_VM 0x00000100 -#define CLONE_FS 0x00000200 -#define CLONE_FILES 0x00000400 -#define CLONE_SIGHAND 0x00000800 -#define CLONE_PTRACE 0x00002000 -#define CLONE_VFORK 0x00004000 -#define CLONE_PARENT 0x00008000 -#define CLONE_THREAD 0x00010000 -#define CLONE_NEWNS 0x00020000 -#define CLONE_SYSVSEM 0x00040000 -#define CLONE_SETTLS 0x00080000 -#define CLONE_PARENT_SETTID 0x00100000 -#define CLONE_CHILD_CLEARTID 0x00200000 -#define CLONE_DETACHED 0x00400000 -#define CLONE_UNTRACED 0x00800000 -#define CLONE_CHILD_SETTID 0x01000000 -#define CLONE_NEWCGROUP 0x02000000 -#define CLONE_NEWUTS 0x04000000 -#define CLONE_NEWIPC 0x08000000 -#define CLONE_NEWUSER 0x10000000 -#define CLONE_NEWPID 0x20000000 -#define CLONE_NEWNET 0x40000000 -#define CLONE_IO 0x80000000 - -#ifndef __MLIBC_ABI_ONLY - -int sched_getscheduler(pid_t pid); -int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *mask); -int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask); - -int unshare(int flags); -int clone(int (*)(void *), void *, int, void *, ...); - -/* Glibc extension */ -int sched_getcpu(void); - -#if defined(_GNU_SOURCE) -int setns(int fd, int nstype); -#endif /* _GNU_SOURCE */ - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif /* _LINUX_SCHED_H */ diff --git a/lib/mlibc/options/linux/include/bits/linux/linux_unistd.h b/lib/mlibc/options/linux/include/bits/linux/linux_unistd.h deleted file mode 100644 index 77534ba..0000000 --- a/lib/mlibc/options/linux/include/bits/linux/linux_unistd.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef _LINUX_UNISTD_H -#define _LINUX_UNISTD_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __MLIBC_ABI_ONLY - -int dup3(int fd, int newfd, int flags); -int vhangup(void); -int getdtablesize(void); -int syncfs(int fd); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _LINUX_UNISTD_H diff --git a/lib/mlibc/options/linux/include/ifaddrs.h b/lib/mlibc/options/linux/include/ifaddrs.h deleted file mode 100644 index 2604e3e..0000000 --- a/lib/mlibc/options/linux/include/ifaddrs.h +++ /dev/null @@ -1,35 +0,0 @@ - -#ifndef _IFADDRS_H -#define _IFADDRS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <netinet/in.h> -#include <sys/socket.h> - -// Struct definitions taken from musl -struct ifaddrs { - struct ifaddrs *ifa_next; - char *ifa_name; - unsigned ifa_flags; - struct sockaddr *ifa_addr; - struct sockaddr *ifa_netmask; - struct sockaddr *ifa_broadaddr; - struct sockaddr *ifa_dstaddr; - void *ifa_data; -}; - -#ifndef __MLIBC_ABI_ONLY - -int getifaddrs(struct ifaddrs **); -void freeifaddrs(struct ifaddrs *); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _IFADDRS_H diff --git a/lib/mlibc/options/linux/include/lastlog.h b/lib/mlibc/options/linux/include/lastlog.h deleted file mode 100644 index 0930aaf..0000000 --- a/lib/mlibc/options/linux/include/lastlog.h +++ /dev/null @@ -1,2 +0,0 @@ -// Maches glibc -#include <utmp.h>
\ No newline at end of file diff --git a/lib/mlibc/options/linux/include/linux/libc-compat.h b/lib/mlibc/options/linux/include/linux/libc-compat.h deleted file mode 100644 index 696f4af..0000000 --- a/lib/mlibc/options/linux/include/linux/libc-compat.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef _LINUX_LIBC_COMPAT_H -#define _LINUX_LIBC_COMPAT_H - -#if defined(_NET_IF_H) - -#define __UAPI_DEF_IF_IFCONF 0 -#define __UAPI_DEF_IF_IFMAP 0 -#define __UAPI_DEF_IF_IFNAMSIZ 0 -#define __UAPI_DEF_IF_IFREQ 0 -#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0 - -#else // _NET_IF_H - -#define __UAPI_DEF_IF_IFCONF 1 -#define __UAPI_DEF_IF_IFMAP 1 -#define __UAPI_DEF_IF_IFNAMSIZ 1 -#define __UAPI_DEF_IF_IFREQ 1 -#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1 -#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1 - -#endif //_NET_IF_H - -#if defined(_NETINET_IN_H) - -#define __UAPI_DEF_IN_ADDR 0 -#define __UAPI_DEF_IN_CLASS 0 -#define __UAPI_DEF_IN_IPPROTO 0 -#define __UAPI_DEF_IN_PKTINFO 0 -#define __UAPI_DEF_IP_MREQ 0 -#define __UAPI_DEF_SOCKADDR_IN 0 - -#define __UAPI_DEF_IN6_ADDR 0 -#define __UAPI_DEF_IN6_ADDR_ALT 1 -#define __UAPI_DEF_IN6_PKTINFO 0 -#define __UAPI_DEF_IP6_MTUINFO 0 -#define __UAPI_DEF_IPPROTO_V6 0 -#define __UAPI_DEF_IPV6_MREQ 0 -#define __UAPI_DEF_IPV6_OPTIONS 0 -#define __UAPI_DEF_SOCKADDR_IN6 0 - -#else - -#define __UAPI_DEF_IN_ADDR 1 -#define __UAPI_DEF_IN_CLASS 1 -#define __UAPI_DEF_IN_IPPROTO 1 -#define __UAPI_DEF_IN_PKTINFO 1 -#define __UAPI_DEF_IP_MREQ 1 -#define __UAPI_DEF_SOCKADDR_IN 1 - -#define __UAPI_DEF_IN6_ADDR 1 -#define __UAPI_DEF_IN6_ADDR_ALT 1 -#define __UAPI_DEF_IN6_PKTINFO 1 -#define __UAPI_DEF_IP6_MTUINFO 1 -#define __UAPI_DEF_IPPROTO_V6 1 -#define __UAPI_DEF_IPV6_MREQ 1 -#define __UAPI_DEF_IPV6_OPTIONS 1 -#define __UAPI_DEF_SOCKADDR_IN6 1 - -#endif /* _NETINET_IN_H */ - -#endif // _LINUX_LIBC_COMPAT_H diff --git a/lib/mlibc/options/linux/include/malloc.h b/lib/mlibc/options/linux/include/malloc.h deleted file mode 100644 index b03f9b4..0000000 --- a/lib/mlibc/options/linux/include/malloc.h +++ /dev/null @@ -1,32 +0,0 @@ - -#ifndef _MALLOC_H -#define _MALLOC_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <bits/size_t.h> -#include <mlibc-config.h> - -#ifndef __MLIBC_ABI_ONLY - -// [7.22.3] Memory management functions -void *calloc(size_t count, size_t size); -void free(void *pointer); -void *malloc(size_t size); -void *realloc(void *pointer, size_t size); -void *memalign(size_t, size_t); - -#if __MLIBC_GLIBC_OPTION -#include <bits/glibc/glibc_malloc.h> -#endif - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _MALLOC_H - diff --git a/lib/mlibc/options/linux/include/memory.h b/lib/mlibc/options/linux/include/memory.h deleted file mode 100644 index 586822b..0000000 --- a/lib/mlibc/options/linux/include/memory.h +++ /dev/null @@ -1,9 +0,0 @@ - -#ifndef _MEMORY_H -#define _MEMORY_H - -// This is a linux extension -#include <string.h> - -#endif // _MEMORY_H - diff --git a/lib/mlibc/options/linux/include/mlibc/linux-sysdeps.hpp b/lib/mlibc/options/linux/include/mlibc/linux-sysdeps.hpp deleted file mode 100644 index b18544a..0000000 --- a/lib/mlibc/options/linux/include/mlibc/linux-sysdeps.hpp +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef MLIBC_LINUX_SYSDEPS -#define MLIBC_LINUX_SYSDEPS - -#include <sched.h> -#include <stdarg.h> -#include <sys/epoll.h> -#include <sys/sysinfo.h> -#include <sys/statfs.h> -#include <poll.h> -#include <abi-bits/pid_t.h> -#include <abi-bits/mode_t.h> -#include <bits/ssize_t.h> -#include <bits/size_t.h> - -namespace [[gnu::visibility("hidden")]] mlibc { - -int sys_open(const char *pathname, int flags, mode_t mode, int *fd); -int sys_close(int fd); -int sys_read(int fd, void *buf, size_t count, ssize_t *bytes_read); -int sys_write(int fd, const void *buf, size_t count, ssize_t *bytes_written); -int sys_ioctl(int fd, unsigned long request, void *arg, int *result); - -[[gnu::weak]] int sys_dup2(int fd, int flags, int newfd); -[[gnu::weak]] int sys_fork(pid_t *child); -[[gnu::weak]] int sys_inotify_create(int flags, int *fd); -[[gnu::weak]] int sys_inotify_add_watch(int ifd, const char *path, uint32_t mask, int *wd); -[[gnu::weak]] int sys_inotify_rm_watch(int ifd, int wd); -[[gnu::weak]] int sys_epoll_create(int flags, int *fd); -[[gnu::weak]] int sys_epoll_ctl(int epfd, int mode, int fd, struct epoll_event *ev); -[[gnu::weak]] int sys_epoll_pwait(int epfd, struct epoll_event *ev, int n, - int timeout, const sigset_t *sigmask, int *raised); -[[gnu::weak]] int sys_mount(const char *source, const char *target, - const char *fstype, unsigned long flags, const void *data); -[[gnu::weak]] int sys_umount2(const char *target, int flags); -[[gnu::weak]] int sys_eventfd_create(unsigned int initval, int flags, int *fd); -[[gnu::weak]] int sys_timerfd_create(int clockid, int flags, int *fd); -[[gnu::weak]] int sys_timerfd_settime(int fd, int flags, - const struct itimerspec *value, struct itimerspec *oldvalue); -[[gnu::weak]] int sys_signalfd_create(const sigset_t *, int flags, int *fd); -[[gnu::weak]] int sys_reboot(int cmd); -[[gnu::weak]] int sys_ptrace(long req, pid_t pid, void *addr, void *data, long *out); -[[gnu::weak]] int sys_prctl(int option, va_list va, int *out); -[[gnu::weak]] int sys_init_module(void *module, unsigned long length, const char *args); -[[gnu::weak]] int sys_delete_module(const char *name, unsigned flags); -[[gnu::weak]] int sys_klogctl(int type, char *bufp, int len, int *out); -[[gnu::weak]] int sys_getcpu(int *cpu); - -[[gnu::weak]] int sys_sysinfo(struct sysinfo *info); -[[gnu::weak]] int sys_swapon(const char *path, int flags); -[[gnu::weak]] int sys_swapoff(const char *path); - -[[gnu::weak]] int sys_setxattr(const char *path, const char *name, - const void *val, size_t size, int flags); -[[gnu::weak]] int sys_lsetxattr(const char *path, const char *name, - const void *val, size_t size, int flags); -[[gnu::weak]] int sys_fsetxattr(int fd, const char *name, const void *val, - size_t size, int flags); - -[[gnu::weak]] int sys_getxattr(const char *path, const char *name, - void *val, size_t size, ssize_t *nread); -[[gnu::weak]] int sys_lgetxattr(const char *path, const char *name, - void *val, size_t size, ssize_t *nread); -[[gnu::weak]] int sys_fgetxattr(int fd, const char *name, void *val, - size_t size, ssize_t *nread); - -[[gnu::weak]] int sys_listxattr(const char *path, char *list, size_t size, - ssize_t *nread); -[[gnu::weak]] int sys_llistxattr(const char *path, char *list, size_t size, - ssize_t *nread); -[[gnu::weak]] int sys_flistxattr(int fd, char *list, size_t size, - ssize_t *nread); - -[[gnu::weak]] int sys_removexattr(const char *path, const char *name); -[[gnu::weak]] int sys_lremovexattr(const char *path, const char *name); -[[gnu::weak]] int sys_fremovexattr(int fd, const char *name); - -[[gnu::weak]] int sys_statfs(const char *path, struct statfs *buf); -[[gnu::weak]] int sys_fstatfs(int fd, struct statfs *buf); - -} // namespace mlibc - -#endif // MLIBX_LINUX_SYSDEPS diff --git a/lib/mlibc/options/linux/include/mntent.h b/lib/mlibc/options/linux/include/mntent.h deleted file mode 100644 index bafd289..0000000 --- a/lib/mlibc/options/linux/include/mntent.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _MNTENT_H -#define _MNTENT_H - -#include <stdio.h> - -// TODO: Refer to _PATH_MOUNTED -#define MOUNTED "/etc/mtab" - -/* Generic mount options */ -#define MNTOPT_DEFAULTS "defaults" /* Use all default options. */ -#define MNTOPT_RO "ro" /* Read only. */ -#define MNTOPT_RW "rw" /* Read/write. */ -#define MNTOPT_SUID "suid" /* Set uid allowed. */ -#define MNTOPT_NOSUID "nosuid" /* No set uid allowed. */ -#define MNTOPT_NOAUTO "noauto" /* Do not auto mount. */ - -#ifdef __cplusplus -extern "C" { -#endif - -struct mntent { - char *mnt_fsname; - char *mnt_dir; - char *mnt_type; - char *mnt_opts; - int mnt_freq; - int mnt_passno; -}; - -#ifndef __MLIBC_ABI_ONLY - -FILE *setmntent(const char *, const char *); - -struct mntent *getmntent(FILE *); - -int addmntent(FILE *, const struct mntent *); - -int endmntent(FILE *); - -char *hasmntopt(const struct mntent *, const char *); - -struct mntent *getmntent_r(FILE *, struct mntent *, char *, int); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _MNTENT_H diff --git a/lib/mlibc/options/linux/include/module.h b/lib/mlibc/options/linux/include/module.h deleted file mode 100644 index ef715a4..0000000 --- a/lib/mlibc/options/linux/include/module.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef _MODULE_H -#define _MODULE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __MLIBC_ABI_ONLY - -/* - * Musl adds these, even though they aren't specified, but doesn't export them. - * See https://github.com/bminor/musl/commit/2169265ec6c902cd460bf96a1a0b5103657a4954 - * for more information and the rationale behind it. - * For our infrastructure, we expose them, and make it call into the sysdeps. - */ -int init_module(void *module, unsigned long len, const char *args); -int delete_module(const char *name, unsigned flags); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _MODULE_H diff --git a/lib/mlibc/options/linux/include/netpacket/packet.h b/lib/mlibc/options/linux/include/netpacket/packet.h deleted file mode 100644 index 1fa0917..0000000 --- a/lib/mlibc/options/linux/include/netpacket/packet.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef _NETPACKET_PACKET_H -#define _NETPACKET_PACKET_H - -#include <abi-bits/packet.h> - -/* Packet types */ -#define PACKET_HOST 0 -#define PACKET_BROADCAST 1 -#define PACKET_MULTICAST 2 -#define PACKET_OTHERHOST 3 -#define PACKET_OUTGOING 4 -#define PACKET_LOOPBACK 5 -#define PACKET_FASTROUTE 6 - -struct sockaddr_ll { - unsigned short int sll_family; - unsigned short int sll_protocol; - int sll_ifindex; - unsigned short int sll_hatype; - unsigned char sll_pkttype; - unsigned char sll_halen; - unsigned char sll_addr[8]; -}; - -struct packet_mreq { - int mr_ifindex; - unsigned short int mr_type; - unsigned short int mr_alen; - unsigned char mr_address[8]; -}; - -#define PACKET_ADD_MEMBERSHIP 1 -#define PACKET_DROP_MEMBERSHIP 2 - -#define PACKET_MR_MULTICAST 0 -#define PACKET_MR_PROMISC 1 -#define PACKET_MR_ALLMULTI 2 -#define PACKET_MR_UNICAST 3 - -#endif // _NETPACKET_PACKET_H diff --git a/lib/mlibc/options/linux/include/pty.h b/lib/mlibc/options/linux/include/pty.h deleted file mode 100644 index 562fbb8..0000000 --- a/lib/mlibc/options/linux/include/pty.h +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef _PTY_H -#define _PTY_H - -#include <termios.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __MLIBC_ABI_ONLY - -int openpty(int *, int *, char *, const struct termios *, const struct winsize *); -int forkpty(int *, char *, const struct termios *, const struct winsize *); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _PTY_H - diff --git a/lib/mlibc/options/linux/include/scsi/scsi.h b/lib/mlibc/options/linux/include/scsi/scsi.h deleted file mode 100644 index f7f92d8..0000000 --- a/lib/mlibc/options/linux/include/scsi/scsi.h +++ /dev/null @@ -1,18 +0,0 @@ - -#ifndef _LINUX_SCSI_SCSI_H -#define _LINUX_SCSI_SCSI_H - -#define RECOVERED_ERROR 0x01 -#define ILLEGAL_REQUEST 0x05 -#define UNIT_ATTENTION 0x06 -#define INQUIRY 0x12 -#define START_STOP 0x1b -#define ALLOW_MEDIUM_REMOVAL 0x1e - -#define SCSI_IOCTL_GET_IDLUN 0x5382 -#define SCSI_IOCTL_TAGGED_ENABLE 0x5383 -#define SCSI_IOCTL_TAGGED_DISABLE 0x5384 -#define SCSI_IOCTL_PROBE_HOST 0x5385 - -#endif // _LINUX_SCSI_SCSI_H - diff --git a/lib/mlibc/options/linux/include/scsi/scsi_ioctl.h b/lib/mlibc/options/linux/include/scsi/scsi_ioctl.h deleted file mode 100644 index 16c7cfa..0000000 --- a/lib/mlibc/options/linux/include/scsi/scsi_ioctl.h +++ /dev/null @@ -1,6 +0,0 @@ - -#ifndef _LINUX_SCSI_SCSI_IOCTL_H -#define _LINUX_SCSI_SCSI_IOCTL_H - -#endif // _LINUX_SCSI_SCSI_IOCTL_H - diff --git a/lib/mlibc/options/linux/include/scsi/sg.h b/lib/mlibc/options/linux/include/scsi/sg.h deleted file mode 100644 index a9dfc7a..0000000 --- a/lib/mlibc/options/linux/include/scsi/sg.h +++ /dev/null @@ -1,77 +0,0 @@ - -#ifndef _LINUX_SCSI_SG_H -#define _LINUX_SCSI_SG_H - -#define SG_IO 0x2285 - -#define SG_GET_VERSION_NUM 0x2282 - -#define SG_FLAG_DIRECT_IO 1 -#define SG_FLAG_LUN_INHIBIT 2 - -#define SG_INFO_OK 0x0 -#define SG_INFO_OK_MASK 0x1 - -#define SG_DXFER_NONE (-1) -#define SG_DXFER_TO_DEV (-2) -#define SG_DXFER_FROM_DEV (-3) -#define SG_DXFER_TO_FROM_DEV (-4) - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct sg_io_hdr { - int interface_id; - int dxfer_direction; - unsigned char cmd_len; - unsigned char mx_sb_len; - unsigned short iovec_count; - unsigned int dxfer_len; - void *dxferp; - unsigned char *cmdp; - unsigned char *sbp; - unsigned int timeout; - unsigned int flags; - int pack_id; - void *usr_ptr; - unsigned char status; - unsigned char masked_status; - unsigned char msg_status; - unsigned char sb_len_wr; - unsigned short host_status; - unsigned short driver_status; - int resid; - unsigned int duration; - unsigned int info; -} sg_io_hdr_t; - -struct sg_scsi_id { - int host_no; - int channel; - int scsi_id; - int lun; - int scsi_type; - short int h_cmd_per_lun; - short int d_queue_depth; - int unused[2]; -}; - -typedef struct sg_req_info { - char req_state; - char orphan; - char sg_io_owned; - char problem; - int pack_id; - void *usr_ptr; - unsigned int duration; - - int unused; -} sg_req_info_t; - -#ifdef __cplusplus -} -#endif - -#endif // _LINUX_SCSI_SG_H - diff --git a/lib/mlibc/options/linux/include/sys/epoll.h b/lib/mlibc/options/linux/include/sys/epoll.h deleted file mode 100644 index f84da7a..0000000 --- a/lib/mlibc/options/linux/include/sys/epoll.h +++ /dev/null @@ -1,66 +0,0 @@ -#ifndef _SYS_EPOLL_H -#define _SYS_EPOLL_H - -#include <stdint.h> -#include <abi-bits/signal.h> -#include <abi-bits/epoll.h> -#include <abi-bits/fcntl.h> - -#define EPOLL_NONBLOCK O_NONBLOCK - -// These constants match the Linux definitions. -#define EPOLLIN 0x001 -#define EPOLLPRI 0x002 -#define EPOLLOUT 0x004 -#define EPOLLRDNORM 0x040 -#define EPOLLRDBAND 0x080 -#define EPOLLWRNORM 0x100 -#define EPOLLWRBAND 0x200 -#define EPOLLMSG 0x400 -#define EPOLLERR 0x008 -#define EPOLLHUP 0x010 -#define EPOLLRDHUP 0x2000 -#define EPOLLEXCLUSIVE (1U << 28) -#define EPOLLWAKEUP (1U << 29) -#define EPOLLONESHOT (1U << 30) -#define EPOLLET (1U << 31) - -#define EPOLL_CTL_ADD 1 -#define EPOLL_CTL_DEL 2 -#define EPOLL_CTL_MOD 3 - -#ifdef __cplusplus -extern "C" { -#endif - -typedef union epoll_data { - void *ptr; - int fd; - uint32_t u32; - uint64_t u64; -} epoll_data_t; - -struct epoll_event { - uint32_t events; - epoll_data_t data; -} -#ifdef __x86_64__ -__attribute__((__packed__)) -#endif -; - -#ifndef __MLIBC_ABI_ONLY - -int epoll_create(int); -int epoll_create1(int); -int epoll_ctl(int, int, int, struct epoll_event *); -int epoll_wait(int, struct epoll_event *, int, int); -int epoll_pwait(int, struct epoll_event *, int, int, const sigset_t *); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_EPOLL_H diff --git a/lib/mlibc/options/linux/include/sys/eventfd.h b/lib/mlibc/options/linux/include/sys/eventfd.h deleted file mode 100644 index 454a8c1..0000000 --- a/lib/mlibc/options/linux/include/sys/eventfd.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _SYS_EVENTFD_H -#define _SYS_EVENTFD_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdint.h> -#include <fcntl.h> - -typedef uint64_t eventfd_t; - -#define EFD_SEMAPHORE 1 -#define EFD_CLOEXEC O_CLOEXEC -#define EFD_NONBLOCK O_NONBLOCK - -#ifndef __MLIBC_ABI_ONLY - -int eventfd(unsigned int, int); -int eventfd_read(int, eventfd_t *); -int eventfd_write(int, eventfd_t); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_EVENTFD_H diff --git a/lib/mlibc/options/linux/include/sys/fsuid.h b/lib/mlibc/options/linux/include/sys/fsuid.h deleted file mode 100644 index 9df9efc..0000000 --- a/lib/mlibc/options/linux/include/sys/fsuid.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _SYS_FSUID_H -#define _SYS_FSUID_H - -#include <abi-bits/uid_t.h> -#include <abi-bits/gid_t.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __MLIBC_ABI_ONLY - -int setfsuid(uid_t uid); -int setfsgid(gid_t gid); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_FSUID_H diff --git a/lib/mlibc/options/linux/include/sys/inotify.h b/lib/mlibc/options/linux/include/sys/inotify.h deleted file mode 100644 index 3c48403..0000000 --- a/lib/mlibc/options/linux/include/sys/inotify.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef _SYS_INOTIFY_H -#define _SYS_INOTIFY_H - -#include <stdint.h> -#include <abi-bits/fcntl.h> -#include <abi-bits/inotify.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#define IN_ACCESS 0x1 -#define IN_ATTRIB 0x4 -#define IN_CLOSE_WRITE 0x8 -#define IN_CLOSE_NOWRITE 0x10 -#define IN_CREATE 0x100 -#define IN_DELETE 0x200 -#define IN_DELETE_SELF 0x400 -#define IN_MODIFY 0x2 -#define IN_MOVE_SELF 0x800 -#define IN_MOVED_FROM 0x40 -#define IN_MOVED_TO 0x80 -#define IN_OPEN 0x20 -#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) -#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) -#define IN_DONT_FOLLOW 0x2000000 -#define IN_EXCL_UNLINK 0x4000000 -#define IN_MASK_ADD 0x20000000 -#define IN_ONESHOT 0x80000000 -#define IN_ONLYDIR 0x1000000 -#define IN_IGNORED 0x8000 -#define IN_ISDIR 0x40000000 -#define IN_Q_OVERFLOW 0x4000 -#define IN_UNMOUNT 0x2000 - -#define IN_ALL_EVENTS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \ - IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \ - IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF | \ - IN_MOVE_SELF) - -struct inotify_event { - int wd; - unsigned int mask; - unsigned int cookie; - unsigned int len; - char name[]; -}; - -#ifndef __MLIBC_ABI_ONLY - -int inotify_init(void); -int inotify_init1(int); -int inotify_add_watch(int, const char *, uint32_t); -int inotify_rm_watch(int, int); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif //_SYS_INOTIFY_H - diff --git a/lib/mlibc/options/linux/include/sys/klog.h b/lib/mlibc/options/linux/include/sys/klog.h deleted file mode 100644 index 520bdd1..0000000 --- a/lib/mlibc/options/linux/include/sys/klog.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _SYS_KLOG_H -#define _SYS_KLOG_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __MLIBC_ABI_ONLY - -int klogctl(int type, char *bufp, int len); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif /* _SYS_KLOG_H */ diff --git a/lib/mlibc/options/linux/include/sys/mount.h b/lib/mlibc/options/linux/include/sys/mount.h deleted file mode 100644 index 2486128..0000000 --- a/lib/mlibc/options/linux/include/sys/mount.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef _SYS_MOUNT_H -#define _SYS_MOUNT_H - -#include <asm/ioctl.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#define MS_RDONLY 1 -#define MS_NOSUID 2 -#define MS_NODEV 4 -#define MS_NOEXEC 8 -#define MS_SYNCHRONOUS 16 -#define MS_REMOUNT 32 -#define MS_MANDLOCK 64 -#define MS_DIRSYNC 128 -#define MS_NOSYMFOLLOW 256 -#define MS_NOATIME 1024 -#define MS_NODIRATIME 2048 -#define MS_BIND 4096 -#define MS_MOVE 8192 -#define MS_REC 16384 -#define MS_SILENT 32768 -#define MS_POSIXACL (1 << 16) -#define MS_UNBINDABLE (1 << 17) -#define MS_PRIVATE (1 << 18) -#define MS_SLAVE (1 << 19) -#define MS_SHARED (1 << 20) -#define MS_RELATIME (1 << 21) -#define MS_KERNMOUNT (1 << 22) -#define MS_I_VERSION (1 << 23) -#define MS_STRICTATIME (1 << 24) -#define MS_LAZYTIME (1 << 25) -#define MS_NOREMOTELOCK (1 << 27) -#define MS_NOSEC (1 << 28) -#define MS_BORN (1 << 29) -#define MS_ACTIVE (1 << 30) -#define MS_NOUSER (1 << 31) - -#define MNT_FORCE 1 -#define MNT_DETACH 2 -#define MNT_EXPIRE 4 -#define UMOUNT_NOFOLLOW 8 - -#undef BLKROSET -#define BLKROSET _IO(0x12, 93) -#undef BLKROGET -#define BLKROGET _IO(0x12, 94) -#undef BLKRRPART -#define BLKRRPART _IO(0x12, 95) -#undef BLKGETSIZE -#define BLKGETSIZE _IO(0x12, 96) -#undef BLKFLSBUF -#define BLKFLSBUF _IO(0x12, 97) -#undef BLKRASET -#define BLKRASET _IO(0x12, 98) -#undef BLKRAGET -#define BLKRAGET _IO(0x12, 99) -#undef BLKFRASET -#define BLKFRASET _IO(0x12, 100) -#undef BLKFRAGET -#define BLKFRAGET _IO(0x12, 101) -#undef BLKSECTSET -#define BLKSECTSET _IO(0x12, 102) -#undef BLKSECTGET -#define BLKSECTGET _IO(0x12, 103) -#undef BLKSSZGET -#define BLKSSZGET _IO(0x12, 104) -#undef BLKBSZGET -#define BLKBSZGET _IOR(0x12, 112, size_t) -#undef BLKBSZSET -#define BLKBSZSET _IOW(0x12, 113, size_t) -#undef BLKGETSIZE64 -#define BLKGETSIZE64 _IOR(0x12, 114, size_t) - -#ifndef __MLIBC_ABI_ONLY - -int mount(const char *source, const char *target, - const char *fstype, unsigned long flags, const void *data); -int umount(const char *target); -int umount2(const char *target, int flags); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_MOUNT_H diff --git a/lib/mlibc/options/linux/include/sys/prctl.h b/lib/mlibc/options/linux/include/sys/prctl.h deleted file mode 100644 index de987c1..0000000 --- a/lib/mlibc/options/linux/include/sys/prctl.h +++ /dev/null @@ -1,128 +0,0 @@ - -#ifndef _SYS_PRCTL_H -#define _SYS_PRCTL_H - -#include <stdint.h> - -#define PR_SET_PDEATHSIG 1 -#define PR_GET_PDEATHSIG 2 -#define PR_GET_DUMPABLE 3 -#define PR_SET_DUMPABLE 4 -#define PR_GET_UNALIGN 5 -#define PR_SET_UNALIGN 6 -#define PR_UNALIGN_NOPRINT 1 -#define PR_UNALIGN_SIGBUS 2 -#define PR_GET_KEEPCAPS 7 -#define PR_SET_KEEPCAPS 8 -#define PR_GET_FPEMU 9 -#define PR_SET_FPEMU 10 -#define PR_FPEMU_NOPRINT 1 -#define PR_FPEMU_SIGFPE 2 -#define PR_GET_FPEXC 11 -#define PR_SET_FPEXC 12 -#define PR_FP_EXC_SW_ENABLE 0x80 -#define PR_FP_EXC_DIV 0x010000 -#define PR_FP_EXC_OVF 0x020000 -#define PR_FP_EXC_UND 0x040000 -#define PR_FP_EXC_RES 0x080000 -#define PR_FP_EXC_INV 0x100000 -#define PR_FP_EXC_DISABLED 0 -#define PR_FP_EXC_NONRECOV 1 -#define PR_FP_EXC_ASYNC 2 -#define PR_FP_EXC_PRECISE 3 -#define PR_GET_TIMING 13 -#define PR_SET_TIMING 14 -#define PR_TIMING_STATISTICAL 0 -#define PR_TIMING_TIMESTAMP 1 -#define PR_SET_NAME 15 -#define PR_GET_NAME 16 -#define PR_GET_ENDIAN 19 -#define PR_SET_ENDIAN 20 -#define PR_ENDIAN_BIG 0 -#define PR_ENDIAN_LITTLE 1 -#define PR_ENDIAN_PPC_LITTLE 2 -#define PR_GET_SECCOMP 21 -#define PR_SET_SECCOMP 22 -#define PR_CAPBSET_READ 23 -#define PR_CAPBSET_DROP 24 -#define PR_GET_TSC 25 -#define PR_SET_TSC 26 -#define PR_TSC_ENABLE 1 -#define PR_TSC_SIGSEGV 2 -#define PR_GET_SECUREBITS 27 -#define PR_SET_SECUREBITS 28 -#define PR_SET_TIMERSLACK 29 -#define PR_GET_TIMERSLACK 30 - -#define PR_TASK_PERF_EVENTS_DISABLE 31 -#define PR_TASK_PERF_EVENTS_ENABLE 32 - -#define PR_MCE_KILL 33 -#define PR_MCE_KILL_CLEAR 0 -#define PR_MCE_KILL_SET 1 -#define PR_MCE_KILL_LATE 0 -#define PR_MCE_KILL_EARLY 1 -#define PR_MCE_KILL_DEFAULT 2 -#define PR_MCE_KILL_GET 34 - -#define PR_SET_MM 35 -#define PR_SET_MM_START_CODE 1 -#define PR_SET_MM_END_CODE 2 -#define PR_SET_MM_START_DATA 3 -#define PR_SET_MM_END_DATA 4 -#define PR_SET_MM_START_STACK 5 -#define PR_SET_MM_START_BRK 6 -#define PR_SET_MM_BRK 7 -#define PR_SET_MM_ARG_START 8 -#define PR_SET_MM_ARG_END 9 -#define PR_SET_MM_ENV_START 10 -#define PR_SET_MM_ENV_END 11 -#define PR_SET_MM_AUXV 12 -#define PR_SET_MM_EXE_FILE 13 -#define PR_SET_MM_MAP 14 -#define PR_SET_MM_MAP_SIZE 15 - -#define PR_SET_PTRACER 0x59616d61 -#define PR_SET_PTRACER_ANY (-1UL) - -#define PR_SET_CHILD_SUBREAPER 36 -#define PR_GET_CHILD_SUBREAPER 37 - -#define PR_SET_NO_NEW_PRIVS 38 -#define PR_GET_NO_NEW_PRIVS 39 - -#define PR_GET_TID_ADDRESS 40 - -#define PR_SET_THP_DISABLE 41 -#define PR_GET_THP_DISABLE 42 - -#define PR_MPX_ENABLE_MANAGEMENT 43 -#define PR_MPX_DISABLE_MANAGEMENT 44 - -#define PR_SET_FP_MODE 45 -#define PR_GET_FP_MODE 46 -#define PR_FP_MODE_FR (1 << 0) -#define PR_FP_MODE_FRE (1 << 1) - -#define PR_CAP_AMBIENT 47 -#define PR_CAP_AMBIENT_IS_SET 1 -#define PR_CAP_AMBIENT_RAISE 2 -#define PR_CAP_AMBIENT_LOWER 3 -#define PR_CAP_AMBIENT_CLEAR_ALL 4 - -#ifndef __MLIBC_ABI_ONLY - -#ifdef __cplusplus -extern "C" { -#endif - -int prctl (int, ...); - -#ifdef __cplusplus -} -#endif - -#endif /* !__MLIBC_ABI_ONLY */ - -#endif // _SYS_PRCTL_H - diff --git a/lib/mlibc/options/linux/include/sys/ptrace.h b/lib/mlibc/options/linux/include/sys/ptrace.h deleted file mode 100644 index e98d38a..0000000 --- a/lib/mlibc/options/linux/include/sys/ptrace.h +++ /dev/null @@ -1,55 +0,0 @@ - -#ifndef _SYS_PTRACE_H -#define _SYS_PTRACE_H - -#include <abi-bits/ptrace.h> -#include <stdint.h> - -#define PTRACE_TRACEME 0 -#define PT_TRACE_ME PTRACE_TRACEME - -#define PT_READ_I PTRACE_PEEKTEXT -#define PT_READ_D PTRACE_PEEKDATA -#define PT_READ_U PTRACE_PEEKUSER -#define PT_WRITE_I PTRACE_POKETEXT -#define PT_WRITE_D PTRACE_POKEDATA -#define PT_WRITE_U PTRACE_POKEUSER -#define PT_CONTINUE PTRACE_CONT -#define PT_KILL PTRACE_KILL -#define PT_STEP PTRACE_SINGLESTEP -#define PT_GETREGS PTRACE_GETREGS -#define PT_SETREGS PTRACE_SETREGS -#define PT_GETFPREGS PTRACE_GETFPREGS -#define PT_SETFPREGS PTRACE_SETFPREGS -#define PT_ATTACH PTRACE_ATTACH -#define PT_DETACH PTRACE_DETACH -#define PT_GETFPXREGS PTRACE_GETFPXREGS -#define PT_SETFPXREGS PTRACE_SETFPXREGS -#define PT_SYSCALL PTRACE_SYSCALL -#define PT_SETOPTIONS PTRACE_SETOPTIONS -#define PT_GETEVENTMSG PTRACE_GETEVENTMSG -#define PT_GETSIGINFO PTRACE_GETSIGINFO -#define PT_SETSIGINFO PTRACE_SETSIGINFO - -#ifdef __cplusplus -extern "C" { -#endif - -struct ptrace_peeksiginfo_args { - uint64_t offset; - uint32_t flags; - int32_t nr; -}; - -#ifndef __MLIBC_ABI_ONLY - -long ptrace(int, ...); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_PTRACE_H - diff --git a/lib/mlibc/options/linux/include/sys/quota.h b/lib/mlibc/options/linux/include/sys/quota.h deleted file mode 100644 index f668d9b..0000000 --- a/lib/mlibc/options/linux/include/sys/quota.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef _SYS_QUOTA_H -#define _SYS_QUOTA_H - -#include <sys/types.h> - -#define SUBCMDMASK 0x00ff -#define SUBCMDSHIFT 8 -#define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK)) - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __MLIBC_ABI_ONLY - -int quotactl(int cmd, const char *special, int id, caddr_t addr); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_QUOTA_H diff --git a/lib/mlibc/options/linux/include/sys/random.h b/lib/mlibc/options/linux/include/sys/random.h deleted file mode 100644 index 0b24b74..0000000 --- a/lib/mlibc/options/linux/include/sys/random.h +++ /dev/null @@ -1,26 +0,0 @@ - -#ifndef _SYS_RANDOM_H -#define _SYS_RANDOM_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define GRND_RANDOM 1 -#define GRND_NONBLOCK 2 - -#include <bits/ssize_t.h> -#include <bits/size_t.h> - -#ifndef __MLIBC_ABI_ONLY - -ssize_t getrandom(void *, size_t, unsigned int); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif //_SYS_RANDOM_H - diff --git a/lib/mlibc/options/linux/include/sys/reboot.h b/lib/mlibc/options/linux/include/sys/reboot.h deleted file mode 100644 index 6c4e495..0000000 --- a/lib/mlibc/options/linux/include/sys/reboot.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef MLIBC_SYS_REBOOT_H -#define MLIBC_SYS_REBOOT_H - -#include <abi-bits/reboot.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __MLIBC_ABI_ONLY - -int reboot(int arg); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // MLIBC_SYS_REBOOT_H diff --git a/lib/mlibc/options/linux/include/sys/sendfile.h b/lib/mlibc/options/linux/include/sys/sendfile.h deleted file mode 100644 index 32b17ce..0000000 --- a/lib/mlibc/options/linux/include/sys/sendfile.h +++ /dev/null @@ -1,22 +0,0 @@ - -#ifndef _SYS_SENDFILE_H_ -#define _SYS_SENDFILE_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <unistd.h> - -#ifndef __MLIBC_ABI_ONLY - -ssize_t sendfile(int, int, off_t *, size_t); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_SENDFILE_H_ - diff --git a/lib/mlibc/options/linux/include/sys/signalfd.h b/lib/mlibc/options/linux/include/sys/signalfd.h deleted file mode 100644 index adf7c1b..0000000 --- a/lib/mlibc/options/linux/include/sys/signalfd.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _SYS_SIGNALFD_H -#define _SYS_SIGNALFD_H - -// TODO: Define sigset separately and remove this include. -#include <signal.h> -// musl includes those. Restructure this so we do not need them? -#include <stdint.h> -#include <fcntl.h> - -#define SFD_CLOEXEC O_CLOEXEC -#define SFD_NONBLOCK O_NONBLOCK - -#ifdef __cplusplus -extern "C" { -#endif - -struct signalfd_siginfo { - uint32_t ssi_signo; - int32_t ssi_errno; - int32_t ssi_code; - uint32_t ssi_pid; - uint32_t ssi_uid; - int32_t ssi_fd; - uint32_t ssi_tid; - uint32_t ssi_band; - uint32_t ssi_overrun; - uint32_t ssi_trapno; - int32_t ssi_status; - int32_t ssi_int; - uint64_t ssi_ptr; - uint64_t ssi_utime; - uint64_t ssi_stime; - uint64_t ssi_addr; - uint16_t ssi_addr_lsb; - uint8_t pad[128-12*4-4*8-2]; -}; - -#ifndef __MLIBC_ABI_ONLY - -int signalfd(int, const sigset_t *, int); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_SIGNALFD_H diff --git a/lib/mlibc/options/linux/include/sys/statfs.h b/lib/mlibc/options/linux/include/sys/statfs.h deleted file mode 100644 index 07ae693..0000000 --- a/lib/mlibc/options/linux/include/sys/statfs.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _SYS_STATFS_H -#define _SYS_STATFS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <abi-bits/statfs.h> - -#ifndef __MLIBC_ABI_ONLY - -int statfs(const char *, struct statfs *); -int fstatfs(int, struct statfs *); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_STATFS_H - diff --git a/lib/mlibc/options/linux/include/sys/swap.h b/lib/mlibc/options/linux/include/sys/swap.h deleted file mode 100644 index 79e89c6..0000000 --- a/lib/mlibc/options/linux/include/sys/swap.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef _SYS_SWAP_H -#define _SYS_SWAP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define SWAP_FLAG_PREFER 0x8000 -#define SWAP_FLAG_PRIO_MASK 0x7fff -#define SWAP_FLAG_PRIO_SHIFT 0 -#define SWAP_FLAG_DISCARD 0x10000 - -#ifndef __MLIBC_ABI_ONLY - -int swapon(const char *, int); -int swapoff(const char *); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif /* _SYS_SWAP_H */ diff --git a/lib/mlibc/options/linux/include/sys/sysinfo.h b/lib/mlibc/options/linux/include/sys/sysinfo.h deleted file mode 100644 index 917f861..0000000 --- a/lib/mlibc/options/linux/include/sys/sysinfo.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _SYS_SYSINFO_H -#define _SYS_SYSINFO_H - -#ifdef __cplusplus -extern "C" { -#endif - -struct sysinfo { - long uptime; - unsigned long loads[3]; - unsigned long totalram; - unsigned long freeram; - unsigned long sharedram; - unsigned long bufferram; - unsigned long totalswap; - unsigned long freeswap; - unsigned short procs; - unsigned long totalhigh; - unsigned long freehigh; - unsigned int mem_unit; - char _f[20 - 2 * sizeof(long) - sizeof(int)]; // Padding to 64 bytes according to my man page -}; - -#ifndef __MLIBC_ABI_ONLY - -int sysinfo(struct sysinfo *); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_SYSINFO_H diff --git a/lib/mlibc/options/linux/include/sys/sysmacros.h b/lib/mlibc/options/linux/include/sys/sysmacros.h deleted file mode 100644 index 230858b..0000000 --- a/lib/mlibc/options/linux/include/sys/sysmacros.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _SYS_SYSMACROS_H -#define _SYS_SYSMACROS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <bits/inline-definition.h> - -__MLIBC_INLINE_DEFINITION unsigned int __mlibc_dev_major( - unsigned long long int __dev) { - return ((__dev >> 8) & 0xfff) | ((unsigned int)(__dev >> 32) & ~0xfff); -} - -__MLIBC_INLINE_DEFINITION unsigned int __mlibc_dev_minor( - unsigned long long int __dev) { - return (__dev & 0xff) | ((unsigned int)(__dev >> 12) & ~0xff); -} - -__MLIBC_INLINE_DEFINITION unsigned long long int __mlibc_dev_makedev( - unsigned int __major, unsigned int __minor) { - return ((__minor & 0xff) | ((__major & 0xfff) << 8) - | (((unsigned long long int)(__minor & ~0xff)) << 12) - | (((unsigned long long int)(__major & ~0xfff)) << 32)); -} - -#define major(dev) __mlibc_dev_major(dev) -#define minor(dev) __mlibc_dev_minor(dev) -#define makedev(major, minor) __mlibc_dev_makedev(major, minor) - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_SYSMACROS_H diff --git a/lib/mlibc/options/linux/include/sys/timerfd.h b/lib/mlibc/options/linux/include/sys/timerfd.h deleted file mode 100644 index b8a2932..0000000 --- a/lib/mlibc/options/linux/include/sys/timerfd.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _SYS_TIMERFD_H -#define _SYS_TIMERFD_H - -// musl includes those. Refactor and remove them? -#include <time.h> -#include <fcntl.h> - -#define TFD_NONBLOCK O_NONBLOCK -#define TFD_CLOEXEC O_CLOEXEC - -#define TFD_TIMER_ABSTIME 1 -#define TFD_TIMER_CANCEL_ON_SET (1 << 1) - -#ifdef __cplusplus -extern "C" { -#endif - -struct itimerspec; - -#ifndef __MLIBC_ABI_ONLY - -int timerfd_create(int, int); -int timerfd_settime(int, int, const struct itimerspec *, struct itimerspec *); -int timerfd_gettime(int, struct itimerspec *); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_TIMERFD_H diff --git a/lib/mlibc/options/linux/include/sys/vfs.h b/lib/mlibc/options/linux/include/sys/vfs.h deleted file mode 100644 index 61a6aa3..0000000 --- a/lib/mlibc/options/linux/include/sys/vfs.h +++ /dev/null @@ -1,16 +0,0 @@ - -#ifndef _SYS_VFS_H -#define _SYS_VFS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <sys/statfs.h> - -#ifdef __cplusplus -} -#endif - -#endif // _SYS_VFS_H - diff --git a/lib/mlibc/options/linux/include/sys/vt.h b/lib/mlibc/options/linux/include/sys/vt.h deleted file mode 100644 index d9dfbd9..0000000 --- a/lib/mlibc/options/linux/include/sys/vt.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _SYS_VT_H -#define _SYS_VT_H - -#include <abi-bits/vt.h> - -#endif // _SYS_VT_H diff --git a/lib/mlibc/options/linux/include/sys/xattr.h b/lib/mlibc/options/linux/include/sys/xattr.h deleted file mode 100644 index e54c58c..0000000 --- a/lib/mlibc/options/linux/include/sys/xattr.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _MLIBC_LINUX_SYS_XATTR_H -#define _MLIBC_LINUX_SYS_XATTR_H - -#include <sys/types.h> -#include <abi-bits/xattr.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __MLIBC_ABI_ONLY - -int setxattr(const char *path, const char *name, const void *val, size_t size, - int flags); -int lsetxattr(const char *path, const char *name, const void *val, size_t size, - int flags); -int fsetxattr(int fd, const char *name, const void *val, size_t size, - int flags); - -ssize_t getxattr(const char *path, const char *name, void *val, size_t size); -ssize_t lgetxattr(const char *path, const char *name, void *val, size_t size); -ssize_t fgetxattr(int fd, const char *name, void *val, size_t size); - -ssize_t listxattr(const char *path, char *list, size_t size); -ssize_t llistxattr(const char *path, char *list, size_t size); -ssize_t flistxattr(int fd, char *list, size_t size); - -int removexattr(const char *path, const char *name); -int lremovexattr(const char *path, const char *name); -int fremovexattr(int fd, const char *name); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif /* _MLIBC_LINUX_SYS_XATTR_H */ diff --git a/lib/mlibc/options/linux/include/utmp.h b/lib/mlibc/options/linux/include/utmp.h deleted file mode 100644 index e83d7a5..0000000 --- a/lib/mlibc/options/linux/include/utmp.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef _UTMP_H -#define _UTMP_H - -#include <abi-bits/pid_t.h> -#include <bits/posix/timeval.h> -#include <bits/types.h> -#include <paths.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#define EMPTY 0 -#define RUN_LVL 1 -#define BOOT_TIME 2 -#define NEW_TIME 3 -#define OLD_TIME 4 -#define INIT_PROCESS 5 -#define LOGIN_PROCESS 6 -#define USER_PROCESS 7 -#define DEAD_PROCESS 8 -#define ACCOUNTING 9 - -#define UT_LINESIZE 32 -#define UT_NAMESIZE 32 -#define UT_HOSTSIZE 256 - -#define WTMP_FILE _PATH_WTMP -#define WTMP_FILENAME _PATH_WTMP - -#define UTMP_FILE _PATH_UTMP -#define UTMP_FILENAME _PATH_UTMP - -struct exit_status { - short int e_termination; - short int e_exit; -}; - -struct utmp { - short ut_type; - pid_t ut_pid; - char ut_line[UT_LINESIZE]; - char ut_id[4]; - char ut_user[UT_NAMESIZE]; - char ut_host[UT_HOSTSIZE]; - struct exit_status ut_exit; - long ut_session; - struct timeval ut_tv; - __mlibc_int32 ut_addr_v6[4]; - char __unused[20]; -}; - -struct lastlog { - time_t ll_time; - char ll_line[UT_LINESIZE]; - char ll_host[UT_HOSTSIZE]; -}; - -/* Hacks for compability reasons */ -#define ut_name ut_user -#ifndef _NO_UT_TIME -#define ut_time ut_tv.tv_sec -#endif -#define ut_xtime ut_tv.tv_sec -#define ut_addr ut_addr_v6[0] - -#ifndef __MLIBC_ABI_ONLY - -void setutent(void); -struct utmp *getutent(void); -int getutent_r(struct utmp *, struct utmp **); -void endutent(void); -struct utmp *pututline(const struct utmp *); -struct utmp *getutline(const struct utmp *); -struct utmp *getutid(const struct utmp *); -int utmpname(const char *); - -#endif /* !__MLIBC_ABI_ONLY */ - -#ifdef __cplusplus -} -#endif - -#endif // _UTMP_H diff --git a/lib/mlibc/options/linux/include/utmpx.h b/lib/mlibc/options/linux/include/utmpx.h deleted file mode 100644 index 32629dd..0000000 --- a/lib/mlibc/options/linux/include/utmpx.h +++ /dev/null @@ -1,68 +0,0 @@ - -#ifndef _UTMPX_H -#define _UTMPX_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <abi-bits/pid_t.h> -#include <bits/posix/timeval.h> - -// Struct definition taken from musl -struct utmpx { - short ut_type; - short __ut_pad1; - pid_t ut_pid; - char ut_line[32]; - char ut_id[4]; - char ut_user[32]; - char ut_host[256]; - struct { - short __e_termination; - short __e_exit; - } ut_exit; - int ut_session, __ut_pad2; - struct timeval ut_tv; - unsigned ut_addr_v6[4]; - char __unused[20]; -}; - -#define e_exit __e_exit -#define e_termination __e_termination - -#ifndef __MLIBC_ABI_ONLY - -void updwtmpx(const char *, const struct utmpx *); -int utmpxname(const char *); -struct utmpx *pututxline(const struct utmpx *); -struct utmpx *getutxent(void); -struct utmpx *getutxid(const struct utmpx *id); -void setutxent(void); -void endutxent(void); - -#endif /* !__MLIBC_ABI_ONLY */ - -#define EMPTY 0 -#define RUN_LVL 1 -#define BOOT_TIME 2 -#define NEW_TIME 3 -#define OLD_TIME 4 -#define INIT_PROCESS 5 -#define LOGIN_PROCESS 6 -#define USER_PROCESS 7 -#define DEAD_PROCESS 8 - -#ifdef _GNU_SOURCE -#define ACCOUNTING 9 -#endif - -#define __UT_HOSTSIZE 256 -#define __UT_NAMESIZE 32 -#define __UT_LINESIZE 32 - -#ifdef __cplusplus -} -#endif - -#endif // _UTMPX_H diff --git a/lib/mlibc/options/linux/include/values.h b/lib/mlibc/options/linux/include/values.h deleted file mode 100644 index 55a50cd..0000000 --- a/lib/mlibc/options/linux/include/values.h +++ /dev/null @@ -1,39 +0,0 @@ - -#ifndef _VALUES_H -#define _VALUES_H - -#include <limits.h> -#include <float.h> - -#define CHARBITS (sizeof(char) * 8) -#define SHORTBITS (sizeof(short) * 8) -#define INTBITS (sizeof(int) * 8) -#define LONGBITS (sizeof(long) * 8) -#define PTRBITS (sizeof(char *) * 8) -#define DOUBLEBITS (sizeof(double) * 8) -#define FLOATBITS (sizeof(float) * 8) - -#define MINSHORT SHRT_MIN -#define MININT INT_MIN -#define MINLONG LONG_MIN - -#define MAXSHORT SHRT_MAX -#define MAXINT INT_MAX -#define MAXLONG LONG_MAX - -#define HIBITS MINSHORT -#define HIBITL MINLONG - -#define MAXDOUBLE DBL_MAX -#define MAXFLOAT FLT_MAX -#define MINDOUBLE DBL_MIN -#define MINFLOAT FLT_MIN -#define DMINEXP DBL_MIN_EXP -#define FMINEXP FLT_MIN_EXP -#define DMAXEXP DBL_MAX_EXP -#define FMAXEXP FLT_MAX_EXP - -#define BITSPERBYTE CHAR_BIT - -#endif // _VALUES_H - diff --git a/lib/mlibc/options/linux/meson.build b/lib/mlibc/options/linux/meson.build deleted file mode 100644 index eb8fefc..0000000 --- a/lib/mlibc/options/linux/meson.build +++ /dev/null @@ -1,96 +0,0 @@ - -if disable_linux_option - subdir_done() -endif -libc_sources += files( - 'generic/mntent-stubs.cpp', - 'generic/pty-stubs.cpp', - 'generic/sys-epoll.cpp', - 'generic/sys-inotify-stubs.cpp', - 'generic/sys-mount.cpp', - 'generic/sys-prctl-stubs.cpp', - 'generic/sys-ptrace-stubs.cpp', - 'generic/sys-random-stubs.cpp', - 'generic/sys-sendfile-stubs.cpp', - 'generic/sys-signalfd.cpp', - 'generic/sys-timerfd.cpp', - 'generic/sys-eventfd.cpp', - 'generic/sys-reboot.cpp', - 'generic/sys-xattr.cpp', - 'generic/utmp-stubs.cpp', - 'generic/utmpx.cpp', - 'generic/linux-unistd.cpp', - 'generic/malloc.cpp', - 'generic/sys-fsuid.cpp', - 'generic/ifaddrs.cpp', - 'generic/sys-sysinfo.cpp', - 'generic/module.cpp', - 'generic/sys-klog.cpp', - 'generic/sched.cpp', - 'generic/sys-quota.cpp', - 'generic/capabilities.cpp', - 'generic/cpuset.cpp', - 'generic/sys-swap.cpp', - 'generic/sys-statfs-stubs.cpp', -) - -if not no_headers - install_headers( - 'include/ifaddrs.h', - 'include/malloc.h', - 'include/memory.h', - 'include/mntent.h', - 'include/pty.h', - 'include/utmp.h', - 'include/utmpx.h', - 'include/values.h', - 'include/lastlog.h', - 'include/module.h', - ) - install_headers( - 'include/bits/linux/linux_unistd.h', - 'include/bits/linux/linux_sched.h', - 'include/bits/linux/cpu_set.h', - subdir: 'bits/linux' - ) - install_headers( - 'include/netpacket/packet.h', - subdir: 'netpacket' - ) - # libc provides these, not the kernel, so the Linux option shall provide them too. - install_headers( - 'include/scsi/scsi.h', - 'include/scsi/scsi_ioctl.h', - 'include/scsi/sg.h', - subdir: 'scsi' - ) - install_headers( - 'include/sys/epoll.h', - 'include/sys/inotify.h', - 'include/sys/mount.h', - 'include/sys/prctl.h', - 'include/sys/ptrace.h', - 'include/sys/random.h', - 'include/sys/sendfile.h', - 'include/sys/signalfd.h', - 'include/sys/sysmacros.h', - 'include/sys/timerfd.h', - 'include/sys/eventfd.h', - 'include/sys/reboot.h', - 'include/sys/fsuid.h', - 'include/sys/vt.h', - 'include/sys/sysinfo.h', - 'include/sys/klog.h', - 'include/sys/xattr.h', - 'include/sys/quota.h', - 'include/sys/swap.h', - 'include/sys/statfs.h', - 'include/sys/vfs.h', - subdir: 'sys' - ) - install_headers( - 'include/linux/libc-compat.h', - subdir: 'linux' - ) -endif - |