This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Win32 inet_pton fallback misc fixes
[perl5.git] / win32 / config_H.vc
index ba61fe8..7a76f1d 100644 (file)
  *     This symbol, if defined, indicates that the BSD socketpair() call is
  *     supported.
  */
-/* HAS_MSG_CTRUNC:
- *     This symbol, if defined, indicates that the MSG_CTRUNC is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_MSG_DONTROUTE:
- *     This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_MSG_OOB:
- *     This symbol, if defined, indicates that the MSG_OOB is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_MSG_PEEK:
- *     This symbol, if defined, indicates that the MSG_PEEK is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_MSG_PROXY:
- *     This symbol, if defined, indicates that the MSG_PROXY is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_SCM_RIGHTS:
- *     This symbol, if defined, indicates that the SCM_RIGHTS is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
 /* HAS_SOCKADDR_SA_LEN:
  *     This symbol, if defined, indicates that the struct sockaddr
  *     structure has a member called sa_len, indicating the length of
 #define        HAS_SOCKET              /**/
 /*#define      HAS_SOCKETPAIR  / **/
 /*#define      HAS_SOCKADDR_SA_LEN     / **/
-/*#define      HAS_MSG_CTRUNC  / **/
-/*#define      HAS_MSG_DONTROUTE       / **/
-/*#define      HAS_MSG_OOB     / **/
-/*#define      HAS_MSG_PEEK    / **/
-/*#define      HAS_MSG_PROXY   / **/
-/*#define      HAS_SCM_RIGHTS  / **/
 /*#define      HAS_SOCKADDR_IN6        / **/
 #define        HAS_SIN6_SCOPE_ID       /**/
 /*#define      HAS_IP_MREQ     / **/
  */
 #define DOUBLESIZE 8           /**/
 
+/* DOUBLEINFBYTES:
+ *     This symbol, if defined, is a comma-separated list of
+ *     hexadecimal bytes for the double precision infinity.
+ */
+/* DOUBLENANBYTES:
+ *     This symbol, if defined, is a comma-separated list of
+ *     hexadecimal bytes (0xHH) for the double precision not-a-number.
+ */
+/* LONGDBLINFBYTES:
+ *     This symbol, if defined, is a comma-separated list of
+ *     hexadecimal bytes for the long double precision infinity.
+ */
+/* LONGDBLNANBYTES:
+ *     This symbol, if defined, is a comma-separated list of
+ *     hexadecimal bytes (0xHH) for the long double precision not-a-number.
+ */
+#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f          /**/
+#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f          /**/
+#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f         /**/
+#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f         /**/
+
+/* DOUBLEMANTBITS:
+ *     This symbol, if defined, tells how many mantissa bits
+ *     there are in double precision floating point format.
+ *      Note that this is usually DBL_MANT_DIG minus one, since
+ *      with the standard IEEE 754 formats DBL_MANT_DIG includes
+ *     the implicit bit, which doesn't really exist.
+ */
+#define DOUBLEMANTBITS 52
+
+/* LONGDBLMANTBITS:
+ *     This symbol, if defined, tells how many mantissa bits
+ *     there are in long double precision floating point format.
+ *      Note that this can be LDBL_MANT_DIG minus one,
+ *      since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
+ *      The common x86-style 80-bit long double does not have
+ *     an implicit bit.
+ */
+#define LONGDBLMANTBITS 52
+
 /* EBCDIC:
  *     This symbol, if defined, indicates that this system uses
  *     EBCDIC encoding.
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
 #define PRIVLIB "c:\\perl\\lib"                /**/
-#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL))     /**/
+#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL))      /**/
 
 /* CAN_PROTOTYPE:
  *     If defined, this macro indicates that the C compiler can handle
  *     be tacked onto this variable to generate a list of directories to search.
  */
 #define SITELIB "c:\\perl\\site\\lib"          /**/
-#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL))     /**/
+#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL))  /**/
 #define SITELIB_STEM ""                /**/
 
 /* Size_t_size:
  */
 /*#define HAS_FREXPL           / **/
 
-/* HAS_STRUCT_FS_DATA:
- *     This symbol, if defined, indicates that the struct fs_data
- *     to do statfs() is supported.
- */
-/*#define HAS_STRUCT_FS_DATA   / **/
-
 /* HAS_FSEEKO:
  *     This symbol, if defined, indicates that the fseeko routine is
  *     available to fseek beyond 32 bits (useful for ILP32 hosts).
  */
 /*#define HAS_FSEEKO           / **/
 
-/* HAS_FSTATFS:
- *     This symbol, if defined, indicates that the fstatfs routine is
- *     available to stat filesystems by file descriptors.
- */
-/*#define HAS_FSTATFS          / **/
-
 /* HAS_FSYNC:
  *     This symbol, if defined, indicates that the fsync routine is
  *     available to write a file's modified data and attributes to
  */
 /*#define HAS_GETESPWNAM               / **/
 
-/* HAS_GETFSSTAT:
- *     This symbol, if defined, indicates that the getfsstat routine is
- *     available to stat filesystems in bulk.
- */
-/*#define HAS_GETFSSTAT                / **/
-
 /* HAS_GETITIMER:
  *     This symbol, if defined, indicates that the getitimer routine is
  *     available to return interval timers.
  */
 /*#define HAS_GETITIMER                / **/
 
-/* HAS_GETMNT:
- *     This symbol, if defined, indicates that the getmnt routine is
- *     available to get filesystem mount info by filename.
- */
-/*#define HAS_GETMNT           / **/
-
-/* HAS_GETMNTENT:
- *     This symbol, if defined, indicates that the getmntent routine is
- *     available to iterate through mounted file systems to get their info.
- */
-/*#define HAS_GETMNTENT                / **/
-
 /* HAS_GETNAMEINFO:
  *     This symbol, if defined, indicates that the getnameinfo() function
  *     is available for use.
  */
 /*#define HAS_GETSPNAM         / **/
 
-/* HAS_HASMNTOPT:
- *     This symbol, if defined, indicates that the hasmntopt routine is
- *     available to query the mount options of file systems.
- */
-/*#define HAS_HASMNTOPT                / **/
-
 /* HAS_ILOGBL:
  *     This symbol, if defined, indicates that the ilogbl routine is
  *     available.  If scalbnl is also present we can emulate frexpl.
  *     a prototype for the modfl() function.  Otherwise, it is up
  *     to the program to supply one.
  */
-/* HAS_MODFL_POW32_BUG:
- *     This symbol, if defined, indicates that the modfl routine is
- *     broken for long doubles >= pow(2, 32).
- *     For example from 4294967303.150000 one would get 4294967302.000000
- *     and 1.150000.  The bug has been seen in certain versions of glibc,
- *     release 2.2.2 is known to be okay.
- */
 /*#define HAS_MODFL            / **/
 /*#define HAS_MODFL_PROTO              / **/
-/*#define HAS_MODFL_POW32_BUG          / **/
 
 /* HAS_MPROTECT:
  *     This symbol, if defined, indicates that the mprotect system call is
  */
 /*#define      HAS_SETRESUID_PROTO     / **/
 
-/* HAS_STRUCT_STATFS_F_FLAGS:
- *     This symbol, if defined, indicates that the struct statfs
- *     does have the f_flags member containing the mount flags of
- *     the filesystem containing the file.
- *     This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),
- *     not from <sys/statfs.h> (SYSV).  Older BSDs (like Ultrix) do not
- *     have statfs() and struct statfs, they have ustat() and getmnt()
- *     with struct ustat and struct fs_data.
- */
-/*#define HAS_STRUCT_STATFS_F_FLAGS            / **/
-
-/* HAS_STRUCT_STATFS:
- *     This symbol, if defined, indicates that the struct statfs
- *     to do statfs() is supported.
- */
-/*#define HAS_STRUCT_STATFS    / **/
-
-/* HAS_FSTATVFS:
- *     This symbol, if defined, indicates that the fstatvfs routine is
- *     available to stat filesystems by file descriptors.
- */
-/*#define HAS_FSTATVFS         / **/
-
 /* HAS_STRFTIME:
  *     This symbol, if defined, indicates that the strftime routine is
  *     available to do time formatting.
  */
 /*#define      HAS_USLEEP_PROTO        / **/
 
-/* HAS_USTAT:
- *     This symbol, if defined, indicates that the ustat system call is
- *     available to query file system statistics by dev_t.
- */
-/*#define HAS_USTAT            / **/
-
 /* HAS_WCSCMP:
  *     This symbol, if defined, indicates that the wcscmp routine is
  *     available to compare two wide character strings.
  */
 /*#define I_MALLOCMALLOC               / **/
 
-/* I_MNTENT:
- *     This symbol, if defined, indicates that <mntent.h> exists and
- *     should be included.
- */
-/*#define      I_MNTENT                / **/
-
 /* I_NETINET_TCP:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <netinet/tcp.h>.
  */
 /*#define      I_SYSMODE               / **/
 
-/* I_SYS_MOUNT:
- *     This symbol, if defined, indicates that <sys/mount.h> exists and
- *     should be included.
- */
-/*#define      I_SYS_MOUNT             / **/
-
-/* I_SYS_STATFS:
- *     This symbol, if defined, indicates that <sys/statfs.h> exists.
- */
-/*#define      I_SYS_STATFS            / **/
-
-/* I_SYS_STATVFS:
- *     This symbol, if defined, indicates that <sys/statvfs.h> exists and
- *     should be included.
- */
-/*#define      I_SYS_STATVFS           / **/
-
 /* I_SYSUTSNAME:
  *     This symbol, if defined, indicates that <sys/utsname.h> exists and
  *     should be included.
  */
 /*#define      I_SYSUTSNAME            / **/
 
-/* I_SYS_VFS:
- *     This symbol, if defined, indicates that <sys/vfs.h> exists and
- *     should be included.
- */
-/*#define      I_SYS_VFS               / **/
-
-/* I_USTAT:
- *     This symbol, if defined, indicates that <ustat.h> exists and
- *     should be included.
- */
-/*#define      I_USTAT         / **/
-
 /* PERL_PRIfldbl:
  *     This symbol, if defined, contains the string used by stdio to
  *     format long doubles (format 'f') for output.
  *     used in a fully backward compatible manner.
  */
 #ifndef USE_PERLIO
-/*#define      USE_PERLIO              / **/
+#define        USE_PERLIO              /**/
 #endif
 
 /* USE_SOCKS: