s/TMP_CRLF_PATCH/PERL_STRICT_CR/ with sense reversed, so they
[p5sagit/p5-mst-13.2.git] / win32 / config_H.gc
index c92e074..ffa5c1c 100644 (file)
@@ -34,8 +34,8 @@
  *     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 "c:\\perl5004.5x\\bin"     /**/
-#define BIN_EXP "c:\\perl5004.5x\\bin" /**/
+#define BIN "c:\\perl\\5.00501\\bin\\MSWin32-x86"      /**/
+#define BIN_EXP "c:\\perl\\5.00501\\bin\\MSWin32-x86"  /**/
 
 /* CPPSTDIN:
  *     This symbol contains the first part of the string which will invoke
 #define Shmat_t void * /**/
 /*#define HAS_SHMAT_PROTOTYPE  /**/
 
-/* HAS_SOCKET:
- *     This symbol, if defined, indicates that the BSD socket interface is
- *     supported.
- */
-/* HAS_SOCKETPAIR:
- *     This symbol, if defined, indicates that the BSD socketpair() call is
- *     supported.
- */
-#define HAS_SOCKET             /**/
-/*#define HAS_SOCKETPAIR       /**/
-
 /* USE_STAT_BLOCKS:
  *     This symbol is defined if this system has a stat structure declaring
  *     st_blksize and st_blocks.
  */
 /*#define HAS_TCSETPGRP                /**/
 
-/* Time_t:
- *     This symbol holds the type returned by time(). It can be long,
- *     or time_t on BSD sites (in which case <sys/types.h> should be
- *     included).
- */
-#define Time_t time_t          /* Time type */
-
-/* HAS_TIMES:
- *     This symbol, if defined, indicates that the times() routine exists.
- *     Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-#define HAS_TIMES              /**/
-
 /* HAS_TRUNCATE:
  *     This symbol, if defined, indicates that the truncate routine is
  *     available to truncate files.
  *     This symbol, if defined, indicates that the tzname[] array is
  *     available to access timezone names.
  */
-#define HAS_TZNAME             /**/
+/*#define HAS_TZNAME           /**/
 
 /* HAS_UMASK:
  *     This symbol, if defined, indicates that the umask routine is
  *     This symbol, if defined, indicates that the waitpid routine is
  *     available to wait for child process.
  */
-/*#define HAS_WAITPID  /**/
+#define HAS_WAITPID    /**/
 
 /* HAS_WCSTOMBS:
  *     This symbol, if defined, indicates that the wcstombs routine is
  */
 #define HAS_WCTOMB             /**/
 
-/* Fpos_t:
- *     This symbol holds the type used to declare file positions in libc.
- *     It can be fpos_t, long, uint, etc... It may be necessary to include
- *     <sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t fpos_t          /* File position type */
-
-/* Gid_t:
- *     This symbol holds the return type of getgid() and the type of
- *     argument to setrgid() and related functions.  Typically,
- *     it is the type of group ids in the kernel. It can be int, ushort,
- *     uid_t, etc... It may be necessary to include <sys/types.h> to get
- *     any typedef'ed information.
+/* I_ARPA_INET:
+ *     This symbol, if defined, indicates that <arpa/inet.h> exists and should
+ *     be included.
  */
-#define Gid_t gid_t            /* Type for getgid(), etc... */
+/*#define I_ARPA_INET  /**/
 
 /* I_DBM:
  *     This symbol, if defined, indicates that <dbm.h> exists and should
  *     This symbol, if defined, indicates to the C program that it should
  *     include <grp.h>.
  */
-#define I_GRP          /**/
+/* GRPASSWD:
+ *     This symbol, if defined, indicates to the C program that struct group
+ *     contains gr_passwd.
+ */
+/* HAS_SETGRENT:
+ *     This symbol, if defined, indicates that the getgrent routine is
+ *     available for initializing sequential access of the group database.
+ */
+/* HAS_GETGRENT:
+ *     This symbol, if defined, indicates that the getgrent routine is
+ *     available for sequential access of the group database.
+ */
+/* HAS_ENDGRENT:
+ *     This symbol, if defined, indicates that the getgrent routine is
+ *     available for finalizing sequential access of the group database.
+ */
+/*#define I_GRP                /**/
+/*#define GRPASSWD     /**/
+/*#define HAS_SETGRENT /**/
+/*#define HAS_GETGRENT /**/
+/*#define HAS_ENDGRENT /**/
 
 /* I_LIMITS:
  *     This symbol, if defined, indicates to the C program that it should
  */
 /*#define I_NETINET_IN /**/
 
-/* I_PWD:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <pwd.h>.
- */
-/* PWQUOTA:
- *     This symbol, if defined, indicates to the C program that struct passwd
- *     contains pw_quota.
- */
-/* PWAGE:
- *     This symbol, if defined, indicates to the C program that struct passwd
- *     contains pw_age.
- */
-/* PWCHANGE:
- *     This symbol, if defined, indicates to the C program that struct passwd
- *     contains pw_change.
- */
-/* PWCLASS:
- *     This symbol, if defined, indicates to the C program that struct passwd
- *     contains pw_class.
- */
-/* PWEXPIRE:
- *     This symbol, if defined, indicates to the C program that struct passwd
- *     contains pw_expire.
- */
-/* PWCOMMENT:
- *     This symbol, if defined, indicates to the C program that struct passwd
- *     contains pw_comment.
- */
-/*#define I_PWD                /**/
-/*#define PWQUOTA      /**/
-/*#define PWAGE        /**/
-/*#define PWCHANGE     /**/
-/*#define PWCLASS      /**/
-/*#define PWEXPIRE     /**/
-/*#define PWCOMMENT    /**/
-
 /* I_SFIO:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sfio.h>.
  */
 /*#define I_VFORK      /**/
 
-/* Off_t:
- *     This symbol holds the type used to declare offsets in the kernel.
- *     It can be int, long, off_t, etc... It may be necessary to include
- *     <sys/types.h> to get any typedef'ed information.
- */
-#define Off_t off_t            /* <offset> type */
-
-/* Free_t:
- *     This variable contains the return type of free().  It is usually
- * void, but occasionally int.
- */
-/* Malloc_t:
- *     This symbol is the type of pointer returned by malloc and realloc.
- */
-#define Malloc_t void *                        /**/
-#define Free_t void                    /**/
-
-/* MYMALLOC:
- *     This symbol, if defined, indicates that we're using our own malloc.
- */
-#define MYMALLOC                       /**/
-
-/* Mode_t:
- *     This symbol holds the type used to declare file modes 
- *     for systems calls.  It is usually mode_t, but may be
- *     int or unsigned short.  It may be necessary to include <sys/types.h>
- *     to get any typedef'ed information.
- */
-#define Mode_t mode_t   /* file mode parameter for system calls */
-
-/* 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.
- */
-#define Pid_t int              /* PID type */
-
 /* CAN_PROTOTYPE:
  *     If defined, this macro indicates that the C compiler can handle
  *     function prototypes.
  */
 #define SH_PATH "cmd /x /c"  /**/
 
-/* Size_t:
- *     This symbol holds the type used to declare length parameters
- *     for string functions.  It is usually size_t, but may be
- *     unsigned long, int, etc.  It may be necessary to include
- *     <sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t   /* length paramater for string functions */
-
 /* STDCHAR:
  *     This symbol is defined to be the type of char used in stdio.h.
  *     It has the values "unsigned char" or "char".
  */
 #define STDCHAR char   /**/
 
-/* Uid_t:
- *     This symbol holds the type used to declare user ids in the kernel.
- *     It can be int, ushort, uid_t, etc... It may be necessary to include
- *     <sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t uid_t            /* UID type */
-
-/* VOIDFLAGS:
- *     This symbol indicates how much support of the void type is given by this
- *     compiler.  What various bits mean:
- *
- *         1 = supports declaration of void
- *         2 = supports arrays of pointers to functions returning void
- *         4 = supports comparisons between pointers to void functions and
- *                 addresses of void functions
- *         8 = suports declaration of generic void pointers
- *
- *     The package designer should define VOIDUSED to indicate the requirements
- *     of the package.  This can be done either by #defining VOIDUSED before
- *     including config.h, or by defining defvoidused in Myinit.U.  If the
- *     latter approach is taken, only those flags will be tested.  If the
- *     level of void support necessary is not present, defines void to int.
- */
-#ifndef VOIDUSED
-#define VOIDUSED 15
-#endif
-#define VOIDFLAGS 15
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int               /* is void to be avoided? */
-#define M_VOID                 /* Xenix strikes again */
-#endif
-
 /* MEM_ALIGNBYTES:
  *      This symbol contains the number of bytes required to align a
  *      double. Usual values are 2, 4 and 8.
  */
 #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_OPEN3:
  *     This manifest constant lets the C program know that the three
  *     argument form of open(2) is available.
  */
 #define OSNAME "MSWin32"               /**/
 
-/* ARCHLIB:
- *     This variable, if defined, holds the name of the directory in
- *     which the user wants to put architecture-dependent public
- *     library files for perl5.  It is most often a local directory
- *     such as /usr/local/lib.  Programs using this variable must be
- *     prepared to deal with filename expansion.  If ARCHLIB is the
- *     same as PRIVLIB, it is not defined, since presumably the
- *     program already searches PRIVLIB.
- */
-/* ARCHLIB_EXP:
- *     This symbol contains the ~name expanded version of ARCHLIB, to be used
- *     in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define ARCHLIB "c:\\perl5004.5x\\lib\\MSWin32-x86"            /**/
-#define ARCHLIB_EXP (win32_perllib_path(ARCHNAME,NULL))        /**/
-
 /* CAT2:
  *     This macro catenates 2 tokens together.
  */
 #define LONG_DOUBLESIZE 12             /**/
 #endif
 
-/* HAS_MKSTEMP:
- *     This symbol, if defined, indicates that the mkstemp routine is
- *     available to create and open a unique temporary file.
+/* HAS_LONG_LONG:
+ *     This symbol will be defined if the C compiler supports
+ *     long long.
  */
-/*#define HAS_MKSTEMP          /**/
+/* 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.
+ */
+/*#define HAS_LONG_LONG                /**/
+#ifdef HAS_LONG_LONG
+#define LONGLONGSIZE 8         /**/
+#endif
 
 /* HAS_SETGROUPS:
  *     This symbol, if defined, indicates that the setgroups() routine is
  */
 #define HAS_SETVBUF            /**/
 
+/* HAS_SOCKET:
+ *     This symbol, if defined, indicates that the BSD socket interface is
+ *     supported.
+ */
+/* HAS_SOCKETPAIR:
+ *     This symbol, if defined, indicates that the BSD socketpair() call is
+ *     supported.
+ */
+#define HAS_SOCKET             /**/
+/*#define HAS_SOCKETPAIR       /**/
+
+/* 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.
+ */
+#define HAS_UNION_SEMUN        /**/
+/*#define USE_SEMCTL_SEMUN     /**/
+/*#define 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
  */
 /*#define I_NETDB              /**/
 
-/* 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
- *     execution path, but it should be accessible by the world.  The program
- *     should be prepared to do ~ expansion.
+/* I_PWD:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <pwd.h>.
  */
-/* PRIVLIB_EXP:
- *     This symbol contains the ~name expanded version of PRIVLIB, to be used
- *     in programs that are not prepared to deal with ~ expansion at run-time.
+/* PWQUOTA:
+ *     This symbol, if defined, indicates to the C program that struct passwd
+ *     contains pw_quota.
+ */
+/* PWAGE:
+ *     This symbol, if defined, indicates to the C program that struct passwd
+ *     contains pw_age.
+ */
+/* PWCHANGE:
+ *     This symbol, if defined, indicates to the C program that struct passwd
+ *     contains pw_change.
  */
-#define PRIVLIB "c:\\perl5004.5x\\lib"         /**/
-#define PRIVLIB_EXP (win32_perllib_path(NULL)) /**/
+/* PWCLASS:
+ *     This symbol, if defined, indicates to the C program that struct passwd
+ *     contains pw_class.
+ */
+/* PWEXPIRE:
+ *     This symbol, if defined, indicates to the C program that struct passwd
+ *     contains pw_expire.
+ */
+/* PWCOMMENT:
+ *     This symbol, if defined, indicates to the C program that struct passwd
+ *     contains pw_comment.
+ */
+/* PWGECOS:
+ *     This symbol, if defined, indicates to the C program that struct passwd
+ *     contains pw_gecos.
+ */
+/* PWPASSWD:
+ *     This symbol, if defined, indicates to the C program that struct passwd
+ *     contains pw_passwd.
+ */
+/* HAS_SETPWENT:
+ *     This symbol, if defined, indicates that the getpwrent routine is
+ *     available for initializing sequential access of the passwd database.
+ */
+/* HAS_GETPWENT:
+ *     This symbol, if defined, indicates that the getpwent routine is
+ *     available for sequential access of the password database.
+ */
+/* HAS_ENDPWENT:
+ *     This symbol, if defined, indicates that the getpwent routine is
+ *     available for finalizing sequential access of the passwd database.
+ */
+/*#define I_PWD                /**/
+/*#define PWQUOTA      /**/
+/*#define PWAGE        /**/
+/*#define PWCHANGE     /**/
+/*#define PWCLASS      /**/
+/*#define PWEXPIRE     /**/
+/*#define PWCOMMENT    /**/
+/*#define PWGECOS      /**/
+/*#define PWPASSWD     /**/
+/*#define HAS_SETPWENT /**/
+/*#define HAS_GETPWENT /**/
+/*#define HAS_ENDPWENT /**/
+
+/* Free_t:
+ *     This variable contains the return type of free().  It is usually
+ * void, but occasionally int.
+ */
+/* Malloc_t:
+ *     This symbol is the type of pointer returned by malloc and realloc.
+ */
+#define Malloc_t void *                        /**/
+#define Free_t void                    /**/
+
+/* MYMALLOC:
+ *     This symbol, if defined, indicates that we're using our own malloc.
+ */
+/*#define MYMALLOC                     /**/
 
 /* SIG_NAME:
  *     This symbol contains a list of signal names in order of
 #define SIG_NAME "ZERO", "INT", "QUIT", "ILL", "FPE", "KILL", "SEGV", "PIPE", "ALRM", "TERM", "CHLD", "BREAK", "ABRT", "STOP", "CONT", "CLD", 0                /**/
 #define SIG_NUM  0, 2, 3, 4, 8, 9, 11, 13, 14, 15, 20, 21, 22, 23, 25, 20, 0                   /**/
 
-/* SITEARCH:
- *     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
- *     execution path, but it should be accessible by the world.  The program
- *     should be prepared to do ~ expansion.
- *     The standard distribution will put nothing in this directory.
- *     Individual sites may place their own extensions and modules in
- *     this directory.
- */
-/* SITEARCH_EXP:
- *     This symbol contains the ~name expanded version of SITEARCH, to be used
- *     in programs that are not prepared to deal with ~ expansion at run-time.
+/* VOIDFLAGS:
+ *     This symbol indicates how much support of the void type is given by this
+ *     compiler.  What various bits mean:
+ *
+ *         1 = supports declaration of void
+ *         2 = supports arrays of pointers to functions returning void
+ *         4 = supports comparisons between pointers to void functions and
+ *                 addresses of void functions
+ *         8 = suports declaration of generic void pointers
+ *
+ *     The package designer should define VOIDUSED to indicate the requirements
+ *     of the package.  This can be done either by #defining VOIDUSED before
+ *     including config.h, or by defining defvoidused in Myinit.U.  If the
+ *     latter approach is taken, only those flags will be tested.  If the
+ *     level of void support necessary is not present, defines void to int.
  */
-#define SITEARCH "c:\\perl5004.5x\\lib\\site\\MSWin32-x86"             /**/
-#define SITEARCH_EXP (win32_perllib_path("site",ARCHNAME,NULL))        /**/
+#ifndef VOIDUSED
+#define VOIDUSED 15
+#endif
+#define VOIDFLAGS 15
+#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
+#define void int               /* is void to be avoided? */
+#define M_VOID                 /* Xenix strikes again */
+#endif
 
-/* SITELIB:
- *     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
- *     execution path, but it should be accessible by the world.  The program
- *     should be prepared to do ~ expansion.
- *     The standard distribution will put nothing in this directory.
- *     Individual sites may place their own extensions and modules in
- *     this directory.
+/* ARCHLIB:
+ *     This variable, if defined, holds the name of the directory in
+ *     which the user wants to put architecture-dependent public
+ *     library files for perl5.  It is most often a local directory
+ *     such as /usr/local/lib.  Programs using this variable must be
+ *     prepared to deal with filename expansion.  If ARCHLIB is the
+ *     same as PRIVLIB, it is not defined, since presumably the
+ *     program already searches PRIVLIB.
  */
-/* SITELIB_EXP:
- *     This symbol contains the ~name expanded version of SITELIB, to be used
+/* ARCHLIB_EXP:
+ *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITELIB "c:\\perl5004.5x\\lib\\site"           /**/
-#define SITELIB_EXP (win32_perllib_path("site",NULL))  /**/
+#define ARCHLIB "c:\\perl\\5.00501\\lib\\MSWin32-x86"          /**/
+/*#define ARCHLIB_EXP ""       /**/
 
 /* DLSYM_NEEDS_UNDERSCORE:
  *     This symbol, if defined, indicates that we need to prepend an
 #define DB_Hash_t      int             /**/
 #define DB_Prefix_t    int     /**/
 
+/* 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
+ *     execution path, but it should be accessible by the world.  The program
+ *     should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ *     This symbol contains the ~name expanded version of PRIVLIB, to be used
+ *     in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "c:\\perl\\5.00501\\lib"               /**/
+#define PRIVLIB_EXP (win32_get_privlib("5.00501"))     /**/
+
+/* SITEARCH:
+ *     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
+ *     execution path, but it should be accessible by the world.  The program
+ *     should be prepared to do ~ expansion.
+ *     The standard distribution will put nothing in this directory.
+ *     Individual sites may place their own extensions and modules in
+ *     this directory.
+ */
+/* SITEARCH_EXP:
+ *     This symbol contains the ~name expanded version of SITEARCH, to be used
+ *     in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define SITEARCH "c:\\perl\\site\\5.00501\\lib\\MSWin32-x86"           /**/
+/*#define SITEARCH_EXP ""      /**/
+
+/* SITELIB:
+ *     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
+ *     execution path, but it should be accessible by the world.  The program
+ *     should be prepared to do ~ expansion.
+ *     The standard distribution will put nothing in this directory.
+ *     Individual sites may place their own extensions and modules in
+ *     this directory.
+ */
+/* SITELIB_EXP:
+ *     This symbol contains the ~name expanded version of SITELIB, to be used
+ *     in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define SITELIB "c:\\perl\\site\\5.00501\\lib"         /**/
+#define SITELIB_EXP (win32_get_sitelib("5.00501"))     /**/
+
 /* STARTPERL:
  *     This variable contains the string to put in front of a perl
  *     script to make sure (one hopes) that it runs with perl and not
  */
 /*#define      USE_PERLIO              /**/
 
+/* 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      /**/
+
+/* 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       /**/
+
+/* 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     /**/
+
+/* 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      /**/
+
 /* Netdb_host_t:
  *     This symbol holds the type used for the 1st argument
  *     to gethostbyaddr().
  *     routine is available to yield the execution of the current
  *     thread.
  */
+/* HAS_SCHED_YIELD:
+ *     This symbol, if defined, indicates that the sched_yield
+ *     routine is available to yield the execution of the current
+ *     thread.
+ */
 /*#define HAS_PTHREAD_YIELD    /**/
+/*#define HAS_SCHED_YIELD      /**/
 
 /* PTHREADS_CREATED_JOINABLE:
  *     This symbol, if defined, indicates that pthreads are created
 /*#define      USE_THREADS             /**/
 /*#define      OLD_PTHREADS_API                /**/
 
+/* Time_t:
+ *     This symbol holds the type returned by time(). It can be long,
+ *     or time_t on BSD sites (in which case <sys/types.h> should be
+ *     included).
+ */
+#define Time_t time_t          /* Time type */
+
+/* HAS_TIMES:
+ *     This symbol, if defined, indicates that the times() routine exists.
+ *     Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include <sys/times.h>.
+ */
+#define HAS_TIMES              /**/
+
+/* Fpos_t:
+ *     This symbol holds the type used to declare file positions in libc.
+ *     It can be fpos_t, long, uint, etc... It may be necessary to include
+ *     <sys/types.h> to get any typedef'ed information.
+ */
+#define Fpos_t fpos_t          /* File position type */
+
+/* Gid_t:
+ *     This symbol holds the return type of getgid() and the type of
+ *     argument to setrgid() and related functions.  Typically,
+ *     it is the type of group ids in the kernel. It can be int, ushort,
+ *     uid_t, etc... It may be necessary to include <sys/types.h> to get
+ *     any typedef'ed information.
+ */
+#define Gid_t gid_t            /* Type for getgid(), etc... */
+
+/* Off_t:
+ *     This symbol holds the type used to declare offsets in the kernel.
+ *     It can be int, long, off_t, etc... It may be necessary to include
+ *     <sys/types.h> to get any typedef'ed information.
+ */
+#define Off_t off_t            /* <offset> type */
+
+/* Mode_t:
+ *     This symbol holds the type used to declare file modes 
+ *     for systems calls.  It is usually mode_t, but may be
+ *     int or unsigned short.  It may be necessary to include <sys/types.h>
+ *     to get any typedef'ed information.
+ */
+#define Mode_t mode_t   /* file mode parameter for system calls */
+
+/* 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.
+ */
+#define Pid_t int              /* PID type */
+
+/* Size_t:
+ *     This symbol holds the type used to declare length parameters
+ *     for string functions.  It is usually size_t, but may be
+ *     unsigned long, int, etc.  It may be necessary to include
+ *     <sys/types.h> to get any typedef'ed information.
+ */
+#define Size_t size_t   /* length paramater for string functions */
+
+/* Uid_t:
+ *     This symbol holds the type used to declare user ids in the kernel.
+ *     It can be int, ushort, uid_t, etc... It may be necessary to include
+ *     <sys/types.h> to get any typedef'ed information.
+ */
+#define Uid_t uid_t            /* UID type */
+
 #endif
 #include <win32.h>