+if ($^O eq 'MSWin32') {
+ $default_export_tags{winsock_h} = [qw(
+ WSAEINTR WSAEBADF WSAEACCES WSAEFAULT WSAEINVAL WSAEMFILE WSAEWOULDBLOCK
+ WSAEINPROGRESS WSAEALREADY WSAENOTSOCK WSAEDESTADDRREQ WSAEMSGSIZE
+ WSAEPROTOTYPE WSAENOPROTOOPT WSAEPROTONOSUPPORT WSAESOCKTNOSUPPORT
+ WSAEOPNOTSUPP WSAEPFNOSUPPORT WSAEAFNOSUPPORT WSAEADDRINUSE
+ WSAEADDRNOTAVAIL WSAENETDOWN WSAENETUNREACH WSAENETRESET WSAECONNABORTED
+ WSAECONNRESET WSAENOBUFS WSAEISCONN WSAENOTCONN WSAESHUTDOWN
+ WSAETOOMANYREFS WSAETIMEDOUT WSAECONNREFUSED WSAELOOP WSAENAMETOOLONG
+ WSAEHOSTDOWN WSAEHOSTUNREACH WSAENOTEMPTY WSAEPROCLIM WSAEUSERS
+ WSAEDQUOT WSAESTALE WSAEREMOTE WSAEDISCON WSAENOMORE WSAECANCELLED
+ WSAEINVALIDPROCTABLE WSAEINVALIDPROVIDER WSAEPROVIDERFAILEDINIT
+ WSAEREFUSED)];
+}
+
+my %other_export_tags = ( # cf. exports policy below
+ fenv_h => [qw(
+ FE_DOWNWARD FE_TONEAREST FE_TOWARDZERO FE_UPWARD fegetround fesetround
+ )],
+
+ math_h_c99 => [ @{$default_export_tags{math_h}}, qw(
+ Inf NaN acosh asinh atanh cbrt copysign erf erfc exp2 expm1 fdim fma
+ fmax fmin fpclassify hypot ilogb isfinite isgreater isgreaterequal
+ isinf isless islessequal islessgreater isnan isnormal isunordered j0 j1
+ jn lgamma log1p log2 logb lrint lround nan nearbyint nextafter nexttoward
+ remainder remquo rint round scalbn signbit tgamma trunc y0 y1 yn
+ )],
+
+ netdb_h => [qw(EAI_AGAIN EAI_BADFLAGS EAI_FAIL
+ EAI_FAMILY EAI_MEMORY EAI_NONAME
+ EAI_OVERFLOW EAI_SERVICE EAI_SOCKTYPE
+ EAI_SYSTEM)],
+
+ stdlib_h_c99 => [ @{$default_export_tags{stdlib_h}}, 'strtold' ],
+
+ sys_resource_h => [qw(PRIO_PROCESS PRIO_PGRP PRIO_USER)],
+
+ sys_socket_h => [qw(
+ MSG_CTRUNC MSG_DONTROUTE MSG_EOR MSG_OOB MSG_PEEK MSG_TRUNC MSG_WAITALL
+ )],
+
+ nan_payload => [ qw(getpayload setpayload setpayloadsig issignaling) ],
+
+ signal_h_si_code => [qw(
+ ILL_ILLOPC ILL_ILLOPN ILL_ILLADR ILL_ILLTRP ILL_PRVOPC ILL_PRVREG
+ ILL_COPROC ILL_BADSTK
+ FPE_INTDIV FPE_INTOVF FPE_FLTDIV FPE_FLTOVF FPE_FLTUND
+ FPE_FLTRES FPE_FLTINV FPE_FLTSUB
+ SEGV_MAPERR SEGV_ACCERR
+ BUS_ADRALN BUS_ADRERR BUS_OBJERR
+ TRAP_BRKPT TRAP_TRACE
+ CLD_EXITED CLD_KILLED CLD_DUMPED CLD_TRAPPED CLD_STOPPED CLD_CONTINUED
+ POLL_IN POLL_OUT POLL_MSG POLL_ERR POLL_PRI POLL_HUP
+ SI_USER SI_QUEUE SI_TIMER SI_ASYNCIO SI_MESGQ
+ )],
+);
+
+# exports policy:
+# - new functions may not be added to @EXPORT, only to @EXPORT_OK
+# - new SHOUTYCONSTANTS are OK to add to @EXPORT
+