]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: Fix bits/socket.h conformity
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 24 Sep 2017 20:20:10 +0000 (22:20 +0200)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 24 Sep 2017 20:21:41 +0000 (22:21 +0200)
* sysdeps/mach/hurd/bits/socket.h: Include <bits/wordsize.h> instead
of <limits.h>
(__need_NULL): Do not define.
(__ss_aligntype): Use __WORDSIZE instead of ULONG_MAX to determine
alignment.
[!__USE_MISC] (pseudo_AF_XTP, pseudo_AF_RTIP, pseudo_AF_PIP,
CMGROUP_MAX, cmsgcred): Do not define.
(CMSG_FIRSTHDR, __cmsg_nxthdr): Use (struct cmsghdr *) 0 instead of
NULL.
* bits/socket.h: Likewise.

ChangeLog
bits/socket.h
sysdeps/mach/hurd/bits/socket.h

index 7336c52c1b649505457376e6d4ebe4e9aebc4daa..1c44a53c75ec7b2b2e097b6579922ab3de8b0f52 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,16 @@
        __mmap, __fxstat64, __xstat64, __access, __access_noerrno, __getpid,
        __getcwd, __sbrk, __strtoul_internal, _exit, abort): Use check_no_hidden
        to make sure that these symbols are defined.
+       * sysdeps/mach/hurd/bits/socket.h: Include <bits/wordsize.h> instead
+       of <limits.h>
+       (__need_NULL): Do not define.
+       (__ss_aligntype): Use __WORDSIZE instead of ULONG_MAX to determine
+       alignment.
+       [!__USE_MISC] (pseudo_AF_XTP, pseudo_AF_RTIP, pseudo_AF_PIP,
+       CMGROUP_MAX, cmsgcred): Do not define.
+       (CMSG_FIRSTHDR, __cmsg_nxthdr): Use (struct cmsghdr *) 0 instead of
+       NULL.
+       * bits/socket.h: Likewise.
 
 2017-09-22  Joseph Myers  <joseph@codesourcery.com>
 
index b527f9c12925d7606ae552cbc5c7c3e16802fe98..d70fb6d7533700d939e50f02e7b73ee3497da9b3 100644 (file)
 #endif
 
 #define        __need_size_t
-#define __need_NULL
 #include <stddef.h>
 
-#include <limits.h>            /* XXX Is this allowed?  */
+#include <bits/wordsize.h>
 #include <bits/types.h>
 
 /* Type for length arguments in socket calls.  */
@@ -127,13 +126,19 @@ enum __socket_type
 #define        AF_APPLETALK    PF_APPLETALK
 #define        AF_ROUTE        PF_ROUTE
 #define        AF_LINK         PF_LINK
-#define        pseudo_AF_XTP   PF_XTP
+#ifdef __USE_MISC
+# define       pseudo_AF_XTP   PF_XTP
+#endif
 #define        AF_COIP         PF_COIP
 #define        AF_CNT          PF_CNT
-#define pseudo_AF_RTIP PF_RTIP
+#ifdef __USE_MISC
+# define pseudo_AF_RTIP        PF_RTIP
+#endif
 #define        AF_IPX          PF_IPX
 #define        AF_SIP          PF_SIP
-#define pseudo_AF_PIP  PF_PIP
+#ifdef __USE_MISC
+# define pseudo_AF_PIP PF_PIP
+#endif
 #define AF_INET6       PF_INET6
 #define        AF_MAX          PF_MAX
 
@@ -153,7 +158,7 @@ struct sockaddr
 
 /* Structure large enough to hold any socket address (with the historical
    exception of AF_UNIX).  */
-#if ULONG_MAX > 0xffffffff
+#if __WORDSIZE == 64
 # define __ss_aligntype        __uint64_t
 #else
 # define __ss_aligntype        __uint32_t
@@ -232,7 +237,7 @@ struct cmsghdr
 
 #define CMSG_FIRSTHDR(mhdr) \
   ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr)                \
-   ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) NULL)
+   ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0)
 
 #define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \
                           & (size_t) ~(sizeof (size_t) - 1))
@@ -251,7 +256,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
 {
   if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
     /* The kernel header does this so there may be a reason.  */
-    return NULL;
+    return (struct cmsghdr *) 0;
 
   __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
                               + CMSG_ALIGN (__cmsg->cmsg_len));
@@ -260,7 +265,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
       || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
          > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
     /* No more entries.  */
-    return NULL;
+    return (struct cmsghdr *) 0;
   return __cmsg;
 }
 #endif /* Use `extern inline'.  */
@@ -276,6 +281,7 @@ enum
 #define SCM_CREDS SCM_CREDS
   };
 
+#ifdef __USE_MISC
 /* Unfortunately, BSD practice dictates this structure be of fixed size.
    If there are more than CMGROUP_MAX groups, the list is truncated.
    (On GNU systems, the `cmcred_euid' field is just the first in the
@@ -296,6 +302,7 @@ struct cmsgcred
     int cmcred_ngroups;
     __gid_t cmcred_groups[CMGROUP_MAX];
   };
+#endif
 
 /* Protocol number used to manipulate socket-level options
    with `getsockopt' and `setsockopt'.  */
index 9a412f08337eeb18a5dfb83c8d0aebe2632dd66f..bac77f54f2032e3634f681681991f97d17b39b76 100644 (file)
 #endif
 
 #define        __need_size_t
-#define __need_NULL
 #include <stddef.h>
 
-#include <limits.h>            /* XXX Is this allowed?  */
+#include <bits/wordsize.h>
 #include <sys/types.h>
 
 /* Type for length arguments in socket calls.  */
@@ -131,13 +130,19 @@ enum __socket_type
 #define        AF_APPLETALK    PF_APPLETALK
 #define        AF_ROUTE        PF_ROUTE
 #define        AF_LINK         PF_LINK
-#define        pseudo_AF_XTP   PF_XTP
+#ifdef __USE_MISC
+# define       pseudo_AF_XTP   PF_XTP
+#endif
 #define        AF_COIP         PF_COIP
 #define        AF_CNT          PF_CNT
-#define pseudo_AF_RTIP PF_RTIP
+#ifdef __USE_MISC
+# define pseudo_AF_RTIP        PF_RTIP
+#endif
 #define        AF_IPX          PF_IPX
 #define        AF_SIP          PF_SIP
-#define pseudo_AF_PIP  PF_PIP
+#ifdef __USE_MISC
+# define pseudo_AF_PIP PF_PIP
+#endif
 #define AF_INET6       PF_INET6
 #define        AF_MAX          PF_MAX
 
@@ -157,7 +162,7 @@ struct sockaddr
 
 /* Structure large enough to hold any socket address (with the historical
    exception of AF_UNIX).  */
-#if ULONG_MAX > 0xffffffff
+#if __WORDSIZE == 64
 # define __ss_aligntype        __uint64_t
 #else
 # define __ss_aligntype        __uint32_t
@@ -236,7 +241,7 @@ struct cmsghdr
 
 #define CMSG_FIRSTHDR(mhdr) \
   ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr)                \
-   ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) NULL)
+   ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0)
 
 #define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \
                           & (size_t) ~(sizeof (size_t) - 1))
@@ -255,7 +260,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
 {
   if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
     /* The kernel header does this so there may be a reason.  */
-    return NULL;
+    return (struct cmsghdr *) 0;
 
   __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
                               + CMSG_ALIGN (__cmsg->cmsg_len));
@@ -264,7 +269,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
       || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
          > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
     /* No more entries.  */
-    return NULL;
+    return (struct cmsghdr *) 0;
   return __cmsg;
 }
 #endif /* Use `extern inline'.  */
@@ -280,6 +285,7 @@ enum
 #define SCM_CREDS SCM_CREDS
   };
 
+#ifdef __USE_MISC
 /* Unfortunately, BSD practice dictates this structure be of fixed size.
    If there are more than CMGROUP_MAX groups, the list is truncated.
    (On GNU systems, the `cmcred_euid' field is just the first in the
@@ -300,6 +306,7 @@ struct cmsgcred
     int cmcred_ngroups;
     __gid_t cmcred_groups[CMGROUP_MAX];
   };
+#endif
 
 /* Protocol number used to manipulate socket-level options
    with `getsockopt' and `setsockopt'.  */