From fc00c656c96528112d05cf0edf8631bd5eaea446 Mon Sep 17 00:00:00 2001 From: Kacper Date: Sun, 7 Dec 2025 20:10:31 +0100 Subject: Add build system scaffolding and libc headers --- include/arch/x86_64/linux/ntsync.h | 59 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 include/arch/x86_64/linux/ntsync.h (limited to 'include/arch/x86_64/linux/ntsync.h') diff --git a/include/arch/x86_64/linux/ntsync.h b/include/arch/x86_64/linux/ntsync.h new file mode 100644 index 00000000..6761a08a --- /dev/null +++ b/include/arch/x86_64/linux/ntsync.h @@ -0,0 +1,59 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Kernel support for NT synchronization primitive emulation + * + * Copyright (C) 2021-2022 Elizabeth Figura + */ + +#ifndef __LINUX_NTSYNC_H +#define __LINUX_NTSYNC_H + +#include + +struct ntsync_sem_args { + __u32 count; + __u32 max; +}; + +struct ntsync_mutex_args { + __u32 owner; + __u32 count; +}; + +struct ntsync_event_args { + __u32 manual; + __u32 signaled; +}; + +#define NTSYNC_WAIT_REALTIME 0x1 + +struct ntsync_wait_args { + __u64 timeout; + __u64 objs; + __u32 count; + __u32 index; + __u32 flags; + __u32 owner; + __u32 alert; + __u32 pad; +}; + +#define NTSYNC_MAX_WAIT_COUNT 64 + +#define NTSYNC_IOC_CREATE_SEM _IOW('N', 0x80, struct ntsync_sem_args) +#define NTSYNC_IOC_WAIT_ANY _IOWR('N', 0x82, struct ntsync_wait_args) +#define NTSYNC_IOC_WAIT_ALL _IOWR('N', 0x83, struct ntsync_wait_args) +#define NTSYNC_IOC_CREATE_MUTEX _IOW('N', 0x84, struct ntsync_mutex_args) +#define NTSYNC_IOC_CREATE_EVENT _IOW('N', 0x87, struct ntsync_event_args) + +#define NTSYNC_IOC_SEM_RELEASE _IOWR('N', 0x81, __u32) +#define NTSYNC_IOC_MUTEX_UNLOCK _IOWR('N', 0x85, struct ntsync_mutex_args) +#define NTSYNC_IOC_MUTEX_KILL _IOW('N', 0x86, __u32) +#define NTSYNC_IOC_EVENT_SET _IOR('N', 0x88, __u32) +#define NTSYNC_IOC_EVENT_RESET _IOR('N', 0x89, __u32) +#define NTSYNC_IOC_EVENT_PULSE _IOR('N', 0x8a, __u32) +#define NTSYNC_IOC_SEM_READ _IOR('N', 0x8b, struct ntsync_sem_args) +#define NTSYNC_IOC_MUTEX_READ _IOR('N', 0x8c, struct ntsync_mutex_args) +#define NTSYNC_IOC_EVENT_READ _IOR('N', 0x8d, struct ntsync_event_args) + +#endif -- cgit v1.2.3