summary refs log tree commit diff
path: root/src/libnm-std-aux/nm-linux-compat.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-std-aux/nm-linux-compat.h')
-rw-r--r--src/libnm-std-aux/nm-linux-compat.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/libnm-std-aux/nm-linux-compat.h b/src/libnm-std-aux/nm-linux-compat.h
new file mode 100644
index 00000000..7492d527
--- /dev/null
+++ b/src/libnm-std-aux/nm-linux-compat.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#ifndef __NM_LINUX_COMPAT_H__
+#define __NM_LINUX_COMPAT_H__
+
+/* We have copies of linux UAPI headers in `src/linux-headers` which
+ * should be preferred over the headers on the system. However, these
+ * newer headers might be incompatible with the installed UAPI headers.
+ *
+ * This nm-linux-compat.h header tries to solve that and apply the necessary
+ * workarounds.
+ *
+ * Unlike most NetworkManager headers, this header needs to be included
+ * *before* most system headers. */
+
+#include <linux/const.h>
+
+#ifndef __KERNEL_DIV_ROUND_UP
+    #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) -1) / (d))
+#endif
+
+#include "linux-headers/ethtool.h"
+#include "linux-headers/nl802154.h"
+
+#endif /* __NM_LINUX_COMPAT_H__ */