chiark / gitweb /
tests: add some silly tests for path-util.c
[elogind.git] / src / shared / missing.h
index 7fbb9259ebae8151746058c8444f88a66f32480c..d4ba0d3dcf09c13d41761d86c87d3d902f74a43f 100644 (file)
@@ -26,6 +26,7 @@
 #include <sys/resource.h>
 #include <sys/syscall.h>
 #include <fcntl.h>
+#include <stdlib.h>
 #include <unistd.h>
 #include <linux/oom.h>
 
@@ -195,6 +196,14 @@ static inline pid_t gettid(void) {
 #define MS_STRICTATIME (1<<24)
 #endif
 
+#ifndef MS_REC
+#define MS_REC 16384
+#endif
+
+#ifndef MS_SHARED
+#define MS_SHARED (1<<20)
+#endif
+
 #ifndef PR_SET_NO_NEW_PRIVS
 #define PR_SET_NO_NEW_PRIVS 38
 #endif
@@ -207,18 +216,29 @@ static inline pid_t gettid(void) {
 #define MAX_HANDLE_SZ 128
 #endif
 
-#ifdef __x86_64__
-#  ifndef __NR_name_to_handle
-#    define __NR_name_to_handle 303
+#if defined __x86_64__
+#  ifndef __NR_name_to_handle_at
+#    define __NR_name_to_handle_at 303
+#  endif
+#elif defined __i386__
+#  ifndef __NR_name_to_handle_at
+#    define __NR_name_to_handle_at 341
+#  endif
+#elif defined __arm__
+#  ifndef __NR_name_to_handle_at
+#    define __NR_name_to_handle_at 370
+#  endif
+#elif defined __powerpc__
+#  ifndef __NR_name_to_handle_at
+#    define __NR_name_to_handle_at 345
 #  endif
 #else
-#  ifndef __NR_name_to_handle
-#    define __NR_name_to_handle 341
+#  ifndef __NR_name_to_handle_at
+#    error __NR_name_to_handle_at is not defined
 #  endif
 #endif
 
-#ifndef HAVE_NAME_TO_HANDLE_AT
-
+#if !HAVE_DECL_NAME_TO_HANDLE_AT
 struct file_handle {
         unsigned int handle_bytes;
         int handle_type;
@@ -229,3 +249,19 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle
         return syscall(__NR_name_to_handle_at, fd, name, handle, mnt_id, flags);
 }
 #endif
+
+#ifndef HAVE_SECURE_GETENV
+#  ifdef HAVE___SECURE_GETENV
+#    define secure_getenv __secure_getenv
+#  else
+#    error neither secure_getenv nor __secure_getenv are available
+#  endif
+#endif
+
+#ifndef CIFS_MAGIC_NUMBER
+#define CIFS_MAGIC_NUMBER 0xFF534D42
+#endif
+
+#ifndef TFD_TIMER_CANCEL_ON_SET
+#define TFD_TIMER_CANCEL_ON_SET (1 << 1)
+#endif