This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.26.9000-1194-g84814e2


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  84814e2a40fc220afcc111a91bd16b6f8f57786a (commit)
      from  400669754de4c88d9c04c4db8834e33e6ebd6ba6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=84814e2a40fc220afcc111a91bd16b6f8f57786a

commit 84814e2a40fc220afcc111a91bd16b6f8f57786a
Author: Thomas Schwinge <thomas@schwinge.name>
Date:   Sun Jan 28 16:53:32 2018 +0100

    hurd: Add missing fcntl-internal.h
    
    	* hurd/fcntl-internal.h: New file.

diff --git a/ChangeLog b/ChangeLog
index 49bdd47..434fef7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -52,6 +52,10 @@
 	* sysdeps/mach/hurd/check_native.c: New file.
 	* sysdeps/mach/hurd/check_pf.c: New file.
 
+2008-12-18  Thomas Schwinge  <tschwinge@gnu.org>
+
+	* hurd/fcntl-internal.h: New file.
+
 2018-01-27  James Clarke  <jrtc27@jrtc27.com>
 
 	* sysdeps/hppa/fpu/libm-test-ulps: Update.
diff --git a/hurd/fcntl-internal.h b/hurd/fcntl-internal.h
new file mode 100644
index 0000000..d795e40
--- /dev/null
+++ b/hurd/fcntl-internal.h
@@ -0,0 +1,62 @@
+/* Helper functions for translating between O_* and SOCK_* flags.
+   Copyright (C) 2008-2018 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+
+#include <fcntl.h>
+#include <sys/socket.h>
+
+/* Do some compile-time checks for the SOCK_* constants, which we rely on.  */
+_Static_assert (SOCK_CLOEXEC == O_CLOEXEC,
+    "SOCK_CLOEXEC is assumed to be the same as O_CLOEXEC");
+_Static_assert (((SOCK_MAX - 1) | SOCK_TYPE_MASK) == SOCK_TYPE_MASK,
+    "SOCK_TYPE_MASK must contain SOCK_MAX - 1");
+_Static_assert ((SOCK_CLOEXEC & SOCK_TYPE_MASK) == 0,
+    "SOCK_TYPE_MASK must not contain SOCK_CLOEXEC");
+_Static_assert ((SOCK_NONBLOCK & SOCK_TYPE_MASK) == 0,
+    "SOCK_TYPE_MASK must not contain SOCK_NONBLOCK");
+
+
+/* Convert from SOCK_* flags to O_* flags.  */
+__extern_always_inline
+int
+sock_to_o_flags (int in)
+{
+  int out = 0;
+
+  if (in & SOCK_NONBLOCK)
+    out |= O_NONBLOCK;
+  /* Others are passed through unfiltered.  */
+  out |= in & ~(SOCK_NONBLOCK);
+
+  return out;
+}
+
+/* Convert from O_* flags to SOCK_* flags.  */
+__extern_always_inline
+int
+o_to_sock_flags (int in)
+{
+  int out = 0;
+
+  if (in & O_NONBLOCK)
+    out |= SOCK_NONBLOCK;
+  /* Others are passed through unfiltered.  */
+  out |= in & ~(O_NONBLOCK);
+
+  return out;
+}

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog             |    4 +++
 hurd/fcntl-internal.h |   62 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 hurd/fcntl-internal.h


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]