BZ #13361
authorRichard Henderson <rth@twiddle.net>
Wed, 15 Feb 2012 20:16:31 +0000 (12:16 -0800)
committerRichard Henderson <rth@twiddle.net>
Wed, 15 Feb 2012 20:19:47 +0000 (12:19 -0800)
alpha: More Linux additions copied from generic/bits/fcntl.h.

ChangeLog.alpha
sysdeps/unix/sysv/linux/alpha/bits/fcntl.h

index a5271de..08d2c31 100644 (file)
@@ -1,3 +1,9 @@
+2012-02-15  Richard Henderson  <rth@twiddle.net>
+
+       [BZ #13361]
+       * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (struct file_handle): New.
+       (fallocate, name_to_handle_at, open_by_handle_at): Declare.
+
 2012-02-14  Joseph Myers  <joseph@codesourcery.com>
            Tom de Vries  <tom@codesourcery.com>
 
index e5e726b..d1cebfa 100644 (file)
@@ -1,5 +1,5 @@
 /* O_*, F_*, FD_* bit values for Linux.
-   Copyright (C) 1995-2000,2004,2005,2006,2007,2010 Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -223,6 +223,18 @@ struct f_owner_ex
                                           we splice from/to).  */
 # define SPLICE_F_MORE         4       /* Expect more data.  */
 # define SPLICE_F_GIFT         8       /* Pages passed in are a gift.  */
+
+/* File handle structure.  */
+struct file_handle
+{
+  unsigned int handle_bytes;
+  int handle_type;
+  /* File identifier.  */
+  unsigned char f_handle[0];
+};
+
+/* Maximum handle size (for now).  */
+# define MAX_HANDLE_SZ 128
 #endif
 
 __BEGIN_DECLS
@@ -252,6 +264,38 @@ extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
 extern ssize_t tee (int __fdin, int __fdout, size_t __len,
                    unsigned int __flags);
 
+/* Reserve storage for the data of the file associated with FD.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+# ifndef __USE_FILE_OFFSET64
+extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
+# else
+#  ifdef __REDIRECT
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+                                  __off64_t __len),
+                      fallocate64);
+#  else
+#   define fallocate fallocate64
+#  endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
+                       __off64_t __len);
+# endif
+
+/* Map file name to file handle.  */
+extern int name_to_handle_at (int __dfd, const char *__name,
+                             struct file_handle *__handle, int *__mnt_id,
+                             int __flags) __THROW;
+
+/* Open file using the file handle.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
+                             int __flags);
+
 #endif
 
 __END_DECLS