Message ID | 20220813210353.3553836-1-samuel.thibault@ens-lyon.org |
---|---|
State | New |
Headers | show |
Series | netinet/in.h: Add ip_mreqn structure | expand |
* Samuel Thibault: > This is following the BSD and Linux definition. > --- > inet/netinet/in.h | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/inet/netinet/in.h b/inet/netinet/in.h > index 1633bc64e4..362eb9e9e7 100644 > --- a/inet/netinet/in.h > +++ b/inet/netinet/in.h > @@ -278,6 +278,19 @@ struct ip_mreq > struct in_addr imr_interface; > }; > > +/* IPv4 multicast request with interface index. */ > +struct ip_mreqn > + { > + /* IP multicast address of group. */ > + struct in_addr imr_multiaddr; > + > + /* Local IP address of interface. */ > + struct in_addr imr_address; > + > + /* Interface index. */ > + int imr_ifindex; > + }; > + > struct ip_mreq_source > { > /* IP multicast address of group. */ I think you'll have to remove the definition from sysdeps/unix/sysv/linux/bits/in.h. python3 -B ../scripts/gen-as-const.py --cc="gcc -m32 -std=gnu11 -fgnu89-inline -g -O2 -Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants -frounding-math -fno-stack-protector -fno-common -Wstrict-prototypes -Wold-style-definition -fmath-errno -ftls-model=initial-exec -I../include -I/build/csu -I/build -I../sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/i386/i686/nptl -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/x86/include -I../sysdeps/unix/sysv/linux/x86 -I../sysdeps/x86/nptl -I../sysdeps/i386/nptl -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu/multiarch -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686/multiarch -I../sysdeps/i386/i686 -I../sysdeps/i386/fpu -I../sysdeps/x86/fpu -I../sysdeps/i386 -I../sysdeps/x86/include -I../sysdeps/x86 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/float128 -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic -I.. -I../libio -I. -D_LIBC_REENTRANT -include /build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS \ -MD -MP -MF /build/rtld-sizes.h.dT \ -MT '/build/rtld-sizes.h.d /build/rtld-sizes.h'" \ rtld-sizes.sym > /build/rtld-sizes.hT In file included from ../include/netinet/in.h:3, from ../resolv/bits/types/res_state.h:5, from ../include/bits/types/res_state.h:1, from ../nptl/descr.h:34, from ../sysdeps/i386/nptl/tls.h:114, from ../sysdeps/i386/i686/nptl/tls.h:32, from ../include/link.h:51, from <stdin>:1: ../inet/netinet/in.h:282:8: error: redefinition of ‘struct ip_mreqn’ 282 | struct ip_mreqn | ^~~~~~~~ In file included from ../inet/netinet/in.h:37: ../sysdeps/unix/sysv/linux/bits/in.h:150:8: note: originally defined here 150 | struct ip_mreqn | ^~~~~~~~ <https://www.delorie.com/trybots/32bit/11483/make.tail.txt> Thanks, Florian
Florian Weimer, le lun. 15 août 2022 15:13:53 +0200, a ecrit: > > This is following the BSD and Linux definition. > > --- > > inet/netinet/in.h | 13 +++++++++++++ > > 1 file changed, 13 insertions(+) > > > > diff --git a/inet/netinet/in.h b/inet/netinet/in.h > > index 1633bc64e4..362eb9e9e7 100644 > > --- a/inet/netinet/in.h > > +++ b/inet/netinet/in.h > > @@ -278,6 +278,19 @@ struct ip_mreq > > struct in_addr imr_interface; > > }; > > > > +/* IPv4 multicast request with interface index. */ > > +struct ip_mreqn > > + { > > + /* IP multicast address of group. */ > > + struct in_addr imr_multiaddr; > > + > > + /* Local IP address of interface. */ > > + struct in_addr imr_address; > > + > > + /* Interface index. */ > > + int imr_ifindex; > > + }; > > + > > struct ip_mreq_source > > { > > /* IP multicast address of group. */ > > I think you'll have to remove the definition from > sysdeps/unix/sysv/linux/bits/in.h. Oh, right, I didn't realize that that ip_mreq was also shared already. Samuel
diff --git a/inet/netinet/in.h b/inet/netinet/in.h index 1633bc64e4..362eb9e9e7 100644 --- a/inet/netinet/in.h +++ b/inet/netinet/in.h @@ -278,6 +278,19 @@ struct ip_mreq struct in_addr imr_interface; }; +/* IPv4 multicast request with interface index. */ +struct ip_mreqn + { + /* IP multicast address of group. */ + struct in_addr imr_multiaddr; + + /* Local IP address of interface. */ + struct in_addr imr_address; + + /* Interface index. */ + int imr_ifindex; + }; + struct ip_mreq_source { /* IP multicast address of group. */