summaryrefslogtreecommitdiff
path: root/include/arch/x86_64/linux/patchkey.h
diff options
context:
space:
mode:
authorKacper <kacper@mail.openlinux.dev>2025-12-07 20:10:31 +0100
committerKacper <kacper@mail.openlinux.dev>2025-12-07 20:10:31 +0100
commitfc00c656c96528112d05cf0edf8631bd5eaea446 (patch)
treea6e0e6c588191a8bd1c64afc3b7a258e3e66c236 /include/arch/x86_64/linux/patchkey.h
Add build system scaffolding and libc headers
Diffstat (limited to 'include/arch/x86_64/linux/patchkey.h')
-rw-r--r--include/arch/x86_64/linux/patchkey.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/arch/x86_64/linux/patchkey.h b/include/arch/x86_64/linux/patchkey.h
new file mode 100644
index 00000000..b54be36f
--- /dev/null
+++ b/include/arch/x86_64/linux/patchkey.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * <linux/patchkey.h> -- definition of _PATCHKEY macro
+ *
+ * Copyright (C) 2005 Stuart Brady
+ *
+ * This exists because awe_voice.h defined its own _PATCHKEY and it wasn't
+ * clear whether removing this would break anything in userspace.
+ *
+ * Do not include this file directly. Please use <sys/soundcard.h> instead.
+ * For kernel code, use <linux/soundcard.h>
+ */
+
+#ifndef _LINUX_PATCHKEY_H_INDIRECT
+#error "patchkey.h included directly"
+#endif
+
+#ifndef _LINUX_PATCHKEY_H
+#define _LINUX_PATCHKEY_H
+
+/* Endian macros. */
+#include <endian.h>
+
+#if defined(__BYTE_ORDER)
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define _PATCHKEY(id) (0xfd00 | id)
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
+#define _PATCHKEY(id) ((id << 8) | 0x00fd)
+#else
+#error "could not determine byte order"
+#endif
+#endif
+
+#endif /* _LINUX_PATCHKEY_H */