diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2017-09-24 22:20:10 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2017-09-24 22:21:41 +0200 |
commit | b38a42a098664a96842a23ef480d4b8c69ecd05c (patch) | |
tree | 5c1dcce2621783ece1f9fe5891128c0d11045533 /sysdeps/mach | |
parent | 5e6f32531eab502afb094ad62aad333c63a58cfd (diff) | |
download | glibc-b38a42a098664a96842a23ef480d4b8c69ecd05c.tar.gz |
hurd: Fix bits/socket.h conformity
* 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.
Diffstat (limited to 'sysdeps/mach')
-rw-r--r-- | sysdeps/mach/hurd/bits/socket.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/sysdeps/mach/hurd/bits/socket.h b/sysdeps/mach/hurd/bits/socket.h index 9a412f0833..bac77f54f2 100644 --- a/sysdeps/mach/hurd/bits/socket.h +++ b/sysdeps/mach/hurd/bits/socket.h @@ -25,10 +25,9 @@ #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'. */ |