This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
xsubpp enhancements ($CPAN/authors/id/ILYAZ/patches/diff_xsubpp_65), a
[perl5.git] / vms / config.vms
index 186df81..839c7ee 100644 (file)
@@ -8,11 +8,11 @@
  * GenConfig.pl when producing Config.pm.
  *
  * config.h for VMS
- * Version: 5.003_08
+ * Version: 5.005
  */                 
 
-/* Configuration time: 19-Nov-1996 23:34
- * Configured by: Charles Bailey  bailey@genetics.upenn.edu
+/* Configuration time:  4-Apr-1998 21:30
+ * Configured by: Charles Bailey  bailey@newman.upenn.edu
  * Target system: VMS
  */
 
  * when Perl is built.  Please do not change it by hand; make
  * any changes to FndVers.Com instead.
  */
-#define ARCHLIB_EXP "/perl_root/lib/VMS_VAX/5_00310"  /**/
+#define ARCHLIB_EXP "/perl_root/lib/VMS_VAX/5_00464"  /**/
+
+
 #define ARCHLIB ARCHLIB_EXP    /*config-skip*/
 
+/* ARCHNAME:
+ *     This symbol holds a string representing the architecture name.
+ *     It may be used to construct an architecture-dependant pathname
+ *     where library files may be held under a private library, for
+ *     instance.
+ */
+#define ARCHNAME "VMS_VAX"  /**/
+
 /* CPPSTDIN:
  *     This symbol contains the first part of the string which will invoke
  *     the C preprocessor on the standard input and produce to standard
  *     This symbol is defined if the bcmp() routine is available to
  *     compare blocks of memory.
  */
-#undef HAS_BCMP        /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_BCMP /**/
+#else
+#undef HAS_BCMP        /*config-skip*/
+#endif
 
+#include <string.h> /* Check whether new DECC has #defined bcopy and bzero */
 /* HAS_BCOPY:
  *     This symbol is defined if the bcopy() routine is available to
  *     copy blocks of memory.
  */
 #undef HAS_BCOPY       /**/
+#ifdef bcopy
+#  define HAS_BCOPY            /*config-skip*/
+#endif
 
 /* HAS_BZERO:
  *     This symbol is defined if the bzero() routine is available to
  *     set a memory block to 0.
  */
 #undef HAS_BZERO       /**/
+#ifdef bzero
+#  define HAS_BZERO            /*config-skip*/
+#endif
 
 /* CASTNEGFLOAT:
  *     This symbol is defined if the C compiler can cast negative
  *     This symbol, if defined, indicates that the C-shell exists.
  *     If defined, contains the full pathname of csh.
  */
+#undef HAS_CSH         /**/
 #undef CSH             /**/
 
 /* HAS_DUP2:
  */
 #define HAS_FSETPOS    /**/
 
+/* HAS_GETTIMEOFDAY:
+ *     This symbol, if defined, indicates that the gettimeofday() system
+ *     call is available for a sub-second accuracy clock. Usually, the file
+ *     <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
+ *     The type "Timeval" should be used to refer to "struct timeval".    
+ */
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_GETTIMEOFDAY /*config-skip*/
+#else
+#undef HAS_GETTIMEOFDAY /*config-skip*/
+#endif
+#ifdef HAS_GETTIMEOFDAY
+#  define Timeval struct timeval /*config-skip*/
+#endif
+
+/* HAS_LONG_DOUBLE:
+ *     This symbol will be defined if the C compiler supports long
+ *     doubles.
+ */
+/* LONG_DOUBLESIZE:
+ *     This symbol contains the size of a long double, so that the 
+ *     C preprocessor can make decisions based on it.  It is only
+ *     defined if the system supports long doubles.
+ */
+#undef HAS_LONG_DOUBLE         /**/
+#ifdef HAS_LONG_DOUBLE
+#  define LONG_DOUBLESIZE 8            /**/
+#endif
+
+/* LONGLONGSIZE:
+ *     This symbol contains the size of a long long, so that the 
+ *     C preprocessor can make decisions based on it.  It is only
+ *     defined if the system supports long long.
+ */
+#undef HAS_LONG_LONG           /**/
+#ifdef HAS_LONG_LONG
+#define LONGLONGSIZE 8         /**/
+#endif
+
+/* HAS_MKSTEMP:
+ *     This symbol, if defined, indicates that the mkstemp routine is
+ *     available to create and open a unique temporary file.
+ */
+#undef HAS_MKSTEMP             /**/
+
 /* HAS_GETGROUPS:
  *     This symbol, if defined, indicates that the getgroups() routine is
  *     available to get the list of process groups.  If unavailable, multiple
  *     groups are probably not supported.
  */
+/* HAS_SETGROUPS:
+ *     This symbol, if defined, indicates that the setgroups() routine is
+ *     available to set the list of process groups.  If unavailable, multiple
+ *     groups are probably not supported.
+ */
 #undef HAS_GETGROUPS           /**/
+#undef HAS_SETGROUPS           /**/
 
 /* HAS_UNAME:
  *     This symbol, if defined, indicates that the C program may use the
  *     uname() routine to derive the host name.  See also HAS_GETHOSTNAME
  *     and PHOSTNAME.
  */
-#undef HAS_UNAME               /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_UNAME /*config-skip*/
+#else
+#undef HAS_UNAME               /*config-skip*/
+#endif
 
 /* HAS_GETPRIORITY:
  *     This symbol, if defined, indicates that the getpriority routine is
  */
 #undef HAS_POLL                /**/
 
+/* HAS_PTHREAD_YIELD:
+ *     This symbol, if defined, indicates that the pthread_yield routine is
+ *     available to yield the execution of the current thread.
+ *     VMS: pthread_yield_np is there, so just set up the alias
+ */
+#define HAS_PTHREAD_YIELD      /**/
+#define pthread_yield pthread_yield_np /*config-skip*/
+
+/* OLD_PTHREADS_API:
+ *     This symbol, if defined, indicates that Perl should
+ *     be built to use the old draft POSIX threads API.
+ */
+#undef OLD_PTHREADS_API                /**/
+
 /* HAS_READDIR:
  *     This symbol, if defined, indicates that the readdir routine is
  *     available to read directory entries. You may have to include
  *     This symbol, if defined, indicates that Vr4's sigaction() routine
  *     is available.
  */
-#undef HAS_SIGACTION   /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_SIGACTION /**/
+#else
+#undef HAS_SIGACTION   /*config-skip*/
+#endif
 
 /* USE_STAT_BLOCKS:
  *     This symbol is defined if this system has a stat structure declaring
 #  define FILE_cnt(fp) ((*fp)->_cnt)
 #endif
 
-/* FILE_filbuf:
- *     This macro is used to access the internal stdio _filbuf function
- *     (or equivalent), if STDIO_CNT_LVALUE and STDIO_PTR_LVALUE
- *     are defined.  It is typically either _filbuf or __filbuf.
- *     This macro will only be defined if both STDIO_CNT_LVALUE and
- *     STDIO_PTR_LVALUE are defined.
- */
-#define FILE_filbuf(fp) do { register int c; if ((c = fgetc(fp)) != EOF) \
-                             ungetc(c,(fp)); } while (0);
-
 /* FILE_base:
  *     This macro is used to access the _base field (or equivalent) of the
  *     FILE structure pointed to by its argument. This macro will always be
  *     This symbol, if defined, indicates that the truncate routine is
  *     available to truncate files.
  */
-#undef HAS_TRUNCATE    /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_TRUNCATE /*config-skip*/
+#else
+#undef HAS_TRUNCATE    /*config-skip*/
+#endif
 
 
 /* HAS_VFORK:
  */
 #define HAS_VFORK      /**/
 
+/* HAS_UNION_SEMUN:
+ *     This symbol, if defined, indicates that the union semun is
+ *     defined by including <sys/sem.h>.  If not, the user code
+ *     probably needs to define it as:
+ *     union semun {
+ *         int val;
+ *         struct semid_ds *buf;
+ *         unsigned short *array;
+ *     }
+ */
+/* USE_SEMCTL_SEMUN:
+ *     This symbol, if defined, indicates that union semun is
+ *     used for semctl IPC_STAT.
+ */
+/* USE_SEMCTL_SEMID_DS:
+ *     This symbol, if defined, indicates that struct semid_ds * is
+ *     used for semctl IPC_STAT.
+ */
+#undef HAS_UNION_SEMUN /**/
+#undef USE_SEMCTL_SEMUN        /**/
+#undef USE_SEMCTL_SEMID_DS     /**/
+
 /* Signal_t:
  *     This symbol's value is either "void" or "int", corresponding to the
  *     appropriate return type of a signal handler.  Thus, you can declare
 /* HAS_WAIT4:
  *     This symbol, if defined, indicates that wait4() exists.
  */
-#undef HAS_WAIT4       /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_WAIT4 /*config-skip*/
+#else
+#undef HAS_WAIT4       /*config-skip*/
+#endif
 
 /* HAS_WAITPID:
  *     This symbol, if defined, indicates that the waitpid routine is
 #undef PWCHANGE        /**/
 #undef PWCLASS /**/
 #undef PWEXPIRE        /**/
+#define PWGECOS        /**/
 #define PWCOMMENT      /**/
 
 /* I_STDDEF:
  */
 #undef I_VFORK /**/
 
+/* Pid_t:
+ *     This symbol holds the type used to declare process ids in the kernel.
+ *     It can be int, uint, pid_t, etc... It may be necessary to include
+ *     <sys/types.h> to get any typedef'ed information.
+ */
+#if defined(__DECC) && defined(__DECC_VER) && (__DECC_VER >= 500000)
+#  define Pid_t pid_t          /* config-skip */
+#else
+#  define Pid_t int    /* config-skip */
+#endif
+
 /* CAN_PROTOTYPE:
  *     If defined, this macro indicates that the C compiler can handle
  *     function prototypes.
  *     is defined, and 'int *' otherwise.  This is only useful if you 
  *     have select(), of course.
  */
-#define Select_fd_set_t        int *   /**/
+#if defined(__DECC) && defined(__DECC_VER) && (__DECC_VER >= 50200000) && defined(DECCRTL_SOCKETS)
+#define Select_fd_set_t                fd_set *        /* config-skip */
+#else
+#define Select_fd_set_t                int *           /* config-skip */
+#endif
 
 /* STDCHAR:
  *     This symbol is defined to be the type of char used in stdio.h.
  *     This symbol holds the path of the bin directory where the package will
  *     be installed. Program must be prepared to deal with ~name substitution.
  */
+/* BIN_EXP:
+ *     This symbol is the filename expanded version of the BIN symbol, for
+ *     programs that do not want to deal with that at run-time.
+ */
 #define BIN "/perl_root/000000"        /**/
+#define BIN_EXP "/perl_root/000000"    /**/
 
 /* HAS_ALARM:
  *     This symbol, if defined, indicates that the alarm routine is
  *     functions are available for string searching.
  */
 #define HAS_STRCHR     /**/
-#undef HAS_INDEX       /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_INDEX /*config-skip*/
+#else
+#undef HAS_INDEX       /*config-skip*/
+#endif
 
 /* HAS_STRCOLL:
  *     This symbol, if defined, indicates that the strcoll routine is
 
 /* HAS_STRTOD:
  *     This symbol, if defined, indicates that the strtod routine is
- *     available to translate strings to doubles.
+ *     available to provide better numeric string conversion than atof().
  */
 #define HAS_STRTOD     /**/
 
 /* HAS_STRTOL:
- *     This symbol, if defined, indicates that the strtol routine is
- *     available to translate strings to integers.
+ *     This symbol, if defined, indicates that the strtol routine is available
+ *     to provide better numeric string conversion than atoi() and friends.
  */
 #define HAS_STRTOL     /**/
 
 /* HAS_STRTOUL:
  *     This symbol, if defined, indicates that the strtoul routine is
- *     available to translate strings to integers.
+ *     available to provide conversion of strings to unsigned long.
  */
 #define HAS_STRTOUL    /**/
 
  */
 #define I_MATH         /**/
 
+/* DOUBLESIZE:
+ *     This symbol contains the size of a double, so that the C preprocessor
+ *     can make decisions based on it.
+ */
 /* INTSIZE:
  *     This symbol contains the size of an int, so that the C preprocessor
  *     can make decisions based on it.
  */
+/* LONGSIZE:
+ *     This symbol contains the value of sizeof(long) so that the C
+ *     preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ *     This symbol contains the value of sizeof(short) so that the C
+ *     preprocessor can make decisions based on it.
+ */
+/* PTRSIZE:
+ *     This symbol contains the size of a pointer, so that the C preprocessor
+ *     can make decisions based on it.  It will be sizeof(void *) if
+ *     the compiler supports (void *); otherwise it will be
+ *     sizeof(char *).
+ *     VMS: Use 32-bit pointers everywhere for now  7-Mar-1998
+ */
+#define DOUBLESIZE 8           /**/
 #define INTSIZE 4              /**/
+#define LONGSIZE 4             /**/
+#define SHORTSIZE 2            /**/
+#define PTRSIZE 4              /**/
 
 /* Off_t:
  *     This symbol holds the type used to declare offsets in the kernel.
  *     corresponds to the 0 at the end of the sig_num list.
  *     See SIG_NUM and SIG_MAX.
  */
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","IOT","EMT","FPE",\
+                 "KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM",\
+                 "ABRT","USR1","USR2","SPARE18","SPARE19","CHLD","CONT",\
+                 "STOP","TSTP","TTIN","TTOU","DEBUG","SPARE27","SPARE28",\
+                 "SPARE29","SPARE30","SPARE31","SPARE32","RTMIN","RTMAX",0 /**/
+#else
 #define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","IOT","EMT","FPE",\
                  "KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM",\
-                 "ABRT","USR1","USR2",0
+                 "ABRT","USR1","USR2",0 /*config-skip*/
+#endif
 
 /* SIG_NUM:
  *     This symbol contains a list of signal number, in the same order as the
  * The last element is 0, corresponding to the 0 at the end of
  * the sig_name list.
  */
-#define SIG_NUM 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0        /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define SIG_NUM 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,64,0     /**/
+#else
+#define SIG_NUM 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0        /*config-skip*/
+#endif
 
 /* Mode_t:
  *     This symbol holds the type used to declare file modes 
 #undef RD_NODATA
 #undef EOF_NONBLOCK
 
-/* OLDARCHLIB:
- *     This variable, if defined, holds the name of the directory in
- *     which the user has perl5.000 or perl5.001 architecture-dependent
- *     public library files for $package.  For the most part, these
- *     files will work with 5.002 (and later), but that is not
- *     guaranteed.
- */
-/* OLDARCHLIB_EXP:
- *     This symbol contains the ~name expanded version of OLDARCHLIB, to be
- *     used in programs that are not prepared to deal with ~ expansion at 
- *     run-time.
- */
-/*     ==> NOTE <==
- * This value is automatically updated by FndVers.Com
- * when Perl is built.  Please do not change it by hand; make
- * any changes to FndVers.Com instead.
- */
-#define OLDARCHLIB_EXP "/perl_root/lib/VMS_VAX"  /**/
-#define OLDARCHLIB OLDARCHLIB_EXP  /*config-skip*/
-
 /* PRIVLIB:
  *     This symbol contains the name of the private library for this package.
  *     The library is private in the sense that it needn't be in anyone's
 #define SITEARCH_EXP "/perl_root/lib/site_perl/VMS_VAX"  /**/
 #define SITEARCH SITEARCH_EXP  /*config-skip*/
 
-/* SCRIPTDIR:
- *     This symbol holds the name of the directory in which the user wants
- *     to put publicly executable scripts for the package in question.  It
- *     is often a directory that is mounted across diverse architectures.
- *     Programs must be prepared to deal with ~name expansion.
- */
-#define SCRIPTDIR "/perl_root/script"  /**/
-
 /* Size_t:
  *     This symbol holds the type used to declare length parameters
  *     for string functions.  It is usually size_t, but may be
 #undef SETUID_SCRIPTS_ARE_SECURE_NOW   /**/
 #undef DOSUID          /**/
 
+/* HAS_INET_ATON:
+ *     This symbol, if defined, indicates to the C program that the
+ *     inet_aton() function is available to parse IP address "dotted-quad"
+ *     strings.
+ *     VMS: SocketShr doesn't support this, so we let the Socket extension
+ *     roll its own.
+ */
+#undef HAS_INET_ATON           /**/
+
+/* HAS_GNULIBC:
+ *     This symbol, if defined, indicates to the C program that 
+ *     the GNU C library is being used.
+ */
+#undef HAS_GNULIBC     /**/
+
 /* HAS_ISASCII:
  *     This manifest constant lets the C program know that the
  *     isascii is available.
  */
 #define HAS_ISASCII            /**/
 
+/* HAS_LCHOWN:
+ *     This symbol, if defined, indicates that the lchown routine is
+ *     available to operate on a symbolic link (instead of following the
+ *     link).
+ */
+/*#define HAS_LCHOWN           / **/
+
 /* HAS_SETLOCALE:
  *     This symbol, if defined, indicates that the setlocale routine is
  *     available to handle locale-specific ctype implementations.
  *     to determine file-system related limits and options associated
  *     with a given open file descriptor.
  */
-#undef HAS_PATHCONF       /**/
-#undef HAS_FPATHCONF     /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_PATHCONF /*config-skip*/
+#define HAS_FPATHCONF /*config-skip*/
+#else
+#undef HAS_PATHCONF       /*config-skip*/
+#undef HAS_FPATHCONF     /*config-skip*/
+#endif
 
 /* HAS_SAFE_BCOPY:
  *     This symbol, if defined, indicates that the bcopy routine is available
 #define HAS_SAFE_MEMCPY        /**/
 
 /* HAS_SANE_MEMCMP:
- *     This symbol, if defined, indicates that the memcmp() routine is
- *     available to compare memory blocks for relative magnitude. If this
- *     symbol is not defined, and if HAS_MEMCMP is defined, then memcmp()
- *     may be used only to compare memory blocks for equality.
+ *     This symbol, if defined, indicates that the memcmp routine is available
+ *     and can be used to compare relative magnitudes of chars with their high
+ *     bits set.  If it is not defined, roll your own version.
  */
 #define HAS_SANE_MEMCMP        /**/
 
  *     arguments whereas USG one needs none.  See also HAS_SETPGID
  *     for a POSIX interface.
  */
-/* USE_BSDPGRP:
- *     This symbol, if defined, indicates that the BSD notion of process
- *     group is to be used. For instance, you have to say setpgrp(pid, pgrp)
- *     instead of the USG setpgrp().
- */
 #undef HAS_SETPGRP             /**/
 #undef USE_BSD_SETPGRP /**/
-#undef USE_BSDPGRP             /**/
 
 /* HAS_SETPGID:
  *     This symbol, if defined, indicates that the setpgid routine is
  *     This symbol, if defined, indicates that sysconf() is available
  *     to determine system related limits and options.
  */
-#undef HAS_SYSCONF     /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_SYSCONF /*config-skip*/
+#else
+#undef HAS_SYSCONF     /*config-skip*/
+#endif
 
 /* Gconvert:
  *     This preprocessor macro is defined to convert a floating point
  */
 #undef USE_SFIO                /**/
 
+/* PTHREADS_CREATED_JOINABLE:
+ *     This symbol, if defined, indicates that pthreads are created
+ *     in the joinable (aka undetached) state.
+ */
+#define        PTHREADS_CREATED_JOINABLE               /**/
+
 /* Sigjmp_buf:
  * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
  */
  * This macro is used in the same way as siglongjmp(), but will invoke
  * traditional longjmp() if siglongjmp isn't available.
  */
-#undef HAS_SIGSETJMP   /**/
+#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
+#define HAS_SIGSETJMP /*config-skip*/
+#else
+#undef HAS_SIGSETJMP   /*config-skip*/
+#endif
 #ifdef HAS_SIGSETJMP
 #define Sigjmp_buf sigjmp_buf  /* config-skip */
 #define Sigsetjmp(buf,save_mask) sigsetjmp(buf,save_mask)      /* config-skip */
 
 /* Groups_t:
  *     This symbol holds the type used for the second argument to
- *     getgroups().  Usually, this is the same of gidtype, but
+ *     [gs]etgroups().  Usually, this is the same of gidtype, but
  *     sometimes it isn't.  It can be int, ushort, uid_t, etc... 
  *     It may be necessary to include <sys/types.h> to get any 
  *     typedef'ed information.  This is only required if you have
- *     getgroups().
+ *     getgroups() or setgroups.
  */
-#ifdef HAS_GETGROUPS
-#define Groups_t unsigned int  /* Type for 2nd arg to getgroups() */  /* config-skip */
+#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
+#define Groups_t unsigned int  /* config-skip */
 #endif
 
 /* DB_Prefix_t:
  */
 #undef USE_PERLIO              /**/
 
+/* HAS_SETVBUF:
+ *     This symbol, if defined, indicates that the setvbuf routine is
+ *     available to change buffering on an open stdio stream.
+ *     to a line-buffered mode.
+ */
+#define HAS_SETVBUF            /**/
+
 /* VOIDFLAGS:
  *     This symbol indicates how much support of the void type is given by this
  *     compiler.  What various bits mean:
  */
 #define HAS_GETHOSTENT         /**/      /* config-skip */
 
+/* HAS_GETHOSTBYADDR:
+ *     This symbol, if defined, indicates that the gethostbyaddr routine is
+ *     available to lookup host names by their IP addresses.
+ */
+#define HAS_GETHOSTBYADDR              /**/      /* config-skip */
+
+/* Netdb_host_t:
+ *     This symbol holds the type used for the 1st argument
+ *     to gethostbyaddr().
+ */
+#define Netdb_host_t           char * /**/ /* config-skip */
+
+/* Netdb_hlen_t:
+ *     This symbol holds the type used for the 2nd argument
+ *     to gethostbyaddr().
+ */
+#define Netdb_hlen_t           int     /**/  /* config-skip */
+
+/* HAS_GETPROTOBYNAME:
+ *     This symbol, if defined, indicates that the getprotobyname()
+ *     routine is available to look up protocols by their name.
+ */
+/* HAS_GETPROTOBYNUMBER:
+ *     This symbol, if defined, indicates that the getprotobynumber()
+ *     routine is available to look up protocols by their number.
+ */
+#define HAS_GETPROTOBYNAME             /*config-skip*/
+#define HAS_GETPROTOBYNUMBER           /*config-skip*/
+
+/* HAS_GETHOSTBYNAME:
+ *     This symbol, if defined, indicates that the gethostbyname routine is
+ *     available to lookup hosts by their DNS names.
+ */
+#define HAS_GETHOSTBYNAME              /*config-skip*/
+
+/* Netdb_name_t:
+ *     This symbol holds the type used for the 1st argument
+ *     to gethostbyname(), the 1st argument to getnetbyname(),
+ *     the 1st argument to getprotobyname(), the 1st argument to
+ *     getservbyname(), the 2nd argument to getservbyname(),
+ *     and the 2nd argument to getservbyport().
+ */
+#define Netdb_name_t   char *
+
+#ifdef DECCRTL_SOCKETS
+/* HAS_GETNETBYADDR:
+ *     This symbol, if defined, indicates that the getnetbyaddr routine is
+ *     available to lookup networks by their IP addresses.
+ */
+#define HAS_GETNETBYADDR               /**/      /* config-skip */
+
+/* Netdb_net_t:
+ *     This symbol holds the type used for the 1st argument
+ *     to getnetbyaddr().
+ */
+#define Netdb_net_t            long    /**/ /* config-skip */
+
+/* HAS_GETNETBYNAME:
+ *     This symbol, if defined, indicates that the getnetbyname routine is
+ *     available to lookup networks by their names.
+ */
+#define HAS_GETNETBYNAME               /*config-skip*/
+
+/* HAS_GETNETENT:
+ *     This symbol, if defined, indicates that the getnetent() routine is
+ *     available to look up network names in some data base or another.
+ */
+#define HAS_GETNETENT          /*config-skip*/
+
+/* HAS_SETNETENT:
+ *     This symbol, if defined, indicates that the setnetent() routine is
+ *     available.
+ */
+#define HAS_SETNETENT          /*config-skip*/
+
+/* HAS_ENDNETENT:
+ *     This symbol, if defined, indicates that the endnetent() routine is
+ *     available to close whatever was being used for network queries.
+ */
+#define HAS_ENDNETENT          /*config-skip*/
+#else
+#undef HAS_GETNETBYADDR                /*config-skip*/
+#undef HAS_GETNETBYNAME                /*config-skip*/
+#undef HAS_GETNETENT           /*config-skip*/
+#undef HAS_SETNETENT           /*config-skip*/
+#undef HAS_ENDNETENT           /*config-skip*/
+#endif
+
+/* HAS_GETPROTOBYNAME:
+ *     This symbol, if defined, indicates that the getprotobyname routine is
+ *     available to lookup protocols by their names.
+ */
+/* HAS_GETPROTOBYNUMBER:
+ *     This symbol, if defined, indicates that the getprotobynumber()
+ *     routine is available to look up protocols by their number.
+ */
+#define HAS_GETPROTOBYNAME             /*config-skip*/
+#define HAS_GETPROTOBYNUMBER           /*config-skip*/
+
+/* HAS_GETSERVBYNAME:
+ *     This symbol, if defined, indicates that the getservbyname()
+ *     routine is available to look up services by their name.
+ */
+/* HAS_GETSERVBYPORT:
+ *     This symbol, if defined, indicates that the getservbyport()
+ *     routine is available to look up services by their port.
+ */
+#define HAS_GETSERVBYNAME              /*config-skip*/
+#define HAS_GETSERVBYPORT              /*config-skip*/
+
+/* HAS_SETHOSTENT:
+ *     This symbol, if defined, indicates that the sethostent() routine is
+ *     available.
+ */
+#define HAS_SETHOSTENT         /*config-skip*/
+
 /* VMS: In general, TCP/IP header files should be included from
  * sockadapt.h, instead of here, in order to keep the TCP/IP code
  * together as much as possible.
  */
 #undef I_NETINET_IN    /**/              /* config-skip */
 
+/* I_NETDB:
+ *     This symbol, if defined, indicates that <netdb.h> exists and 
+ *     should be included.
+ */
+#undef I_NETDB         /**/              /* config-skip */
+
 /* I_NET_ERRNO:
  *     This symbol, if defined, indicates that <net/errno.h> exists and 
  *     should be included.
  */
 #define HAS_SELECT     /**/              /* config-skip */
 
+/* HAS_ENDHOSTENT:
+ *     This symbol, if defined, indicates that the endhostent() routine is
+ *     available to close whatever was being used for host queries.
+ */
+#define HAS_ENDHOSTENT         /*config-skip*/
+
+/* HAS_GETPROTOENT:
+ *     This symbol, if defined, indicates that the getprotoent() routine is
+ *     available to look up protocols in some data base or another.
+ */
+#define HAS_GETPROTOENT                /*config-skip*/
+
+/* HAS_ENDPROTOENT:
+ *     This symbol, if defined, indicates that the endprotoent() routine is
+ *     available to close whatever was being used for protocol queries.
+ */
+#define HAS_ENDPROTOENT                /*config-skip*/
+
+/* HAS_SETPROTOENT:
+ *     This symbol, if defined, indicates that the setprotoent() routine is
+ *     available.
+ */
+#define HAS_SETPROTOENT                /*config-skip*/
+
+/* HAS_GETSERVENT:
+ *     This symbol, if defined, indicates that the getservent() routine is
+ *     available to look up network services in some data base or another.
+ */
+#define HAS_GETSERVENT         /*config-skip*/
+
+/* HAS_SETSERVENT:
+ *     This symbol, if defined, indicates that the setservent() routine is
+ *     available.
+ */
+#define HAS_SETSERVENT         /*config-skip*/
+
+/* HAS_ENDSERVENT:
+ *     This symbol, if defined, indicates that the endservent() routine is
+ *     available to close whatever was being used for service queries.
+ */
+#define HAS_ENDSERVENT         /*config-skip*/
+
+/* HAS_GETHOST_PROTOS:
+ *     This symbol, if defined, indicates that <netdb.h> includes
+ *     prototypes for gethostent(), gethostbyname(), and
+ *     gethostbyaddr().  Otherwise, it is up to the program to guess
+ *     them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define        HAS_GETHOST_PROTOS      /*config-skip*/
+
+/* HAS_GETNET_PROTOS:
+ *     This symbol, if defined, indicates that <netdb.h> includes
+ *     prototypes for getnetent(), getnetbyname(), and
+ *     getnetbyaddr().  Otherwise, it is up to the program to guess
+ *     them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define        HAS_GETNET_PROTOS       /*config-skip*/
+
+/* HAS_GETPROTO_PROTOS:
+ *     This symbol, if defined, indicates that <netdb.h> includes
+ *     prototypes for getprotoent(), getprotobyname(), and
+ *     getprotobyaddr().  Otherwise, it is up to the program to guess
+ *     them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define        HAS_GETPROTO_PROTOS     /*config-skip*/
+
+/* HAS_GETSERV_PROTOS:
+ *     This symbol, if defined, indicates that <netdb.h> includes
+ *     prototypes for getservent(), getservbyname(), and
+ *     getservbyaddr().  Otherwise, it is up to the program to guess
+ *     them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define        HAS_GETSERV_PROTOS      /*config-skip*/
+
 #else /* VMS_DO_SOCKETS */
 
-#undef HAS_SOCKET              /**/          /* config-skip */
-#undef HAS_SOCKETPAIR  /**/          /* config-skip */
-#undef HAS_GETHOSTENT          /**/      /* config-skip */
-#undef I_NETINET_IN    /**/              /* config-skip */
-#undef I_NET_ERRNO             /**/          /* config-skip */
-#undef HAS_SELECT      /**/              /* config-skip */
+#undef HAS_SOCKET                              /*config-skip*/
+#undef HAS_SOCKETPAIR                  /*config-skip*/
+#undef HAS_GETHOSTENT                  /*config-skip*/
+#undef HAS_SETHOSTENT                  /*config-skip*/
+#undef I_NETINET_IN                            /*config-skip*/
+#undef I_NETDB                                 /*config-skip*/
+#undef I_NET_ERRNO                             /*config-skip*/
+#undef HAS_SELECT                              /*config-skip*/
+#undef HAS_GETHOSTBYADDR               /*config-skip*/
+#undef HAS_GETNETBYADDR                        /*config-skip*/
+#undef HAS_GETNETENT                   /*config-skip*/
+#undef HAS_SETNETENT                   /*config-skip*/
+#undef HAS_ENDNETENT                   /*config-skip*/
+#undef HAS_GETHOSTBYNAME               /*config-skip*/
+#undef HAS_GETNETBYNAME                        /*config-skip*/
+#undef HAS_GETPROTOBYNAME              /*config-skip*/
+#undef HAS_GETPROTOBYNUMBER            /*config-skip*/
+#undef HAS_GETSERVBYNAME               /*config-skip*/
+#undef HAS_GETSERVBYPORT               /*config-skip*/
+#undef HAS_ENDHOSTENT                  /*config-skip*/
+#undef HAS_GETPROTOENT                 /*config-skip*/
+#undef HAS_SETPROTOENT                 /*config-skip*/
+#undef HAS_ENDPROTOENT                 /*config-skip*/
+#undef HAS_GETSERVENT                  /*config-skip*/
+#undef HAS_SETSERVENT                  /*config-skip*/
+#undef HAS_ENDSERVENT                  /*config-skip*/
+#undef HAS_GETHOST_PROTOS              /*config-skip*/
+#undef HAS_GETNET_PROTOS               /*config-skip*/
+#undef HAS_GETPROTO_PROTOS             /*config-skip*/
+#undef HAS_GETSERV_PROTOS              /*config-skip*/
 
 #endif /* !VMS_DO_SOCKETS */