summaryrefslogtreecommitdiff
path: root/include/arch/x86_64/linux/atmapi.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/atmapi.h
Add build system scaffolding and libc headers
Diffstat (limited to 'include/arch/x86_64/linux/atmapi.h')
-rw-r--r--include/arch/x86_64/linux/atmapi.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/arch/x86_64/linux/atmapi.h b/include/arch/x86_64/linux/atmapi.h
new file mode 100644
index 00000000..9a7f7cf5
--- /dev/null
+++ b/include/arch/x86_64/linux/atmapi.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* atmapi.h - ATM API user space/kernel compatibility */
+
+/* Written 1999,2000 by Werner Almesberger, EPFL ICA */
+
+#ifndef _LINUX_ATMAPI_H
+#define _LINUX_ATMAPI_H
+
+#if defined(__sparc__) || defined(__ia64__)
+/* such alignment is not required on 32 bit sparcs, but we can't
+ figure that we are on a sparc64 while compiling user-space programs. */
+#define __ATM_API_ALIGN __attribute__((aligned(8)))
+#else
+#define __ATM_API_ALIGN
+#endif
+
+/*
+ * Opaque type for kernel pointers. Note that _ is never accessed. We need
+ * the struct in order hide the array, so that we can make simple assignments
+ * instead of being forced to use memcpy. It also improves error reporting for
+ * code that still assumes that we're passing unsigned longs.
+ *
+ * Convention: NULL pointers are passed as a field of all zeroes.
+ */
+
+typedef struct {
+ unsigned char _[8];
+} __ATM_API_ALIGN atm_kptr_t;
+
+#endif