OpenBSD 4.3 shares the old FreeBSD behavior of limiting the 'non-standard'
(according to them) in6_addr.s6_* fields to only Kernel-visible.
It is in fact non-RFC usage, becoming standard via common use.
* This OS has at least one version that defines these as private
* kernel macros commented as being 'non-standard'.
* We need to use them, much nicer than the OS-provided __u*_*[]
+ * UPDATE: OpenBSD 4.3 has the same.
*/
-#if USE_IPV6 && defined(_SQUID_FREEBSD_)
+#if USE_IPV6 && ( defined(_SQUID_FREEBSD_) || defined(_SQUID_OPENBSD_) )
#define s6_addr8 __u6_addr.__u6_addr8
#define s6_addr16 __u6_addr.__u6_addr16
#define s6_addr32 __u6_addr.__u6_addr32