HomeFreeBSD

in6.h: expose s6_addr* definitions to user level

Description

in6.h: expose s6_addr* definitions to user level

The only element of of in6_addr that is specified in RFC 3493 or
in POSIX.1-2017 is s6_addr, implemented via a #define to a union
member. However, FreeBSD and other BSD systems have additional
definitions for the other union members, s6_addr{8,16,32} which
are defined for the kernel and loader. Some Linux applications
also use them, and they seem to be allowed by the RFC and POSIX.
Remove the current ifdefs, exposing the additional fields to user
level, and replace with #if __BSD_VISIBLE. Add an explanatory
comment expanding on the previous "nonstandard" comment.

Reviewed by: bz
Differential Revision: https://reviews.freebsd.org/D44979
Approved by: re (cperciva)

(cherry picked from commit eb3dbf2dbe22ed6d4df54aebbf23f5b555a21cf1)
(cherry picked from commit a5a2e963f9a0a4bc65aa1c70a361243328e23961)

Details

Provenance
karelsAuthored on Thu, May 2, 3:24 PM
Reviewer
bz
Differential Revision
D44979: in6.h: expose s6_addr* definitions to user level
Parents
rG81ddf56306ca: sched: Simplify sched_lend_user_prio_cond()
Branches
Unknown
Tags
Unknown