From c0e4567461c09ba47ddbc20e6b0ab09bdb0237ab Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 2 Feb 1997 01:50:11 +0000 Subject: update from main archive 970201 1997-02-02 00:39 Ulrich Drepper * dirent/dirent.h: Add description _DIRENT_HAVE_D_TYPE. 1997-02-01 17:04 Philip Blundell * inet/netinet/ip.h (MAX_IPOPTLEN): Add definition. 1997-02-01 17:00 Ulrich Drepper * sysdeps/unix/sysv/linux/socketbits.h: Add definition of cmsghdr structure plus related macros. * sysdeps/unix/sysv/linux/cmsg_nxthdr.c: New file. * sysdeps/unix/sysv/linux/Makefile [$(subdir)=socket] (sysdep_routines): Add cmsg_nxthdr. * sysdeps/unix/sysv/linux/Dist: Add cmsg_nxthdr.c. Suggested by Philip Blundell . 1997-02-01 12:34 Ulrich Drepper * time/strftime.c: Define _strftime_copytm without protecting arguments which breaks the definition. 1997-02-01 03:31 Thorsten Kukuk * nis/rpcsvc/yp_prot.h: Move definition of yppushresp_xfr after definition of type for element. 1997-02-01 03:28 Philip Blundell * sydsdeps/unix/sysv/linux/netinet/in.h: Add IPv6 related IPPROTO_* constants. 1997-02-01 03:09 H.J. Lu * Makefile: Pass PARALLELMFLAGS to sub-makes. * Makefile.in: Mention PARALLELMFLAGS and pass to main Makefile. 1997-01-31 Paul Eggert * time/mktime.c (HAVE_LIMITS_H, HAVE_LOCALTIME_R, STDC_HEADERS): Define if _LIBC is defined. : Include if HAVE_LIMITS_H instead of if __STDC__ || __GNU_LIBRARY__ || STDC_HEADERS. : Similarly, include if STDC_HEADERS. (localtime_r): Redo #ifdef to make it clear that glibc has localtime_r now. 1997-02-29 20:08 Andreas Schwab * sunrpc/Makefile ($(objpfx)rpcsvc/%.h, $(objpfx)x%.c): Use stamp file to avoid unnecessary recompilation. 1997-01-29 19:33 Andreas Schwab * Makefile: Set install-others, not install_others. (before-compile): Use += to preserve previous value. ($(inst_includedir)/gnu/lib-names.h): Remove obsolete comment and fix dependency name. ($(objpfx)lib-names.h): Remove rule. * Makeconfig ($(common-objpfx)gnu/lib-names.h): Generate it here, with correct name, using an intermediate stamp file. (common-generated): Add gnu/lib-names.h. (before-compile): Add $(common-objpfx)gnu/lib-names.h. 1997-01-30 18:29 Richard Henderson * malloc/malloc.c (MAGICBYTE): Use cast to size_t instead of unsigned to prevent warnings on 64 bit systems. Reported by Paul Wouters . * sysdeps/alpha/dl-machine.h: Revert check for broken gas. By default we assume it works. --- sysdeps/unix/sysv/linux/cmsg_nxthdr.c | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/cmsg_nxthdr.c (limited to 'sysdeps/unix/sysv/linux/cmsg_nxthdr.c') diff --git a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c new file mode 100644 index 0000000000..2245db7f25 --- /dev/null +++ b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c @@ -0,0 +1,38 @@ +/* Return point to next ancillary data entry in message header. + Copyright (C) 1997 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 Library General Public License as + published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + + +struct cmsghdr * +__cmsg_nxthdr (struct msghdr *mhdr, struct cmsghdr *cmsg) +{ + unsigned char *p; + + if ((size_t) cmsg->cmsg_len < sizeof (struct cmsghdr)) + /* The kernel header does this so there may be a reason. */ + return NULL; + + p = (((unsigned char *) cmsg) + + ((cmsg->cmsg_len + sizeof (long int) - 1) & ~sizeof (long int))); + if (p >= (unsigned char *) mhdr->msg_control + mhdr->msg_controllen) + /* No more entries. */ + return NULL; + return (struct cmsghdr *) p; +} -- cgit v1.2.3