fix remaining known namespace violations for netinet/in.h
authorRich Felker <dalias@aerifal.cx>
Wed, 8 Jan 2014 23:54:33 +0000 (18:54 -0500)
committerRich Felker <dalias@aerifal.cx>
Wed, 8 Jan 2014 23:54:33 +0000 (18:54 -0500)
commitacde013522fc264f0898d300cc9d2ff796c1a006
treed3c413ecad0c766fb3abeea29a2d5f1abe77e108
parent8e776e3ed40a4fb084e3d671d887825049c8f0cf
fix remaining known namespace violations for netinet/in.h

the imr_, imsf_, ip6_, ip6m_, ipi_, ipi6_, SCM_, and SOL_ prefixes are
not in the reserved namespace for this header. thus the constants and
structures using them need to be protected under appropriate feature
test macros.

this also affects some headers which are permitted to include
netinet/in.h, particularly netdb.h and arpa/inet.h.

the SOL_ macros are moved to sys/socket.h where they are in the
reserved namespace (SO*). they are still accessible via netinet/in.h
since it includes sys/socket.h implicitly (which is permitted).

the SCM_SRCRT macro is simply removed, since the definition used for
it, IPV6_RXSRCRT is not defined anywhere. it could be re-added, this
time in sys/socket.h, if the appropriate value can be determined;
however, given that the erroneous definition was not caught, it is
unlikely that any software actually attempts to use SCM_SRCRT.
include/netinet/in.h
include/sys/socket.h