Syncrhonize fcntl.h with canonical source.
authorCarlos O'Donell <carlos@systemhalted.org>
Thu, 20 Oct 2011 18:37:02 +0000 (14:37 -0400)
committerCarlos O'Donell <carlos@systemhalted.org>
Thu, 20 Oct 2011 18:37:02 +0000 (14:37 -0400)
Update fcntl.h to match canonical i386 fcntl.h, but
update constants to match hppa linux kernel values.

Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
ChangeLog.hppa
sysdeps/unix/sysv/linux/hppa/bits/fcntl.h

index 41a779e..14abdee 100644 (file)
@@ -1,5 +1,10 @@
 2011-10-20  Carlos O'Donell  <carlos@systemhalted.org>
 
+       * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Synchronize
+       with canonical fcntl.h.
+
+2011-10-20  Carlos O'Donell  <carlos@systemhalted.org>
+
        * sysdeps/hppa/fpu/fegetenv.c: Add hidden alias.
        * sysdeps/hppa/fpu/feupdateenv.c: Likewise.
        * sysdeps/hppa/fpu/ftestexcept.c: Likewise.
index a2c6482..8f42111 100644 (file)
@@ -1,5 +1,5 @@
-/* O_*, F_*, FD_* bit values for Linux/HPPA.
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2004
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 1995-1999, 2000, 2002, 2004, 2010, 2011
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -29,7 +29,7 @@
 
 
 /* open/fcntl - O_SYNC is only implemented on blocks devices and on files
-   located on an ext2 file system */
+   located on a few file systems.  */
 #define O_ACCMODE         0003
 #define O_RDONLY            00
 #define O_WRONLY            01
 #define O_ASYNC                 020000
 #define O_BLKSEEK      00000100 /* HPUX only */
 
-#ifdef __USE_GNU
-# define O_DIRECT      000040000 /* Direct disk access.  */
+#ifdef __USE_XOPEN2K8
 # define O_DIRECTORY   000010000 /* Must be a directory.  */
 # define O_NOFOLLOW    000000200 /* Do not follow links.  */
-# define O_NOATIME     004000000 /* Do not set atime.  */
 # define O_CLOEXEC     010000000 /* Set close_on_exec.  */
 #endif
+#ifdef __USE_GNU
+# define O_DIRECT       040000 /* Direct disk access.  */
+# define O_NOATIME     004000000 /* Do not set atime.  */
+#endif
 
 /* For now Linux has synchronisity options for data and read operations.
    We define the symbols here but let them do the same as O_SYNC since
@@ -85,7 +87,7 @@
 #define F_SETLK64      9       /* Set record locking info (non-blocking).  */
 #define F_SETLKW64     10      /* Set record locking info (blocking).  */
 
-#if defined __USE_BSD || defined __USE_UNIX98
+#if defined __USE_BSD || defined __USE_UNIX98 || defined __USE_XOPEN2K8
 # define F_GETOWN      11      /* Get owner of socket (receiver of SIGIO).  */
 # define F_SETOWN      12      /* Set owner of socket (receiver of SIGIO).  */
 #endif
 # define F_SETLEASE    1024    /* Set a lease.  */
 # define F_GETLEASE    1025    /* Enquire what lease is active.  */
 # define F_NOTIFY      1026    /* Request notfications on a directory.  */
+# define F_SETPIPE_SZ  1031    /* Set pipe page size array.  */
+# define F_GETPIPE_SZ  1032    /* Set pipe page size array.  */
+#endif
+#ifdef __USE_XOPEN2K8
 # define F_DUPFD_CLOEXEC 1030  /* Duplicate file descriptor with
                                   close-on-exit set.  */
 #endif
@@ -227,6 +233,19 @@ 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
@@ -243,20 +262,32 @@ extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
                            unsigned int __flags);
 
 
-/* Splice address range into a pipe.  */
+/* Splice address range into a pipe.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
 extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
                         size_t __count, unsigned int __flags);
 
-/* Splice two files together.  */
+/* Splice two files together.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
 extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
                       __off64_t *__offout, size_t __len,
                       unsigned int __flags);
 
-/* In-kernel implementation of tee for pipe buffers.  */
+/* In-kernel implementation of tee for pipe buffers.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
 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.  */
+/* 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
@@ -273,6 +304,19 @@ 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