chiark / gitweb /
logind: add support for automatic suspend/hibernate/shutdown on idle
[elogind.git] / src / shared / missing.h
index 7fbb9259ebae8151746058c8444f88a66f32480c..c53579ff7f1a248fc710fbd86edffd9b1ba59969 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>
 
@@ -207,18 +208,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 +241,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