# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Fri Mar 8 23:12:53 EET 2002 [metaconfig 3.0 PL70]
+# Generated on Fri Mar 15 17:38:07 EET 2002 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
d_access=''
d_accessx=''
d_alarm=''
+asctime_r_proto=''
+d_asctime_r=''
d_attribut=''
d_bcmp=''
d_bcopy=''
d_const=''
cryptlib=''
d_crypt=''
+crypt_r_proto=''
+d_crypt_r=''
d_csh=''
full_csh=''
+ctermid_r_proto=''
+d_ctermid_r=''
+ctime_r_proto=''
+d_ctime_r=''
d_cuserid=''
d_dbl_dig=''
d_dbminitproto=''
d_dlsymun=''
d_dosuid=''
d_suidsafe=''
+d_drand48_r=''
+drand48_r_proto=''
d_drand48proto=''
d_dup2=''
d_eaccess=''
d_endgrent=''
+d_endgrent_r=''
+endgrent_r_proto=''
d_endhent=''
+d_endhostent_r=''
+endhostent_r_proto=''
d_endnent=''
+d_endnetent_r=''
+endnetent_r_proto=''
d_endpent=''
+d_endprotoent_r=''
+endprotoent_r_proto=''
d_endpwent=''
+d_endpwent_r=''
+endpwent_r_proto=''
d_endsent=''
+d_endservent_r=''
+endservent_r_proto=''
d_fchdir=''
d_fchmod=''
d_fchown=''
d_getespwnam=''
d_getfsstat=''
d_getgrent=''
+d_getgrent_r=''
+getgrent_r_proto=''
+d_getgrgid_r=''
+getgrgid_r_proto=''
+d_getgrnam_r=''
+getgrnam_r_proto=''
d_getgrps=''
d_gethbyaddr=''
d_gethbyname=''
d_gethname=''
d_phostname=''
d_uname=''
+d_gethostbyaddr_r=''
+gethostbyaddr_r_proto=''
+d_gethostbyname_r=''
+gethostbyname_r_proto=''
+d_gethostent_r=''
+gethostent_r_proto=''
d_gethostprotos=''
d_getitimer=''
d_getlogin=''
+d_getlogin_r=''
+getlogin_r_proto=''
d_getmnt=''
d_getmntent=''
d_getnbyaddr=''
d_getnbyname=''
d_getnent=''
+d_getnetbyaddr_r=''
+getnetbyaddr_r_proto=''
+d_getnetbyname_r=''
+getnetbyname_r_proto=''
+d_getnetent_r=''
+getnetent_r_proto=''
d_getnetprotos=''
d_getpagsz=''
d_getpent=''
d_getprior=''
d_getpbyname=''
d_getpbynumber=''
+d_getprotobyname_r=''
+getprotobyname_r_proto=''
+d_getprotobynumber_r=''
+getprotobynumber_r_proto=''
+d_getprotoent_r=''
+getprotoent_r_proto=''
d_getprotoprotos=''
d_getprpwnam=''
d_getpwent=''
+d_getpwent_r=''
+getpwent_r_proto=''
+d_getpwnam_r=''
+getpwnam_r_proto=''
+d_getpwuid_r=''
+getpwuid_r_proto=''
d_getsent=''
+d_getservbyname_r=''
+getservbyname_r_proto=''
+d_getservbyport_r=''
+getservbyport_r_proto=''
+d_getservent_r=''
+getservent_r_proto=''
d_getservprotos=''
d_getspnam=''
+d_getspnam_r=''
+getspnam_r_proto=''
d_getsbyname=''
d_getsbyport=''
+d_gmtime_r=''
+gmtime_r_proto=''
d_gnulibc=''
d_hasmntopt=''
d_htonl=''
d_lchown=''
d_ldbl_dig=''
d_link=''
+d_localtime_r=''
+localtime_r_proto=''
d_locconv=''
d_lockf=''
d_longdbl=''
d_sched_yield=''
sched_yield=''
d_qgcvt=''
+d_random_r=''
+random_r_proto=''
+d_readdir64_r=''
+readdir64_r_proto=''
d_readdir=''
d_rewinddir=''
d_seekdir=''
d_telldir=''
+d_readdir_r=''
+readdir_r_proto=''
d_readlink=''
d_readv=''
d_recvmsg=''
d_setegid=''
d_seteuid=''
d_setgrent=''
+d_setgrent_r=''
+setgrent_r_proto=''
d_setgrps=''
d_sethent=''
+d_sethostent_r=''
+sethostent_r_proto=''
d_setitimer=''
d_setlinebuf=''
d_setlocale=''
+d_setlocale_r=''
+setlocale_r_proto=''
d_setnent=''
+d_setnetent_r=''
+setnetent_r_proto=''
d_setpent=''
d_setpgid=''
d_setpgrp2=''
d_setpgrp=''
d_setprior=''
d_setproctitle=''
+d_setprotoent_r=''
+setprotoent_r_proto=''
d_setpwent=''
+d_setpwent_r=''
+setpwent_r_proto=''
d_setregid=''
d_setresgid=''
d_setresuid=''
d_setrgid=''
d_setruid=''
d_setsent=''
+d_setservent_r=''
+setservent_r_proto=''
d_setsid=''
d_setvbuf=''
d_sfio=''
d_socklen_t=''
d_socks5_init=''
d_sqrtl=''
+d_srand48_r=''
+srand48_r_proto=''
+d_srandom_r=''
+srandom_r_proto=''
d_sresgproto=''
d_sresuproto=''
d_statblks=''
d_strerror=''
d_sysernlst=''
d_syserrlst=''
+d_strerror_r=''
+strerror_r_proto=''
d_strftime=''
d_strtod=''
d_strtol=''
timetype=''
clocktype=''
d_times=''
+d_tmpnam_r=''
+tmpnam_r_proto=''
d_truncate=''
+d_ttyname_r=''
+ttyname_r_proto=''
d_tzname=''
d_u32align=''
d_ualarm=''
h_fcntl=''
h_sysfile=''
i_arpainet=''
+i_crypt=''
db_hashtype=''
db_prefixtype=''
db_version_major=''
set alarm d_alarm
eval $inlibc
+: define a fucntion to check prototypes
+$cat > protochk <<EOSH
+$startsh
+cc="$cc"
+optimize="$optimize"
+ccflags="$ccflags"
+prototype="$prototype"
+define="$define"
+rm=$rm
+EOSH
+
+$cat >> protochk <<'EOSH'
+
+$rm -f try.c
+foo="$1"
+shift
+while test $# -ge 2; do
+ case "$1" in
+ $define) echo "#include <$2>" >> try.c ;;
+ literal) echo "$2" >> try.c ;;
+ esac
+ shift 2
+done
+test "$prototype" = "$define" && echo '#define CAN_PROTOTYPE' >> try.c
+cat >> try.c <<'EOCP'
+#ifdef CAN_PROTOTYPE
+#define _(args) args
+#else
+#define _(args) ()
+#endif
+EOCP
+echo "$foo" >> try.c
+echo 'int no_real_function_has_this_name _((void)) { return 0; }' >> try.c
+$cc $optimize $ccflags -c try.c > /dev/null 2>&1
+status=$?
+$rm -f try.[co]
+exit $status
+EOSH
+chmod +x protochk
+$eunicefix protochk
+
+: see if sys/types.h has to be included
+set sys/types.h i_systypes
+eval $inhdr
+
+: see if sys/select.h has to be included
+set sys/select.h i_sysselct
+eval $inhdr
+
+hasfield='varname=$1; struct=$2; field=$3; shift; shift; shift;
+while $test $# -ge 2; do
+ case "$1" in
+ $define) echo "#include <$2>";;
+ esac ;
+ shift 2;
+done > try.c;
+echo "int main () { struct $struct foo; char* bar; bar = (char*)foo.$field; }" >> try.c;
+set try;
+if eval $compile; then
+ val="$define";
+else
+ val="$undef";
+fi;
+set $varname;
+eval $setvar;
+$rm -f try.c try.o'
+
+: see if we should include time.h, sys/time.h, or both
+echo " "
+if test "X$timeincl" = X; then
+ echo "Testing to see if we should include <time.h>, <sys/time.h> or both." >&4
+ $echo $n "I'm now running the test program...$c"
+ $cat >try.c <<'EOCP'
+#include <sys/types.h>
+#ifdef I_TIME
+#include <time.h>
+#endif
+#ifdef I_SYSTIME
+#ifdef SYSTIMEKERNEL
+#define KERNEL
+#endif
+#include <sys/time.h>
+#endif
+#ifdef I_SYSSELECT
+#include <sys/select.h>
+#endif
+int main()
+{
+ struct tm foo;
+#ifdef S_TIMEVAL
+ struct timeval bar;
+#endif
+#ifdef S_TIMEZONE
+ struct timezone tzp;
+#endif
+ if (foo.tm_sec == foo.tm_sec)
+ exit(0);
+#ifdef S_TIMEVAL
+ if (bar.tv_sec == bar.tv_sec)
+ exit(0);
+#endif
+ exit(1);
+}
+EOCP
+ flags=''
+ for s_timezone in '-DS_TIMEZONE' ''; do
+ sysselect=''
+ for s_timeval in '-DS_TIMEVAL' ''; do
+ for i_systimek in '' '-DSYSTIMEKERNEL'; do
+ for i_time in '' '-DI_TIME'; do
+ for i_systime in '-DI_SYSTIME' ''; do
+ case "$flags" in
+ '') $echo $n ".$c"
+ set try $i_time $i_systime $i_systimek $sysselect $s_timeval $s_timezone
+ if eval $compile; then
+ set X $i_time $i_systime $i_systimek $sysselect $s_timeval
+ shift
+ flags="$*"
+ echo " "
+ $echo $n "Succeeded with $flags$c"
+ fi
+ ;;
+ esac
+ done
+ done
+ done
+ done
+ done
+ timeincl=''
+ echo " "
+ case "$flags" in
+ *SYSTIMEKERNEL*) i_systimek="$define"
+ timeincl=`./findhdr sys/time.h`
+ echo "We'll include <sys/time.h> with KERNEL defined." >&4;;
+ *) i_systimek="$undef";;
+ esac
+ case "$flags" in
+ *I_TIME*) i_time="$define"
+ timeincl=`./findhdr time.h`" $timeincl"
+ echo "We'll include <time.h>." >&4;;
+ *) i_time="$undef";;
+ esac
+ case "$flags" in
+ *I_SYSTIME*) i_systime="$define"
+ timeincl=`./findhdr sys/time.h`" $timeincl"
+ echo "We'll include <sys/time.h>." >&4;;
+ *) i_systime="$undef";;
+ esac
+ $rm -f try.c try
+fi
+: see if struct tm knows about tm_zone
+case "$i_systime$i_time" in
+*$define*)
+ echo " "
+ echo "Checking to see if your struct tm has tm_zone field..." >&4
+ set d_tm_tm_zone tm tm_zone $i_systime sys/time.h $i_time time.h
+ eval $hasfield
+ ;;
+*) val="$undef"
+ set d_tm_tm_zone
+ eval $setvar
+ ;;
+esac
+case "$d_tm_tm_zone" in
+"$define") echo "Yes, it does." ;;
+*) echo "No, it doesn't." ;;
+esac
+: see if struct tm knows about tm_gmtoff
+case "$i_systime$i_time" in
+*$define*)
+ echo " "
+ echo "Checking to see if your struct tm has tm_gmtoff field..." >&4
+ set d_tm_tm_gmtoff tm tm_gmtoff $i_systime sys/time.h $i_time time.h
+ eval $hasfield
+ ;;
+*) val="$undef"
+ set d_tm_tm_gmtoff
+ eval $setvar
+ ;;
+esac
+case "$d_tm_tm_gmtoff" in
+"$define") echo "Yes, it does." ;;
+*) echo "No, it doesn't." ;;
+esac
+
+: see if asctime_r exists
+set asctime_r d_asctime_r
+eval $inlibc
+case "$d_asctime_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
+ case "$asctime_r_proto" in
+ ''|0) try='char* asctime_r(const struct tm*, char*);'
+ ./protochk "extern $try" $hdrs && asctime_r_proto=B_SB ;;
+ esac
+ case "$asctime_r_proto" in
+ ''|0) try='char* asctime_r(const struct tm*, char*, int);'
+ ./protochk "extern $try" $hdrs && asctime_r_proto=B_SBI ;;
+ esac
+ case "$asctime_r_proto" in
+ ''|0) try='int asctime_r(const struct tm*, char*);'
+ ./protochk "extern $try" $hdrs && asctime_r_proto=I_SB ;;
+ esac
+ case "$asctime_r_proto" in
+ ''|0) try='int asctime_r(const struct tm*, char*, int);'
+ ./protochk "extern $try" $hdrs && asctime_r_proto=I_SBI ;;
+ esac
+ case "$asctime_r_proto" in
+ '') d_asctime_r=undef
+ asctime_r_proto=0
+ echo "Disabling asctime_r, cannot determine prototype." ;;
+ * ) case "$asctime_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) asctime_r_proto="REENTRANT_PROTO_$asctime_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) asctime_r_proto=0
+ ;;
+esac
+
: see if atolf exists
set atolf d_atolf
eval $inlibc
eval $setvar;
$rm -f try.c try.o'
-: see if sys/types.h has to be included
-set sys/types.h i_systypes
-eval $inhdr
-
-hasfield='varname=$1; struct=$2; field=$3; shift; shift; shift;
-while $test $# -ge 2; do
- case "$1" in
- $define) echo "#include <$2>";;
- esac ;
- shift 2;
-done > try.c;
-echo "int main () { struct $struct foo; char* bar; bar = (char*)foo.$field; }" >> try.c;
-set try;
-if eval $compile; then
- val="$define";
-else
- val="$undef";
-fi;
-set $varname;
-eval $setvar;
-$rm -f try.c try.o'
-
socketlib=''
sockethdr=''
: see whether socket exists
;;
esac
+: see if this is a crypt.h system
+set crypt.h i_crypt
+eval $inhdr
+
+: see if crypt_r exists
+set crypt_r d_crypt_r
+eval $inlibc
+case "$d_crypt_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_crypt crypt.h"
+ case "$crypt_r_proto" in
+ ''|0) try='char* crypt_r(const char*, const char*, struct crypt_data*);'
+ ./protochk "extern $try" $hdrs && crypt_r_proto=B_CCS ;;
+ esac
+ case "$crypt_r_proto" in
+ '') d_crypt_r=undef
+ crypt_r_proto=0
+ echo "Disabling crypt_r, cannot determine prototype." ;;
+ * ) case "$crypt_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) crypt_r_proto="REENTRANT_PROTO_$crypt_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) crypt_r_proto=0
+ ;;
+esac
+
: get csh whereabouts
case "$csh" in
'csh') val="$undef" ;;
'') full_csh=$csh ;;
esac
+: see if ctermid_r exists
+set ctermid_r d_ctermid_r
+eval $inlibc
+case "$d_ctermid_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_stdio stdio.h"
+ case "$ctermid_r_proto" in
+ ''|0) try='char* ctermid_r(char*);'
+ ./protochk "extern $try" $hdrs && ctermid_r_proto=B_B ;;
+ esac
+ case "$ctermid_r_proto" in
+ '') d_ctermid_r=undef
+ ctermid_r_proto=0
+ echo "Disabling ctermid_r, cannot determine prototype." ;;
+ * ) case "$ctermid_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) ctermid_r_proto="REENTRANT_PROTO_$ctermid_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) ctermid_r_proto=0
+ ;;
+esac
+
+: see if ctime_r exists
+set ctime_r d_ctime_r
+eval $inlibc
+case "$d_ctime_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
+ case "$ctime_r_proto" in
+ ''|0) try='char* ctime_r(const time_t*, char*);'
+ ./protochk "extern $try" $hdrs && ctime_r_proto=B_SB ;;
+ esac
+ case "$ctime_r_proto" in
+ ''|0) try='char* ctime_r(const time_t*, char*, int);'
+ ./protochk "extern $try" $hdrs && ctime_r_proto=B_SBI ;;
+ esac
+ case "$ctime_r_proto" in
+ ''|0) try='int ctime_r(const time_t*, char*);'
+ ./protochk "extern $try" $hdrs && ctime_r_proto=I_SB ;;
+ esac
+ case "$ctime_r_proto" in
+ ''|0) try='int ctime_r(const time_t*, char*, int);'
+ ./protochk "extern $try" $hdrs && ctime_r_proto=I_SBI ;;
+ esac
+ case "$ctime_r_proto" in
+ '') d_ctime_r=undef
+ ctime_r_proto=0
+ echo "Disabling ctime_r, cannot determine prototype." ;;
+ * ) case "$ctime_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) ctime_r_proto="REENTRANT_PROTO_$ctime_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) ctime_r_proto=0
+ ;;
+esac
+
: see if cuserid exists
set cuserid d_cuserid
eval $inlibc
set d_dlsymun
eval $setvar
-: see if prototype for drand48 is available
-echo " "
-set d_drand48proto drand48 $i_stdlib stdlib.h $i_unistd unistd.h
-eval $hasproto
-
+: see if drand48_r exists
+set drand48_r d_drand48_r
+eval $inlibc
+case "$d_drand48_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
+ case "$drand48_r_proto" in
+ ''|0) try='int drand48_r(struct drand48_data*, double*);'
+ ./protochk "extern $try" $hdrs && drand48_r_proto=I_ST ;;
+ esac
+ case "$drand48_r_proto" in
+ '') d_drand48_r=undef
+ drand48_r_proto=0
+ echo "Disabling drand48_r, cannot determine prototype." ;;
+ * ) case "$drand48_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) drand48_r_proto="REENTRANT_PROTO_$drand48_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) drand48_r_proto=0
+ ;;
+esac
+
+: see if prototype for drand48 is available
+echo " "
+set d_drand48proto drand48 $i_stdlib stdlib.h $i_unistd unistd.h
+eval $hasproto
+
: see if dup2 exists
set dup2 d_dup2
eval $inlibc
set endgrent d_endgrent
eval $inlibc
+: see if this is an grp system
+set grp.h i_grp
+eval $inhdr
+
+case "$i_grp" in
+$define)
+ xxx=`./findhdr grp.h`
+ $cppstdin $cppflags $cppminus < $xxx >$$.h
+
+ if $contains 'gr_passwd' $$.h >/dev/null 2>&1; then
+ val="$define"
+ else
+ val="$undef"
+ fi
+ set d_grpasswd
+ eval $setvar
+
+ $rm -f $$.h
+ ;;
+*)
+ val="$undef";
+ set d_grpasswd; eval $setvar
+ ;;
+esac
+
+: see if endgrent_r exists
+set endgrent_r d_endgrent_r
+eval $inlibc
+case "$d_endgrent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
+ case "$endgrent_r_proto" in
+ ''|0) try='int endgrent_r(FILE**);'
+ ./protochk "extern $try" $hdrs && endgrent_r_proto=I_H ;;
+ esac
+ case "$endgrent_r_proto" in
+ ''|0) try='void endgrent_r(FILE**);'
+ ./protochk "extern $try" $hdrs && endgrent_r_proto=V_H ;;
+ esac
+ case "$endgrent_r_proto" in
+ '') d_endgrent_r=undef
+ endgrent_r_proto=0
+ echo "Disabling endgrent_r, cannot determine prototype." ;;
+ * ) case "$endgrent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) endgrent_r_proto="REENTRANT_PROTO_$endgrent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) endgrent_r_proto=0
+ ;;
+esac
+
: see if endhostent exists
set endhostent d_endhent
eval $inlibc
+: see if this is a netdb.h system
+set netdb.h i_netdb
+eval $inhdr
+
+: see if endhostent_r exists
+set endhostent_r d_endhostent_r
+eval $inlibc
+case "$d_endhostent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$endhostent_r_proto" in
+ ''|0) try='int endhostent_r(struct hostent_data*);'
+ ./protochk "extern $try" $hdrs && endhostent_r_proto=I_S ;;
+ esac
+ case "$endhostent_r_proto" in
+ ''|0) try='void endhostent_r(struct hostent_data*);'
+ ./protochk "extern $try" $hdrs && endhostent_r_proto=V_S ;;
+ esac
+ case "$endhostent_r_proto" in
+ '') d_endhostent_r=undef
+ endhostent_r_proto=0
+ echo "Disabling endhostent_r, cannot determine prototype." ;;
+ * ) case "$endhostent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) endhostent_r_proto="REENTRANT_PROTO_$endhostent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) endhostent_r_proto=0
+ ;;
+esac
+
: see if endnetent exists
set endnetent d_endnent
eval $inlibc
+: see if endnetent_r exists
+set endnetent_r d_endnetent_r
+eval $inlibc
+case "$d_endnetent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$endnetent_r_proto" in
+ ''|0) try='int endnetent_r(struct netent_data*);'
+ ./protochk "extern $try" $hdrs && endnetent_r_proto=I_S ;;
+ esac
+ case "$endnetent_r_proto" in
+ ''|0) try='void endnetent_r(struct netent_data*);'
+ ./protochk "extern $try" $hdrs && endnetent_r_proto=V_S ;;
+ esac
+ case "$endnetent_r_proto" in
+ '') d_endnetent_r=undef
+ endnetent_r_proto=0
+ echo "Disabling endnetent_r, cannot determine prototype." ;;
+ * ) case "$endnetent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) endnetent_r_proto="REENTRANT_PROTO_$endnetent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) endnetent_r_proto=0
+ ;;
+esac
+
: see if endprotoent exists
set endprotoent d_endpent
eval $inlibc
+: see if endprotoent_r exists
+set endprotoent_r d_endprotoent_r
+eval $inlibc
+case "$d_endprotoent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$endprotoent_r_proto" in
+ ''|0) try='int endprotoent_r(struct protoent_data*);'
+ ./protochk "extern $try" $hdrs && endprotoent_r_proto=I_S ;;
+ esac
+ case "$endprotoent_r_proto" in
+ ''|0) try='void endprotoent_r(struct protoent_data*);'
+ ./protochk "extern $try" $hdrs && endprotoent_r_proto=V_S ;;
+ esac
+ case "$endprotoent_r_proto" in
+ '') d_endprotoent_r=undef
+ endprotoent_r_proto=0
+ echo "Disabling endprotoent_r, cannot determine prototype." ;;
+ * ) case "$endprotoent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) endprotoent_r_proto="REENTRANT_PROTO_$endprotoent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) endprotoent_r_proto=0
+ ;;
+esac
+
: see if endpwent exists
set endpwent d_endpwent
eval $inlibc
+: see if this is a pwd.h system
+set pwd.h i_pwd
+eval $inhdr
+
+case "$i_pwd" in
+$define)
+ xxx=`./findhdr pwd.h`
+ $cppstdin $cppflags $cppminus < $xxx >$$.h
+
+ if $contains 'pw_quota' $$.h >/dev/null 2>&1; then
+ val="$define"
+ else
+ val="$undef"
+ fi
+ set d_pwquota
+ eval $setvar
+
+ if $contains 'pw_age' $$.h >/dev/null 2>&1; then
+ val="$define"
+ else
+ val="$undef"
+ fi
+ set d_pwage
+ eval $setvar
+
+ if $contains 'pw_change' $$.h >/dev/null 2>&1; then
+ val="$define"
+ else
+ val="$undef"
+ fi
+ set d_pwchange
+ eval $setvar
+
+ if $contains 'pw_class' $$.h >/dev/null 2>&1; then
+ val="$define"
+ else
+ val="$undef"
+ fi
+ set d_pwclass
+ eval $setvar
+
+ if $contains 'pw_expire' $$.h >/dev/null 2>&1; then
+ val="$define"
+ else
+ val="$undef"
+ fi
+ set d_pwexpire
+ eval $setvar
+
+ if $contains 'pw_comment' $$.h >/dev/null 2>&1; then
+ val="$define"
+ else
+ val="$undef"
+ fi
+ set d_pwcomment
+ eval $setvar
+
+ if $contains 'pw_gecos' $$.h >/dev/null 2>&1; then
+ val="$define"
+ else
+ val="$undef"
+ fi
+ set d_pwgecos
+ eval $setvar
+
+ if $contains 'pw_passwd' $$.h >/dev/null 2>&1; then
+ val="$define"
+ else
+ val="$undef"
+ fi
+ set d_pwpasswd
+ eval $setvar
+
+ $rm -f $$.h
+ ;;
+*)
+ val="$undef";
+ set d_pwquota; eval $setvar
+ set d_pwage; eval $setvar
+ set d_pwchange; eval $setvar
+ set d_pwclass; eval $setvar
+ set d_pwexpire; eval $setvar
+ set d_pwcomment; eval $setvar
+ set d_pwgecos; eval $setvar
+ set d_pwpasswd; eval $setvar
+ ;;
+esac
+
+: see if endpwent_r exists
+set endpwent_r d_endpwent_r
+eval $inlibc
+case "$d_endpwent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
+ case "$endpwent_r_proto" in
+ ''|0) try='int endpwent_r(FILE**);'
+ ./protochk "extern $try" $hdrs && endpwent_r_proto=I_H ;;
+ esac
+ case "$endpwent_r_proto" in
+ ''|0) try='void endpwent_r(FILE**);'
+ ./protochk "extern $try" $hdrs && endpwent_r_proto=V_H ;;
+ esac
+ case "$endpwent_r_proto" in
+ '') d_endpwent_r=undef
+ endpwent_r_proto=0
+ echo "Disabling endpwent_r, cannot determine prototype." ;;
+ * ) case "$endpwent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) endpwent_r_proto="REENTRANT_PROTO_$endpwent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) endpwent_r_proto=0
+ ;;
+esac
+
: see if endservent exists
set endservent d_endsent
eval $inlibc
+: see if endservent_r exists
+set endservent_r d_endservent_r
+eval $inlibc
+case "$d_endservent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$endservent_r_proto" in
+ ''|0) try='int endservent_r(struct servent_data*);'
+ ./protochk "extern $try" $hdrs && endservent_r_proto=I_S ;;
+ esac
+ case "$endservent_r_proto" in
+ ''|0) try='void endservent_r(struct servent_data*);'
+ ./protochk "extern $try" $hdrs && endservent_r_proto=V_S ;;
+ esac
+ case "$endservent_r_proto" in
+ '') d_endservent_r=undef
+ endservent_r_proto=0
+ echo "Disabling endservent_r, cannot determine prototype." ;;
+ * ) case "$endservent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) endservent_r_proto="REENTRANT_PROTO_$endservent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) endservent_r_proto=0
+ ;;
+esac
+
: Locate the flags for 'open()'
echo " "
$cat >try.c <<'EOCP'
$rm -f try*
-: see if sys/select.h has to be included
-set sys/select.h i_sysselct
-eval $inhdr
-
-: see if we should include time.h, sys/time.h, or both
-echo " "
-if test "X$timeincl" = X; then
- echo "Testing to see if we should include <time.h>, <sys/time.h> or both." >&4
- $echo $n "I'm now running the test program...$c"
- $cat >try.c <<'EOCP'
-#include <sys/types.h>
-#ifdef I_TIME
-#include <time.h>
-#endif
-#ifdef I_SYSTIME
-#ifdef SYSTIMEKERNEL
-#define KERNEL
-#endif
-#include <sys/time.h>
-#endif
-#ifdef I_SYSSELECT
-#include <sys/select.h>
-#endif
-int main()
-{
- struct tm foo;
-#ifdef S_TIMEVAL
- struct timeval bar;
-#endif
-#ifdef S_TIMEZONE
- struct timezone tzp;
-#endif
- if (foo.tm_sec == foo.tm_sec)
- exit(0);
-#ifdef S_TIMEVAL
- if (bar.tv_sec == bar.tv_sec)
- exit(0);
-#endif
- exit(1);
-}
-EOCP
- flags=''
- for s_timezone in '-DS_TIMEZONE' ''; do
- sysselect=''
- for s_timeval in '-DS_TIMEVAL' ''; do
- for i_systimek in '' '-DSYSTIMEKERNEL'; do
- for i_time in '' '-DI_TIME'; do
- for i_systime in '-DI_SYSTIME' ''; do
- case "$flags" in
- '') $echo $n ".$c"
- set try $i_time $i_systime $i_systimek $sysselect $s_timeval $s_timezone
- if eval $compile; then
- set X $i_time $i_systime $i_systimek $sysselect $s_timeval
- shift
- flags="$*"
- echo " "
- $echo $n "Succeeded with $flags$c"
- fi
- ;;
- esac
- done
- done
- done
- done
- done
- timeincl=''
- echo " "
- case "$flags" in
- *SYSTIMEKERNEL*) i_systimek="$define"
- timeincl=`./findhdr sys/time.h`
- echo "We'll include <sys/time.h> with KERNEL defined." >&4;;
- *) i_systimek="$undef";;
- esac
- case "$flags" in
- *I_TIME*) i_time="$define"
- timeincl=`./findhdr time.h`" $timeincl"
- echo "We'll include <time.h>." >&4;;
- *) i_time="$undef";;
- esac
- case "$flags" in
- *I_SYSTIME*) i_systime="$define"
- timeincl=`./findhdr sys/time.h`" $timeincl"
- echo "We'll include <sys/time.h>." >&4;;
- *) i_systime="$undef";;
- esac
- $rm -f try.c try
-fi
-: see if struct tm knows about tm_zone
-case "$i_systime$i_time" in
-*$define*)
- echo " "
- echo "Checking to see if your struct tm has tm_zone field..." >&4
- set d_tm_tm_zone tm tm_zone $i_systime sys/time.h $i_time time.h
- eval $hasfield
- ;;
-*) val="$undef"
- set d_tm_tm_zone
- eval $setvar
- ;;
-esac
-case "$d_tm_tm_zone" in
-"$define") echo "Yes, it does." ;;
-*) echo "No, it doesn't." ;;
-esac
-: see if struct tm knows about tm_gmtoff
-case "$i_systime$i_time" in
-*$define*)
- echo " "
- echo "Checking to see if your struct tm has tm_gmtoff field..." >&4
- set d_tm_tm_gmtoff tm tm_gmtoff $i_systime sys/time.h $i_time time.h
- eval $hasfield
- ;;
-*) val="$undef"
- set d_tm_tm_gmtoff
- eval $setvar
- ;;
-esac
-case "$d_tm_tm_gmtoff" in
-"$define") echo "Yes, it does." ;;
-*) echo "No, it doesn't." ;;
-esac
-
: check for fd_set items
$cat <<EOM
set getgrent d_getgrent
eval $inlibc
+: see if getgrent_r exists
+set getgrent_r d_getgrent_r
+eval $inlibc
+case "$d_getgrent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
+ case "$getgrent_r_proto" in
+ ''|0) try='int getgrent_r(struct group*, char*, size_t, struct group**);'
+ ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBWR ;;
+ esac
+ case "$getgrent_r_proto" in
+ ''|0) try='int getgrent_r(struct group*, char*, int, struct group**);'
+ ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBIR ;;
+ esac
+ case "$getgrent_r_proto" in
+ ''|0) try='struct group* getgrent_r(struct group*, char*, size_t);'
+ ./protochk "extern $try" $hdrs && getgrent_r_proto=S_SBW ;;
+ esac
+ case "$getgrent_r_proto" in
+ ''|0) try='struct group* getgrent_r(struct group*, char*, int);'
+ ./protochk "extern $try" $hdrs && getgrent_r_proto=S_SBI ;;
+ esac
+ case "$getgrent_r_proto" in
+ ''|0) try='int getgrent_r(struct group*, char*, int);'
+ ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBI ;;
+ esac
+ case "$getgrent_r_proto" in
+ ''|0) try='int getgrent_r(struct group*, char*, int, FILE**);'
+ ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBIH ;;
+ esac
+ case "$getgrent_r_proto" in
+ '') d_getgrent_r=undef
+ getgrent_r_proto=0
+ echo "Disabling getgrent_r, cannot determine prototype." ;;
+ * ) case "$getgrent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getgrent_r_proto="REENTRANT_PROTO_$getgrent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getgrent_r_proto=0
+ ;;
+esac
+
+: see if getgrgid_r exists
+set getgrgid_r d_getgrgid_r
+eval $inlibc
+case "$d_getgrgid_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
+ case "$getgrgid_r_proto" in
+ ''|0) try='int getgrgid_r(gid_t, struct group*, char*, size_t, struct group**);'
+ ./protochk "extern $try" $hdrs && getgrgid_r_proto=I_TSBWR ;;
+ esac
+ case "$getgrgid_r_proto" in
+ ''|0) try='int getgrgid_r(gid_t, struct group*, char*, int, struct group**);'
+ ./protochk "extern $try" $hdrs && getgrgid_r_proto=I_TSBIR ;;
+ esac
+ case "$getgrgid_r_proto" in
+ ''|0) try='int getgrgid_r(gid_t, struct group*, char*, int);'
+ ./protochk "extern $try" $hdrs && getgrgid_r_proto=I_TSBI ;;
+ esac
+ case "$getgrgid_r_proto" in
+ ''|0) try='struct group* getgrgid_r(gid_t, struct group*, char*, int);'
+ ./protochk "extern $try" $hdrs && getgrgid_r_proto=S_TSBI ;;
+ esac
+ case "$getgrgid_r_proto" in
+ '') d_getgrgid_r=undef
+ getgrgid_r_proto=0
+ echo "Disabling getgrgid_r, cannot determine prototype." ;;
+ * ) case "$getgrgid_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getgrgid_r_proto="REENTRANT_PROTO_$getgrgid_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getgrgid_r_proto=0
+ ;;
+esac
+
+: see if getgrnam_r exists
+set getgrnam_r d_getgrnam_r
+eval $inlibc
+case "$d_getgrnam_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
+ case "$getgrnam_r_proto" in
+ ''|0) try='int getgrnam_r(const char*, struct group*, char*, size_t, struct group**);'
+ ./protochk "extern $try" $hdrs && getgrnam_r_proto=I_CSBWR ;;
+ esac
+ case "$getgrnam_r_proto" in
+ ''|0) try='int getgrnam_r(const char*, struct group*, char*, int, struct group**);'
+ ./protochk "extern $try" $hdrs && getgrnam_r_proto=I_CSBIR ;;
+ esac
+ case "$getgrnam_r_proto" in
+ ''|0) try='struct group* getgrnam_r(const char*, char*, int);'
+ ./protochk "extern $try" $hdrs && getgrnam_r_proto=S_CBI ;;
+ esac
+ case "$getgrnam_r_proto" in
+ ''|0) try='int getgrnam_r(const char*, struct group*, char*, int);'
+ ./protochk "extern $try" $hdrs && getgrnam_r_proto=I_CSBI ;;
+ esac
+ case "$getgrnam_r_proto" in
+ ''|0) try='struct group* getgrnam_r(const char*, struct group*, char*, int);'
+ ./protochk "extern $try" $hdrs && getgrnam_r_proto=S_CSBI ;;
+ esac
+ case "$getgrnam_r_proto" in
+ '') d_getgrnam_r=undef
+ getgrnam_r_proto=0
+ echo "Disabling getgrnam_r, cannot determine prototype." ;;
+ * ) case "$getgrnam_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getgrnam_r_proto="REENTRANT_PROTO_$getgrnam_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getgrnam_r_proto=0
+ ;;
+esac
+
: see if gethostbyaddr exists
set gethostbyaddr d_gethbyaddr
eval $inlibc
'') d_phostname="$undef";;
esac
-: see if this is a netdb.h system
-set netdb.h i_netdb
-eval $inhdr
+: see if gethostbyaddr_r exists
+set gethostbyaddr_r d_gethostbyaddr_r
+eval $inlibc
+case "$d_gethostbyaddr_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='int gethostbyaddr_r(const char*, size_t, int, struct hostent*, char*, size_t, struct hostent**, int*);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CWISBWRE ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='struct hostent* gethostbyaddr_r(const char*, size_t, int, struct hostent*, char*, size_t, int, int*);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CWISBWIE ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='struct hostent* gethostbyaddr_r(const char*, size_t, int, struct hostent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CWISBIE ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='struct hostent* gethostbyaddr_r(const void*, size_t, int, struct hostent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_TWISBIE ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='struct hostent* gethostbyaddr_r(const char*, int, int, struct hostent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CIISBIE ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='struct hostent* gethostbyaddr_r(const char*, struct hostent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CSBIE ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='struct hostent* gethostbyaddr_r(const void*, struct hostent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_TSBIE ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='int gethostbyaddr_r(const char*, size_t, int, struct hostent*, struct hostent_data*);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CWISD ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='int gethostbyaddr_r(const char*, int, int, struct hostent*, struct hostent_data*);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CIISD ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ ''|0) try='int gethostbyaddr_r(const char*, int, int);'
+ ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CII ;;
+ esac
+ case "$gethostbyaddr_r_proto" in
+ '') d_gethostbyaddr_r=undef
+ gethostbyaddr_r_proto=0
+ echo "Disabling gethostbyaddr_r, cannot determine prototype." ;;
+ * ) case "$gethostbyaddr_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) gethostbyaddr_r_proto="REENTRANT_PROTO_$gethostbyaddr_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) gethostbyaddr_r_proto=0
+ ;;
+esac
+
+: see if gethostbyname_r exists
+set gethostbyname_r d_gethostbyname_r
+eval $inlibc
+case "$d_gethostbyname_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$gethostbyname_r_proto" in
+ ''|0) try='int gethostbyname_r(const char*, struct hostent*, char*, size_t, struct hostent**, int*);'
+ ./protochk "extern $try" $hdrs && gethostbyname_r_proto=I_CSBWRE ;;
+ esac
+ case "$gethostbyname_r_proto" in
+ ''|0) try='struct hostent* gethostbyname_r(const char*, struct hostent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && gethostbyname_r_proto=S_CSBIE ;;
+ esac
+ case "$gethostbyname_r_proto" in
+ ''|0) try='int gethostbyname_r(const char*, struct hostent*, struct hostent_data*);'
+ ./protochk "extern $try" $hdrs && gethostbyname_r_proto=I_CSD ;;
+ esac
+ case "$gethostbyname_r_proto" in
+ '') d_gethostbyname_r=undef
+ gethostbyname_r_proto=0
+ echo "Disabling gethostbyname_r, cannot determine prototype." ;;
+ * ) case "$gethostbyname_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) gethostbyname_r_proto="REENTRANT_PROTO_$gethostbyname_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) gethostbyname_r_proto=0
+ ;;
+esac
+
+: see if gethostent_r exists
+set gethostent_r d_gethostent_r
+eval $inlibc
+case "$d_gethostent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$gethostent_r_proto" in
+ ''|0) try='int gethostent_r(struct hostent*, char*, size_t, struct hostent**, int*);'
+ ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SBWRE ;;
+ esac
+ case "$gethostent_r_proto" in
+ ''|0) try='int gethostent_r(struct hostent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SBIE ;;
+ esac
+ case "$gethostent_r_proto" in
+ ''|0) try='struct hostent* gethostent_r(struct hostent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && gethostent_r_proto=S_SBIE ;;
+ esac
+ case "$gethostent_r_proto" in
+ ''|0) try='struct hostent* gethostent_r(struct hostent*, char*, int);'
+ ./protochk "extern $try" $hdrs && gethostent_r_proto=S_SBI ;;
+ esac
+ case "$gethostent_r_proto" in
+ ''|0) try='int gethostent_r(struct hostent*, char*, int);'
+ ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SBI ;;
+ esac
+ case "$gethostent_r_proto" in
+ ''|0) try='int gethostent_r(struct hostent*, struct hostent_data*);'
+ ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SD ;;
+ esac
+ case "$gethostent_r_proto" in
+ '') d_gethostent_r=undef
+ gethostent_r_proto=0
+ echo "Disabling gethostent_r, cannot determine prototype." ;;
+ * ) case "$gethostent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) gethostent_r_proto="REENTRANT_PROTO_$gethostent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) gethostent_r_proto=0
+ ;;
+esac
: see if prototypes for various gethostxxx netdb.h functions are available
echo " "
set getlogin d_getlogin
eval $inlibc
+: see if getlogin_r exists
+set getlogin_r d_getlogin_r
+eval $inlibc
+case "$d_getlogin_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h"
+ case "$getlogin_r_proto" in
+ ''|0) try='int getlogin_r(char*, size_t);'
+ ./protochk "extern $try" $hdrs && getlogin_r_proto=I_BW ;;
+ esac
+ case "$getlogin_r_proto" in
+ ''|0) try='int getlogin_r(char*, int);'
+ ./protochk "extern $try" $hdrs && getlogin_r_proto=I_BI ;;
+ esac
+ case "$getlogin_r_proto" in
+ ''|0) try='char* getlogin_r(char*, size_t);'
+ ./protochk "extern $try" $hdrs && getlogin_r_proto=B_BW ;;
+ esac
+ case "$getlogin_r_proto" in
+ ''|0) try='char* getlogin_r(char*, int);'
+ ./protochk "extern $try" $hdrs && getlogin_r_proto=B_BI ;;
+ esac
+ case "$getlogin_r_proto" in
+ '') d_getlogin_r=undef
+ getlogin_r_proto=0
+ echo "Disabling getlogin_r, cannot determine prototype." ;;
+ * ) case "$getlogin_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getlogin_r_proto="REENTRANT_PROTO_$getlogin_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getlogin_r_proto=0
+ ;;
+esac
+
: see if getmnt exists
set getmnt d_getmnt
eval $inlibc
set getnetent d_getnent
eval $inlibc
+: see if getnetbyaddr_r exists
+set getnetbyaddr_r d_getnetbyaddr_r
+eval $inlibc
+case "$d_getnetbyaddr_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$getnetbyaddr_r_proto" in
+ ''|0) try='int getnetbyaddr_r(unsigned long, int, struct netent*, char*, size_t, struct netent**, int*);'
+ ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_UISBWRE ;;
+ esac
+ case "$getnetbyaddr_r_proto" in
+ ''|0) try='int getnetbyaddr_r(long, int, struct netent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_LISBI ;;
+ esac
+ case "$getnetbyaddr_r_proto" in
+ ''|0) try='struct netent* getnetbyaddr_r(in_addr_t, int, struct netent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=S_TISBI ;;
+ esac
+ case "$getnetbyaddr_r_proto" in
+ ''|0) try='struct netent* getnetbyaddr_r(long, int, struct netent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=S_LISBI ;;
+ esac
+ case "$getnetbyaddr_r_proto" in
+ ''|0) try='int getnetbyaddr_r(in_addr_t, int, struct netent*, struct netent_data*);'
+ ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_TISD ;;
+ esac
+ case "$getnetbyaddr_r_proto" in
+ ''|0) try='int getnetbyaddr_r(long, int, struct netent*, struct netent_data*);'
+ ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_LISD ;;
+ esac
+ case "$getnetbyaddr_r_proto" in
+ ''|0) try='int getnetbyaddr_r(int, int, struct netent*, struct netent_data*);'
+ ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_IISD ;;
+ esac
+ case "$getnetbyaddr_r_proto" in
+ '') d_getnetbyaddr_r=undef
+ getnetbyaddr_r_proto=0
+ echo "Disabling getnetbyaddr_r, cannot determine prototype." ;;
+ * ) case "$getnetbyaddr_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getnetbyaddr_r_proto="REENTRANT_PROTO_$getnetbyaddr_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getnetbyaddr_r_proto=0
+ ;;
+esac
+
+: see if getnetbyname_r exists
+set getnetbyname_r d_getnetbyname_r
+eval $inlibc
+case "$d_getnetbyname_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$getnetbyname_r_proto" in
+ ''|0) try='int getnetbyname_r(const char*, struct netent*, char*, size_t, struct netent**, int*);'
+ ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSBWRE ;;
+ esac
+ case "$getnetbyname_r_proto" in
+ ''|0) try='int getnetbyname_r(const char*, struct netent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSBI ;;
+ esac
+ case "$getnetbyname_r_proto" in
+ ''|0) try='struct netent* getnetbyname_r(const char*, struct netent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getnetbyname_r_proto=S_CSBI ;;
+ esac
+ case "$getnetbyname_r_proto" in
+ ''|0) try='int getnetbyname_r(const char*, struct netent*, struct netent_data*);'
+ ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSD ;;
+ esac
+ case "$getnetbyname_r_proto" in
+ '') d_getnetbyname_r=undef
+ getnetbyname_r_proto=0
+ echo "Disabling getnetbyname_r, cannot determine prototype." ;;
+ * ) case "$getnetbyname_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getnetbyname_r_proto="REENTRANT_PROTO_$getnetbyname_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getnetbyname_r_proto=0
+ ;;
+esac
+
+: see if getnetent_r exists
+set getnetent_r d_getnetent_r
+eval $inlibc
+case "$d_getnetent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$getnetent_r_proto" in
+ ''|0) try='int getnetent_r(struct netent*, char*, size_t, struct netent**, int*);'
+ ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SBWRE ;;
+ esac
+ case "$getnetent_r_proto" in
+ ''|0) try='int getnetent_r(struct netent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SBIE ;;
+ esac
+ case "$getnetent_r_proto" in
+ ''|0) try='struct netent* getnetent_r(struct netent*, char*, int, int*);'
+ ./protochk "extern $try" $hdrs && getnetent_r_proto=S_SBIE ;;
+ esac
+ case "$getnetent_r_proto" in
+ ''|0) try='struct netent* getnetent_r(struct netent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getnetent_r_proto=S_SBI ;;
+ esac
+ case "$getnetent_r_proto" in
+ ''|0) try='int getnetent_r(struct netent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SBI ;;
+ esac
+ case "$getnetent_r_proto" in
+ ''|0) try='int getnetent_r(struct netent*, struct netent_data*);'
+ ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SD ;;
+ esac
+ case "$getnetent_r_proto" in
+ '') d_getnetent_r=undef
+ getnetent_r_proto=0
+ echo "Disabling getnetent_r, cannot determine prototype." ;;
+ * ) case "$getnetent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getnetent_r_proto="REENTRANT_PROTO_$getnetent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getnetent_r_proto=0
+ ;;
+esac
+
: see if prototypes for various getnetxxx netdb.h functions are available
echo " "
set d_getnetprotos getnetent $i_netdb netdb.h
set getpriority d_getprior
eval $inlibc
+: see if getprotobyname_r exists
+set getprotobyname_r d_getprotobyname_r
+eval $inlibc
+case "$d_getprotobyname_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$getprotobyname_r_proto" in
+ ''|0) try='int getprotobyname_r(const char*, struct protoent*, char*, size_t, struct protoent**);'
+ ./protochk "extern $try" $hdrs && getprotobyname_r_proto=I_CSBWR ;;
+ esac
+ case "$getprotobyname_r_proto" in
+ ''|0) try='struct protoent* getprotobyname_r(const char*, struct protoent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getprotobyname_r_proto=S_CSBI ;;
+ esac
+ case "$getprotobyname_r_proto" in
+ ''|0) try='int getprotobyname_r(const char*, struct protoent*, struct protoent_data*);'
+ ./protochk "extern $try" $hdrs && getprotobyname_r_proto=I_CSD ;;
+ esac
+ case "$getprotobyname_r_proto" in
+ '') d_getprotobyname_r=undef
+ getprotobyname_r_proto=0
+ echo "Disabling getprotobyname_r, cannot determine prototype." ;;
+ * ) case "$getprotobyname_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getprotobyname_r_proto="REENTRANT_PROTO_$getprotobyname_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getprotobyname_r_proto=0
+ ;;
+esac
+
+: see if getprotobynumber_r exists
+set getprotobynumber_r d_getprotobynumber_r
+eval $inlibc
+case "$d_getprotobynumber_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$getprotobynumber_r_proto" in
+ ''|0) try='int getprotobynumber_r(int, struct protoent*, char*, size_t, struct protoent**);'
+ ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=I_ISBWR ;;
+ esac
+ case "$getprotobynumber_r_proto" in
+ ''|0) try='struct protoent* getprotobynumber_r(int, struct protoent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=S_ISBI ;;
+ esac
+ case "$getprotobynumber_r_proto" in
+ ''|0) try='int getprotobynumber_r(int, struct protoent*, struct protoent_data*);'
+ ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=I_ISD ;;
+ esac
+ case "$getprotobynumber_r_proto" in
+ '') d_getprotobynumber_r=undef
+ getprotobynumber_r_proto=0
+ echo "Disabling getprotobynumber_r, cannot determine prototype." ;;
+ * ) case "$getprotobynumber_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getprotobynumber_r_proto="REENTRANT_PROTO_$getprotobynumber_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getprotobynumber_r_proto=0
+ ;;
+esac
+
+: see if getprotoent_r exists
+set getprotoent_r d_getprotoent_r
+eval $inlibc
+case "$d_getprotoent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$getprotoent_r_proto" in
+ ''|0) try='int getprotoent_r(struct protoent*, char*, size_t, struct protoent**);'
+ ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SBWR ;;
+ esac
+ case "$getprotoent_r_proto" in
+ ''|0) try='int getprotoent_r(struct protoent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SBI ;;
+ esac
+ case "$getprotoent_r_proto" in
+ ''|0) try='struct protoent* getprotoent_r(struct protoent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getprotoent_r_proto=S_SBI ;;
+ esac
+ case "$getprotoent_r_proto" in
+ ''|0) try='int getprotoent_r(struct protoent*, struct protoent_data*);'
+ ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SD ;;
+ esac
+ case "$getprotoent_r_proto" in
+ '') d_getprotoent_r=undef
+ getprotoent_r_proto=0
+ echo "Disabling getprotoent_r, cannot determine prototype." ;;
+ * ) case "$getprotoent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getprotoent_r_proto="REENTRANT_PROTO_$getprotoent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getprotoent_r_proto=0
+ ;;
+esac
+
: see if prototypes for various getprotoxxx netdb.h functions are available
echo " "
set d_getprotoprotos getprotoent $i_netdb netdb.h
set getpwent d_getpwent
eval $inlibc
+: see if getpwent_r exists
+set getpwent_r d_getpwent_r
+eval $inlibc
+case "$d_getpwent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
+ case "$getpwent_r_proto" in
+ ''|0) try='int getpwent_r(struct passwd*, char*, size_t, struct passwd**);'
+ ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBWR ;;
+ esac
+ case "$getpwent_r_proto" in
+ ''|0) try='int getpwent_r(struct passwd*, char*, int, struct passwd**);'
+ ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBIR ;;
+ esac
+ case "$getpwent_r_proto" in
+ ''|0) try='struct passwd* getpwent_r(struct passwd*, char*, size_t);'
+ ./protochk "extern $try" $hdrs && getpwent_r_proto=S_SBW ;;
+ esac
+ case "$getpwent_r_proto" in
+ ''|0) try='struct passwd* getpwent_r(struct passwd*, char*, int);'
+ ./protochk "extern $try" $hdrs && getpwent_r_proto=S_SBI ;;
+ esac
+ case "$getpwent_r_proto" in
+ ''|0) try='int getpwent_r(struct passwd*, char*, int);'
+ ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBI ;;
+ esac
+ case "$getpwent_r_proto" in
+ ''|0) try='int getpwent_r(struct passwd*, char*, int, FILE**);'
+ ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBIH ;;
+ esac
+ case "$getpwent_r_proto" in
+ '') d_getpwent_r=undef
+ getpwent_r_proto=0
+ echo "Disabling getpwent_r, cannot determine prototype." ;;
+ * ) case "$getpwent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getpwent_r_proto="REENTRANT_PROTO_$getpwent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getpwent_r_proto=0
+ ;;
+esac
+
+: see if getpwnam_r exists
+set getpwnam_r d_getpwnam_r
+eval $inlibc
+case "$d_getpwnam_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
+ case "$getpwnam_r_proto" in
+ ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**);'
+ ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBWR ;;
+ esac
+ case "$getpwnam_r_proto" in
+ ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, int, struct passwd**);'
+ ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBIR ;;
+ esac
+ case "$getpwnam_r_proto" in
+ ''|0) try='struct passwd* getpwnam_r(const char*, struct passwd*, char*, int);'
+ ./protochk "extern $try" $hdrs && getpwnam_r_proto=S_CSBI ;;
+ esac
+ case "$getpwnam_r_proto" in
+ ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, int);'
+ ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBI ;;
+ esac
+ case "$getpwnam_r_proto" in
+ '') d_getpwnam_r=undef
+ getpwnam_r_proto=0
+ echo "Disabling getpwnam_r, cannot determine prototype." ;;
+ * ) case "$getpwnam_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getpwnam_r_proto="REENTRANT_PROTO_$getpwnam_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getpwnam_r_proto=0
+ ;;
+esac
+
+: see if getpwuid_r exists
+set getpwuid_r d_getpwuid_r
+eval $inlibc
+case "$d_getpwuid_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
+ case "$getpwuid_r_proto" in
+ ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**);'
+ ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBWR ;;
+ esac
+ case "$getpwuid_r_proto" in
+ ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, int, struct passwd**);'
+ ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBIR ;;
+ esac
+ case "$getpwuid_r_proto" in
+ ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, int);'
+ ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBI ;;
+ esac
+ case "$getpwuid_r_proto" in
+ ''|0) try='struct passwd* getpwuid_r(uid_t, struct passwd*, char*, int);'
+ ./protochk "extern $try" $hdrs && getpwuid_r_proto=S_TSBI ;;
+ esac
+ case "$getpwuid_r_proto" in
+ '') d_getpwuid_r=undef
+ getpwuid_r_proto=0
+ echo "Disabling getpwuid_r, cannot determine prototype." ;;
+ * ) case "$getpwuid_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getpwuid_r_proto="REENTRANT_PROTO_$getpwuid_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getpwuid_r_proto=0
+ ;;
+esac
+
: see if getservbyname exists
set getservbyname d_getsbyname
set getservent d_getsent
eval $inlibc
+: see if getservbyname_r exists
+set getservbyname_r d_getservbyname_r
+eval $inlibc
+case "$d_getservbyname_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$getservbyname_r_proto" in
+ ''|0) try='int getservbyname_r(const char*, const char*, struct servent*, char*, size_t, struct servent**);'
+ ./protochk "extern $try" $hdrs && getservbyname_r_proto=I_CCSBWR ;;
+ esac
+ case "$getservbyname_r_proto" in
+ ''|0) try='struct servent* getservbyname_r(const char*, const char*, struct servent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getservbyname_r_proto=S_CCSBI ;;
+ esac
+ case "$getservbyname_r_proto" in
+ ''|0) try='int getservbyname_r(const char*, const char*, struct servent*, struct servent_data*);'
+ ./protochk "extern $try" $hdrs && getservbyname_r_proto=I_CCSD ;;
+ esac
+ case "$getservbyname_r_proto" in
+ '') d_getservbyname_r=undef
+ getservbyname_r_proto=0
+ echo "Disabling getservbyname_r, cannot determine prototype." ;;
+ * ) case "$getservbyname_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getservbyname_r_proto="REENTRANT_PROTO_$getservbyname_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getservbyname_r_proto=0
+ ;;
+esac
+
+: see if getservbyport_r exists
+set getservbyport_r d_getservbyport_r
+eval $inlibc
+case "$d_getservbyport_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$getservbyport_r_proto" in
+ ''|0) try='int getservbyport_r(int, const char*, struct servent*, char*, size_t, struct servent**);'
+ ./protochk "extern $try" $hdrs && getservbyport_r_proto=I_ICSBWR ;;
+ esac
+ case "$getservbyport_r_proto" in
+ ''|0) try='struct servent* getservbyport_r(int, const char*, struct servent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getservbyport_r_proto=S_ICSBI ;;
+ esac
+ case "$getservbyport_r_proto" in
+ ''|0) try='int getservbyport_r(int, const char*, struct servent*, struct servent_data*);'
+ ./protochk "extern $try" $hdrs && getservbyport_r_proto=I_ICSD ;;
+ esac
+ case "$getservbyport_r_proto" in
+ '') d_getservbyport_r=undef
+ getservbyport_r_proto=0
+ echo "Disabling getservbyport_r, cannot determine prototype." ;;
+ * ) case "$getservbyport_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getservbyport_r_proto="REENTRANT_PROTO_$getservbyport_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getservbyport_r_proto=0
+ ;;
+esac
+
+: see if getservent_r exists
+set getservent_r d_getservent_r
+eval $inlibc
+case "$d_getservent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$getservent_r_proto" in
+ ''|0) try='int getservent_r(struct servent*, char*, size_t, struct servent**);'
+ ./protochk "extern $try" $hdrs && getservent_r_proto=I_SBWR ;;
+ esac
+ case "$getservent_r_proto" in
+ ''|0) try='int getservent_r(struct servent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getservent_r_proto=I_SBI ;;
+ esac
+ case "$getservent_r_proto" in
+ ''|0) try='struct servent* getservent_r(struct servent*, char*, int);'
+ ./protochk "extern $try" $hdrs && getservent_r_proto=S_SBI ;;
+ esac
+ case "$getservent_r_proto" in
+ ''|0) try='int getservent_r(struct servent*, struct servent_data*);'
+ ./protochk "extern $try" $hdrs && getservent_r_proto=I_SD ;;
+ esac
+ case "$getservent_r_proto" in
+ '') d_getservent_r=undef
+ getservent_r_proto=0
+ echo "Disabling getservent_r, cannot determine prototype." ;;
+ * ) case "$getservent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getservent_r_proto="REENTRANT_PROTO_$getservent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getservent_r_proto=0
+ ;;
+esac
+
: see if prototypes for various getservxxx netdb.h functions are available
echo " "
set d_getservprotos getservent $i_netdb netdb.h
set getspnam d_getspnam
eval $inlibc
+: see if this is a shadow.h system
+set shadow.h i_shadow
+eval $inhdr
+
+: see if getspnam_r exists
+set getspnam_r d_getspnam_r
+eval $inlibc
+case "$d_getspnam_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_shadow shadow.h"
+ case "$getspnam_r_proto" in
+ ''|0) try='int getspnam_r(const char*, struct spwd*, char*, size_t, struct spwd**);'
+ ./protochk "extern $try" $hdrs && getspnam_r_proto=I_CSBWR ;;
+ esac
+ case "$getspnam_r_proto" in
+ ''|0) try='struct spwd* getspnam_r(const char*, struct spwd*, char*, int);'
+ ./protochk "extern $try" $hdrs && getspnam_r_proto=S_CSBI ;;
+ esac
+ case "$getspnam_r_proto" in
+ '') d_getspnam_r=undef
+ getspnam_r_proto=0
+ echo "Disabling getspnam_r, cannot determine prototype." ;;
+ * ) case "$getspnam_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) getspnam_r_proto="REENTRANT_PROTO_$getspnam_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) getspnam_r_proto=0
+ ;;
+esac
+
: see if gettimeofday or ftime exists
set gettimeofday d_gettimeod
eval $inlibc
;;
esac
-: see if this is an grp system
-set grp.h i_grp
-eval $inhdr
-
-case "$i_grp" in
-$define)
- xxx=`./findhdr grp.h`
- $cppstdin $cppflags $cppminus < $xxx >$$.h
-
- if $contains 'gr_passwd' $$.h >/dev/null 2>&1; then
- val="$define"
- else
- val="$undef"
- fi
- set d_grpasswd
- eval $setvar
-
- $rm -f $$.h
+: see if gmtime_r exists
+set gmtime_r d_gmtime_r
+eval $inlibc
+case "$d_gmtime_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
+ case "$gmtime_r_proto" in
+ ''|0) try='struct tm* gmtime_r(const time_t*, struct tm*);'
+ ./protochk "extern $try" $hdrs && gmtime_r_proto=S_TS ;;
+ esac
+ case "$gmtime_r_proto" in
+ ''|0) try='int gmtime_r(const time_t*, struct tm*);'
+ ./protochk "extern $try" $hdrs && gmtime_r_proto=I_TS ;;
+ esac
+ case "$gmtime_r_proto" in
+ '') d_gmtime_r=undef
+ gmtime_r_proto=0
+ echo "Disabling gmtime_r, cannot determine prototype." ;;
+ * ) case "$gmtime_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) gmtime_r_proto="REENTRANT_PROTO_$gmtime_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
;;
-*)
- val="$undef";
- set d_grpasswd; eval $setvar
+*) gmtime_r_proto=0
;;
esac
set link d_link
eval $inlibc
+: see if localtime_r exists
+set localtime_r d_localtime_r
+eval $inlibc
+case "$d_localtime_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
+ case "$localtime_r_proto" in
+ ''|0) try='struct tm* localtime_r(const time_t*, struct tm*);'
+ ./protochk "extern $try" $hdrs && localtime_r_proto=S_TS ;;
+ esac
+ case "$localtime_r_proto" in
+ ''|0) try='int localtime_r(const time_t*, struct tm*);'
+ ./protochk "extern $try" $hdrs && localtime_r_proto=I_TS ;;
+ esac
+ case "$localtime_r_proto" in
+ '') d_localtime_r=undef
+ localtime_r_proto=0
+ echo "Disabling localtime_r, cannot determine prototype." ;;
+ * ) case "$localtime_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) localtime_r_proto="REENTRANT_PROTO_$localtime_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) localtime_r_proto=0
+ ;;
+esac
+
: see if localeconv exists
set localeconv d_locconv
eval $inlibc
*) echo 'sched_yield() NOT found.' >&4 ;;
esac
esac
-set d_sched_yield
-eval $setvar
-
-: see if pthread_yield exists
-set try -DPTHREAD_YIELD
-if eval $compile; then
- val="$define"
- case "$sched_yield" in
- '') sched_yield='pthread_yield()' ;;
- esac
-else
- set try -DPTHREAD_YIELD_NULL
- if eval $compile; then
- val="$define"
- case "$sched_yield" in
- '') sched_yield='pthread_yield(NULL)' ;;
- esac
- else
- val="$undef"
- fi
-fi
-case "$usethreads" in
-$define)
- case "$val" in
- $define) echo 'pthread_yield() found.' >&4 ;;
- *) echo 'pthread_yield() NOT found.' >&4 ;;
- esac
- ;;
-esac
-set d_pthread_yield
-eval $setvar
-
-case "$sched_yield" in
-'') sched_yield=undef ;;
-esac
-
-$rm -f try try.*
-
-: see if this is a pwd.h system
-set pwd.h i_pwd
-eval $inhdr
-
-case "$i_pwd" in
-$define)
- xxx=`./findhdr pwd.h`
- $cppstdin $cppflags $cppminus < $xxx >$$.h
-
- if $contains 'pw_quota' $$.h >/dev/null 2>&1; then
- val="$define"
- else
- val="$undef"
- fi
- set d_pwquota
- eval $setvar
-
- if $contains 'pw_age' $$.h >/dev/null 2>&1; then
- val="$define"
- else
- val="$undef"
- fi
- set d_pwage
- eval $setvar
-
- if $contains 'pw_change' $$.h >/dev/null 2>&1; then
- val="$define"
- else
- val="$undef"
- fi
- set d_pwchange
- eval $setvar
-
- if $contains 'pw_class' $$.h >/dev/null 2>&1; then
- val="$define"
- else
- val="$undef"
- fi
- set d_pwclass
- eval $setvar
-
- if $contains 'pw_expire' $$.h >/dev/null 2>&1; then
- val="$define"
- else
- val="$undef"
- fi
- set d_pwexpire
- eval $setvar
-
- if $contains 'pw_comment' $$.h >/dev/null 2>&1; then
- val="$define"
- else
- val="$undef"
- fi
- set d_pwcomment
- eval $setvar
+set d_sched_yield
+eval $setvar
- if $contains 'pw_gecos' $$.h >/dev/null 2>&1; then
- val="$define"
- else
- val="$undef"
- fi
- set d_pwgecos
- eval $setvar
+: see if pthread_yield exists
+set try -DPTHREAD_YIELD
+if eval $compile; then
+ val="$define"
+ case "$sched_yield" in
+ '') sched_yield='pthread_yield()' ;;
+ esac
+else
+ set try -DPTHREAD_YIELD_NULL
+ if eval $compile; then
+ val="$define"
+ case "$sched_yield" in
+ '') sched_yield='pthread_yield(NULL)' ;;
+ esac
+ else
+ val="$undef"
+ fi
+fi
+case "$usethreads" in
+$define)
+ case "$val" in
+ $define) echo 'pthread_yield() found.' >&4 ;;
+ *) echo 'pthread_yield() NOT found.' >&4 ;;
+ esac
+ ;;
+esac
+set d_pthread_yield
+eval $setvar
- if $contains 'pw_passwd' $$.h >/dev/null 2>&1; then
- val="$define"
- else
- val="$undef"
- fi
- set d_pwpasswd
- eval $setvar
+case "$sched_yield" in
+'') sched_yield=undef ;;
+esac
- $rm -f $$.h
+$rm -f try try.*
+
+: see if random_r exists
+set random_r d_random_r
+eval $inlibc
+case "$d_random_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
+ case "$random_r_proto" in
+ ''|0) try='int random_r(int*, struct random_data*);'
+ ./protochk "extern $try" $hdrs && random_r_proto=I_TS ;;
+ esac
+ case "$random_r_proto" in
+ '') d_random_r=undef
+ random_r_proto=0
+ echo "Disabling random_r, cannot determine prototype." ;;
+ * ) case "$random_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) random_r_proto="REENTRANT_PROTO_$random_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
;;
-*)
- val="$undef";
- set d_pwquota; eval $setvar
- set d_pwage; eval $setvar
- set d_pwchange; eval $setvar
- set d_pwclass; eval $setvar
- set d_pwexpire; eval $setvar
- set d_pwcomment; eval $setvar
- set d_pwgecos; eval $setvar
- set d_pwpasswd; eval $setvar
+*) random_r_proto=0
;;
esac
set rewinddir d_rewinddir
eval $inlibc
+: see if readdir64_r exists
+set readdir64_r d_readdir64_r
+eval $inlibc
+case "$d_readdir64_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h"
+ case "$readdir64_r_proto" in
+ ''|0) try='int readdir64_r(DIR*, struct dirent64*, struct dirent64**);'
+ ./protochk "extern $try" $hdrs && readdir64_r_proto=I_TSR ;;
+ esac
+ case "$readdir64_r_proto" in
+ ''|0) try='int readdir64_r(DIR*, struct dirent64*);'
+ ./protochk "extern $try" $hdrs && readdir64_r_proto=I_TS ;;
+ esac
+ case "$readdir64_r_proto" in
+ '') d_readdir64_r=undef
+ readdir64_r_proto=0
+ echo "Disabling readdir64_r, cannot determine prototype." ;;
+ * ) case "$readdir64_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) readdir64_r_proto="REENTRANT_PROTO_$readdir64_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) readdir64_r_proto=0
+ ;;
+esac
+
+: see if readdir_r exists
+set readdir_r d_readdir_r
+eval $inlibc
+case "$d_readdir_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h"
+ case "$readdir_r_proto" in
+ ''|0) try='int readdir_r(DIR*, struct dirent*, struct dirent**);'
+ ./protochk "extern $try" $hdrs && readdir_r_proto=I_TSR ;;
+ esac
+ case "$readdir_r_proto" in
+ ''|0) try='int readdir_r(DIR*, struct dirent*);'
+ ./protochk "extern $try" $hdrs && readdir_r_proto=I_TS ;;
+ esac
+ case "$readdir_r_proto" in
+ '') d_readdir_r=undef
+ readdir_r_proto=0
+ echo "Disabling readdir_r, cannot determine prototype." ;;
+ * ) case "$readdir_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) readdir_r_proto="REENTRANT_PROTO_$readdir_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) readdir_r_proto=0
+ ;;
+esac
+
: see if readv exists
set readv d_readv
eval $inlibc
set setgrent d_setgrent
eval $inlibc
+: see if setgrent_r exists
+set setgrent_r d_setgrent_r
+eval $inlibc
+case "$d_setgrent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
+ case "$setgrent_r_proto" in
+ ''|0) try='int setgrent_r(FILE**);'
+ ./protochk "extern $try" $hdrs && setgrent_r_proto=I_H ;;
+ esac
+ case "$setgrent_r_proto" in
+ ''|0) try='void setgrent_r(FILE**);'
+ ./protochk "extern $try" $hdrs && setgrent_r_proto=V_H ;;
+ esac
+ case "$setgrent_r_proto" in
+ '') d_setgrent_r=undef
+ setgrent_r_proto=0
+ echo "Disabling setgrent_r, cannot determine prototype." ;;
+ * ) case "$setgrent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) setgrent_r_proto="REENTRANT_PROTO_$setgrent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) setgrent_r_proto=0
+ ;;
+esac
+
: see if sethostent exists
set sethostent d_sethent
eval $inlibc
+: see if sethostent_r exists
+set sethostent_r d_sethostent_r
+eval $inlibc
+case "$d_sethostent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$sethostent_r_proto" in
+ ''|0) try='int sethostent_r(int, struct hostent_data*);'
+ ./protochk "extern $try" $hdrs && sethostent_r_proto=I_ID ;;
+ esac
+ case "$sethostent_r_proto" in
+ ''|0) try='void sethostent_r(int, struct hostent_data*);'
+ ./protochk "extern $try" $hdrs && sethostent_r_proto=V_ID ;;
+ esac
+ case "$sethostent_r_proto" in
+ '') d_sethostent_r=undef
+ sethostent_r_proto=0
+ echo "Disabling sethostent_r, cannot determine prototype." ;;
+ * ) case "$sethostent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) sethostent_r_proto="REENTRANT_PROTO_$sethostent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) sethostent_r_proto=0
+ ;;
+esac
+
: see if setitimer exists
set setitimer d_setitimer
eval $inlibc
set setlocale d_setlocale
eval $inlibc
+: see if locale.h is available
+set locale.h i_locale
+eval $inhdr
+
+: see if setlocale_r exists
+set setlocale_r d_setlocale_r
+eval $inlibc
+case "$d_setlocale_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_locale locale.h"
+ case "$setlocale_r_proto" in
+ ''|0) try='int setlocale_r(int, const char*, char*, int);'
+ ./protochk "extern $try" $hdrs && setlocale_r_proto=I_ICBI ;;
+ esac
+ case "$setlocale_r_proto" in
+ '') d_setlocale_r=undef
+ setlocale_r_proto=0
+ echo "Disabling setlocale_r, cannot determine prototype." ;;
+ * ) case "$setlocale_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) setlocale_r_proto="REENTRANT_PROTO_$setlocale_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) setlocale_r_proto=0
+ ;;
+esac
+
: see if setnetent exists
set setnetent d_setnent
eval $inlibc
+: see if setnetent_r exists
+set setnetent_r d_setnetent_r
+eval $inlibc
+case "$d_setnetent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$setnetent_r_proto" in
+ ''|0) try='int setnetent_r(int, struct netent_data*);'
+ ./protochk "extern $try" $hdrs && setnetent_r_proto=I_ID ;;
+ esac
+ case "$setnetent_r_proto" in
+ ''|0) try='void setnetent_r(int, struct netent_data*);'
+ ./protochk "extern $try" $hdrs && setnetent_r_proto=V_ID ;;
+ esac
+ case "$setnetent_r_proto" in
+ '') d_setnetent_r=undef
+ setnetent_r_proto=0
+ echo "Disabling setnetent_r, cannot determine prototype." ;;
+ * ) case "$setnetent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) setnetent_r_proto="REENTRANT_PROTO_$setnetent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) setnetent_r_proto=0
+ ;;
+esac
+
: see if setprotoent exists
set setprotoent d_setpent
eval $inlibc
set setproctitle d_setproctitle
eval $inlibc
+: see if setprotoent_r exists
+set setprotoent_r d_setprotoent_r
+eval $inlibc
+case "$d_setprotoent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$setprotoent_r_proto" in
+ ''|0) try='int setprotoent_r(int, struct protoent_data*);'
+ ./protochk "extern $try" $hdrs && setprotoent_r_proto=I_ID ;;
+ esac
+ case "$setprotoent_r_proto" in
+ ''|0) try='void setprotoent_r(int, struct protoent_data*);'
+ ./protochk "extern $try" $hdrs && setprotoent_r_proto=V_ID ;;
+ esac
+ case "$setprotoent_r_proto" in
+ '') d_setprotoent_r=undef
+ setprotoent_r_proto=0
+ echo "Disabling setprotoent_r, cannot determine prototype." ;;
+ * ) case "$setprotoent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) setprotoent_r_proto="REENTRANT_PROTO_$setprotoent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) setprotoent_r_proto=0
+ ;;
+esac
+
: see if setpwent exists
set setpwent d_setpwent
eval $inlibc
+: see if setpwent_r exists
+set setpwent_r d_setpwent_r
+eval $inlibc
+case "$d_setpwent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
+ case "$setpwent_r_proto" in
+ ''|0) try='int setpwent_r(FILE**);'
+ ./protochk "extern $try" $hdrs && setpwent_r_proto=I_H ;;
+ esac
+ case "$setpwent_r_proto" in
+ ''|0) try='void setpwent_r(FILE**);'
+ ./protochk "extern $try" $hdrs && setpwent_r_proto=V_H ;;
+ esac
+ case "$setpwent_r_proto" in
+ '') d_setpwent_r=undef
+ setpwent_r_proto=0
+ echo "Disabling setpwent_r, cannot determine prototype." ;;
+ * ) case "$setpwent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) setpwent_r_proto="REENTRANT_PROTO_$setpwent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) setpwent_r_proto=0
+ ;;
+esac
+
: see if setregid exists
set setregid d_setregid
eval $inlibc
set setservent d_setsent
eval $inlibc
+: see if setservent_r exists
+set setservent_r d_setservent_r
+eval $inlibc
+case "$d_setservent_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
+ case "$setservent_r_proto" in
+ ''|0) try='int setservent_r(int, struct servent_data*);'
+ ./protochk "extern $try" $hdrs && setservent_r_proto=I_ID ;;
+ esac
+ case "$setservent_r_proto" in
+ ''|0) try='void setservent_r(int, struct servent_data*);'
+ ./protochk "extern $try" $hdrs && setservent_r_proto=V_ID ;;
+ esac
+ case "$setservent_r_proto" in
+ '') d_setservent_r=undef
+ setservent_r_proto=0
+ echo "Disabling setservent_r, cannot determine prototype." ;;
+ * ) case "$setservent_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) setservent_r_proto="REENTRANT_PROTO_$setservent_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) setservent_r_proto=0
+ ;;
+esac
+
: see if setsid exists
set setsid d_setsid
eval $inlibc
set socks5_init d_socks5_init
eval $inlibc
+: see if srand48_r exists
+set srand48_r d_srand48_r
+eval $inlibc
+case "$d_srand48_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
+ case "$srand48_r_proto" in
+ ''|0) try='int srand48_r(long, struct drand48_data*);'
+ ./protochk "extern $try" $hdrs && srand48_r_proto=I_LS ;;
+ esac
+ case "$srand48_r_proto" in
+ '') d_srand48_r=undef
+ srand48_r_proto=0
+ echo "Disabling srand48_r, cannot determine prototype." ;;
+ * ) case "$srand48_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) srand48_r_proto="REENTRANT_PROTO_$srand48_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) srand48_r_proto=0
+ ;;
+esac
+
+: see if srandom_r exists
+set srandom_r d_srandom_r
+eval $inlibc
+case "$d_srandom_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
+ case "$srandom_r_proto" in
+ ''|0) try='int srandom_r(unsigned int, struct random_data*);'
+ ./protochk "extern $try" $hdrs && srandom_r_proto=I_TS ;;
+ esac
+ case "$srandom_r_proto" in
+ '') d_srandom_r=undef
+ srandom_r_proto=0
+ echo "Disabling srandom_r, cannot determine prototype." ;;
+ * ) case "$srandom_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) srandom_r_proto="REENTRANT_PROTO_$srandom_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) srandom_r_proto=0
+ ;;
+esac
+
: see if prototype for setresgid is available
echo " "
set d_sresgproto setresgid $i_unistd unistd.h
fi
fi
+: see if strerror_r exists
+set strerror_r d_strerror_r
+eval $inlibc
+case "$d_strerror_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_string string.h"
+ case "$strerror_r_proto" in
+ ''|0) try='int strerror_r(int, char*, size_t);'
+ ./protochk "extern $try" $hdrs && strerror_r_proto=I_IBW ;;
+ esac
+ case "$strerror_r_proto" in
+ ''|0) try='int strerror_r(int, char*, int);'
+ ./protochk "extern $try" $hdrs && strerror_r_proto=I_IBI ;;
+ esac
+ case "$strerror_r_proto" in
+ ''|0) try='char* strerror_r(int, char*, size_t);'
+ ./protochk "extern $try" $hdrs && strerror_r_proto=B_IBW ;;
+ esac
+ case "$strerror_r_proto" in
+ '') d_strerror_r=undef
+ strerror_r_proto=0
+ echo "Disabling strerror_r, cannot determine prototype." ;;
+ * ) case "$strerror_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) strerror_r_proto="REENTRANT_PROTO_$strerror_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) strerror_r_proto=0
+ ;;
+esac
+
: see if strftime exists
set strftime d_strftime
eval $inlibc
clocktype='int'
fi
+: see if tmpnam_r exists
+set tmpnam_r d_tmpnam_r
+eval $inlibc
+case "$d_tmpnam_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_stdio stdio.h"
+ case "$tmpnam_r_proto" in
+ ''|0) try='char* tmpnam_r(char*);'
+ ./protochk "extern $try" $hdrs && tmpnam_r_proto=B_B ;;
+ esac
+ case "$tmpnam_r_proto" in
+ '') d_tmpnam_r=undef
+ tmpnam_r_proto=0
+ echo "Disabling tmpnam_r, cannot determine prototype." ;;
+ * ) case "$tmpnam_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) tmpnam_r_proto="REENTRANT_PROTO_$tmpnam_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) tmpnam_r_proto=0
+ ;;
+esac
+
: see if truncate exists
set truncate d_truncate
eval $inlibc
+: see if ttyname_r exists
+set ttyname_r d_ttyname_r
+eval $inlibc
+case "$d_ttyname_r" in
+"$define")
+ hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h"
+ case "$ttyname_r_proto" in
+ ''|0) try='int ttyname_r(int, char*, size_t);'
+ ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBW ;;
+ esac
+ case "$ttyname_r_proto" in
+ ''|0) try='int ttyname_r(int, char*, int);'
+ ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBI ;;
+ esac
+ case "$ttyname_r_proto" in
+ ''|0) try='char* ttyname_r(int, char*, int);'
+ ./protochk "extern $try" $hdrs && ttyname_r_proto=B_IBI ;;
+ esac
+ case "$ttyname_r_proto" in
+ '') d_ttyname_r=undef
+ ttyname_r_proto=0
+ echo "Disabling ttyname_r, cannot determine prototype." ;;
+ * ) case "$ttyname_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) ttyname_r_proto="REENTRANT_PROTO_$ttyname_r_proto" ;;
+ esac
+ echo "Prototype: $try" ;;
+ esac
+ ;;
+*) ttyname_r_proto=0
+ ;;
+esac
+
: see if tzname[] exists
echo " "
if set tzname val -a d_tzname; eval $csym; $val; then
;;
esac
-: define a fucntion to check prototypes
-$cat > protochk <<EOSH
-$startsh
-cc="$cc"
-optimize="$optimize"
-ccflags="$ccflags"
-prototype="$prototype"
-define="$define"
-rm=$rm
-EOSH
-
-$cat >> protochk <<'EOSH'
-
-$rm -f try.c
-foo="$1"
-shift
-while test $# -ge 2; do
- case "$1" in
- $define) echo "#include <$2>" >> try.c ;;
- literal) echo "$2" >> try.c ;;
- esac
- shift 2
-done
-test "$prototype" = "$define" && echo '#define CAN_PROTOTYPE' >> try.c
-cat >> try.c <<'EOCP'
-#ifdef CAN_PROTOTYPE
-#define _(args) args
-#else
-#define _(args) ()
-#endif
-EOCP
-echo "$foo" >> try.c
-echo 'int no_real_function_has_this_name _((void)) { return 0; }' >> try.c
-$cc $optimize $ccflags -c try.c > /dev/null 2>&1
-status=$?
-$rm -f try.[co]
-exit $status
-EOSH
-chmod +x protochk
-$eunicefix protochk
-
: see what type is used for size_t
rp="What is the type used for the length parameter for string functions?"
set size_t sizetype 'unsigned int' stdio.h sys/types.h
set libutil.h i_libutil
eval $inhdr
-: see if locale.h is available
-set locale.h i_locale
-eval $inhdr
-
: see if mach cthreads are available
if test "X$usethreads" = "X$define"; then
set mach/cthreads.h i_machcthr
val=$val2; set i_sgtty; eval $setvar
val=$val3; set i_termios; eval $setvar
-: see if this is a shadow.h system
-set shadow.h i_shadow
-eval $inhdr
-
: see if stddef is available
set stddef.h i_stddef
eval $inhdr
archname64='$archname64'
archname='$archname'
archobjs='$archobjs'
+asctime_r_proto='$asctime_r_proto'
awk='$awk'
baserev='$baserev'
bash='$bash'
cpprun='$cpprun'
cppstdin='$cppstdin'
cppsymbols='$cppsymbols'
+crypt_r_proto='$crypt_r_proto'
cryptlib='$cryptlib'
csh='$csh'
+ctermid_r_proto='$ctermid_r_proto'
+ctime_r_proto='$ctime_r_proto'
d_Gconvert='$d_Gconvert'
d_PRIEUldbl='$d_PRIEUldbl'
d_PRIFUldbl='$d_PRIFUldbl'
d_accessx='$d_accessx'
d_alarm='$d_alarm'
d_archlib='$d_archlib'
+d_asctime_r='$d_asctime_r'
d_atolf='$d_atolf'
d_atoll='$d_atoll'
d_attribut='$d_attribut'
d_cmsghdr_s='$d_cmsghdr_s'
d_const='$d_const'
d_crypt='$d_crypt'
+d_crypt_r='$d_crypt_r'
d_csh='$d_csh'
+d_ctermid_r='$d_ctermid_r'
+d_ctime_r='$d_ctime_r'
d_cuserid='$d_cuserid'
d_dbl_dig='$d_dbl_dig'
d_dbminitproto='$d_dbminitproto'
d_dlopen='$d_dlopen'
d_dlsymun='$d_dlsymun'
d_dosuid='$d_dosuid'
+d_drand48_r='$d_drand48_r'
d_drand48proto='$d_drand48proto'
d_dup2='$d_dup2'
d_eaccess='$d_eaccess'
d_endgrent='$d_endgrent'
+d_endgrent_r='$d_endgrent_r'
d_endhent='$d_endhent'
+d_endhostent_r='$d_endhostent_r'
d_endnent='$d_endnent'
+d_endnetent_r='$d_endnetent_r'
d_endpent='$d_endpent'
+d_endprotoent_r='$d_endprotoent_r'
d_endpwent='$d_endpwent'
+d_endpwent_r='$d_endpwent_r'
d_endsent='$d_endsent'
+d_endservent_r='$d_endservent_r'
d_eofnblk='$d_eofnblk'
d_eunice='$d_eunice'
d_fchdir='$d_fchdir'
d_getespwnam='$d_getespwnam'
d_getfsstat='$d_getfsstat'
d_getgrent='$d_getgrent'
+d_getgrent_r='$d_getgrent_r'
+d_getgrgid_r='$d_getgrgid_r'
+d_getgrnam_r='$d_getgrnam_r'
d_getgrps='$d_getgrps'
d_gethbyaddr='$d_gethbyaddr'
d_gethbyname='$d_gethbyname'
d_gethent='$d_gethent'
d_gethname='$d_gethname'
+d_gethostbyaddr_r='$d_gethostbyaddr_r'
+d_gethostbyname_r='$d_gethostbyname_r'
+d_gethostent_r='$d_gethostent_r'
d_gethostprotos='$d_gethostprotos'
d_getitimer='$d_getitimer'
d_getlogin='$d_getlogin'
+d_getlogin_r='$d_getlogin_r'
d_getmnt='$d_getmnt'
d_getmntent='$d_getmntent'
d_getnbyaddr='$d_getnbyaddr'
d_getnbyname='$d_getnbyname'
d_getnent='$d_getnent'
+d_getnetbyaddr_r='$d_getnetbyaddr_r'
+d_getnetbyname_r='$d_getnetbyname_r'
+d_getnetent_r='$d_getnetent_r'
d_getnetprotos='$d_getnetprotos'
d_getpagsz='$d_getpagsz'
d_getpbyname='$d_getpbyname'
d_getpgrp='$d_getpgrp'
d_getppid='$d_getppid'
d_getprior='$d_getprior'
+d_getprotobyname_r='$d_getprotobyname_r'
+d_getprotobynumber_r='$d_getprotobynumber_r'
+d_getprotoent_r='$d_getprotoent_r'
d_getprotoprotos='$d_getprotoprotos'
d_getprpwnam='$d_getprpwnam'
d_getpwent='$d_getpwent'
+d_getpwent_r='$d_getpwent_r'
+d_getpwnam_r='$d_getpwnam_r'
+d_getpwuid_r='$d_getpwuid_r'
d_getsbyname='$d_getsbyname'
d_getsbyport='$d_getsbyport'
d_getsent='$d_getsent'
+d_getservbyname_r='$d_getservbyname_r'
+d_getservbyport_r='$d_getservbyport_r'
+d_getservent_r='$d_getservent_r'
d_getservprotos='$d_getservprotos'
d_getspnam='$d_getspnam'
+d_getspnam_r='$d_getspnam_r'
d_gettimeod='$d_gettimeod'
+d_gmtime_r='$d_gmtime_r'
d_gnulibc='$d_gnulibc'
d_grpasswd='$d_grpasswd'
d_hasmntopt='$d_hasmntopt'
d_lchown='$d_lchown'
d_ldbl_dig='$d_ldbl_dig'
d_link='$d_link'
+d_localtime_r='$d_localtime_r'
d_locconv='$d_locconv'
d_lockf='$d_lockf'
d_longdbl='$d_longdbl'
d_pwquota='$d_pwquota'
d_qgcvt='$d_qgcvt'
d_quad='$d_quad'
+d_random_r='$d_random_r'
+d_readdir64_r='$d_readdir64_r'
d_readdir='$d_readdir'
+d_readdir_r='$d_readdir_r'
d_readlink='$d_readlink'
d_readv='$d_readv'
d_recvmsg='$d_recvmsg'
d_setegid='$d_setegid'
d_seteuid='$d_seteuid'
d_setgrent='$d_setgrent'
+d_setgrent_r='$d_setgrent_r'
d_setgrps='$d_setgrps'
d_sethent='$d_sethent'
+d_sethostent_r='$d_sethostent_r'
d_setitimer='$d_setitimer'
d_setlinebuf='$d_setlinebuf'
d_setlocale='$d_setlocale'
+d_setlocale_r='$d_setlocale_r'
d_setnent='$d_setnent'
+d_setnetent_r='$d_setnetent_r'
d_setpent='$d_setpent'
d_setpgid='$d_setpgid'
d_setpgrp2='$d_setpgrp2'
d_setpgrp='$d_setpgrp'
d_setprior='$d_setprior'
d_setproctitle='$d_setproctitle'
+d_setprotoent_r='$d_setprotoent_r'
d_setpwent='$d_setpwent'
+d_setpwent_r='$d_setpwent_r'
d_setregid='$d_setregid'
d_setresgid='$d_setresgid'
d_setresuid='$d_setresuid'
d_setrgid='$d_setrgid'
d_setruid='$d_setruid'
d_setsent='$d_setsent'
+d_setservent_r='$d_setservent_r'
d_setsid='$d_setsid'
d_setvbuf='$d_setvbuf'
d_sfio='$d_sfio'
d_sockpair='$d_sockpair'
d_socks5_init='$d_socks5_init'
d_sqrtl='$d_sqrtl'
+d_srand48_r='$d_srand48_r'
+d_srandom_r='$d_srandom_r'
d_sresgproto='$d_sresgproto'
d_sresuproto='$d_sresuproto'
d_statblks='$d_statblks'
d_strctcpy='$d_strctcpy'
d_strerrm='$d_strerrm'
d_strerror='$d_strerror'
+d_strerror_r='$d_strerror_r'
d_strftime='$d_strftime'
d_strtod='$d_strtod'
d_strtol='$d_strtol'
d_times='$d_times'
d_tm_tm_gmtoff='$d_tm_tm_gmtoff'
d_tm_tm_zone='$d_tm_tm_zone'
+d_tmpnam_r='$d_tmpnam_r'
d_truncate='$d_truncate'
+d_ttyname_r='$d_ttyname_r'
d_tzname='$d_tzname'
d_u32align='$d_u32align'
d_ualarm='$d_ualarm'
dlsrc='$dlsrc'
doublesize='$doublesize'
drand01='$drand01'
+drand48_r_proto='$drand48_r_proto'
dynamic_ext='$dynamic_ext'
eagain='$eagain'
ebcdic='$ebcdic'
echo='$echo'
egrep='$egrep'
emacs='$emacs'
+endgrent_r_proto='$endgrent_r_proto'
+endhostent_r_proto='$endhostent_r_proto'
+endnetent_r_proto='$endnetent_r_proto'
+endprotoent_r_proto='$endprotoent_r_proto'
+endpwent_r_proto='$endpwent_r_proto'
+endservent_r_proto='$endservent_r_proto'
eunicefix='$eunicefix'
exe_ext='$exe_ext'
expr='$expr'
full_sed='$full_sed'
gccosandvers='$gccosandvers'
gccversion='$gccversion'
+getgrent_r_proto='$getgrent_r_proto'
+getgrgid_r_proto='$getgrgid_r_proto'
+getgrnam_r_proto='$getgrnam_r_proto'
+gethostbyaddr_r_proto='$gethostbyaddr_r_proto'
+gethostbyname_r_proto='$gethostbyname_r_proto'
+gethostent_r_proto='$gethostent_r_proto'
+getlogin_r_proto='$getlogin_r_proto'
+getnetbyaddr_r_proto='$getnetbyaddr_r_proto'
+getnetbyname_r_proto='$getnetbyname_r_proto'
+getnetent_r_proto='$getnetent_r_proto'
+getprotobyname_r_proto='$getprotobyname_r_proto'
+getprotobynumber_r_proto='$getprotobynumber_r_proto'
+getprotoent_r_proto='$getprotoent_r_proto'
+getpwent_r_proto='$getpwent_r_proto'
+getpwnam_r_proto='$getpwnam_r_proto'
+getpwuid_r_proto='$getpwuid_r_proto'
+getservbyname_r_proto='$getservbyname_r_proto'
+getservbyport_r_proto='$getservbyport_r_proto'
+getservent_r_proto='$getservent_r_proto'
+getspnam_r_proto='$getspnam_r_proto'
gidformat='$gidformat'
gidsign='$gidsign'
gidsize='$gidsize'
gidtype='$gidtype'
glibpth='$glibpth'
gmake='$gmake'
+gmtime_r_proto='$gmtime_r_proto'
grep='$grep'
groupcat='$groupcat'
groupstype='$groupstype'
i8type='$i8type'
i_arpainet='$i_arpainet'
i_bsdioctl='$i_bsdioctl'
+i_crypt='$i_crypt'
i_db='$i_db'
i_dbm='$i_dbm'
i_dirent='$i_dirent'
lkflags='$lkflags'
ln='$ln'
lns='$lns'
+localtime_r_proto='$localtime_r_proto'
locincpth='$locincpth'
loclibpth='$loclibpth'
longdblsize='$longdblsize'
quadtype='$quadtype'
randbits='$randbits'
randfunc='$randfunc'
+random_r_proto='$random_r_proto'
randseedtype='$randseedtype'
ranlib='$ranlib'
rd_nodata='$rd_nodata'
+readdir64_r_proto='$readdir64_r_proto'
+readdir_r_proto='$readdir_r_proto'
revision='$revision'
rm='$rm'
rmail='$rmail'
selectminbits='$selectminbits'
selecttype='$selecttype'
sendmail='$sendmail'
+setgrent_r_proto='$setgrent_r_proto'
+sethostent_r_proto='$sethostent_r_proto'
+setlocale_r_proto='$setlocale_r_proto'
+setnetent_r_proto='$setnetent_r_proto'
+setprotoent_r_proto='$setprotoent_r_proto'
+setpwent_r_proto='$setpwent_r_proto'
+setservent_r_proto='$setservent_r_proto'
sh='$sh'
shar='$shar'
sharpbang='$sharpbang'
sort='$sort'
spackage='$spackage'
spitshell='$spitshell'
+srand48_r_proto='$srand48_r_proto'
+srandom_r_proto='$srandom_r_proto'
src='$src'
ssizetype='$ssizetype'
startperl='$startperl'
stdio_filbuf='$stdio_filbuf'
stdio_ptr='$stdio_ptr'
stdio_stream_array='$stdio_stream_array'
+strerror_r_proto='$strerror_r_proto'
strings='$strings'
submit='$submit'
subversion='$subversion'
test='$test'
timeincl='$timeincl'
timetype='$timetype'
+tmpnam_r_proto='$tmpnam_r_proto'
to='$to'
touch='$touch'
tr='$tr'
trnl='$trnl'
troff='$troff'
+ttyname_r_proto='$ttyname_r_proto'
u16size='$u16size'
u16type='$u16type'
u32size='$u32size'
README.vos Notes about Stratus VOS port
README.win32 Notes about Win32 port
README.Y2K Notes about Year 2000 concerns
+reentr.c Reentrant interfaces
+reentr.h Reentrant interfaces
+reentr.pl Reentrant interfaces
regcomp.c Regular expression compiler
regcomp.h Private declarations for above
regcomp.pl Builder of regnodes.h
h5 = utf8.h warnings.h
h = $(h1) $(h2) $(h3) $(h4) $(h5)
-c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c
+c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c reentr.c
c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c
c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c
c4 = globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c
c = $(c1) $(c2) $(c3) $(c4) miniperlmain.c perlmain.c
-obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT)
+obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT)
obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) xsutils$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
..\pp_pack.c \
..\pp_sort.c \
..\pp_sys.c \
+ ..\reentr.c \
..\regcomp.c \
..\regexec.c \
..\run.c \
!if "$(MAKE_TYPE)"=="Debug"
!ifdef NLM_NAME8
- .\bat\cvpack $(BLDDIR)\$(NLM_NAME8).sym
+ .\bat\cvpack $(BLDDIR)\$(NLM_NAME8).sym
!else
- .\bat\cvpack $(BLDDIR)\$(NLM_NAME).sym
+ .\bat\cvpack $(BLDDIR)\$(NLM_NAME).sym
!endif
!endif
archname64=''
archname='NetWare'
archobjs=''
+asctime_r_proto='0'
awk='awk'
baserev='5'
bash=''
cppstdin='cl -nologo -E'
cppsymbols=''
crosscompile='undef'
+crypt_r_proto='0'
cryptlib=''
csh='undef'
+ctermid_r_proto='0'
+ctime_r_proto='0'
d_Gconvert='sprintf((b),"%.*g",(n),(x))'
d_PRIEldbl='undef'
d_PRIFldbl='undef'
d_accessx='undef'
d_alarm='undef'
d_archlib='define'
+d_asctime_r='undef'
d_atolf='undef'
d_atoll='undef'
d_attribut='undef'
d_closedir='define'
d_const='define'
d_crypt='undef'
+d_crypt_r='undef'
d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
d_cuserid='undef'
d_dbl_dig='define'
d_difftime='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
+d_drand48_r='undef'
d_drand48proto='undef'
d_dup2='define'
d_eaccess='undef'
d_endgrent='undef'
+d_endgrent_r='undef'
d_endhent='undef'
+d_endhostent_r='undef'
d_endnent='undef'
+d_endnetent_r='undef'
d_endpent='undef'
+d_endprotoent_r='undef'
d_endpwent='undef'
+d_endpwent_r='undef'
d_endsent='undef'
+d_endservent_r='undef'
d_endspent='undef'
d_eofnblk='define'
d_eunice='undef'
d_getcwd='define'
d_getfsstat='undef'
d_getgrent='undef'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
d_getgrps='undef'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='undef'
d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
d_gethostprotos='define'
d_getlogin='define'
+d_getlogin_r='undef'
d_getmnt='undef'
d_getmntent='undef'
d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
d_getnetprotos='define'
d_getpbyname='define'
d_getpbynumber='define'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
d_getprotoprotos='define'
d_getpwent='undef'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
d_getservprotos='define'
d_getspent='undef'
d_getspnam='undef'
+d_getspnam_r='undef'
d_gettimeod='undef'
+d_gmtime_r='undef'
d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
d_lchown='undef'
d_ldbl_dig='define'
d_link='define'
+d_localtime_r='undef'
d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_pwquota='undef'
d_qgcvt='undef'
d_quad='undef'
+d_random_r='undef'
+d_readdir64_r='undef'
d_readdir='define'
+d_readdir_r='undef'
d_readlink='undef'
d_rename='define'
d_rewinddir='define'
d_setegid='undef'
d_seteuid='undef'
d_setgrent='undef'
+d_setgrent_r='undef'
d_setgrps='undef'
d_sethent='undef'
+d_sethostent_r='undef'
d_setlinebuf='undef'
d_setlocale='define'
+d_setlocale_r='undef'
d_setnent='undef'
+d_setnetent_r='undef'
d_setpent='undef'
d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
+d_setprotoent_r='undef'
d_setpwent='undef'
+d_setpwent_r='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
d_setrgid='undef'
d_setruid='undef'
d_setsent='undef'
+d_setservent_r='undef'
d_setsid='undef'
d_setspent='undef'
d_setvbuf='define'
d_socklen_t='undef'
d_sockpair='undef'
d_sqrtl='undef'
+d_srand48_r='undef'
+d_srandom_r='undef'
d_statblks='undef'
d_statfs_f_flags='undef'
d_statfs_s='undef'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
+d_strerror_r='undef'
d_strftime='define'
d_strtod='define'
d_strtol='define'
d_telldirproto='define'
d_time='define'
d_times='undef'
+d_tm_tm_gmtoff='undef'
+d_tm_tm_zone='undef'
+d_tmpnam_r='undef'
d_truncate='undef'
+d_ttyname_r='undef'
d_tzname='define'
d_umask='define'
d_uname='define'
date='date'
db_hashtype='int'
db_prefixtype='int'
-defvoidused='15'
def_perlroot='sys:\perl\scripts'
def_temp='sys:\perl\temp'
+defvoidused='15'
direntrytype='DIR'
dlext='nlp'
dlsrc='dl_netware.xs'
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
+drand48_r_proto='0'
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs Thread'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
egrep='egrep'
emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
full_csh=''
full_sed=''
gccversion=''
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
gidformat='"ld"'
gidsign='-1'
gidsize='4'
gidtype='gid_t'
glibpth='/usr/shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/shlib '
+gmtime_r_proto='0'
grep='grep'
groupcat=''
groupstype='gid_t'
i8type='char'
i_arpainet='define'
i_bsdioctl=''
+i_crypt='undef'
i_db='undef'
i_dbm='undef'
i_dirent='define'
i_syssecrt='undef'
i_sysselct='undef'
i_syssockio='define'
+i_sysstat='define'
i_sysstatfs='undef'
i_sysstatvfs='undef'
-i_sysstat='define'
i_systime='undef'
i_systimek='undef'
i_systimes='undef'
inews=''
installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
+installhtmldir='~INST_TOP~~INST_VER~\html'
+installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installman1dir='~INST_TOP~~INST_VER~\man\man1'
installman3dir='~INST_TOP~~INST_VER~\man\man3'
+installnwlcgi='~INST_NW_TOP2~~INST_NW_VER~\lcgi'
installnwlib='~INST_NW_TOP2~~INST_NW_VER~\lib'
installnwscripts='~INST_NW_TOP2~~INST_NW_VER~\scripts'
-installnwlcgi='~INST_NW_TOP2~~INST_NW_VER~\lcgi'
installnwsystem='~INST_NW_TOP2~~INST_NW_VER~\system'
installprefix='~INST_TOP~~INST_VER~'
installprefixexp='~INST_TOP~~INST_VER~'
-installhtmldir='~INST_TOP~~INST_VER~\html'
-installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installprivlib='~INST_TOP~~INST_VER~\lib'
installscript='~INST_TOP~~INST_VER~\bin'
installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
lkflags=''
ln=''
lns='copy'
+localtime_r_proto='0'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longdblsize='10'
quadtype='__int64'
randbits='15'
randfunc='rand'
+random_r_proto='0'
randseedtype='unsigned'
ranlib='rem'
rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
revision='5'
rm='del'
rmail=''
selectminbits='32'
selecttype='fd_set *'
sendmail='blat'
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
sh='cmd /x /c'
shar=''
sharpbang='#!'
spackage='Perl5'
spitshell=''
split=''
+srand48_r_proto='0'
+srandom_r_proto='0'
src=''
ssizetype='int'
startperl='#!perl'
stdio_filbuf=''
stdio_ptr='((fp)->_ptr)'
stdio_stream_array=''
+strerror_r_proto='0'
strings='/usr/include/string.h'
submit=''
subversion='~SUBVERSION~'
test=''
timeincl='/usr/include/sys/time.h '
timetype='time_t'
+tmpnam_r_proto='0'
touch='touch'
tr=''
trnl='\012'
troff=''
+ttyname_r_proto='0'
u16size='2'
u16type='unsigned short'
u32size='4'
usevfork='true'
usrinc='/usr/include'
uuname=''
+uvXUformat='"lX"'
uvoformat='"lo"'
uvsize='4'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
-uvXUformat='"lX"'
vendorarch=''
vendorarchexp=''
vendorbin=''
or other facilities. For perl on OS/2, for example, this would
include os2/os2.obj.
+asctime_r_proto (d_asctime_r.U):
+ This variable encodes the prototype of asctime_r.
+
awk (Loc.U):
This variable is used internally by Configure to determine the
full pathname (if any) of the awk program. After Configure runs,
not in this list, see ccsymbols and cppccsymbols.
The list is a space-separated list of symbol=value tokens.
+crypt_r_proto (d_crypt_r.U):
+ This variable encodes the prototype of crypt_r.
+
cryptlib (d_crypt.U):
This variable holds -lcrypt or the path to a libcrypt.a archive if
the crypt() function is not defined in the standard C library. It is
full pathname (if any) of the csh program. After Configure runs,
the value is reset to a plain "csh" and is not useful.
+ctermid_r_proto (d_ctermid_r.U):
+ This variable encodes the prototype of ctermid_r.
+
+ctime_r_proto (d_ctime_r.U):
+ This variable encodes the prototype of ctime_r.
+
d__fwalk (d__fwalk.U):
This variable conditionally defines HAS__FWALK if _fwalk() is
available to apply a function to all the file handles.
of architecture-dependent library files for $package. If
$archlib is the same as $privlib, then this is set to undef.
+d_asctime_r (d_asctime_r.U):
+ This variable conditionally defines the HAS_ASCTIME_R symbol,
+ which indicates to the C program that the asctime_r()
+ routine is available.
+
d_atolf (atolf.U):
This variable conditionally defines the HAS_ATOLF symbol, which
indicates to the C program that the atolf() routine is available.
indicates to the C program that the crypt() routine is available
to encrypt passwords and the like.
+d_crypt_r (d_crypt_r.U):
+ This variable conditionally defines the HAS_CRYPT_R symbol,
+ which indicates to the C program that the crypt_r()
+ routine is available.
+
d_csh (d_csh.U):
This variable conditionally defines the CSH symbol, which
indicates to the C program that the C-shell exists.
+d_ctermid_r (d_ctermid_r.U):
+ This variable conditionally defines the HAS_CTERMID_R symbol,
+ which indicates to the C program that the ctermid_r()
+ routine is available.
+
+d_ctime_r (d_ctime_r.U):
+ This variable conditionally defines the HAS_CTIME_R symbol,
+ which indicates to the C program that the ctime_r()
+ routine is available.
+
d_cuserid (d_cuserid.U):
This variable conditionally defines the HAS_CUSERID symbol, which
indicates to the C program that the cuserid() routine is available
tells the C program that it should insert setuid emulation code
on hosts which have setuid #! scripts disabled.
+d_drand48_r (d_drand48_r.U):
+ This variable conditionally defines the HAS_DRAND48_R symbol,
+ which indicates to the C program that the drand48_r()
+ routine is available.
+
d_drand48proto (d_drand48proto.U):
This variable conditionally defines the HAS_DRAND48_PROTO symbol,
which indicates to the C program that the system provides
indicates to the C program that the endgrent() routine is available
for sequential access of the group database.
+d_endgrent_r (d_endgrent_r.U):
+ This variable conditionally defines the HAS_ENDGRENT_R symbol,
+ which indicates to the C program that the endgrent_r()
+ routine is available.
+
d_endhent (d_endhent.U):
This variable conditionally defines HAS_ENDHOSTENT if endhostent() is
available to close whatever was being used for host queries.
+d_endhostent_r (d_endhostent_r.U):
+ This variable conditionally defines the HAS_ENDHOSTENT_R symbol,
+ which indicates to the C program that the endhostent_r()
+ routine is available.
+
d_endnent (d_endnent.U):
This variable conditionally defines HAS_ENDNETENT if endnetent() is
available to close whatever was being used for network queries.
+d_endnetent_r (d_endnetent_r.U):
+ This variable conditionally defines the HAS_ENDNETENT_R symbol,
+ which indicates to the C program that the endnetent_r()
+ routine is available.
+
d_endpent (d_endpent.U):
This variable conditionally defines HAS_ENDPROTOENT if endprotoent() is
available to close whatever was being used for protocol queries.
+d_endprotoent_r (d_endprotoent_r.U):
+ This variable conditionally defines the HAS_ENDPROTOENT_R symbol,
+ which indicates to the C program that the endprotoent_r()
+ routine is available.
+
d_endpwent (d_endpwent.U):
This variable conditionally defines the HAS_ENDPWENT symbol, which
indicates to the C program that the endpwent() routine is available
for sequential access of the passwd database.
+d_endpwent_r (d_endpwent_r.U):
+ This variable conditionally defines the HAS_ENDPWENT_R symbol,
+ which indicates to the C program that the endpwent_r()
+ routine is available.
+
d_endsent (d_endsent.U):
This variable conditionally defines HAS_ENDSERVENT if endservent() is
available to close whatever was being used for service queries.
+d_endservent_r (d_endservent_r.U):
+ This variable conditionally defines the HAS_ENDSERVENT_R symbol,
+ which indicates to the C program that the endservent_r()
+ routine is available.
+
d_eofnblk (nblock_io.U):
This variable conditionally defines EOF_NONBLOCK if EOF can be seen
when reading from a non-blocking I/O source.
indicates to the C program that the getgrent() routine is available
for sequential access of the group database.
+d_getgrent_r (d_getgrent_r.U):
+ This variable conditionally defines the HAS_GETGRENT_R symbol,
+ which indicates to the C program that the getgrent_r()
+ routine is available.
+
+d_getgrgid_r (d_getgrgid_r.U):
+ This variable conditionally defines the HAS_GETGRGID_R symbol,
+ which indicates to the C program that the getgrgid_r()
+ routine is available.
+
+d_getgrnam_r (d_getgrnam_r.U):
+ This variable conditionally defines the HAS_GETGRNAM_R symbol,
+ which indicates to the C program that the getgrnam_r()
+ routine is available.
+
d_getgrps (d_getgrps.U):
This variable conditionally defines the HAS_GETGROUPS symbol, which
indicates to the C program that the getgroups() routine is available
indicates to the C program that the gethostname() routine may be
used to derive the host name.
+d_gethostbyaddr_r (d_gethostbyaddr_r.U):
+ This variable conditionally defines the HAS_GETHOSTBYADDR_R symbol,
+ which indicates to the C program that the gethostbyaddr_r()
+ routine is available.
+
+d_gethostbyname_r (d_gethostbyname_r.U):
+ This variable conditionally defines the HAS_GETHOSTBYNAME_R symbol,
+ which indicates to the C program that the gethostbyname_r()
+ routine is available.
+
+d_gethostent_r (d_gethostent_r.U):
+ This variable conditionally defines the HAS_GETHOSTENT_R symbol,
+ which indicates to the C program that the gethostent_r()
+ routine is available.
+
d_gethostprotos (d_gethostprotos.U):
This variable conditionally defines the HAS_GETHOST_PROTOS symbol,
which indicates to the C program that <netdb.h> supplies
indicates to the C program that the getlogin() routine is available
to get the login name.
+d_getlogin_r (d_getlogin_r.U):
+ This variable conditionally defines the HAS_GETLOGIN_R symbol,
+ which indicates to the C program that the getlogin_r()
+ routine is available.
+
d_getmnt (d_getmnt.U):
This variable conditionally defines the HAS_GETMNT symbol, which
indicates to the C program that the getmnt() routine is available
This variable conditionally defines HAS_GETNETENT if getnetent() is
available to look up network names in some data base or another.
+d_getnetbyaddr_r (d_getnetbyaddr_r.U):
+ This variable conditionally defines the HAS_GETNETBYADDR_R symbol,
+ which indicates to the C program that the getnetbyaddr_r()
+ routine is available.
+
+d_getnetbyname_r (d_getnetbyname_r.U):
+ This variable conditionally defines the HAS_GETNETBYNAME_R symbol,
+ which indicates to the C program that the getnetbyname_r()
+ routine is available.
+
+d_getnetent_r (d_getnetent_r.U):
+ This variable conditionally defines the HAS_GETNETENT_R symbol,
+ which indicates to the C program that the getnetent_r()
+ routine is available.
+
d_getnetprotos (d_getnetprotos.U):
This variable conditionally defines the HAS_GETNET_PROTOS symbol,
which indicates to the C program that <netdb.h> supplies
This variable conditionally defines HAS_GETPRIORITY if getpriority()
is available to get a process's priority.
+d_getprotobyname_r (d_getprotobyname_r.U):
+ This variable conditionally defines the HAS_GETPROTOBYNAME_R symbol,
+ which indicates to the C program that the getprotobyname_r()
+ routine is available.
+
+d_getprotobynumber_r (d_getprotobynumber_r.U):
+ This variable conditionally defines the HAS_GETPROTOBYNUMBER_R symbol,
+ which indicates to the C program that the getprotobynumber_r()
+ routine is available.
+
+d_getprotoent_r (d_getprotoent_r.U):
+ This variable conditionally defines the HAS_GETPROTOENT_R symbol,
+ which indicates to the C program that the getprotoent_r()
+ routine is available.
+
d_getprotoprotos (d_getprotoprotos.U):
This variable conditionally defines the HAS_GETPROTO_PROTOS symbol,
which indicates to the C program that <netdb.h> supplies
indicates to the C program that the getpwent() routine is available
for sequential access of the passwd database.
+d_getpwent_r (d_getpwent_r.U):
+ This variable conditionally defines the HAS_GETPWENT_R symbol,
+ which indicates to the C program that the getpwent_r()
+ routine is available.
+
+d_getpwnam_r (d_getpwnam_r.U):
+ This variable conditionally defines the HAS_GETPWNAM_R symbol,
+ which indicates to the C program that the getpwnam_r()
+ routine is available.
+
+d_getpwuid_r (d_getpwuid_r.U):
+ This variable conditionally defines the HAS_GETPWUID_R symbol,
+ which indicates to the C program that the getpwuid_r()
+ routine is available.
+
d_getsbyname (d_getsrvby.U):
This variable conditionally defines the HAS_GETSERVBYNAME
symbol, which indicates to the C program that the
This variable conditionally defines HAS_GETSERVENT if getservent() is
available to look up network services in some data base or another.
+d_getservbyname_r (d_getservbyname_r.U):
+ This variable conditionally defines the HAS_GETSERVBYNAME_R symbol,
+ which indicates to the C program that the getservbyname_r()
+ routine is available.
+
+d_getservbyport_r (d_getservbyport_r.U):
+ This variable conditionally defines the HAS_GETSERVBYPORT_R symbol,
+ which indicates to the C program that the getservbyport_r()
+ routine is available.
+
+d_getservent_r (d_getservent_r.U):
+ This variable conditionally defines the HAS_GETSERVENT_R symbol,
+ which indicates to the C program that the getservent_r()
+ routine is available.
+
d_getservprotos (d_getservprotos.U):
This variable conditionally defines the HAS_GETSERV_PROTOS symbol,
which indicates to the C program that <netdb.h> supplies
This variable conditionally defines HAS_GETSPNAM if getspnam() is
available to retrieve SysV shadow password entries by name.
+d_getspnam_r (d_getspnam_r.U):
+ This variable conditionally defines the HAS_GETSPNAM_R symbol,
+ which indicates to the C program that the getspnam_r()
+ routine is available.
+
d_gettimeod (d_ftime.U):
This variable conditionally defines the HAS_GETTIMEOFDAY symbol, which
indicates that the gettimeofday() system call exists (to obtain a
sub-second accuracy clock). You should probably include <sys/resource.h>.
+d_gmtime_r (d_gmtime_r.U):
+ This variable conditionally defines the HAS_GMTIME_R symbol,
+ which indicates to the C program that the gmtime_r()
+ routine is available.
+
d_gnulibc (d_gnulibc.U):
Defined if we're dealing with the GNU C Library.
This variable conditionally defines HAS_LINK if link() is
available to create hard links.
+d_localtime_r (d_localtime_r.U):
+ This variable conditionally defines the HAS_LOCALTIME_R symbol,
+ which indicates to the C program that the localtime_r()
+ routine is available.
+
d_locconv (d_locconv.U):
This variable conditionally defines HAS_LOCALECONV if localeconv() is
available for numeric and monetary formatting conventions.
This variable, if defined, tells that there's a 64-bit integer type,
quadtype.
+d_random_r (d_random_r.U):
+ This variable conditionally defines the HAS_RANDOM_R symbol,
+ which indicates to the C program that the random_r()
+ routine is available.
+
+d_readdir64_r (d_readdir64_r.U):
+ This variable conditionally defines the HAS_READDIR64_R symbol,
+ which indicates to the C program that the readdir64_r()
+ routine is available.
+
d_readdir (d_readdir.U):
This variable conditionally defines HAS_READDIR if readdir() is
available to read directory entries.
+d_readdir_r (d_readdir_r.U):
+ This variable conditionally defines the HAS_READDIR_R symbol,
+ which indicates to the C program that the readdir_r()
+ routine is available.
+
d_readlink (d_readlink.U):
This variable conditionally defines the HAS_READLINK symbol, which
indicates to the C program that the readlink() routine is available
indicates to the C program that the setgrent() routine is available
for initializing sequential access to the group database.
+d_setgrent_r (d_setgrent_r.U):
+ This variable conditionally defines the HAS_SETGRENT_R symbol,
+ which indicates to the C program that the setgrent_r()
+ routine is available.
+
d_setgrps (d_setgrps.U):
This variable conditionally defines the HAS_SETGROUPS symbol, which
indicates to the C program that the setgroups() routine is available
This variable conditionally defines HAS_SETHOSTENT if sethostent() is
available.
+d_sethostent_r (d_sethostent_r.U):
+ This variable conditionally defines the HAS_SETHOSTENT_R symbol,
+ which indicates to the C program that the sethostent_r()
+ routine is available.
+
d_setitimer (d_setitimer.U):
This variable conditionally defines the HAS_SETITIMER symbol, which
indicates to the C program that the setitimer() routine is available.
This variable conditionally defines HAS_SETLOCALE if setlocale() is
available to handle locale-specific ctype implementations.
+d_setlocale_r (d_setlocale_r.U):
+ This variable conditionally defines the HAS_SETLOCALE_R symbol,
+ which indicates to the C program that the setlocale_r()
+ routine is available.
+
d_setnent (d_setnent.U):
This variable conditionally defines HAS_SETNETENT if setnetent() is
available.
+d_setnetent_r (d_setnetent_r.U):
+ This variable conditionally defines the HAS_SETNETENT_R symbol,
+ which indicates to the C program that the setnetent_r()
+ routine is available.
+
d_setpent (d_setpent.U):
This variable conditionally defines HAS_SETPROTOENT if setprotoent() is
available.
which indicates to the C program that the setproctitle() routine
is available.
+d_setprotoent_r (d_setprotoent_r.U):
+ This variable conditionally defines the HAS_SETPROTOENT_R symbol,
+ which indicates to the C program that the setprotoent_r()
+ routine is available.
+
d_setpwent (d_setpwent.U):
This variable conditionally defines the HAS_SETPWENT symbol, which
indicates to the C program that the setpwent() routine is available
for initializing sequential access to the passwd database.
+d_setpwent_r (d_setpwent_r.U):
+ This variable conditionally defines the HAS_SETPWENT_R symbol,
+ which indicates to the C program that the setpwent_r()
+ routine is available.
+
d_setregid (d_setregid.U):
This variable conditionally defines HAS_SETREGID if setregid() is
available to change the real and effective gid of the current
This variable conditionally defines HAS_SETSERVENT if setservent() is
available.
+d_setservent_r (d_setservent_r.U):
+ This variable conditionally defines the HAS_SETSERVENT_R symbol,
+ which indicates to the C program that the setservent_r()
+ routine is available.
+
d_setsid (d_setsid.U):
This variable conditionally defines HAS_SETSID if setsid() is
available to set the process group ID.
This variable conditionally defines the HAS_SQRTL symbol, which
indicates to the C program that the sqrtl() routine is available.
+d_srand48_r (d_srand48_r.U):
+ This variable conditionally defines the HAS_SRAND48_R symbol,
+ which indicates to the C program that the srand48_r()
+ routine is available.
+
+d_srandom_r (d_srandom_r.U):
+ This variable conditionally defines the HAS_SRANDOM_R symbol,
+ which indicates to the C program that the srandom_r()
+ routine is available.
+
d_sresgproto (d_sresgproto.U):
This variable conditionally defines the HAS_SETRESGID_PROTO symbol,
which indicates to the C program that the system provides
This variable conditionally defines HAS_STRERROR if strerror() is
available to translate error numbers to strings.
+d_strerror_r (d_strerror_r.U):
+ This variable conditionally defines the HAS_STRERROR_R symbol,
+ which indicates to the C program that the strerror_r()
+ routine is available.
+
d_strftime (d_strftime.U):
This variable conditionally defines the HAS_STRFTIME symbol, which
indicates to the C program that the strftime() routine is available.
This variable conditionally defines HAS_TM_TM_ZONE, which indicates
indicates to the C program that the struct tm has the tm_zone field.
+d_tmpnam_r (d_tmpnam_r.U):
+ This variable conditionally defines the HAS_TMPNAM_R symbol,
+ which indicates to the C program that the tmpnam_r()
+ routine is available.
+
d_truncate (d_truncate.U):
This variable conditionally defines HAS_TRUNCATE if truncate() is
available to truncate files.
+d_ttyname_r (d_ttyname_r.U):
+ This variable conditionally defines the HAS_TTYNAME_R symbol,
+ which indicates to the C program that the ttyname_r()
+ routine is available.
+
d_tzname (d_tzname.U):
This variable conditionally defines HAS_TZNAME if tzname[] is
available to access timezone names.
normalize the result.
In C programs, the macro 'Drand01' is mapped to drand01.
+drand48_r_proto (d_drand48_r.U):
+ This variable encodes the prototype of drand48_r.
+
dynamic_ext (Extensions.U):
This variable holds a list of XS extension files we want to
link dynamically into the package. It is used by Makefile.
This variable is defined but not used by Configure.
The value is a plain '' and is not useful.
+endgrent_r_proto (d_endgrent_r.U):
+ This variable encodes the prototype of endgrent_r.
+
+endhostent_r_proto (d_endhostent_r.U):
+ This variable encodes the prototype of endhostent_r.
+
+endnetent_r_proto (d_endnetent_r.U):
+ This variable encodes the prototype of endnetent_r.
+
+endprotoent_r_proto (d_endprotoent_r.U):
+ This variable encodes the prototype of endprotoent_r.
+
+endpwent_r_proto (d_endpwent_r.U):
+ This variable encodes the prototype of endpwent_r.
+
+endservent_r_proto (d_endservent_r.U):
+ This variable encodes the prototype of endservent_r.
+
eunicefix (Init.U):
When running under Eunice this variable contains a command which will
convert a shell script to the proper form of text file for it to be
indicate whether the compiler is version 1 or 2. This is used in
setting some of the default cflags. It is set to '' if not gcc.
+getgrent_r_proto (d_getgrent_r.U):
+ This variable encodes the prototype of getgrent_r.
+
+getgrgid_r_proto (d_getgrgid_r.U):
+ This variable encodes the prototype of getgrgid_r.
+
+getgrnam_r_proto (d_getgrnam_r.U):
+ This variable encodes the prototype of getgrnam_r.
+
+gethostbyaddr_r_proto (d_gethostbyaddr_r.U):
+ This variable encodes the prototype of gethostbyaddr_r.
+
+gethostbyname_r_proto (d_gethostbyname_r.U):
+ This variable encodes the prototype of gethostbyname_r.
+
+gethostent_r_proto (d_gethostent_r.U):
+ This variable encodes the prototype of gethostent_r.
+
+getlogin_r_proto (d_getlogin_r.U):
+ This variable encodes the prototype of getlogin_r.
+
+getnetbyaddr_r_proto (d_getnetbyaddr_r.U):
+ This variable encodes the prototype of getnetbyaddr_r.
+
+getnetbyname_r_proto (d_getnetbyname_r.U):
+ This variable encodes the prototype of getnetbyname_r.
+
+getnetent_r_proto (d_getnetent_r.U):
+ This variable encodes the prototype of getnetent_r.
+
+getprotobyname_r_proto (d_getprotobyname_r.U):
+ This variable encodes the prototype of getprotobyname_r.
+
+getprotobynumber_r_proto (d_getprotobynumber_r.U):
+ This variable encodes the prototype of getprotobynumber_r.
+
+getprotoent_r_proto (d_getprotoent_r.U):
+ This variable encodes the prototype of getprotoent_r.
+
+getpwent_r_proto (d_getpwent_r.U):
+ This variable encodes the prototype of getpwent_r.
+
+getpwnam_r_proto (d_getpwnam_r.U):
+ This variable encodes the prototype of getpwnam_r.
+
+getpwuid_r_proto (d_getpwuid_r.U):
+ This variable encodes the prototype of getpwuid_r.
+
+getservbyname_r_proto (d_getservbyname_r.U):
+ This variable encodes the prototype of getservbyname_r.
+
+getservbyport_r_proto (d_getservbyport_r.U):
+ This variable encodes the prototype of getservbyport_r.
+
+getservent_r_proto (d_getservent_r.U):
+ This variable encodes the prototype of getservent_r.
+
+getspnam_r_proto (d_getspnam_r.U):
+ This variable encodes the prototype of getspnam_r.
+
gidformat (gidf.U):
This variable contains the format string used for printing a Gid_t.
full pathname (if any) of the gmake program. After Configure runs,
the value is reset to a plain "gmake" and is not useful.
+gmtime_r_proto (d_gmtime_r.U):
+ This variable encodes the prototype of gmtime_r.
+
grep (Loc.U):
This variable is used internally by Configure to determine the
full pathname (if any) of the grep program. After Configure runs,
indicates to the C program that <sys/bsdioctl.h> exists and should
be included.
+i_crypt (i_crypt.U):
+ This variable conditionally defines the I_CRYPT symbol, and indicates
+ whether a C program should include <crypt.h>.
+
i_db (i_db.U):
This variable conditionally defines the I_DB symbol, and indicates
whether a C program may include Berkeley's DB include file <db.h>.
symbolic links (if they are supported). It can be used
in the Makefile. It is either 'ln -s' or 'ln'
+localtime_r_proto (d_localtime_r.U):
+ This variable encodes the prototype of localtime_r.
+
locincpth (ccflags.U):
This variable contains a list of additional directories to be
searched by the compiler. The appropriate '-I' directives will
the 'Drand01' macro is defined to generate uniformly distributed
random numbers over the range [0., 1.[ (see drand01 and nrand).
+random_r_proto (d_random_r.U):
+ This variable encodes the prototype of random_r.
+
randseedtype (randfunc.U):
Indicates the type of the argument of the seedfunc.
used, which is a shame because you cannot make the difference between
no data and an EOF.. Sigh!
+readdir64_r_proto (d_readdir64_r.U):
+ This variable encodes the prototype of readdir64_r.
+
+readdir_r_proto (d_readdir_r.U):
+ This variable encodes the prototype of readdir_r.
+
revision (patchlevel.U):
The value of revision comes from the patchlevel.h file.
In a version number such as 5.6.1, this is the "5".
This variable is defined but not used by Configure.
The value is a plain '' and is not useful.
+setgrent_r_proto (d_setgrent_r.U):
+ This variable encodes the prototype of setgrent_r.
+
+sethostent_r_proto (d_sethostent_r.U):
+ This variable encodes the prototype of sethostent_r.
+
+setlocale_r_proto (d_setlocale_r.U):
+ This variable encodes the prototype of setlocale_r.
+
+setnetent_r_proto (d_setnetent_r.U):
+ This variable encodes the prototype of setnetent_r.
+
+setprotoent_r_proto (d_setprotoent_r.U):
+ This variable encodes the prototype of setprotoent_r.
+
+setpwent_r_proto (d_setpwent_r.U):
+ This variable encodes the prototype of setpwent_r.
+
+setservent_r_proto (d_setservent_r.U):
+ This variable encodes the prototype of setservent_r.
+
sh (sh.U):
This variable contains the full pathname of the shell used
on this system to execute Bourne shell scripts. Usually, this will be
The 'U' in the name is to separate this from sPRIx64 so that even
case-blind systems can see the difference.
+srand48_r_proto (d_srand48_r.U):
+ This variable encodes the prototype of srand48_r.
+
+srandom_r_proto (d_srandom_r.U):
+ This variable encodes the prototype of srandom_r.
+
src (src.U):
This variable holds the path to the package source. It is up to
the Makefile to use this variable and set VPATH accordingly to
This variable tells the name of the array holding the stdio streams.
Usual values include _iob, __iob, and __sF.
+strerror_r_proto (d_strerror_r.U):
+ This variable encodes the prototype of strerror_r.
+
strings (i_string.U):
This variable holds the full path of the string header that will be
used. Typically /usr/include/string.h or /usr/include/strings.h.
or time_t on BSD sites (in which case <sys/types.h> should be
included). Anyway, the type Time_t should be used.
+tmpnam_r_proto (d_tmpnam_r.U):
+ This variable encodes the prototype of tmpnam_r.
+
to (Cross.U):
This variable contains the command used by Configure
to copy to from the target host. Useful and available
This variable is defined but not used by Configure.
The value is a plain '' and is not useful.
+ttyname_r_proto (d_ttyname_r.U):
+ This variable encodes the prototype of ttyname_r.
+
u16size (perlxv.U):
This variable is the size of an U16 in bytes.
# Package name : perl5
# Source directory : .
-# Configuration time: Wed Mar 6 18:01:27 EET 2002
+# Configuration time: Fri Mar 15 17:39:35 EET 2002
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
archname64=''
archname='alpha-dec_osf'
archobjs=''
+asctime_r_proto='REENTRANT_PROTO_B_SB'
awk='awk'
baserev='5.0'
bash=''
ccversion='V5.6-082'
cf_by='jhi'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Wed Mar 6 18:01:27 EET 2002'
+cf_time='Fri Mar 15 17:39:35 EET 2002'
charsize='1'
chgrp=''
chmod='chmod'
cpprun='/usr/bin/cpp'
cppstdin='cppstdin'
cppsymbols='_AES_SOURCE=1 __alpha=1 __ALPHA=1 _ANSI_C_SOURCE=1 _INTRINSICS=1 __LANGUAGE_C__=1 _LONGLONG=1 __osf__=1 _OSF_SOURCE=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 __STDC__=1 _SYSTYPE_BSD=1 __unix__=1 _XOPEN_SOURCE=1'
+crypt_r_proto='0'
cryptlib=''
csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='REENTRANT_PROTO_B_SB'
d_Gconvert='sprintf((b),"%.*g",(n),(x))'
d_PRIEUldbl='define'
d_PRIFUldbl='define'
d_accessx='undef'
d_alarm='define'
d_archlib='define'
+d_asctime_r='define'
d_atolf='undef'
d_atoll='undef'
d_attribut='undef'
d_cmsghdr_s='define'
d_const='define'
d_crypt='define'
+d_crypt_r='undef'
d_csh='define'
+d_ctermid_r='undef'
+d_ctime_r='define'
d_cuserid='define'
d_dbl_dig='define'
d_dbminitproto='undef'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
+d_drand48_r='define'
d_drand48proto='define'
d_dup2='define'
d_eaccess='undef'
d_endgrent='define'
+d_endgrent_r='define'
d_endhent='define'
+d_endhostent_r='define'
d_endnent='define'
+d_endnetent_r='define'
d_endpent='define'
+d_endprotoent_r='define'
d_endpwent='define'
+d_endpwent_r='define'
d_endsent='define'
+d_endservent_r='define'
d_eofnblk='define'
d_eunice='undef'
d_fchdir='define'
d_getespwnam='undef'
d_getfsstat='define'
d_getgrent='define'
+d_getgrent_r='define'
+d_getgrgid_r='define'
+d_getgrnam_r='define'
d_getgrps='define'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='define'
d_gethname='define'
+d_gethostbyaddr_r='define'
+d_gethostbyname_r='define'
+d_gethostent_r='define'
d_gethostprotos='define'
d_getitimer='define'
d_getlogin='define'
+d_getlogin_r='define'
d_getmnt='undef'
d_getmntent='undef'
d_getnbyaddr='define'
d_getnbyname='define'
d_getnent='define'
+d_getnetbyaddr_r='define'
+d_getnetbyname_r='define'
+d_getnetent_r='define'
d_getnetprotos='define'
d_getpagsz='define'
d_getpbyname='define'
d_getpgrp='define'
d_getppid='define'
d_getprior='define'
+d_getprotobyname_r='define'
+d_getprotobynumber_r='define'
+d_getprotoent_r='define'
d_getprotoprotos='define'
d_getprpwnam='undef'
d_getpwent='define'
+d_getpwent_r='define'
+d_getpwnam_r='define'
+d_getpwuid_r='define'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='define'
+d_getservbyname_r='define'
+d_getservbyport_r='define'
+d_getservent_r='define'
d_getservprotos='define'
d_getspnam='undef'
+d_getspnam_r='undef'
d_gettimeod='define'
+d_gmtime_r='define'
d_gnulibc='undef'
d_grpasswd='define'
d_hasmntopt='undef'
d_lchown='define'
d_ldbl_dig='define'
d_link='define'
+d_localtime_r='define'
d_locconv='define'
d_lockf='define'
d_longdbl='define'
d_pwquota='define'
d_qgcvt='undef'
d_quad='define'
+d_random_r='define'
+d_readdir64_r='undef'
d_readdir='define'
+d_readdir_r='define'
d_readlink='define'
d_readv='define'
d_recvmsg='define'
d_setegid='define'
d_seteuid='define'
d_setgrent='define'
+d_setgrent_r='define'
d_setgrps='define'
d_sethent='define'
+d_sethostent_r='define'
d_setitimer='define'
d_setlinebuf='define'
d_setlocale='define'
+d_setlocale_r='undef'
d_setnent='define'
+d_setnetent_r='define'
d_setpent='define'
d_setpgid='define'
d_setpgrp2='undef'
d_setpgrp='define'
d_setprior='define'
d_setproctitle='undef'
+d_setprotoent_r='define'
d_setpwent='define'
+d_setpwent_r='define'
d_setregid='define'
d_setresgid='undef'
d_setresuid='undef'
d_setrgid='define'
d_setruid='define'
d_setsent='define'
+d_setservent_r='define'
d_setsid='define'
d_setvbuf='define'
d_sfio='undef'
d_sockpair='define'
d_socks5_init='undef'
d_sqrtl='define'
+d_srand48_r='define'
+d_srandom_r='define'
d_sresgproto='undef'
d_sresuproto='undef'
d_statblks='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
+d_strerror_r='define'
d_strftime='define'
d_strtod='define'
d_strtol='define'
d_times='define'
d_tm_tm_gmtoff='define'
d_tm_tm_zone='define'
+d_tmpnam_r='undef'
d_truncate='define'
+d_ttyname_r='define'
d_tzname='define'
d_u32align='define'
d_ualarm='define'
dlsrc='dl_dlopen.xs'
doublesize='8'
drand01='drand48()'
+drand48_r_proto='REENTRANT_PROTO_I_ST'
dynamic_ext='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/Scalar PerlIO/Via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/Typemap attrs re Encode/CN Encode/JP Encode/KR Encode/TW'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
egrep='egrep'
emacs=''
+endgrent_r_proto='REENTRANT_PROTO_I_H'
+endhostent_r_proto='REENTRANT_PROTO_I_S'
+endnetent_r_proto='REENTRANT_PROTO_I_S'
+endprotoent_r_proto='REENTRANT_PROTO_I_S'
+endpwent_r_proto='REENTRANT_PROTO_I_H'
+endservent_r_proto='REENTRANT_PROTO_I_S'
eunicefix=':'
exe_ext=''
expr='expr'
full_sed='/usr/bin/sed'
gccosandvers=''
gccversion=''
+getgrent_r_proto='REENTRANT_PROTO_I_SBWR'
+getgrgid_r_proto='REENTRANT_PROTO_I_TSBWR'
+getgrnam_r_proto='REENTRANT_PROTO_I_CSBWR'
+gethostbyaddr_r_proto='REENTRANT_PROTO_I_CWISBWRE'
+gethostbyname_r_proto='REENTRANT_PROTO_I_CSBWRE'
+gethostent_r_proto='REENTRANT_PROTO_I_SBWRE'
+getlogin_r_proto='REENTRANT_PROTO_I_BW'
+getnetbyaddr_r_proto='REENTRANT_PROTO_I_UISBWRE'
+getnetbyname_r_proto='REENTRANT_PROTO_I_CSBWRE'
+getnetent_r_proto='REENTRANT_PROTO_I_SBWRE'
+getprotobyname_r_proto='REENTRANT_PROTO_I_CSBWR'
+getprotobynumber_r_proto='REENTRANT_PROTO_I_ISBWR'
+getprotoent_r_proto='REENTRANT_PROTO_I_SBWR'
+getpwent_r_proto='REENTRANT_PROTO_I_SBWR'
+getpwnam_r_proto='REENTRANT_PROTO_I_CSBWR'
+getpwuid_r_proto='REENTRANT_PROTO_I_TSBWR'
+getservbyname_r_proto='REENTRANT_PROTO_I_CCSBWR'
+getservbyport_r_proto='REENTRANT_PROTO_I_ICSBWR'
+getservent_r_proto='REENTRANT_PROTO_I_SBWR'
+getspnam_r_proto='0'
gidformat='"u"'
gidsign='1'
gidsize='4'
gidtype='gid_t'
glibpth='/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib'
gmake='gmake'
+gmtime_r_proto='REENTRANT_PROTO_S_TS'
grep='grep'
groupcat='cat /etc/group'
groupstype='gid_t'
i8type='char'
i_arpainet='define'
i_bsdioctl=''
+i_crypt='define'
i_db='define'
i_dbm='define'
i_dirent='define'
lkflags=''
ln='ln'
lns='/usr/bin/ln -s'
+localtime_r_proto='REENTRANT_PROTO_S_TS'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longdblsize='8'
path_sep=':'
perl5='perl'
perl=''
-perl_patchlevel='15046'
+perl_patchlevel='15172'
perladmin='yourname@yourhost.yourplace.com'
perllibs='-lm -lutil'
perlpath='/opt/perl/bin/perl5.7.3'
quadtype='long'
randbits='48'
randfunc='drand48'
+random_r_proto='REENTRANT_PROTO_I_TS'
randseedtype='long'
ranlib=':'
rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='REENTRANT_PROTO_I_TSR'
revision='5'
rm='rm'
rmail=''
selectminbits='32'
selecttype='fd_set *'
sendmail=''
+setgrent_r_proto='REENTRANT_PROTO_I_H'
+sethostent_r_proto='REENTRANT_PROTO_I_ID'
+setlocale_r_proto='0'
+setnetent_r_proto='REENTRANT_PROTO_I_ID'
+setprotoent_r_proto='REENTRANT_PROTO_I_ID'
+setpwent_r_proto='REENTRANT_PROTO_I_H'
+setservent_r_proto='REENTRANT_PROTO_I_ID'
sh='/bin/sh'
shar=''
sharpbang='#!'
sort='sort'
spackage='Perl5'
spitshell='cat'
+srand48_r_proto='REENTRANT_PROTO_I_LS'
+srandom_r_proto='REENTRANT_PROTO_I_TS'
src='.'
ssizetype='ssize_t'
startperl='#!/opt/perl/bin/perl5.7.3'
stdio_filbuf=''
stdio_ptr='((fp)->_ptr)'
stdio_stream_array='_iob'
+strerror_r_proto='REENTRANT_PROTO_I_IBW'
strings='/usr/include/string.h'
submit=''
subversion='3'
test='test'
timeincl='/usr/include/sys/time.h '
timetype='time_t'
+tmpnam_r_proto='0'
to=':'
touch='touch'
tr='tr'
trnl='\n'
troff=''
+ttyname_r_proto='REENTRANT_PROTO_I_IBW'
u16size='2'
u16type='unsigned short'
u32size='4'
vendorprefix=''
vendorprefixexp=''
version='5.7.3'
-version_patchlevel_string='version 7 subversion 3 patch 15046'
+version_patchlevel_string='version 7 subversion 3 patch 15172'
versiononly='define'
vi=''
voidflags='15'
PERL_API_REVISION=5
PERL_API_VERSION=5
PERL_API_SUBVERSION=0
-PERL_PATCHLEVEL=15046
+PERL_PATCHLEVEL=15172
PERL_CONFIG_SH=true
# Variables propagated from previous config.sh file.
pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"'
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Wed Mar 6 18:01:27 EET 2002
+ * Configuration time: Fri Mar 15 17:39:35 EET 2002
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
*/
#define HAS_ACCESS /**/
+/* HAS_ASCTIME_R:
+ * This symbol, if defined, indicates that the asctime_r routine
+ * is available to asctime re-entrantly.
+ */
+/* ASCTIME_R_PROTO:
+ * This symbol encodes the prototype of asctime_r.
+ */
+#define HAS_ASCTIME_R /**/
+#define ASCTIME_R_PROTO REENTRANT_PROTO_B_SB /**/
+
/* CASTI32:
* This symbol is defined if the C compiler can cast negative
* or large floating point numbers to 32-bit ints.
*/
#define HAS_STRUCT_CMSGHDR /**/
+/* HAS_CRYPT_R:
+ * This symbol, if defined, indicates that the crypt_r routine
+ * is available to crypt re-entrantly.
+ */
+/* CRYPT_R_PROTO:
+ * This symbol encodes the prototype of crypt_r.
+ */
+/*#define HAS_CRYPT_R / **/
+#define CRYPT_R_PROTO 0 /**/
+
/* HAS_CSH:
* This symbol, if defined, indicates that the C-shell exists.
*/
#define CSH "/usr/bin/csh" /**/
#endif
+/* HAS_CTIME_R:
+ * This symbol, if defined, indicates that the ctime_r routine
+ * is available to ctime re-entrantly.
+ */
+/* CTIME_R_PROTO:
+ * This symbol encodes the prototype of ctime_r.
+ */
+#define HAS_CTIME_R /**/
+#define CTIME_R_PROTO REENTRANT_PROTO_B_SB /**/
+
/* DLSYM_NEEDS_UNDERSCORE:
* This symbol, if defined, indicates that we need to prepend an
* underscore to the symbol name before calling dlsym(). This only
*/
/*#define DLSYM_NEEDS_UNDERSCORE / **/
+/* HAS_DRAND48_R:
+ * This symbol, if defined, indicates that the drand48_r routine
+ * is available to drand48 re-entrantly.
+ */
+/* DRAND48_R_PROTO:
+ * This symbol encodes the prototype of drand48_r.
+ */
+#define HAS_DRAND48_R /**/
+#define DRAND48_R_PROTO REENTRANT_PROTO_I_ST /**/
+
/* HAS_DRAND48_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the drand48() function. Otherwise, it is up
*/
#define HAS_ENDGRENT /**/
+/* HAS_ENDGRENT_R:
+ * This symbol, if defined, indicates that the endgrent_r routine
+ * is available to endgrent re-entrantly.
+ */
+/* ENDGRENT_R_PROTO:
+ * This symbol encodes the prototype of endgrent_r.
+ */
+#define HAS_ENDGRENT_R /**/
+#define ENDGRENT_R_PROTO REENTRANT_PROTO_I_H /**/
+
/* HAS_ENDHOSTENT:
* This symbol, if defined, indicates that the endhostent() routine is
* available to close whatever was being used for host queries.
*/
#define HAS_ENDPWENT /**/
+/* HAS_ENDPWENT_R:
+ * This symbol, if defined, indicates that the endpwent_r routine
+ * is available to endpwent re-entrantly.
+ */
+/* ENDPWENT_R_PROTO:
+ * This symbol encodes the prototype of endpwent_r.
+ */
+#define HAS_ENDPWENT_R /**/
+#define ENDPWENT_R_PROTO REENTRANT_PROTO_I_H /**/
+
/* HAS_ENDSERVENT:
* This symbol, if defined, indicates that the endservent() routine is
* available to close whatever was being used for service queries.
*/
#define HAS_GETGRENT /**/
+/* HAS_GETGRENT_R:
+ * This symbol, if defined, indicates that the getgrent_r routine
+ * is available to getgrent re-entrantly.
+ */
+/* GETGRENT_R_PROTO:
+ * This symbol encodes the prototype of getgrent_r.
+ */
+#define HAS_GETGRENT_R /**/
+#define GETGRENT_R_PROTO REENTRANT_PROTO_I_SBWR /**/
+
+/* HAS_GETGRGID_R:
+ * This symbol, if defined, indicates that the getgrgid_r routine
+ * is available to getgrgid re-entrantly.
+ */
+/* GETGRGID_R_PROTO:
+ * This symbol encodes the prototype of getgrgid_r.
+ */
+#define HAS_GETGRGID_R /**/
+#define GETGRGID_R_PROTO REENTRANT_PROTO_I_TSBWR /**/
+
+/* HAS_GETGRNAM_R:
+ * This symbol, if defined, indicates that the getgrnam_r routine
+ * is available to getgrnam re-entrantly.
+ */
+/* GETGRNAM_R_PROTO:
+ * This symbol encodes the prototype of getgrnam_r.
+ */
+#define HAS_GETGRNAM_R /**/
+#define GETGRNAM_R_PROTO REENTRANT_PROTO_I_CSBWR /**/
+
/* HAS_GETHOSTBYADDR:
* This symbol, if defined, indicates that the gethostbyaddr() routine is
* available to look up hosts by their IP addresses.
*/
#define HAS_GETITIMER /**/
+/* HAS_GETLOGIN_R:
+ * This symbol, if defined, indicates that the getlogin_r routine
+ * is available to getlogin re-entrantly.
+ */
+/* GETLOGIN_R_PROTO:
+ * This symbol encodes the prototype of getlogin_r.
+ */
+#define HAS_GETLOGIN_R /**/
+#define GETLOGIN_R_PROTO REENTRANT_PROTO_I_BW /**/
+
/* HAS_GETMNT:
* This symbol, if defined, indicates that the getmnt routine is
* available to get filesystem mount info by filename.
*/
#define HAS_GETPWENT /**/
+/* HAS_GETPWENT_R:
+ * This symbol, if defined, indicates that the getpwent_r routine
+ * is available to getpwent re-entrantly.
+ */
+/* GETPWENT_R_PROTO:
+ * This symbol encodes the prototype of getpwent_r.
+ */
+#define HAS_GETPWENT_R /**/
+#define GETPWENT_R_PROTO REENTRANT_PROTO_I_SBWR /**/
+
+/* HAS_GETPWNAM_R:
+ * This symbol, if defined, indicates that the getpwnam_r routine
+ * is available to getpwnam re-entrantly.
+ */
+/* GETPWNAM_R_PROTO:
+ * This symbol encodes the prototype of getpwnam_r.
+ */
+#define HAS_GETPWNAM_R /**/
+#define GETPWNAM_R_PROTO REENTRANT_PROTO_I_CSBWR /**/
+
+/* HAS_GETPWUID_R:
+ * This symbol, if defined, indicates that the getpwuid_r routine
+ * is available to getpwuid re-entrantly.
+ */
+/* GETPWUID_R_PROTO:
+ * This symbol encodes the prototype of getpwuid_r.
+ */
+#define HAS_GETPWUID_R /**/
+#define GETPWUID_R_PROTO REENTRANT_PROTO_I_TSBWR /**/
+
/* 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_GETSPNAM / **/
+/* HAS_GETSPNAM_R:
+ * This symbol, if defined, indicates that the getspnam_r routine
+ * is available to getspnam re-entrantly.
+ */
+/* GETSPNAM_R_PROTO:
+ * This symbol encodes the prototype of getspnam_r.
+ */
+/*#define HAS_GETSPNAM_R / **/
+#define GETSPNAM_R_PROTO 0 /**/
+
/* HAS_GETSERVBYNAME:
* This symbol, if defined, indicates that the getservbyname()
* routine is available to look up services by their name.
#define HAS_GETSERVBYNAME /**/
#define HAS_GETSERVBYPORT /**/
+/* HAS_GMTIME_R:
+ * This symbol, if defined, indicates that the gmtime_r routine
+ * is available to gmtime re-entrantly.
+ */
+/* GMTIME_R_PROTO:
+ * This symbol encodes the prototype of gmtime_r.
+ */
+#define HAS_GMTIME_R /**/
+#define GMTIME_R_PROTO REENTRANT_PROTO_S_TS /**/
+
/* HAS_GNULIBC:
* This symbol, if defined, indicates to the C program that
* the GNU C library is being used.
*/
#define HAS_LDBL_DIG /* */
+/* HAS_LOCALTIME_R:
+ * This symbol, if defined, indicates that the localtime_r routine
+ * is available to localtime re-entrantly.
+ */
+/* LOCALTIME_R_PROTO:
+ * This symbol encodes the prototype of localtime_r.
+ */
+#define HAS_LOCALTIME_R /**/
+#define LOCALTIME_R_PROTO REENTRANT_PROTO_S_TS /**/
+
/* HAS_LONG_DOUBLE:
* This symbol will be defined if the C compiler supports long
* doubles.
#define SCHED_YIELD sched_yield() /**/
#define HAS_SCHED_YIELD /**/
+/* HAS_RANDOM_R:
+ * This symbol, if defined, indicates that the random_r routine
+ * is available to random re-entrantly.
+ */
+/* RANDOM_R_PROTO:
+ * This symbol encodes the prototype of random_r.
+ */
+#define HAS_RANDOM_R /**/
+#define RANDOM_R_PROTO REENTRANT_PROTO_I_TS /**/
+
+/* HAS_READDIR_R:
+ * This symbol, if defined, indicates that the readdir_r routine
+ * is available to readdir re-entrantly.
+ */
+/* READDIR_R_PROTO:
+ * This symbol encodes the prototype of readdir_r.
+ */
+#define HAS_READDIR_R /**/
+#define READDIR_R_PROTO REENTRANT_PROTO_I_TSR /**/
+
/* HAS_READV:
* This symbol, if defined, indicates that the readv routine is
* available to do gather reads. You will also need <sys/uio.h>
*/
#define HAS_SETGRENT /**/
+/* HAS_SETGRENT_R:
+ * This symbol, if defined, indicates that the setgrent_r routine
+ * is available to setgrent re-entrantly.
+ */
+/* SETGRENT_R_PROTO:
+ * This symbol encodes the prototype of setgrent_r.
+ */
+#define HAS_SETGRENT_R /**/
+#define SETGRENT_R_PROTO REENTRANT_PROTO_I_H /**/
+
/* HAS_SETGROUPS:
* This symbol, if defined, indicates that the setgroups() routine is
* available to set the list of process groups. If unavailable, multiple
*/
#define HAS_SETPWENT /**/
+/* HAS_SETPWENT_R:
+ * This symbol, if defined, indicates that the setpwent_r routine
+ * is available to setpwent re-entrantly.
+ */
+/* SETPWENT_R_PROTO:
+ * This symbol encodes the prototype of setpwent_r.
+ */
+#define HAS_SETPWENT_R /**/
+#define SETPWENT_R_PROTO REENTRANT_PROTO_I_H /**/
+
/* HAS_SETSERVENT:
* This symbol, if defined, indicates that the setservent() routine is
* available.
*/
#define HAS_SQRTL /**/
+/* HAS_SRAND48_R:
+ * This symbol, if defined, indicates that the srand48_r routine
+ * is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ * This symbol encodes the prototype of srand48_r.
+ */
+#define HAS_SRAND48_R /**/
+#define SRAND48_R_PROTO REENTRANT_PROTO_I_LS /**/
+
+/* HAS_SRANDOM_R:
+ * This symbol, if defined, indicates that the srandom_r routine
+ * is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ * This symbol encodes the prototype of srandom_r.
+ */
+#define HAS_SRANDOM_R /**/
+#define SRANDOM_R_PROTO REENTRANT_PROTO_I_TS /**/
+
/* USE_STAT_BLOCKS:
* This symbol is defined if this system has a stat structure declaring
* st_blksize and st_blocks.
#define HAS_SYS_ERRLIST /**/
#define Strerror(e) strerror(e)
+/* HAS_STRERROR_R:
+ * This symbol, if defined, indicates that the strerror_r routine
+ * is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ * This symbol encodes the prototype of strerror_r.
+ */
+#define HAS_STRERROR_R /**/
+#define STRERROR_R_PROTO REENTRANT_PROTO_I_IBW /**/
+
/* HAS_STRTOLD:
* This symbol, if defined, indicates that the strtold routine is
* available to convert strings to long doubles.
*/
#define HAS_TIMES /**/
+/* HAS_TMPNAM_R:
+ * This symbol, if defined, indicates that the tmpnam_r routine
+ * is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ * This symbol encodes the prototype of tmpnam_r.
+ */
+/*#define HAS_TMPNAM_R / **/
+#define TMPNAM_R_PROTO 0 /**/
+
/* HAS_UALARM:
* This symbol, if defined, indicates that the ualarm routine is
* available to do alarms with microsecond granularity.
*/
/*#define HAS_USLEEP_PROTO / **/
+/* I_CRYPT:
+ * This symbol, if defined, indicates that <crypt.h> exists and
+ * should be included.
+ */
+#define I_CRYPT /**/
+
/* I_FP:
* This symbol, if defined, indicates that <fp.h> exists and
* should be included.
*/
#define I_LANGINFO /**/
+/* HAS_CTERMID_R:
+ * This symbol, if defined, indicates that the ctermid_r routine
+ * is available to ctermid re-entrantly.
+ */
+/* CTERMID_R_PROTO:
+ * This symbol encodes the prototype of ctermid_r.
+ */
+/*#define HAS_CTERMID_R / **/
+#define CTERMID_R_PROTO 0 /**/
+
+/* HAS_ENDHOSTENT_R:
+ * This symbol, if defined, indicates that the endhostent_r routine
+ * is available to endhostent re-entrantly.
+ */
+/* ENDHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of endhostent_r.
+ */
+#define HAS_ENDHOSTENT_R /**/
+#define ENDHOSTENT_R_PROTO REENTRANT_PROTO_I_S /**/
+
+/* HAS_ENDNETENT_R:
+ * This symbol, if defined, indicates that the endnetent_r routine
+ * is available to endnetent re-entrantly.
+ */
+/* ENDNETENT_R_PROTO:
+ * This symbol encodes the prototype of endnetent_r.
+ */
+#define HAS_ENDNETENT_R /**/
+#define ENDNETENT_R_PROTO REENTRANT_PROTO_I_S /**/
+
+/* HAS_ENDPROTOENT_R:
+ * This symbol, if defined, indicates that the endprotoent_r routine
+ * is available to endprotoent re-entrantly.
+ */
+/* ENDPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of endprotoent_r.
+ */
+#define HAS_ENDPROTOENT_R /**/
+#define ENDPROTOENT_R_PROTO REENTRANT_PROTO_I_S /**/
+
+/* HAS_ENDSERVENT_R:
+ * This symbol, if defined, indicates that the endservent_r routine
+ * is available to endservent re-entrantly.
+ */
+/* ENDSERVENT_R_PROTO:
+ * This symbol encodes the prototype of endservent_r.
+ */
+#define HAS_ENDSERVENT_R /**/
+#define ENDSERVENT_R_PROTO REENTRANT_PROTO_I_S /**/
+
+/* HAS_GETHOSTBYADDR_R:
+ * This symbol, if defined, indicates that the gethostbyaddr_r routine
+ * is available to gethostbyaddr re-entrantly.
+ */
+/* GETHOSTBYADDR_R_PROTO:
+ * This symbol encodes the prototype of gethostbyaddr_r.
+ */
+#define HAS_GETHOSTBYADDR_R /**/
+#define GETHOSTBYADDR_R_PROTO REENTRANT_PROTO_I_CWISBWRE /**/
+
+/* HAS_GETHOSTBYNAME_R:
+ * This symbol, if defined, indicates that the gethostbyname_r routine
+ * is available to gethostbyname re-entrantly.
+ */
+/* GETHOSTBYNAME_R_PROTO:
+ * This symbol encodes the prototype of gethostbyname_r.
+ */
+#define HAS_GETHOSTBYNAME_R /**/
+#define GETHOSTBYNAME_R_PROTO REENTRANT_PROTO_I_CSBWRE /**/
+
+/* HAS_GETHOSTENT_R:
+ * This symbol, if defined, indicates that the gethostent_r routine
+ * is available to gethostent re-entrantly.
+ */
+/* GETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of gethostent_r.
+ */
+#define HAS_GETHOSTENT_R /**/
+#define GETHOSTENT_R_PROTO REENTRANT_PROTO_I_SBWRE /**/
+
+/* HAS_GETNETBYADDR_R:
+ * This symbol, if defined, indicates that the getnetbyaddr_r routine
+ * is available to getnetbyaddr re-entrantly.
+ */
+/* GETNETBYADDR_R_PROTO:
+ * This symbol encodes the prototype of getnetbyaddr_r.
+ */
+#define HAS_GETNETBYADDR_R /**/
+#define GETNETBYADDR_R_PROTO REENTRANT_PROTO_I_UISBWRE /**/
+
+/* HAS_GETNETBYNAME_R:
+ * This symbol, if defined, indicates that the getnetbyname_r routine
+ * is available to getnetbyname re-entrantly.
+ */
+/* GETNETBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getnetbyname_r.
+ */
+#define HAS_GETNETBYNAME_R /**/
+#define GETNETBYNAME_R_PROTO REENTRANT_PROTO_I_CSBWRE /**/
+
+/* HAS_GETNETENT_R:
+ * This symbol, if defined, indicates that the getnetent_r routine
+ * is available to getnetent re-entrantly.
+ */
+/* GETNETENT_R_PROTO:
+ * This symbol encodes the prototype of getnetent_r.
+ */
+#define HAS_GETNETENT_R /**/
+#define GETNETENT_R_PROTO REENTRANT_PROTO_I_SBWRE /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ * This symbol, if defined, indicates that the getprotobyname_r routine
+ * is available to getprotobyname re-entrantly.
+ */
+/* GETPROTOBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getprotobyname_r.
+ */
+#define HAS_GETPROTOBYNAME_R /**/
+#define GETPROTOBYNAME_R_PROTO REENTRANT_PROTO_I_CSBWR /**/
+
+/* HAS_GETPROTOBYNUMBER_R:
+ * This symbol, if defined, indicates that the getprotobynumber_r routine
+ * is available to getprotobynumber re-entrantly.
+ */
+/* GETPROTOBYNUMBER_R_PROTO:
+ * This symbol encodes the prototype of getprotobynumber_r.
+ */
+#define HAS_GETPROTOBYNUMBER_R /**/
+#define GETPROTOBYNUMBER_R_PROTO REENTRANT_PROTO_I_ISBWR /**/
+
+/* HAS_GETPROTOENT_R:
+ * This symbol, if defined, indicates that the getprotoent_r routine
+ * is available to getprotoent re-entrantly.
+ */
+/* GETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of getprotoent_r.
+ */
+#define HAS_GETPROTOENT_R /**/
+#define GETPROTOENT_R_PROTO REENTRANT_PROTO_I_SBWR /**/
+
+/* HAS_GETSERVBYNAME_R:
+ * This symbol, if defined, indicates that the getservbyname_r routine
+ * is available to getservbyname re-entrantly.
+ */
+/* GETSERVBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getservbyname_r.
+ */
+#define HAS_GETSERVBYNAME_R /**/
+#define GETSERVBYNAME_R_PROTO REENTRANT_PROTO_I_CCSBWR /**/
+
+/* HAS_GETSERVBYPORT_R:
+ * This symbol, if defined, indicates that the getservbyport_r routine
+ * is available to getservbyport re-entrantly.
+ */
+/* GETSERVBYPORT_R_PROTO:
+ * This symbol encodes the prototype of getservbyport_r.
+ */
+#define HAS_GETSERVBYPORT_R /**/
+#define GETSERVBYPORT_R_PROTO REENTRANT_PROTO_I_ICSBWR /**/
+
+/* HAS_GETSERVENT_R:
+ * This symbol, if defined, indicates that the getservent_r routine
+ * is available to getservent re-entrantly.
+ */
+/* GETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of getservent_r.
+ */
+#define HAS_GETSERVENT_R /**/
+#define GETSERVENT_R_PROTO REENTRANT_PROTO_I_SBWR /**/
+
/* HAS_PTHREAD_ATFORK:
* This symbol, if defined, indicates that the pthread_atfork routine
* is available setup fork handlers.
*/
#define HAS_PTHREAD_ATFORK /**/
+/* HAS_READDIR64_R:
+ * This symbol, if defined, indicates that the readdir64_r routine
+ * is available to readdir64 re-entrantly.
+ */
+/* READDIR64_R_PROTO:
+ * This symbol encodes the prototype of readdir64_r.
+ */
+/*#define HAS_READDIR64_R / **/
+#define READDIR64_R_PROTO 0 /**/
+
+/* HAS_SETHOSTENT_R:
+ * This symbol, if defined, indicates that the sethostent_r routine
+ * is available to sethostent re-entrantly.
+ */
+/* SETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of sethostent_r.
+ */
+#define HAS_SETHOSTENT_R /**/
+#define SETHOSTENT_R_PROTO REENTRANT_PROTO_I_ID /**/
+
+/* HAS_SETLOCALE_R:
+ * This symbol, if defined, indicates that the setlocale_r routine
+ * is available to setlocale re-entrantly.
+ */
+/* SETLOCALE_R_PROTO:
+ * This symbol encodes the prototype of setlocale_r.
+ */
+/*#define HAS_SETLOCALE_R / **/
+#define SETLOCALE_R_PROTO 0 /**/
+
+/* HAS_SETNETENT_R:
+ * This symbol, if defined, indicates that the setnetent_r routine
+ * is available to setnetent re-entrantly.
+ */
+/* SETNETENT_R_PROTO:
+ * This symbol encodes the prototype of setnetent_r.
+ */
+#define HAS_SETNETENT_R /**/
+#define SETNETENT_R_PROTO REENTRANT_PROTO_I_ID /**/
+
+/* HAS_SETPROTOENT_R:
+ * This symbol, if defined, indicates that the setprotoent_r routine
+ * is available to setprotoent re-entrantly.
+ */
+/* SETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of setprotoent_r.
+ */
+#define HAS_SETPROTOENT_R /**/
+#define SETPROTOENT_R_PROTO REENTRANT_PROTO_I_ID /**/
+
+/* HAS_SETSERVENT_R:
+ * This symbol, if defined, indicates that the setservent_r routine
+ * is available to setservent re-entrantly.
+ */
+/* SETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of setservent_r.
+ */
+#define HAS_SETSERVENT_R /**/
+#define SETSERVENT_R_PROTO REENTRANT_PROTO_I_ID /**/
+
+/* HAS_TTYNAME_R:
+ * This symbol, if defined, indicates that the ttyname_r routine
+ * is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ * This symbol encodes the prototype of ttyname_r.
+ */
+#define HAS_TTYNAME_R /**/
+#define TTYNAME_R_PROTO REENTRANT_PROTO_I_IBW /**/
+
#endif
my $netdb_r_obsolete;
if ($^O eq 'hpux') {
delete $rfuncs{crypt_r};
+ delete $rfuncs{drand48_r};
+ delete $rfuncs{getgrent_r};
+ delete $rfuncs{getpwent_r};
delete $rfuncs{setlocale_r};
+ delete $rfuncs{srand48_r};
delete $rfuncs{strerror_r};
$netdb_r_obsolete = 1;
} elsif ($^O eq 'dec_osf') {
getnetbyaddr_r
getnetbyname_r
getnetent_r
- getprotobynumber_r
getprotobyname_r
+ getprotobynumber_r
getprotoent_r
getservbyname_r
getservbyport_r
*/
#$d_access HAS_ACCESS /**/
+/* HAS_ASCTIME_R:
+ * This symbol, if defined, indicates that the asctime_r routine
+ * is available to asctime re-entrantly.
+ */
+/* ASCTIME_R_PROTO:
+ * This symbol encodes the prototype of asctime_r.
+ */
+#$d_asctime_r HAS_ASCTIME_R /**/
+#define ASCTIME_R_PROTO $asctime_r_proto /**/
+
/* CASTI32:
* This symbol is defined if the C compiler can cast negative
* or large floating point numbers to 32-bit ints.
*/
#$d_cmsghdr_s HAS_STRUCT_CMSGHDR /**/
+/* HAS_CRYPT_R:
+ * This symbol, if defined, indicates that the crypt_r routine
+ * is available to crypt re-entrantly.
+ */
+/* CRYPT_R_PROTO:
+ * This symbol encodes the prototype of crypt_r.
+ */
+#$d_crypt_r HAS_CRYPT_R /**/
+#define CRYPT_R_PROTO $crypt_r_proto /**/
+
/* HAS_CSH:
* This symbol, if defined, indicates that the C-shell exists.
*/
#define CSH "$full_csh" /**/
#endif
+/* HAS_CTIME_R:
+ * This symbol, if defined, indicates that the ctime_r routine
+ * is available to ctime re-entrantly.
+ */
+/* CTIME_R_PROTO:
+ * This symbol encodes the prototype of ctime_r.
+ */
+#$d_ctime_r HAS_CTIME_R /**/
+#define CTIME_R_PROTO $ctime_r_proto /**/
+
/* DLSYM_NEEDS_UNDERSCORE:
* This symbol, if defined, indicates that we need to prepend an
* underscore to the symbol name before calling dlsym(). This only
*/
#$d_dlsymun DLSYM_NEEDS_UNDERSCORE /**/
+/* HAS_DRAND48_R:
+ * This symbol, if defined, indicates that the drand48_r routine
+ * is available to drand48 re-entrantly.
+ */
+/* DRAND48_R_PROTO:
+ * This symbol encodes the prototype of drand48_r.
+ */
+#$d_drand48_r HAS_DRAND48_R /**/
+#define DRAND48_R_PROTO $drand48_r_proto /**/
+
/* HAS_DRAND48_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the drand48() function. Otherwise, it is up
*/
#$d_endgrent HAS_ENDGRENT /**/
+/* HAS_ENDGRENT_R:
+ * This symbol, if defined, indicates that the endgrent_r routine
+ * is available to endgrent re-entrantly.
+ */
+/* ENDGRENT_R_PROTO:
+ * This symbol encodes the prototype of endgrent_r.
+ */
+#$d_endgrent_r HAS_ENDGRENT_R /**/
+#define ENDGRENT_R_PROTO $endgrent_r_proto /**/
+
/* HAS_ENDHOSTENT:
* This symbol, if defined, indicates that the endhostent() routine is
* available to close whatever was being used for host queries.
*/
#$d_endpwent HAS_ENDPWENT /**/
+/* HAS_ENDPWENT_R:
+ * This symbol, if defined, indicates that the endpwent_r routine
+ * is available to endpwent re-entrantly.
+ */
+/* ENDPWENT_R_PROTO:
+ * This symbol encodes the prototype of endpwent_r.
+ */
+#$d_endpwent_r HAS_ENDPWENT_R /**/
+#define ENDPWENT_R_PROTO $endpwent_r_proto /**/
+
/* HAS_ENDSERVENT:
* This symbol, if defined, indicates that the endservent() routine is
* available to close whatever was being used for service queries.
*/
#$d_getgrent HAS_GETGRENT /**/
+/* HAS_GETGRENT_R:
+ * This symbol, if defined, indicates that the getgrent_r routine
+ * is available to getgrent re-entrantly.
+ */
+/* GETGRENT_R_PROTO:
+ * This symbol encodes the prototype of getgrent_r.
+ */
+#$d_getgrent_r HAS_GETGRENT_R /**/
+#define GETGRENT_R_PROTO $getgrent_r_proto /**/
+
+/* HAS_GETGRGID_R:
+ * This symbol, if defined, indicates that the getgrgid_r routine
+ * is available to getgrgid re-entrantly.
+ */
+/* GETGRGID_R_PROTO:
+ * This symbol encodes the prototype of getgrgid_r.
+ */
+#$d_getgrgid_r HAS_GETGRGID_R /**/
+#define GETGRGID_R_PROTO $getgrgid_r_proto /**/
+
+/* HAS_GETGRNAM_R:
+ * This symbol, if defined, indicates that the getgrnam_r routine
+ * is available to getgrnam re-entrantly.
+ */
+/* GETGRNAM_R_PROTO:
+ * This symbol encodes the prototype of getgrnam_r.
+ */
+#$d_getgrnam_r HAS_GETGRNAM_R /**/
+#define GETGRNAM_R_PROTO $getgrnam_r_proto /**/
+
/* HAS_GETHOSTBYADDR:
* This symbol, if defined, indicates that the gethostbyaddr() routine is
* available to look up hosts by their IP addresses.
*/
#$d_getitimer HAS_GETITIMER /**/
+/* HAS_GETLOGIN_R:
+ * This symbol, if defined, indicates that the getlogin_r routine
+ * is available to getlogin re-entrantly.
+ */
+/* GETLOGIN_R_PROTO:
+ * This symbol encodes the prototype of getlogin_r.
+ */
+#$d_getlogin_r HAS_GETLOGIN_R /**/
+#define GETLOGIN_R_PROTO $getlogin_r_proto /**/
+
/* HAS_GETMNT:
* This symbol, if defined, indicates that the getmnt routine is
* available to get filesystem mount info by filename.
*/
#$d_getpwent HAS_GETPWENT /**/
+/* HAS_GETPWENT_R:
+ * This symbol, if defined, indicates that the getpwent_r routine
+ * is available to getpwent re-entrantly.
+ */
+/* GETPWENT_R_PROTO:
+ * This symbol encodes the prototype of getpwent_r.
+ */
+#$d_getpwent_r HAS_GETPWENT_R /**/
+#define GETPWENT_R_PROTO $getpwent_r_proto /**/
+
+/* HAS_GETPWNAM_R:
+ * This symbol, if defined, indicates that the getpwnam_r routine
+ * is available to getpwnam re-entrantly.
+ */
+/* GETPWNAM_R_PROTO:
+ * This symbol encodes the prototype of getpwnam_r.
+ */
+#$d_getpwnam_r HAS_GETPWNAM_R /**/
+#define GETPWNAM_R_PROTO $getpwnam_r_proto /**/
+
+/* HAS_GETPWUID_R:
+ * This symbol, if defined, indicates that the getpwuid_r routine
+ * is available to getpwuid re-entrantly.
+ */
+/* GETPWUID_R_PROTO:
+ * This symbol encodes the prototype of getpwuid_r.
+ */
+#$d_getpwuid_r HAS_GETPWUID_R /**/
+#define GETPWUID_R_PROTO $getpwuid_r_proto /**/
+
/* HAS_GETSERVENT:
* This symbol, if defined, indicates that the getservent() routine is
* available to look up network services in some data base or another.
*/
#$d_getspnam HAS_GETSPNAM /**/
+/* HAS_GETSPNAM_R:
+ * This symbol, if defined, indicates that the getspnam_r routine
+ * is available to getspnam re-entrantly.
+ */
+/* GETSPNAM_R_PROTO:
+ * This symbol encodes the prototype of getspnam_r.
+ */
+#$d_getspnam_r HAS_GETSPNAM_R /**/
+#define GETSPNAM_R_PROTO $getspnam_r_proto /**/
+
/* HAS_GETSERVBYNAME:
* This symbol, if defined, indicates that the getservbyname()
* routine is available to look up services by their name.
#$d_getsbyname HAS_GETSERVBYNAME /**/
#$d_getsbyport HAS_GETSERVBYPORT /**/
+/* HAS_GMTIME_R:
+ * This symbol, if defined, indicates that the gmtime_r routine
+ * is available to gmtime re-entrantly.
+ */
+/* GMTIME_R_PROTO:
+ * This symbol encodes the prototype of gmtime_r.
+ */
+#$d_gmtime_r HAS_GMTIME_R /**/
+#define GMTIME_R_PROTO $gmtime_r_proto /**/
+
/* HAS_GNULIBC:
* This symbol, if defined, indicates to the C program that
* the GNU C library is being used.
*/
#$d_ldbl_dig HAS_LDBL_DIG /* */
+/* HAS_LOCALTIME_R:
+ * This symbol, if defined, indicates that the localtime_r routine
+ * is available to localtime re-entrantly.
+ */
+/* LOCALTIME_R_PROTO:
+ * This symbol encodes the prototype of localtime_r.
+ */
+#$d_localtime_r HAS_LOCALTIME_R /**/
+#define LOCALTIME_R_PROTO $localtime_r_proto /**/
+
/* HAS_LONG_DOUBLE:
* This symbol will be defined if the C compiler supports long
* doubles.
#define SCHED_YIELD $sched_yield /**/
#$d_sched_yield HAS_SCHED_YIELD /**/
+/* HAS_RANDOM_R:
+ * This symbol, if defined, indicates that the random_r routine
+ * is available to random re-entrantly.
+ */
+/* RANDOM_R_PROTO:
+ * This symbol encodes the prototype of random_r.
+ */
+#$d_random_r HAS_RANDOM_R /**/
+#define RANDOM_R_PROTO $random_r_proto /**/
+
+/* HAS_READDIR_R:
+ * This symbol, if defined, indicates that the readdir_r routine
+ * is available to readdir re-entrantly.
+ */
+/* READDIR_R_PROTO:
+ * This symbol encodes the prototype of readdir_r.
+ */
+#$d_readdir_r HAS_READDIR_R /**/
+#define READDIR_R_PROTO $readdir_r_proto /**/
+
/* HAS_READV:
* This symbol, if defined, indicates that the readv routine is
* available to do gather reads. You will also need <sys/uio.h>
*/
#$d_setgrent HAS_SETGRENT /**/
+/* HAS_SETGRENT_R:
+ * This symbol, if defined, indicates that the setgrent_r routine
+ * is available to setgrent re-entrantly.
+ */
+/* SETGRENT_R_PROTO:
+ * This symbol encodes the prototype of setgrent_r.
+ */
+#$d_setgrent_r HAS_SETGRENT_R /**/
+#define SETGRENT_R_PROTO $setgrent_r_proto /**/
+
/* HAS_SETGROUPS:
* This symbol, if defined, indicates that the setgroups() routine is
* available to set the list of process groups. If unavailable, multiple
*/
#$d_setpwent HAS_SETPWENT /**/
+/* HAS_SETPWENT_R:
+ * This symbol, if defined, indicates that the setpwent_r routine
+ * is available to setpwent re-entrantly.
+ */
+/* SETPWENT_R_PROTO:
+ * This symbol encodes the prototype of setpwent_r.
+ */
+#$d_setpwent_r HAS_SETPWENT_R /**/
+#define SETPWENT_R_PROTO $setpwent_r_proto /**/
+
/* HAS_SETSERVENT:
* This symbol, if defined, indicates that the setservent() routine is
* available.
*/
#$d_sqrtl HAS_SQRTL /**/
+/* HAS_SRAND48_R:
+ * This symbol, if defined, indicates that the srand48_r routine
+ * is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ * This symbol encodes the prototype of srand48_r.
+ */
+#$d_srand48_r HAS_SRAND48_R /**/
+#define SRAND48_R_PROTO $srand48_r_proto /**/
+
+/* HAS_SRANDOM_R:
+ * This symbol, if defined, indicates that the srandom_r routine
+ * is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ * This symbol encodes the prototype of srandom_r.
+ */
+#$d_srandom_r HAS_SRANDOM_R /**/
+#define SRANDOM_R_PROTO $srandom_r_proto /**/
+
/* USE_STAT_BLOCKS:
* This symbol is defined if this system has a stat structure declaring
* st_blksize and st_blocks.
#$d_syserrlst HAS_SYS_ERRLIST /**/
#define Strerror(e) $d_strerrm
+/* HAS_STRERROR_R:
+ * This symbol, if defined, indicates that the strerror_r routine
+ * is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ * This symbol encodes the prototype of strerror_r.
+ */
+#$d_strerror_r HAS_STRERROR_R /**/
+#define STRERROR_R_PROTO $strerror_r_proto /**/
+
/* HAS_STRTOLD:
* This symbol, if defined, indicates that the strtold routine is
* available to convert strings to long doubles.
*/
#$d_times HAS_TIMES /**/
+/* HAS_TMPNAM_R:
+ * This symbol, if defined, indicates that the tmpnam_r routine
+ * is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ * This symbol encodes the prototype of tmpnam_r.
+ */
+#$d_tmpnam_r HAS_TMPNAM_R /**/
+#define TMPNAM_R_PROTO $tmpnam_r_proto /**/
+
/* HAS_UALARM:
* This symbol, if defined, indicates that the ualarm routine is
* available to do alarms with microsecond granularity.
*/
#$d_usleepproto HAS_USLEEP_PROTO /**/
+/* I_CRYPT:
+ * This symbol, if defined, indicates that <crypt.h> exists and
+ * should be included.
+ */
+#$i_crypt I_CRYPT /**/
+
/* I_FP:
* This symbol, if defined, indicates that <fp.h> exists and
* should be included.
*/
#$i_langinfo I_LANGINFO /**/
+/* HAS_CTERMID_R:
+ * This symbol, if defined, indicates that the ctermid_r routine
+ * is available to ctermid re-entrantly.
+ */
+/* CTERMID_R_PROTO:
+ * This symbol encodes the prototype of ctermid_r.
+ */
+#$d_ctermid_r HAS_CTERMID_R /**/
+#define CTERMID_R_PROTO $ctermid_r_proto /**/
+
+/* HAS_ENDHOSTENT_R:
+ * This symbol, if defined, indicates that the endhostent_r routine
+ * is available to endhostent re-entrantly.
+ */
+/* ENDHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of endhostent_r.
+ */
+#$d_endhostent_r HAS_ENDHOSTENT_R /**/
+#define ENDHOSTENT_R_PROTO $endhostent_r_proto /**/
+
+/* HAS_ENDNETENT_R:
+ * This symbol, if defined, indicates that the endnetent_r routine
+ * is available to endnetent re-entrantly.
+ */
+/* ENDNETENT_R_PROTO:
+ * This symbol encodes the prototype of endnetent_r.
+ */
+#$d_endnetent_r HAS_ENDNETENT_R /**/
+#define ENDNETENT_R_PROTO $endnetent_r_proto /**/
+
+/* HAS_ENDPROTOENT_R:
+ * This symbol, if defined, indicates that the endprotoent_r routine
+ * is available to endprotoent re-entrantly.
+ */
+/* ENDPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of endprotoent_r.
+ */
+#$d_endprotoent_r HAS_ENDPROTOENT_R /**/
+#define ENDPROTOENT_R_PROTO $endprotoent_r_proto /**/
+
+/* HAS_ENDSERVENT_R:
+ * This symbol, if defined, indicates that the endservent_r routine
+ * is available to endservent re-entrantly.
+ */
+/* ENDSERVENT_R_PROTO:
+ * This symbol encodes the prototype of endservent_r.
+ */
+#$d_endservent_r HAS_ENDSERVENT_R /**/
+#define ENDSERVENT_R_PROTO $endservent_r_proto /**/
+
+/* HAS_GETHOSTBYADDR_R:
+ * This symbol, if defined, indicates that the gethostbyaddr_r routine
+ * is available to gethostbyaddr re-entrantly.
+ */
+/* GETHOSTBYADDR_R_PROTO:
+ * This symbol encodes the prototype of gethostbyaddr_r.
+ */
+#$d_gethostbyaddr_r HAS_GETHOSTBYADDR_R /**/
+#define GETHOSTBYADDR_R_PROTO $gethostbyaddr_r_proto /**/
+
+/* HAS_GETHOSTBYNAME_R:
+ * This symbol, if defined, indicates that the gethostbyname_r routine
+ * is available to gethostbyname re-entrantly.
+ */
+/* GETHOSTBYNAME_R_PROTO:
+ * This symbol encodes the prototype of gethostbyname_r.
+ */
+#$d_gethostbyname_r HAS_GETHOSTBYNAME_R /**/
+#define GETHOSTBYNAME_R_PROTO $gethostbyname_r_proto /**/
+
+/* HAS_GETHOSTENT_R:
+ * This symbol, if defined, indicates that the gethostent_r routine
+ * is available to gethostent re-entrantly.
+ */
+/* GETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of gethostent_r.
+ */
+#$d_gethostent_r HAS_GETHOSTENT_R /**/
+#define GETHOSTENT_R_PROTO $gethostent_r_proto /**/
+
+/* HAS_GETNETBYADDR_R:
+ * This symbol, if defined, indicates that the getnetbyaddr_r routine
+ * is available to getnetbyaddr re-entrantly.
+ */
+/* GETNETBYADDR_R_PROTO:
+ * This symbol encodes the prototype of getnetbyaddr_r.
+ */
+#$d_getnetbyaddr_r HAS_GETNETBYADDR_R /**/
+#define GETNETBYADDR_R_PROTO $getnetbyaddr_r_proto /**/
+
+/* HAS_GETNETBYNAME_R:
+ * This symbol, if defined, indicates that the getnetbyname_r routine
+ * is available to getnetbyname re-entrantly.
+ */
+/* GETNETBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getnetbyname_r.
+ */
+#$d_getnetbyname_r HAS_GETNETBYNAME_R /**/
+#define GETNETBYNAME_R_PROTO $getnetbyname_r_proto /**/
+
+/* HAS_GETNETENT_R:
+ * This symbol, if defined, indicates that the getnetent_r routine
+ * is available to getnetent re-entrantly.
+ */
+/* GETNETENT_R_PROTO:
+ * This symbol encodes the prototype of getnetent_r.
+ */
+#$d_getnetent_r HAS_GETNETENT_R /**/
+#define GETNETENT_R_PROTO $getnetent_r_proto /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ * This symbol, if defined, indicates that the getprotobyname_r routine
+ * is available to getprotobyname re-entrantly.
+ */
+/* GETPROTOBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getprotobyname_r.
+ */
+#$d_getprotobyname_r HAS_GETPROTOBYNAME_R /**/
+#define GETPROTOBYNAME_R_PROTO $getprotobyname_r_proto /**/
+
+/* HAS_GETPROTOBYNUMBER_R:
+ * This symbol, if defined, indicates that the getprotobynumber_r routine
+ * is available to getprotobynumber re-entrantly.
+ */
+/* GETPROTOBYNUMBER_R_PROTO:
+ * This symbol encodes the prototype of getprotobynumber_r.
+ */
+#$d_getprotobynumber_r HAS_GETPROTOBYNUMBER_R /**/
+#define GETPROTOBYNUMBER_R_PROTO $getprotobynumber_r_proto /**/
+
+/* HAS_GETPROTOENT_R:
+ * This symbol, if defined, indicates that the getprotoent_r routine
+ * is available to getprotoent re-entrantly.
+ */
+/* GETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of getprotoent_r.
+ */
+#$d_getprotoent_r HAS_GETPROTOENT_R /**/
+#define GETPROTOENT_R_PROTO $getprotoent_r_proto /**/
+
+/* HAS_GETSERVBYNAME_R:
+ * This symbol, if defined, indicates that the getservbyname_r routine
+ * is available to getservbyname re-entrantly.
+ */
+/* GETSERVBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getservbyname_r.
+ */
+#$d_getservbyname_r HAS_GETSERVBYNAME_R /**/
+#define GETSERVBYNAME_R_PROTO $getservbyname_r_proto /**/
+
+/* HAS_GETSERVBYPORT_R:
+ * This symbol, if defined, indicates that the getservbyport_r routine
+ * is available to getservbyport re-entrantly.
+ */
+/* GETSERVBYPORT_R_PROTO:
+ * This symbol encodes the prototype of getservbyport_r.
+ */
+#$d_getservbyport_r HAS_GETSERVBYPORT_R /**/
+#define GETSERVBYPORT_R_PROTO $getservbyport_r_proto /**/
+
+/* HAS_GETSERVENT_R:
+ * This symbol, if defined, indicates that the getservent_r routine
+ * is available to getservent re-entrantly.
+ */
+/* GETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of getservent_r.
+ */
+#$d_getservent_r HAS_GETSERVENT_R /**/
+#define GETSERVENT_R_PROTO $getservent_r_proto /**/
+
/* HAS_PTHREAD_ATFORK:
* This symbol, if defined, indicates that the pthread_atfork routine
* is available setup fork handlers.
*/
#$d_pthread_atfork HAS_PTHREAD_ATFORK /**/
+/* HAS_READDIR64_R:
+ * This symbol, if defined, indicates that the readdir64_r routine
+ * is available to readdir64 re-entrantly.
+ */
+/* READDIR64_R_PROTO:
+ * This symbol encodes the prototype of readdir64_r.
+ */
+#$d_readdir64_r HAS_READDIR64_R /**/
+#define READDIR64_R_PROTO $readdir64_r_proto /**/
+
+/* HAS_SETHOSTENT_R:
+ * This symbol, if defined, indicates that the sethostent_r routine
+ * is available to sethostent re-entrantly.
+ */
+/* SETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of sethostent_r.
+ */
+#$d_sethostent_r HAS_SETHOSTENT_R /**/
+#define SETHOSTENT_R_PROTO $sethostent_r_proto /**/
+
+/* HAS_SETLOCALE_R:
+ * This symbol, if defined, indicates that the setlocale_r routine
+ * is available to setlocale re-entrantly.
+ */
+/* SETLOCALE_R_PROTO:
+ * This symbol encodes the prototype of setlocale_r.
+ */
+#$d_setlocale_r HAS_SETLOCALE_R /**/
+#define SETLOCALE_R_PROTO $setlocale_r_proto /**/
+
+/* HAS_SETNETENT_R:
+ * This symbol, if defined, indicates that the setnetent_r routine
+ * is available to setnetent re-entrantly.
+ */
+/* SETNETENT_R_PROTO:
+ * This symbol encodes the prototype of setnetent_r.
+ */
+#$d_setnetent_r HAS_SETNETENT_R /**/
+#define SETNETENT_R_PROTO $setnetent_r_proto /**/
+
+/* HAS_SETPROTOENT_R:
+ * This symbol, if defined, indicates that the setprotoent_r routine
+ * is available to setprotoent re-entrantly.
+ */
+/* SETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of setprotoent_r.
+ */
+#$d_setprotoent_r HAS_SETPROTOENT_R /**/
+#define SETPROTOENT_R_PROTO $setprotoent_r_proto /**/
+
+/* HAS_SETSERVENT_R:
+ * This symbol, if defined, indicates that the setservent_r routine
+ * is available to setservent re-entrantly.
+ */
+/* SETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of setservent_r.
+ */
+#$d_setservent_r HAS_SETSERVENT_R /**/
+#define SETSERVENT_R_PROTO $setservent_r_proto /**/
+
+/* HAS_TTYNAME_R:
+ * This symbol, if defined, indicates that the ttyname_r routine
+ * is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ * This symbol encodes the prototype of ttyname_r.
+ */
+#$d_ttyname_r HAS_TTYNAME_R /**/
+#define TTYNAME_R_PROTO $ttyname_r_proto /**/
+
#endif
!GROK!THIS!
$ WC "voidflags='15'"
$ WC "xs_apiversion='" + version + "'"
$ WC "PERL_CONFIG_SH='true'"
+
+$!
+$! ## The UNIXy POSIXy reentrantey thingys ##
+$!
+
+$ WC "asctime_r_proto='0'"
+$ WC "crypt_r_proto='0'"
+$ WC "ctermid_r_proto='0'"
+$ WC "ctime_r_proto='0'"
+$ WC "d_asctime_r='undef'"
+$ WC "d_crypt_r='undef'"
+$ WC "d_ctermid_r='undef'"
+$ WC "d_ctime_r='undef'"
+$ WC "d_drand48_r='undef'"
+$ WC "d_endgrent_r='undef'"
+$ WC "d_endhostent_r='undef'"
+$ WC "d_endnetent_r='undef'"
+$ WC "d_endprotoent_r='undef'"
+$ WC "d_endpwent_r='undef'"
+$ WC "d_endservent_r='undef'"
+$ WC "d_getgrent_r='undef'"
+$ WC "d_getgrgid_r='undef'"
+$ WC "d_getgrnam_r='undef'"
+$ WC "d_gethostbyaddr_r='undef'"
+$ WC "d_gethostbyname_r='undef'"
+$ WC "d_gethostent_r='undef'"
+$ WC "d_getlogin_r='undef'"
+$ WC "d_getnetbyaddr_r='undef'"
+$ WC "d_getnetbyname_r='undef'"
+$ WC "d_getnetent_r='undef'"
+$ WC "d_getprotobyname_r='undef'"
+$ WC "d_getprotobynumber_r='undef'"
+$ WC "d_getprotoent_r='undef'"
+$ WC "d_getpwent_r='undef'"
+$ WC "d_getpwnam_r='undef'"
+$ WC "d_getpwuid_r='undef'"
+$ WC "d_getservbyname_r='undef'"
+$ WC "d_getservbyport_r='undef'"
+$ WC "d_getservent_r='undef'"
+$ WC "d_getspnam_r='undef'"
+$ WC "d_gmtime_r='undef'"
+$ WC "d_localtime_r='undef'"
+$ WC "d_random_r='undef'"
+$ WC "d_readdir64_r='undef'"
+$ WC "d_readdir_r='undef'"
+$ WC "d_setgrent_r='undef'"
+$ WC "d_sethostent_r='undef'"
+$ WC "d_setlocale_r='undef'"
+$ WC "d_setnetent_r='undef'"
+$ WC "d_setprotoent_r='undef'"
+$ WC "d_setpwent_r='undef'"
+$ WC "d_setservent_r='undef'"
+$ WC "d_srand48_r='undef'"
+$ WC "d_srandom_r='undef'"
+$ WC "d_strerror_r='undef'"
+$ WC "d_tmpnam_r='undef'"
+$ WC "d_ttyname_r='undef'"
+$ WC "drand48_r_proto='0'"
+$ WC "endgrent_r_proto='0'"
+$ WC "endhostent_r_proto='0'"
+$ WC "endnetent_r_proto='0'"
+$ WC "endprotoent_r_proto='0'"
+$ WC "endpwent_r_proto='0'"
+$ WC "endservent_r_proto='0'"
+$ WC "getgrent_r_proto='0'"
+$ WC "getgrgid_r_proto='0'"
+$ WC "getgrnam_r_proto='0'"
+$ WC "gethostbyaddr_r_proto='0'"
+$ WC "gethostbyname_r_proto='0'"
+$ WC "gethostent_r_proto='0'"
+$ WC "getlogin_r_proto='0'"
+$ WC "getnetbyaddr_r_proto='0'"
+$ WC "getnetbyname_r_proto='0'"
+$ WC "getnetent_r_proto='0'"
+$ WC "getprotobyname_r_proto='0'"
+$ WC "getprotobynumber_r_proto='0'"
+$ WC "getprotoent_r_proto='0'"
+$ WC "getpwent_r_proto='0'"
+$ WC "getpwnam_r_proto='0'"
+$ WC "getpwuid_r_proto='0'"
+$ WC "getservbyname_r_proto='0'"
+$ WC "getservbyport_r_proto='0'"
+$ WC "getservent_r_proto='0'"
+$ WC "getspnam_r_proto='0'"
+$ WC "gmtime_r_proto='0'"
+$ WC "i_crypt='undef'"
+$ WC "localtime_r_proto='0'"
+$ WC "random_r_proto='0'"
+$ WC "readdir64_r_proto='0'"
+$ WC "readdir_r_proto='0'"
+$ WC "setgrent_r_proto='0'"
+$ WC "sethostent_r_proto='0'"
+$ WC "setlocale_r_proto='0'"
+$ WC "setnetent_r_proto='0'"
+$ WC "setprotoent_r_proto='0'"
+$ WC "setpwent_r_proto='0'"
+$ WC "setservent_r_proto='0'"
+$ WC "srand48_r_proto='0'"
+$ WC "srandom_r_proto='0'"
+$ WC "strerror_r_proto='0'"
+$ WC "tmpnam_r_proto='0'"
+$ WC "ttyname_r_proto='0'
+
$!
$! ##END WRITE NEW CONSTANTS HERE##
$!
Ap |struct perl_thread* |new_struct_thread|struct perl_thread *t
#endif
#if defined(USE_REENTRANT_API)
+Ap |void |reentrant_size
Ap |void |reentrant_init
+Ap |void |reentrant_free
#endif
Ap |void |call_atexit |ATEXIT_t fn|void *ptr
Apd |I32 |call_argv |const char* sub_name|I32 flags|char** argv
#define new_struct_thread Perl_new_struct_thread
#endif
#if defined(USE_REENTRANT_API)
+#define reentrant_size Perl_reentrant_size
#define reentrant_init Perl_reentrant_init
+#define reentrant_free Perl_reentrant_free
#endif
#define call_atexit Perl_call_atexit
#define call_argv Perl_call_argv
#define new_struct_thread(a) Perl_new_struct_thread(aTHX_ a)
#endif
#if defined(USE_REENTRANT_API)
+#define reentrant_size() Perl_reentrant_size(aTHX)
#define reentrant_init() Perl_reentrant_init(aTHX)
+#define reentrant_free() Perl_reentrant_free(aTHX)
#endif
#define call_atexit(a,b) Perl_call_atexit(aTHX_ a,b)
#define call_argv(a,b,c) Perl_call_argv(aTHX_ a,b,c)
archname64=''
archname='epoc'
archobjs='epoc.o epocish.o epoc_stubs.o'
+asctime_r_proto='0'
awk='awk'
baserev='5.0'
bash=''
cpprun='arm-epoc-pe-gcc -E'
cppstdin='arm-epoc-pe-gcc -E'
cppsymbols=''
+crypt_r_proto='0'
cryptlib=''
csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
d_Gconvert='epoc_gcvt((x),(n),(b))'
d_PRIEUldbl='undef'
d_PRIFUldbl='undef'
d_accessx='undef'
d_alarm='undef'
d_archlib='define'
+d_asctime_r='undef'
d_atolf='undef'
d_atoll='undef'
d_attribut='undef'
d_cmsghdr_s='undef'
d_const='define'
d_crypt='undef'
+d_crypt_r='undef'
d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
d_cuserid='undef'
d_dbl_dig='undef'
d_dbminitproto='undef'
d_dlopen='undef'
d_dlsymun='undef'
d_dosuid='undef'
+d_drand48_r='undef'
d_drand48proto='define'
d_dup2='undef'
d_eaccess='undef'
d_endgrent='undef'
+d_endgrent_r='undef'
d_endhent='undef'
+d_endhostent_r='undef'
d_endnent='undef'
+d_endnetent_r='undef'
d_endpent='undef'
+d_endprotoent_r='undef'
d_endpwent='undef'
+d_endpwent_r='undef'
d_endsent='undef'
+d_endservent_r='undef'
d_eofnblk='define'
d_eunice='undef'
d_fchdir='undef'
d_getespwnam='undef'
d_getfsstat='undef'
d_getgrent='undef'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
d_getgrps='undef'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='undef'
d_gethname='undef'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
d_gethostprotos='define'
d_getitimer='undef'
d_getlogin='undef'
+d_getlogin_r='undef'
d_getmntent='undef'
d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
d_getnetprotos='define'
d_getpagsz='undef'
d_getpbyname='define'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
d_getprotoprotos='define'
d_getprpwnam='undef'
d_getpwent='undef'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
d_getsbyname='undef'
d_getsbyport='undef'
d_getsent='undef'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
d_getservprotos='define'
d_getspnam='undef'
+d_getspnam_r='undef'
d_gettimeod='define'
+d_gmtime_r='undef'
d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
d_ldbl_dig='undef'
d_link='undef'
d_llseek='undef'
+d_localtime_r='undef'
d_locconv='undef'
d_lockf='undef'
d_longdbl='undef'
d_pwpasswd='undef'
d_pwquota='undef'
d_qgcvt='undef'
+d_random_r='undef'
+d_readdir64_r='undef'
d_readdir='define'
+d_readdir_r='undef'
d_readlink='undef'
d_readv='undef'
d_readv='undef'
d_setegid='undef'
d_seteuid='undef'
d_setgrent='undef'
+d_setgrent_r='undef'
d_setgrps='undef'
d_sethent='undef'
+d_sethostent_r='undef'
d_setitimer='undef'
d_setlinebuf='undef'
d_setlocale='undef'
+d_setlocale_r='undef'
d_setnent='undef'
+d_setnetent_r='undef'
d_setpent='undef'
d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
d_setproctitle='undef'
+d_setprotoent_r='undef'
d_setpwent='undef'
+d_setpwent_r='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
d_setrgid='undef'
d_setruid='undef'
d_setsent='undef'
+d_setservent_r='undef'
d_setsid='undef'
d_setvbuf='undef'
d_sfio='undef'
d_socket='define'
d_sockpair='undef'
d_socks5_init='undef'
+d_srand48_r='undef'
+d_srandom_r='undef'
d_sresgproto='undef'
d_sresuproto='undef'
d_statblks='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
+d_strerror_r='undef'
d_strftime='define'
d_strtod='define'
d_strtol='define'
d_telldirproto='define'
d_time='undef'
d_times='undef'
+d_tm_tm_gmtoff='undef'
+d_tm_tm_zone='undef'
+d_tmpnam_r='undef'
d_truncate='undef'
+d_ttyname_r='undef'
d_tzname='undef'
d_u32align='define'
d_ualarm='undef'
dlsrc='dl_none.xs'
doublesize='8'
drand01='(rand()/(double)(1U<<RANDBITS))'
+drand48_r_proto='0'
dynamic_ext=''
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
egrep='egrep'
emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
eunicefix=':'
exe_ext=''
expr='expr'
full_csh=''
full_sed='/usr/bin/sed'
gccversion=''
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
gidtype='gid_t'
glibpth=''
+gmtime_r_proto='0'
grep='grep'
groupcat=''
groupstype='gid_t'
hostcat=''
i_arpainet='define'
i_bsdioctl='undef'
+i_crypt='undef'
i_db='undef'
i_dbm='undef'
i_dirent='define'
lkflags=''
ln='ln'
lns='/bin/ln -s'
+localtime_r_proto='0'
locincpth=''
loclibpth=''
longdblsize='8'
prefixexp=''
privlib='?:/perl/lib/5.7.3'
privlibexp='?:/perl/lib/5.7.3'
-prototype='define'
procselfexe=''
+prototype='define'
ptrsize='4'
randbits='31'
randfunc=''
+random_r_proto='0'
randseedtype='unsigned'
ranlib='arm-epoc-pe-ranlib'
rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
rm='rm'
rmail=''
runnm='false'
selectminbits='32'
selecttype=''
sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
sh='/bin/sh'
shar=''
sharpbang='#!'
sleep=''
smail=''
so=''
-socksizetype='size_t'
sockethdr=''
socketlib=''
+socksizetype='size_t'
sort='sort'
spackage=''
spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
src='.'
ssizetype='long'
startperl=''
stdio_filbuf=''
stdio_ptr=''
stdio_stream_array=''
+strerror_r_proto='0'
strings=''
submit=''
subversion=''
test='test'
timeincl=''
timetype='time_t'
+tmpnam_r_proto='0'
touch='touch'
tr='tr'
trnl='\n'
troff=''
+ttyname_r_proto='0'
uidsign='1'
uidtype='uid_t'
uname='uname'
Perl_op_free
Perl_pad_sv
Perl_new_struct_thread
+Perl_reentrant_size
Perl_reentrant_init
+Perl_reentrant_free
Perl_call_atexit
Perl_call_argv
Perl_call_method
fi
else
# 12 may want upping the _POSIX_C_SOURCE datestamp...
- ccflags=" -D_POSIX_C_SOURCE=199506L $ccflags"
+ ccflags=" -D_POSIX_C_SOURCE=199506L -D_REENTRANT $ccflags"
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
shift
libswanted="$*"
PERLVAR(Iregex_padav, AV*) /* All regex objects */
#ifdef USE_REENTRANT_API
-PERLVAR(Ireentrant_buffer, REENTBUF*) /* here we store the _r buffers */
+PERLVAR(Ireentrant_buffer, REENTR*) /* here we store the _r buffers */
#endif
#endif
$define{USE_5005THREADS} ||
$define{MULTIPLICITY} ;
+if ($define{USE_ITHREADS} && $PLATFORM ne 'win32' && $^O ne 'darwin') {
+ $define{USE_REENTRANT_API} = 1;
+}
+
# perl.h logic duplication ends
my $sym_ord = 0;
#define PERL_LOADMOD_IMPORT_OPS 0x4
#ifdef USE_REENTRANT_API
-
-typedef struct {
- struct tm* tmbuf;
-} REENTBUF;
-
-#define localtime(a) (localtime_r((a),PL_reentrant_buffer->tmbuf) ? PL_reentrant_buffer->tmbuf : NULL)
-#define gmtime(a) (gmtime_r((a),PL_reentrant_buffer->tmbuf) ? PL_reentrant_buffer->tmbuf : NULL)
-
-#ifdef OLD_PTHREADS_API
-
-/* HP-UX 10.20 returns 0 on success, what it returns on failure is hidden
- in the fog somewhere, possibly -1 which means the following should do
- the right thing - 20010816 sky */
-
-#undef localtime
-#undef gmtime
-#define localtime(a) ((localtime_r((a),PL_reentrant_buffer->tmbuf) == 0) ? PL_reentrant_buffer->tmbuf : NULL)
-#define gmtime(a) ((gmtime_r((a),PL_reentrant_buffer->tmbuf) == 0) ? PL_reentrant_buffer->tmbuf : NULL)
-#endif /* HP-UX 10.20 */
-
+#include "reentr.h"
#endif
#endif /* USE_5005THREADS */
#ifdef USE_REENTRANT_API
- Safefree(PL_reentrant_buffer->tmbuf);
- Safefree(PL_reentrant_buffer);
+ Perl_reentrant_free(aTHX);
#endif
sv_free_arenas();
# endif
#endif
+/* Use the reentrant APIs like localtime_r and getpwent_r */
+/* Win32 has naturally threadsafe libraries, no need to use any _r variants. */
+#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(WIN32) && !defined(__APPLE__)
+# define USE_REENTRANT_API
+#endif
+
/* <--- here ends the logic shared by perl.h and makedef.pl */
#ifdef PERL_IMPLICIT_CONTEXT
# endif
#endif
-/* Use the reentrant APIs like localtime_r and getpwent_r */
-/* Win32 has naturally threadsafe libraries, no need to use any _r variants. */
-#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(WIN32) && !defined(__APPLE__)
-# define USE_REENTRANT_API
-#endif
-
/* HP-UX 10.X CMA (Common Multithreaded Architecure) insists that
pthread.h must be included before all other header files.
*/
char *crypt (); /* Maybe more hosts will need the unprototyped version */
# else
# if !defined(WIN32) && !defined(VMS)
+#ifndef crypt
char *crypt (const char*, const char*);
+#endif
# endif /* !WIN32 */
# endif /* !NeXT && !__NeXT__ */
# ifndef DONT_DECLARE_STD
# endif
# endif
# endif /* !DONT_DECLARE_STD */
+#ifndef getlogin
char *getlogin (void);
+#endif
#endif /* !__cplusplus */
#ifdef UNLINK_ALL_VERSIONS /* Currently only makes sense for VMS */
ext_c = ${ext_xs:%.xs=%.c}
ext_obj = ${ext_xs:%.xs=%.$O}
-obj = gv.$O toke.$O perly.$O op.$O regcomp.$O dump.$O util.$O mg.$O hv.$O av.$O run.$O pp_hot.$O sv.$O pp.$O scope.$O pp_ctl.$O pp_sys.$O doop.$O doio.$O regexec.$O taint.$O deb.$O globals.$O plan9.$O universal.$O perlio.$O
+obj = gv.$O toke.$O perly.$O op.$O regcomp.$O dump.$O util.$O mg.$O hv.$O av.$O run.$O pp_hot.$O sv.$O pp.$O scope.$O pp_ctl.$O pp_sys.$O doop.$O doio.$O regexec.$O taint.$O deb.$O globals.$O plan9.$O universal.$O perlio.$O locale.$O numeric.$O pp_sort.$O pp_pack.$O reentr.$O
OBJS = perl.$O $obj
# endif
# endif
# ifdef HAS_GETPWENT
+#ifndef getpwent
struct passwd *getpwent (void);
+#endif
# endif
#endif
struct group *getgrgid (Gid_t);
# endif
# ifdef HAS_GETGRENT
+#ifndef getgrent
struct group *getgrent (void);
+#endif
# endif
#endif
#endif
#ifdef HOST_NOT_FOUND
- if (!hent)
- STATUS_NATIVE_SET(h_errno);
+ if (!hent) {
+#ifdef USE_REENTRANT_API
+# ifdef USE_GETHOSTENT_ERRNO
+ h_errno = PL_reentrant_buffer->_gethostent_errno;
+# endif
+#endif
+ STATUS_NATIVE_SET(h_errno);
+ }
#endif
if (GIMME != G_ARRAY) {
DIE(aTHX_ PL_no_sock_func, "getnetent");
#endif
+#ifdef HOST_NOT_FOUND
+ if (!nent) {
+#ifdef USE_REENTRANT_API
+# ifdef USE_GETNETENT_ERRNO
+ h_errno = PL_reentrant_buffer->_getnetent_errno;
+# endif
+#endif
+ STATUS_NATIVE_SET(h_errno);
+ }
+#endif
+
EXTEND(SP, 4);
if (GIMME != G_ARRAY) {
PUSHs(sv = sv_newmortal());
PERL_CALLCONV struct perl_thread* Perl_new_struct_thread(pTHX_ struct perl_thread *t);
#endif
#if defined(USE_REENTRANT_API)
+PERL_CALLCONV void Perl_reentrant_size(pTHX);
PERL_CALLCONV void Perl_reentrant_init(pTHX);
+PERL_CALLCONV void Perl_reentrant_free(pTHX);
#endif
PERL_CALLCONV void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
PERL_CALLCONV I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv);
--- /dev/null
+/*
+ * reentr.c
+ *
+ * Copyright (c) 1997-2002, Larry Wall
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by reentrl.pl from data in reentr.pl.
+ *
+ * "Saruman," I said, standing away from him, "only one hand at a time can
+ * wield the One, and you know that well, so do not trouble to say we!"
+ *
+ */
+
+#include "EXTERN.h"
+#define PERL_IN_REENTR_C
+#include "perl.h"
+#include "reentr.h"
+
+void
+Perl_reentrant_size(pTHX) {
+#ifdef USE_REENTRANT_API
+#ifdef HAS_ASCTIME_R
+ PL_reentrant_buffer->_asctime_size = 256; /* Make something up. */
+#endif /* HAS_ASCTIME_R */
+#ifdef HAS_CRYPT_R
+#endif /* HAS_CRYPT_R */
+#ifdef HAS_CTIME_R
+ PL_reentrant_buffer->_ctime_size = 256; /* Make something up. */
+#endif /* HAS_CTIME_R */
+#ifdef HAS_DRAND48_R
+#endif /* HAS_DRAND48_R */
+#ifdef HAS_GETGRNAM_R
+# if defined(HAS_SYSCONF) && defined(_SC_GETGR_R_SIZE_MAX) && !defined(__GLIBC__)
+ PL_reentrant_buffer->_getgrent_size = sysconf(_SC_GETGR_R_SIZE_MAX);
+# else
+# if defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
+ PL_reentrant_buffer->_getgrent_size = SIABUFSIZ;
+# else
+# ifdef __sgi
+ PL_reentrant_buffer->_getgrent_size = BUFSIZ;
+# else
+ PL_reentrant_buffer->_getgrent_size = 2048;
+# endif
+# endif
+# endif
+#endif /* HAS_GETGRNAM_R */
+#ifdef HAS_GETHOSTBYNAME_R
+#if !(GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD)
+ PL_reentrant_buffer->_gethostent_size = 2048; /* Any better ideas? */
+#endif
+#endif /* HAS_GETHOSTBYNAME_R */
+#ifdef HAS_GETLOGIN_R
+ PL_reentrant_buffer->_getlogin_size = 256; /* Make something up. */
+#endif /* HAS_GETLOGIN_R */
+#ifdef HAS_GETNETBYNAME_R
+#if !(GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD)
+ PL_reentrant_buffer->_getnetent_size = 2048; /* Any better ideas? */
+#endif
+#endif /* HAS_GETNETBYNAME_R */
+#ifdef HAS_GETPROTOBYNAME_R
+#if !(GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD)
+ PL_reentrant_buffer->_getprotoent_size = 2048; /* Any better ideas? */
+#endif
+#endif /* HAS_GETPROTOBYNAME_R */
+#ifdef HAS_GETPWNAM_R
+# if defined(HAS_SYSCONF) && defined(_SC_GETPW_R_SIZE_MAX) && !defined(__GLIBC__)
+ PL_reentrant_buffer->_getpwent_size = sysconf(_SC_GETPW_R_SIZE_MAX);
+# else
+# if defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
+ PL_reentrant_buffer->_getpwent_size = SIABUFSIZ;
+# else
+# ifdef __sgi
+ PL_reentrant_buffer->_getpwent_size = BUFSIZ;
+# else
+ PL_reentrant_buffer->_getpwent_size = 2048;
+# endif
+# endif
+# endif
+#endif /* HAS_GETPWNAM_R */
+#ifdef HAS_GETSERVBYNAME_R
+#if !(GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD)
+ PL_reentrant_buffer->_getservent_size = 2048; /* Any better ideas? */
+#endif
+#endif /* HAS_GETSERVBYNAME_R */
+#ifdef HAS_GETSPNAM_R
+ PL_reentrant_buffer->_getspent_size = 1024;
+#endif /* HAS_GETSPNAM_R */
+#ifdef HAS_GMTIME_R
+#endif /* HAS_GMTIME_R */
+#ifdef HAS_LOCALTIME_R
+#endif /* HAS_LOCALTIME_R */
+#ifdef HAS_RANDOM_R
+#endif /* HAS_RANDOM_R */
+#ifdef HAS_READDIR_R
+ /* This is the size Solaris recommends.
+ * (though we go static, should use pathconf() instead) */
+ PL_reentrant_buffer->_readdir_size = sizeof(struct dirent) + MAXPATHLEN + 1;
+#endif /* HAS_READDIR_R */
+#ifdef HAS_READDIR64_R
+ /* This is the size Solaris recommends.
+ * (though we go static, should use pathconf() instead) */
+ PL_reentrant_buffer->_readdir64_size = sizeof(struct dirent64) + MAXPATHLEN + 1;
+#endif /* HAS_READDIR64_R */
+#ifdef HAS_SETLOCALE_R
+ PL_reentrant_buffer->_setlocale_size = 256; /* Make something up. */
+#endif /* HAS_SETLOCALE_R */
+#ifdef HAS_STRERROR_R
+ PL_reentrant_buffer->_strerror_size = 256; /* Make something up. */
+#endif /* HAS_STRERROR_R */
+#ifdef HAS_TTYNAME_R
+ PL_reentrant_buffer->_ttyname_size = 256; /* Make something up. */
+#endif /* HAS_TTYNAME_R */
+
+#endif /* USE_REENTRANT_API */
+}
+
+void
+Perl_reentrant_init(pTHX) {
+#ifdef USE_REENTRANT_API
+ New(31337, PL_reentrant_buffer, 1, REENTR);
+ Perl_reentrant_size(aTHX);
+#ifdef HAS_ASCTIME_R
+ New(31338, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size, char);
+#endif /* HAS_ASCTIME_R */
+#ifdef HAS_CRYPT_R
+#ifdef __GLIBC__
+ PL_reentrant_buffer->_crypt_struct.initialized = 0;
+#endif
+#endif /* HAS_CRYPT_R */
+#ifdef HAS_CTIME_R
+ New(31338, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size, char);
+#endif /* HAS_CTIME_R */
+#ifdef HAS_DRAND48_R
+#endif /* HAS_DRAND48_R */
+#ifdef HAS_GETGRNAM_R
+# ifdef USE_GETGRENT_FPTR
+ PL_reentrant_buffer->_getgrent_fptr = NULL;
+# endif
+ New(31338, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size, char);
+#endif /* HAS_GETGRNAM_R */
+#ifdef HAS_GETHOSTBYNAME_R
+#if !(GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD)
+ New(31338, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, char);
+#endif
+#endif /* HAS_GETHOSTBYNAME_R */
+#ifdef HAS_GETLOGIN_R
+ New(31338, PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size, char);
+#endif /* HAS_GETLOGIN_R */
+#ifdef HAS_GETNETBYNAME_R
+#if !(GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD)
+ New(31338, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size, char);
+#endif
+#endif /* HAS_GETNETBYNAME_R */
+#ifdef HAS_GETPROTOBYNAME_R
+#if !(GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD)
+ New(31338, PL_reentrant_buffer->_getprotoent_buffer, PL_reentrant_buffer->_getprotoent_size, char);
+#endif
+#endif /* HAS_GETPROTOBYNAME_R */
+#ifdef HAS_GETPWNAM_R
+# ifdef USE_GETPWENT_FPTR
+ PL_reentrant_buffer->_getpwent_fptr = NULL;
+# endif
+ New(31338, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size, char);
+#endif /* HAS_GETPWNAM_R */
+#ifdef HAS_GETSERVBYNAME_R
+#if !(GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD)
+ New(31338, PL_reentrant_buffer->_getservent_buffer, PL_reentrant_buffer->_getservent_size, char);
+#endif
+#endif /* HAS_GETSERVBYNAME_R */
+#ifdef HAS_GETSPNAM_R
+ New(31338, PL_reentrant_buffer->_getspent_buffer, PL_reentrant_buffer->_getspent_size, char);
+#endif /* HAS_GETSPNAM_R */
+#ifdef HAS_GMTIME_R
+#endif /* HAS_GMTIME_R */
+#ifdef HAS_LOCALTIME_R
+#endif /* HAS_LOCALTIME_R */
+#ifdef HAS_RANDOM_R
+#endif /* HAS_RANDOM_R */
+#ifdef HAS_READDIR_R
+ PL_reentrant_buffer->_readdir_struct = (struct dirent*)safemalloc(PL_reentrant_buffer->_readdir_size);
+#endif /* HAS_READDIR_R */
+#ifdef HAS_READDIR64_R
+ PL_reentrant_buffer->_readdir64_struct = (struct dirent64*)safemalloc(PL_reentrant_buffer->_readdir64_size);
+#endif /* HAS_READDIR64_R */
+#ifdef HAS_SETLOCALE_R
+ New(31338, PL_reentrant_buffer->_setlocale_buffer, PL_reentrant_buffer->_setlocale_size, char);
+#endif /* HAS_SETLOCALE_R */
+#ifdef HAS_STRERROR_R
+ New(31338, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size, char);
+#endif /* HAS_STRERROR_R */
+#ifdef HAS_TTYNAME_R
+ New(31338, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size, char);
+#endif /* HAS_TTYNAME_R */
+
+#endif /* USE_REENTRANT_API */
+}
+
+void
+Perl_reentrant_free(pTHX) {
+#ifdef USE_REENTRANT_API
+#ifdef HAS_ASCTIME_R
+ Safefree(PL_reentrant_buffer->_asctime_buffer);
+#endif /* HAS_ASCTIME_R */
+#ifdef HAS_CRYPT_R
+#endif /* HAS_CRYPT_R */
+#ifdef HAS_CTIME_R
+ Safefree(PL_reentrant_buffer->_ctime_buffer);
+#endif /* HAS_CTIME_R */
+#ifdef HAS_DRAND48_R
+#endif /* HAS_DRAND48_R */
+#ifdef HAS_GETGRNAM_R
+ Safefree(PL_reentrant_buffer->_getgrent_buffer);
+#endif /* HAS_GETGRNAM_R */
+#ifdef HAS_GETHOSTBYNAME_R
+#if !(GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD)
+ Safefree(PL_reentrant_buffer->_gethostent_buffer);
+#endif
+#endif /* HAS_GETHOSTBYNAME_R */
+#ifdef HAS_GETLOGIN_R
+ Safefree(PL_reentrant_buffer->_getlogin_buffer);
+#endif /* HAS_GETLOGIN_R */
+#ifdef HAS_GETNETBYNAME_R
+#if !(GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD)
+ Safefree(PL_reentrant_buffer->_getnetent_buffer);
+#endif
+#endif /* HAS_GETNETBYNAME_R */
+#ifdef HAS_GETPROTOBYNAME_R
+#if !(GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD)
+ Safefree(PL_reentrant_buffer->_getprotoent_buffer);
+#endif
+#endif /* HAS_GETPROTOBYNAME_R */
+#ifdef HAS_GETPWNAM_R
+ Safefree(PL_reentrant_buffer->_getpwent_buffer);
+#endif /* HAS_GETPWNAM_R */
+#ifdef HAS_GETSERVBYNAME_R
+#if !(GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD)
+ Safefree(PL_reentrant_buffer->_getservent_buffer);
+#endif
+#endif /* HAS_GETSERVBYNAME_R */
+#ifdef HAS_GETSPNAM_R
+ Safefree(PL_reentrant_buffer->_getspent_buffer);
+#endif /* HAS_GETSPNAM_R */
+#ifdef HAS_GMTIME_R
+#endif /* HAS_GMTIME_R */
+#ifdef HAS_LOCALTIME_R
+#endif /* HAS_LOCALTIME_R */
+#ifdef HAS_RANDOM_R
+#endif /* HAS_RANDOM_R */
+#ifdef HAS_READDIR_R
+ Safefree(PL_reentrant_buffer->_readdir_struct);
+#endif /* HAS_READDIR_R */
+#ifdef HAS_READDIR64_R
+ Safefree(PL_reentrant_buffer->_readdir64_struct);
+#endif /* HAS_READDIR64_R */
+#ifdef HAS_SETLOCALE_R
+ Safefree(PL_reentrant_buffer->_setlocale_buffer);
+#endif /* HAS_SETLOCALE_R */
+#ifdef HAS_STRERROR_R
+ Safefree(PL_reentrant_buffer->_strerror_buffer);
+#endif /* HAS_STRERROR_R */
+#ifdef HAS_TTYNAME_R
+ Safefree(PL_reentrant_buffer->_ttyname_buffer);
+#endif /* HAS_TTYNAME_R */
+
+ Safefree(PL_reentrant_buffer);
+#endif /* USE_REENTRANT_API */
+}
+
--- /dev/null
+/*
+ * reentr.h
+ *
+ * Copyright (c) 1997-2002, Larry Wall
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by reentrl.pl from data in reentr.pl.
+ */
+
+#ifndef REENTR_H
+#define REENTR_H
+
+#ifdef USE_REENTRANT_API
+
+/* Deprecations: some platforms have the said reentrant interfaces
+ * but they are declared obsolete and are not to be used. Often this
+ * means that the platform has threadsafed the interfaces (hopefully).
+ * All this is OS version dependent, so we are of course fooling ourselves.
+ * If you know of more deprecations on some platforms, please add your own. */
+
+#ifdef __hpux
+# undef HAS_CRYPT_R
+# undef HAS_DRAND48_R
+# undef HAS_GETGRENT_R
+# undef HAS_GETPWENT_R
+# undef HAS_SETLOCALE_R
+# undef HAS_SRAND48_R
+# undef HAS_STRERROR_R
+# define NETDB_R_OBSOLETE
+#endif
+
+#if defined(__osf__) && defined(__alpha) /* Tru64 aka Digital UNIX */
+# undef HAS_CRYPT_R
+# undef HAS_STRERROR_R
+# define NETDB_R_OBSOLETE
+#endif
+
+#ifdef NETDB_R_OBSOLETE
+# undef HAS_ENDHOSTENT_R
+# undef HAS_ENDNETENT_R
+# undef HAS_ENDPROTOENT_R
+# undef HAS_ENDSERVENT_R
+# undef HAS_GETHOSTBYADDR_R
+# undef HAS_GETHOSTBYNAME_R
+# undef HAS_GETHOSTENT_R
+# undef HAS_GETNETBYADDR_R
+# undef HAS_GETNETBYNAME_R
+# undef HAS_GETNETENT_R
+# undef HAS_GETPROTOBYNAME_R
+# undef HAS_GETPROTOBYNUMBER_R
+# undef HAS_GETPROTOENT_R
+# undef HAS_GETSERVBYNAME_R
+# undef HAS_GETSERVBYPORT_R
+# undef HAS_GETSERVENT_R
+# undef HAS_SETHOSTENT_R
+# undef HAS_SETNETENT_R
+# undef HAS_SETPROTOENT_R
+# undef HAS_SETSERVENT_R
+#endif
+
+#ifdef I_PWD
+# include <pwd.h>
+#endif
+#ifdef I_GRP
+# include <grp.h>
+#endif
+#ifdef I_NETDB
+# include <netdb.h>
+#endif
+#ifdef I_STDLIB
+# include <stdlib.h> /* drand48_data */
+#endif
+#ifdef I_CRYPT
+# ifdef I_CRYPT
+# include <crypt.h>
+# endif
+#endif
+#ifdef HAS_GETSPNAM_R
+# ifdef I_SHADOW
+# include <shadow.h>
+# endif
+#endif
+
+#define REENTRANT_PROTO_B_B 1
+#define REENTRANT_PROTO_B_BI 2
+#define REENTRANT_PROTO_B_BW 3
+#define REENTRANT_PROTO_B_CCS 4
+#define REENTRANT_PROTO_B_IBI 5
+#define REENTRANT_PROTO_B_IBW 6
+#define REENTRANT_PROTO_B_SB 7
+#define REENTRANT_PROTO_B_SBI 8
+#define REENTRANT_PROTO_I_BI 9
+#define REENTRANT_PROTO_I_BW 10
+#define REENTRANT_PROTO_I_CCSBWR 11
+#define REENTRANT_PROTO_I_CCSD 12
+#define REENTRANT_PROTO_I_CII 13
+#define REENTRANT_PROTO_I_CIISD 14
+#define REENTRANT_PROTO_I_CSBI 15
+#define REENTRANT_PROTO_I_CSBIR 16
+#define REENTRANT_PROTO_I_CSBWR 17
+#define REENTRANT_PROTO_I_CSBWRE 18
+#define REENTRANT_PROTO_I_CSD 19
+#define REENTRANT_PROTO_I_CWISBWRE 20
+#define REENTRANT_PROTO_I_CWISD 21
+#define REENTRANT_PROTO_I_H 22
+#define REENTRANT_PROTO_I_IBI 23
+#define REENTRANT_PROTO_I_IBW 24
+#define REENTRANT_PROTO_I_ICBI 25
+#define REENTRANT_PROTO_I_ICSBWR 26
+#define REENTRANT_PROTO_I_ICSD 27
+#define REENTRANT_PROTO_I_ID 28
+#define REENTRANT_PROTO_I_IISD 29
+#define REENTRANT_PROTO_I_ISBWR 30
+#define REENTRANT_PROTO_I_ISD 31
+#define REENTRANT_PROTO_I_LISBI 32
+#define REENTRANT_PROTO_I_LISD 33
+#define REENTRANT_PROTO_I_LS 34
+#define REENTRANT_PROTO_I_S 35
+#define REENTRANT_PROTO_I_SB 36
+#define REENTRANT_PROTO_I_SBI 37
+#define REENTRANT_PROTO_I_SBIE 38
+#define REENTRANT_PROTO_I_SBIH 39
+#define REENTRANT_PROTO_I_SBIR 40
+#define REENTRANT_PROTO_I_SBWR 41
+#define REENTRANT_PROTO_I_SBWRE 42
+#define REENTRANT_PROTO_I_SD 43
+#define REENTRANT_PROTO_I_ST 44
+#define REENTRANT_PROTO_I_TISD 45
+#define REENTRANT_PROTO_I_TS 46
+#define REENTRANT_PROTO_I_TSBI 47
+#define REENTRANT_PROTO_I_TSBIR 48
+#define REENTRANT_PROTO_I_TSBWR 49
+#define REENTRANT_PROTO_I_TSR 50
+#define REENTRANT_PROTO_I_UISBWRE 51
+#define REENTRANT_PROTO_S_CBI 52
+#define REENTRANT_PROTO_S_CCSBI 53
+#define REENTRANT_PROTO_S_CIISBIE 54
+#define REENTRANT_PROTO_S_CSBI 55
+#define REENTRANT_PROTO_S_CSBIE 56
+#define REENTRANT_PROTO_S_CWISBIE 57
+#define REENTRANT_PROTO_S_CWISBWIE 58
+#define REENTRANT_PROTO_S_ICSBI 59
+#define REENTRANT_PROTO_S_ISBI 60
+#define REENTRANT_PROTO_S_LISBI 61
+#define REENTRANT_PROTO_S_SBI 62
+#define REENTRANT_PROTO_S_SBIE 63
+#define REENTRANT_PROTO_S_SBW 64
+#define REENTRANT_PROTO_S_TISBI 65
+#define REENTRANT_PROTO_S_TS 66
+#define REENTRANT_PROTO_S_TSBI 67
+#define REENTRANT_PROTO_S_TSBIE 68
+#define REENTRANT_PROTO_S_TWISBIE 69
+#define REENTRANT_PROTO_V_H 70
+#define REENTRANT_PROTO_V_ID 71
+#define REENTRANT_PROTO_V_S 72
+
+/* Defines for indicating which special features are supported. */
+
+/* The getgrent getgrgid getgrnam using ptr? */
+
+#if (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR)
+# define GETGRENT_R_HAS_PTR
+#else
+# undef GETGRENT_R_HAS_PTR
+#endif
+#if (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR)
+# define GETGRGID_R_HAS_PTR
+#else
+# undef GETGRGID_R_HAS_PTR
+#endif
+#if (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR)
+# define GETGRNAM_R_HAS_PTR
+#else
+# undef GETGRNAM_R_HAS_PTR
+#endif
+
+/* Any of the getgrent getgrgid getgrnam using ptr? */
+
+#if (defined(GETGRENT_R_HAS_PTR) || defined(GETGRGID_R_HAS_PTR) || defined(GETGRNAM_R_HAS_PTR))
+# define USE_GETGRENT_PTR
+#else
+# undef USE_GETGRENT_PTR
+#endif
+
+/* The getpwent getpwnam getpwuid using ptr? */
+
+#if (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR)
+# define GETPWENT_R_HAS_PTR
+#else
+# undef GETPWENT_R_HAS_PTR
+#endif
+#if (GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR)
+# define GETPWNAM_R_HAS_PTR
+#else
+# undef GETPWNAM_R_HAS_PTR
+#endif
+#if (GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR)
+# define GETPWUID_R_HAS_PTR
+#else
+# undef GETPWUID_R_HAS_PTR
+#endif
+
+/* Any of the getpwent getpwnam getpwuid using ptr? */
+
+#if (defined(GETPWENT_R_HAS_PTR) || defined(GETPWNAM_R_HAS_PTR) || defined(GETPWUID_R_HAS_PTR))
+# define USE_GETPWENT_PTR
+#else
+# undef USE_GETPWENT_PTR
+#endif
+
+/* The getspent getspnam using ptr? */
+
+#if (GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR)
+# define GETSPNAM_R_HAS_PTR
+#else
+# undef GETSPNAM_R_HAS_PTR
+#endif
+
+/* Any of the getspent getspnam using ptr? */
+
+#if (defined(GETSPENT_R_HAS_PTR) || defined(GETSPNAM_R_HAS_PTR))
+# define USE_GETSPENT_PTR
+#else
+# undef USE_GETSPENT_PTR
+#endif
+
+/* The getgrent getgrgid getgrnam using fptr? */
+
+#if (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH)
+# define GETGRENT_R_HAS_FPTR
+#else
+# undef GETGRENT_R_HAS_FPTR
+#endif
+
+/* Any of the getgrent getgrgid getgrnam using fptr? */
+
+#if (defined(GETGRENT_R_HAS_FPTR) || defined(GETGRGID_R_HAS_FPTR) || defined(GETGRNAM_R_HAS_FPTR))
+# define USE_GETGRENT_FPTR
+#else
+# undef USE_GETGRENT_FPTR
+#endif
+
+/* The getpwent getpwnam getpwuid using fptr? */
+
+#if (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH)
+# define GETPWENT_R_HAS_FPTR
+#else
+# undef GETPWENT_R_HAS_FPTR
+#endif
+
+/* Any of the getpwent getpwnam getpwuid using fptr? */
+
+#if (defined(GETPWENT_R_HAS_FPTR) || defined(GETPWNAM_R_HAS_FPTR) || defined(GETPWUID_R_HAS_FPTR))
+# define USE_GETPWENT_FPTR
+#else
+# undef USE_GETPWENT_FPTR
+#endif
+
+/* The gethostent gethostbyaddr gethostbyname using ptr? */
+
+#if (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE)
+# define GETHOSTENT_R_HAS_PTR
+#else
+# undef GETHOSTENT_R_HAS_PTR
+#endif
+#if (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE)
+# define GETHOSTBYADDR_R_HAS_PTR
+#else
+# undef GETHOSTBYADDR_R_HAS_PTR
+#endif
+#if (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE)
+# define GETHOSTBYNAME_R_HAS_PTR
+#else
+# undef GETHOSTBYNAME_R_HAS_PTR
+#endif
+
+/* Any of the gethostent gethostbyaddr gethostbyname using ptr? */
+
+#if (defined(GETHOSTENT_R_HAS_PTR) || defined(GETHOSTBYADDR_R_HAS_PTR) || defined(GETHOSTBYNAME_R_HAS_PTR))
+# define USE_GETHOSTENT_PTR
+#else
+# undef USE_GETHOSTENT_PTR
+#endif
+
+/* The getnetent getnetbyaddr getnetbyname using ptr? */
+
+#if (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE)
+# define GETNETENT_R_HAS_PTR
+#else
+# undef GETNETENT_R_HAS_PTR
+#endif
+#if (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE)
+# define GETNETBYADDR_R_HAS_PTR
+#else
+# undef GETNETBYADDR_R_HAS_PTR
+#endif
+#if (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE)
+# define GETNETBYNAME_R_HAS_PTR
+#else
+# undef GETNETBYNAME_R_HAS_PTR
+#endif
+
+/* Any of the getnetent getnetbyaddr getnetbyname using ptr? */
+
+#if (defined(GETNETENT_R_HAS_PTR) || defined(GETNETBYADDR_R_HAS_PTR) || defined(GETNETBYNAME_R_HAS_PTR))
+# define USE_GETNETENT_PTR
+#else
+# undef USE_GETNETENT_PTR
+#endif
+
+/* The getprotoent getprotobyname getprotobynumber using ptr? */
+
+#if (GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR)
+# define GETPROTOENT_R_HAS_PTR
+#else
+# undef GETPROTOENT_R_HAS_PTR
+#endif
+#if (GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR)
+# define GETPROTOBYNAME_R_HAS_PTR
+#else
+# undef GETPROTOBYNAME_R_HAS_PTR
+#endif
+#if (GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR)
+# define GETPROTOBYNUMBER_R_HAS_PTR
+#else
+# undef GETPROTOBYNUMBER_R_HAS_PTR
+#endif
+
+/* Any of the getprotoent getprotobyname getprotobynumber using ptr? */
+
+#if (defined(GETPROTOENT_R_HAS_PTR) || defined(GETPROTOBYNAME_R_HAS_PTR) || defined(GETPROTOBYNUMBER_R_HAS_PTR))
+# define USE_GETPROTOENT_PTR
+#else
+# undef USE_GETPROTOENT_PTR
+#endif
+
+/* The getservent getservbyname getservbyport using ptr? */
+
+#if (GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR)
+# define GETSERVENT_R_HAS_PTR
+#else
+# undef GETSERVENT_R_HAS_PTR
+#endif
+#if (GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR)
+# define GETSERVBYNAME_R_HAS_PTR
+#else
+# undef GETSERVBYNAME_R_HAS_PTR
+#endif
+#if (GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR)
+# define GETSERVBYPORT_R_HAS_PTR
+#else
+# undef GETSERVBYPORT_R_HAS_PTR
+#endif
+
+/* Any of the getservent getservbyname getservbyport using ptr? */
+
+#if (defined(GETSERVENT_R_HAS_PTR) || defined(GETSERVBYNAME_R_HAS_PTR) || defined(GETSERVBYPORT_R_HAS_PTR))
+# define USE_GETSERVENT_PTR
+#else
+# undef USE_GETSERVENT_PTR
+#endif
+
+/* The gethostent gethostbyaddr gethostbyname using errno? */
+
+#if (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE)
+# define GETHOSTENT_R_HAS_ERRNO
+#else
+# undef GETHOSTENT_R_HAS_ERRNO
+#endif
+#if (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE)
+# define GETHOSTBYADDR_R_HAS_ERRNO
+#else
+# undef GETHOSTBYADDR_R_HAS_ERRNO
+#endif
+#if (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE)
+# define GETHOSTBYNAME_R_HAS_ERRNO
+#else
+# undef GETHOSTBYNAME_R_HAS_ERRNO
+#endif
+
+/* Any of the gethostent gethostbyaddr gethostbyname using errno? */
+
+#if (defined(GETHOSTENT_R_HAS_ERRNO) || defined(GETHOSTBYADDR_R_HAS_ERRNO) || defined(GETHOSTBYNAME_R_HAS_ERRNO))
+# define USE_GETHOSTENT_ERRNO
+#else
+# undef USE_GETHOSTENT_ERRNO
+#endif
+
+/* The getnetent getnetbyaddr getnetbyname using errno? */
+
+#if (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE)
+# define GETNETENT_R_HAS_ERRNO
+#else
+# undef GETNETENT_R_HAS_ERRNO
+#endif
+#if (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE)
+# define GETNETBYADDR_R_HAS_ERRNO
+#else
+# undef GETNETBYADDR_R_HAS_ERRNO
+#endif
+#if (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE)
+# define GETNETBYNAME_R_HAS_ERRNO
+#else
+# undef GETNETBYNAME_R_HAS_ERRNO
+#endif
+
+/* Any of the getnetent getnetbyaddr getnetbyname using errno? */
+
+#if (defined(GETNETENT_R_HAS_ERRNO) || defined(GETNETBYADDR_R_HAS_ERRNO) || defined(GETNETBYNAME_R_HAS_ERRNO))
+# define USE_GETNETENT_ERRNO
+#else
+# undef USE_GETNETENT_ERRNO
+#endif
+
+
+typedef struct {
+#ifdef HAS_ASCTIME_R
+ char* _asctime_buffer;
+ size_t _asctime_size;
+#endif /* HAS_ASCTIME_R */
+#ifdef HAS_CRYPT_R
+ struct crypt_data _crypt_struct;
+#endif /* HAS_CRYPT_R */
+#ifdef HAS_CTIME_R
+ char* _ctime_buffer;
+ size_t _ctime_size;
+#endif /* HAS_CTIME_R */
+#ifdef HAS_DRAND48_R
+ struct drand48_data _drand48_struct;
+ double _drand48_double;
+#endif /* HAS_DRAND48_R */
+#ifdef HAS_GETGRNAM_R
+ struct group _getgrent_struct;
+ char* _getgrent_buffer;
+ size_t _getgrent_size;
+# ifdef USE_GETGRENT_PTR
+ struct group* _getgrent_ptr;
+# endif
+# ifdef USE_GETGRENT_FPTR
+ FILE* _getgrent_fptr;
+# endif
+#endif /* HAS_GETGRNAM_R */
+#ifdef HAS_GETHOSTBYNAME_R
+ struct hostent _gethostent_struct;
+# if GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
+ struct hostent_data* _gethostent_data;
+# else
+ char* _gethostent_buffer;
+ size_t _gethostent_size;
+# endif
+# ifdef USE_GETHOSTENT_PTR
+ struct hostent* _gethostent_ptr;
+# endif
+# ifdef USE_GETHOSTENT_ERRNO
+ int _gethostent_errno;
+# endif
+#endif /* HAS_GETHOSTBYNAME_R */
+#ifdef HAS_GETLOGIN_R
+ char* _getlogin_buffer;
+ size_t _getlogin_size;
+#endif /* HAS_GETLOGIN_R */
+#ifdef HAS_GETNETBYNAME_R
+ struct netent _getnetent_struct;
+# if GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
+ struct netent_data* _getnetent_data;
+# else
+ char* _getnetent_buffer;
+ size_t _getnetent_size;
+# endif
+# ifdef USE_GETNETENT_PTR
+ struct netent* _getnetent_ptr;
+# endif
+# ifdef USE_GETNETENT_ERRNO
+ int _getnetent_errno;
+# endif
+#endif /* HAS_GETNETBYNAME_R */
+#ifdef HAS_GETPROTOBYNAME_R
+ struct protoent _getprotoent_struct;
+# if GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
+ struct protoent_data* _getprotoent_data;
+# else
+ char* _getprotoent_buffer;
+ size_t _getprotoent_size;
+# endif
+# ifdef USE_GETPROTOENT_PTR
+ struct protoent* _getprotoent_ptr;
+# endif
+# ifdef USE_GETPROTOENT_ERRNO
+ int _getprotoent_errno;
+# endif
+#endif /* HAS_GETPROTOBYNAME_R */
+#ifdef HAS_GETPWNAM_R
+ struct passwd _getpwent_struct;
+ char* _getpwent_buffer;
+ size_t _getpwent_size;
+# ifdef USE_GETPWENT_PTR
+ struct passwd* _getpwent_ptr;
+# endif
+# ifdef USE_GETPWENT_FPTR
+ FILE* _getpwent_fptr;
+# endif
+#endif /* HAS_GETPWNAM_R */
+#ifdef HAS_GETSERVBYNAME_R
+ struct servent _getservent_struct;
+# if GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD
+ struct servent_data* _getservent_data;
+# else
+ char* _getservent_buffer;
+ size_t _getservent_size;
+# endif
+# ifdef USE_GETSERVENT_PTR
+ struct servent* _getservent_ptr;
+# endif
+# ifdef USE_GETSERVENT_ERRNO
+ int _getservent_errno;
+# endif
+#endif /* HAS_GETSERVBYNAME_R */
+#ifdef HAS_GETSPNAM_R
+ struct spwd _getspent_struct;
+ char* _getspent_buffer;
+ size_t _getspent_size;
+# ifdef USE_GETSPENT_PTR
+ struct spwd* _getspent_ptr;
+# endif
+#endif /* HAS_GETSPNAM_R */
+#ifdef HAS_GMTIME_R
+ struct tm _gmtime_struct;
+#endif /* HAS_GMTIME_R */
+#ifdef HAS_LOCALTIME_R
+ struct tm _localtime_struct;
+#endif /* HAS_LOCALTIME_R */
+#ifdef HAS_RANDOM_R
+ struct random_data _random_struct;
+#endif /* HAS_RANDOM_R */
+#ifdef HAS_READDIR_R
+ struct dirent* _readdir_struct;
+ size_t _readdir_size;
+# if READDIR_R_PROTO == REENTRANT_PROTO_I_TSR
+ struct dirent* _readdir_ptr;
+# endif
+#endif /* HAS_READDIR_R */
+#ifdef HAS_READDIR64_R
+ struct dirent64* _readdir64_struct;
+ size_t _readdir64_size;
+# if READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR
+ struct dirent64* _readdir64_ptr;
+# endif
+#endif /* HAS_READDIR64_R */
+#ifdef HAS_SETLOCALE_R
+ char* _setlocale_buffer;
+ size_t _setlocale_size;
+#endif /* HAS_SETLOCALE_R */
+#ifdef HAS_STRERROR_R
+ char* _strerror_buffer;
+ size_t _strerror_size;
+#endif /* HAS_STRERROR_R */
+#ifdef HAS_TTYNAME_R
+ char* _ttyname_buffer;
+ size_t _ttyname_size;
+#endif /* HAS_TTYNAME_R */
+
+} REENTR;
+
+/* The wrappers. */
+
+#ifdef HAS_ASCTIME_R
+# undef asctime
+# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SB
+# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer)
+# endif
+# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SBI
+# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size)
+# endif
+# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SB
+# define asctime(a) (((errno = asctime_r(a, PL_reentrant_buffer->_asctime_buffer))) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
+# endif
+# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SBI
+# define asctime(a) (((errno = asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size))) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
+# endif
+#endif /* HAS_ASCTIME_R */
+
+#ifdef HAS_CRYPT_R
+# undef crypt
+# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCS
+# define crypt(a, b) crypt_r(a, b, &PL_reentrant_buffer->_crypt_struct)
+# endif
+#endif /* HAS_CRYPT_R */
+
+#ifdef HAS_CTERMID_R
+# undef ctermid
+# if !defined(ctermid) && CTERMID_R_PROTO == REENTRANT_PROTO_B_B
+# define ctermid(a) ctermid_r(a)
+# endif
+#endif /* HAS_CTERMID_R */
+
+#ifdef HAS_CTIME_R
+# undef ctime
+# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SB
+# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer)
+# endif
+# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SBI
+# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size)
+# endif
+# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SB
+# define ctime(a) (((errno = ctime_r(a, PL_reentrant_buffer->_ctime_buffer))) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
+# endif
+# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SBI
+# define ctime(a) (((errno = ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size))) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
+# endif
+#endif /* HAS_CTIME_R */
+
+#ifdef HAS_DRAND48_R
+# undef drand48
+# if !defined(drand48) && DRAND48_R_PROTO == REENTRANT_PROTO_I_ST
+# define drand48() (((errno = drand48_r(&PL_reentrant_buffer->_drand48_struct, &PL_reentrant_buffer->_drand48_double))) == 0 ? PL_reentrant_buffer->_drand48_double : 0)
+# endif
+#endif /* HAS_DRAND48_R */
+
+#ifdef HAS_ENDGRENT_R
+# undef endgrent
+# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H
+# define endgrent() (((errno = endgrent_r(&PL_reentrant_buffer->_getgrent_fptr))) == 0 ? 1 : 0)
+# endif
+# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H
+# define endgrent() endgrent_r(&PL_reentrant_buffer->_getgrent_fptr)
+# endif
+#endif /* HAS_ENDGRENT_R */
+
+#ifdef HAS_ENDHOSTENT_R
+# undef endhostent
+# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_I_S
+# define endhostent() (((errno = endhostent_r(&PL_reentrant_buffer->_gethostent_struct))) == 0 ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_V_S
+# define endhostent() endhostent_r(&PL_reentrant_buffer->_gethostent_struct)
+# endif
+#endif /* HAS_ENDHOSTENT_R */
+
+#ifdef HAS_ENDNETENT_R
+# undef endnetent
+# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_I_S
+# define endnetent() (((errno = endnetent_r(&PL_reentrant_buffer->_getnetent_struct))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_V_S
+# define endnetent() endnetent_r(&PL_reentrant_buffer->_getnetent_struct)
+# endif
+#endif /* HAS_ENDNETENT_R */
+
+#ifdef HAS_ENDPROTOENT_R
+# undef endprotoent
+# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_I_S
+# define endprotoent() (((errno = endprotoent_r(&PL_reentrant_buffer->_getprotoent_struct))) == 0 ? &PL_reentrant_buffer->_getprotoent_struct : 0)
+# endif
+# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_V_S
+# define endprotoent() endprotoent_r(&PL_reentrant_buffer->_getprotoent_struct)
+# endif
+#endif /* HAS_ENDPROTOENT_R */
+
+#ifdef HAS_ENDPWENT_R
+# undef endpwent
+# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H
+# define endpwent() (((errno = endpwent_r(&PL_reentrant_buffer->_getpwent_fptr))) == 0 ? 1 : 0)
+# endif
+# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H
+# define endpwent() endpwent_r(&PL_reentrant_buffer->_getpwent_fptr)
+# endif
+#endif /* HAS_ENDPWENT_R */
+
+#ifdef HAS_ENDSERVENT_R
+# undef endservent
+# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_I_S
+# define endservent() (((errno = endservent_r(&PL_reentrant_buffer->_getservent_struct))) == 0 ? &PL_reentrant_buffer->_getservent_struct : 0)
+# endif
+# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_V_S
+# define endservent() endservent_r(&PL_reentrant_buffer->_getservent_struct)
+# endif
+#endif /* HAS_ENDSERVENT_R */
+
+#ifdef HAS_GETGRENT_R
+# undef getgrent
+# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR
+# define getgrent() (((errno = getgrent_r(&PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size, &PL_reentrant_buffer->_getgrent_ptr))) == 0 ? PL_reentrant_buffer->_getgrent_ptr : 0)
+# endif
+# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR
+# define getgrent() (((errno = getgrent_r(&PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size, &PL_reentrant_buffer->_getgrent_ptr))) == 0 ? PL_reentrant_buffer->_getgrent_ptr : 0)
+# endif
+# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW
+# define getgrent() (getgrent_r(&PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size) ? &PL_reentrant_buffer->_getgrent_struct : 0)
+# endif
+# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI
+# define getgrent() (getgrent_r(&PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size) ? &PL_reentrant_buffer->_getgrent_struct : 0)
+# endif
+# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI
+# define getgrent() (((errno = getgrent_r(&PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size))) == 0 ? &PL_reentrant_buffer->_getgrent_struct : 0)
+# endif
+# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH
+# define getgrent() (((errno = getgrent_r(&PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size, &PL_reentrant_buffer->_getgrent_fptr))) == 0 ? &PL_reentrant_buffer->_getgrent_struct : 0)
+# endif
+#endif /* HAS_GETGRENT_R */
+
+#ifdef HAS_GETGRGID_R
+# undef getgrgid
+# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR
+# define getgrgid(a) (((errno = getgrgid_r(a, &PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size, &PL_reentrant_buffer->_getgrent_ptr))) == 0 ? PL_reentrant_buffer->_getgrent_ptr : 0)
+# endif
+# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR
+# define getgrgid(a) (((errno = getgrgid_r(a, &PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size, &PL_reentrant_buffer->_getgrent_ptr))) == 0 ? PL_reentrant_buffer->_getgrent_ptr : 0)
+# endif
+# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI
+# define getgrgid(a) (((errno = getgrgid_r(a, &PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size))) == 0 ? &PL_reentrant_buffer->_getgrent_struct : 0)
+# endif
+# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI
+# define getgrgid(a) (getgrgid_r(a, &PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size) ? &PL_reentrant_buffer->_getgrent_struct : 0)
+# endif
+#endif /* HAS_GETGRGID_R */
+
+#ifdef HAS_GETGRNAM_R
+# undef getgrnam
+# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
+# define getgrnam(a) (((errno = getgrnam_r(a, &PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size, &PL_reentrant_buffer->_getgrent_ptr))) == 0 ? PL_reentrant_buffer->_getgrent_ptr : 0)
+# endif
+# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
+# define getgrnam(a) (((errno = getgrnam_r(a, &PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size, &PL_reentrant_buffer->_getgrent_ptr))) == 0 ? PL_reentrant_buffer->_getgrent_ptr : 0)
+# endif
+# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI
+# define getgrnam(a) (getgrnam_r(a, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size) ? PL_reentrant_buffer->_getgrent_buffer : 0)
+# endif
+# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
+# define getgrnam(a) (((errno = getgrnam_r(a, &PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size))) == 0 ? &PL_reentrant_buffer->_getgrent_struct : 0)
+# endif
+# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
+# define getgrnam(a) (getgrnam_r(a, &PL_reentrant_buffer->_getgrent_struct, PL_reentrant_buffer->_getgrent_buffer, PL_reentrant_buffer->_getgrent_size) ? &PL_reentrant_buffer->_getgrent_struct : 0)
+# endif
+#endif /* HAS_GETGRNAM_R */
+
+#ifdef HAS_GETHOSTBYADDR_R
+# undef gethostbyaddr
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE
+# define gethostbyaddr(a, b, c) (((errno = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_ptr, &PL_reentrant_buffer->_gethostent_errno))) == 0 ? PL_reentrant_buffer->_gethostent_ptr : 0)
+# endif
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE
+# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_errno) ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE
+# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_errno) ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE
+# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_errno) ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE
+# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_errno) ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE
+# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_errno) ? 1 : 0)
+# endif
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE
+# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_errno) ? 1 : 0)
+# endif
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD
+# define gethostbyaddr(a, b, c) (((errno = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_gethostent_struct, &PL_reentrant_buffer->_gethostent_data))) == 0 ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD
+# define gethostbyaddr(a, b, c) (((errno = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_gethostent_struct, &PL_reentrant_buffer->_gethostent_data))) == 0 ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII
+# define gethostbyaddr(a, b, c) (((errno = gethostbyaddr_r(a, b, c))) == 0 ? 1 : 0)
+# endif
+#endif /* HAS_GETHOSTBYADDR_R */
+
+#ifdef HAS_GETHOSTBYNAME_R
+# undef gethostbyname
+# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
+# define gethostbyname(a) (((errno = gethostbyname_r(a, &PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_ptr, &PL_reentrant_buffer->_gethostent_errno))) == 0 ? PL_reentrant_buffer->_gethostent_ptr : 0)
+# endif
+# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE
+# define gethostbyname(a) (gethostbyname_r(a, &PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_errno) ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
+# define gethostbyname(a) (((errno = gethostbyname_r(a, &PL_reentrant_buffer->_gethostent_struct, &PL_reentrant_buffer->_gethostent_data))) == 0 ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+#endif /* HAS_GETHOSTBYNAME_R */
+
+#ifdef HAS_GETHOSTENT_R
+# undef gethostent
+# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
+# define gethostent() (((errno = gethostent_r(&PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_ptr, &PL_reentrant_buffer->_gethostent_errno))) == 0 ? PL_reentrant_buffer->_gethostent_ptr : 0)
+# endif
+# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE
+# define gethostent() (((errno = gethostent_r(&PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_errno))) == 0 ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE
+# define gethostent() (gethostent_r(&PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size, &PL_reentrant_buffer->_gethostent_errno) ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI
+# define gethostent() (gethostent_r(&PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size) ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI
+# define gethostent() (((errno = gethostent_r(&PL_reentrant_buffer->_gethostent_struct, PL_reentrant_buffer->_gethostent_buffer, PL_reentrant_buffer->_gethostent_size))) == 0 ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD
+# define gethostent() (((errno = gethostent_r(&PL_reentrant_buffer->_gethostent_struct, &PL_reentrant_buffer->_gethostent_data))) == 0 ? &PL_reentrant_buffer->_gethostent_struct : 0)
+# endif
+#endif /* HAS_GETHOSTENT_R */
+
+#ifdef HAS_GETLOGIN_R
+# undef getlogin
+# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW
+# define getlogin() (((errno = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size))) == 0 ? PL_reentrant_buffer->_getlogin_buffer : 0)
+# endif
+# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI
+# define getlogin() (((errno = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size))) == 0 ? PL_reentrant_buffer->_getlogin_buffer : 0)
+# endif
+# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BW
+# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)
+# endif
+# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BI
+# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)
+# endif
+#endif /* HAS_GETLOGIN_R */
+
+#ifdef HAS_GETNETBYADDR_R
+# undef getnetbyaddr
+# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE
+# define getnetbyaddr(a, b) (((errno = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size, &PL_reentrant_buffer->_getnetent_ptr, &PL_reentrant_buffer->_getnetent_errno))) == 0 ? PL_reentrant_buffer->_getnetent_ptr : 0)
+# endif
+# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI
+# define getnetbyaddr(a, b) (((errno = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI
+# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size) ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI
+# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size) ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD
+# define getnetbyaddr(a, b) (((errno = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_getnetent_struct, &PL_reentrant_buffer->_getnetent_data))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD
+# define getnetbyaddr(a, b) (((errno = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_getnetent_struct, &PL_reentrant_buffer->_getnetent_data))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD
+# define getnetbyaddr(a, b) (((errno = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_getnetent_struct, &PL_reentrant_buffer->_getnetent_data))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+#endif /* HAS_GETNETBYADDR_R */
+
+#ifdef HAS_GETNETBYNAME_R
+# undef getnetbyname
+# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
+# define getnetbyname(a) (((errno = getnetbyname_r(a, &PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size, &PL_reentrant_buffer->_getnetent_ptr, &PL_reentrant_buffer->_getnetent_errno))) == 0 ? PL_reentrant_buffer->_getnetent_ptr : 0)
+# endif
+# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI
+# define getnetbyname(a) (((errno = getnetbyname_r(a, &PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
+# define getnetbyname(a) (getnetbyname_r(a, &PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size) ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
+# define getnetbyname(a) (((errno = getnetbyname_r(a, &PL_reentrant_buffer->_getnetent_struct, &PL_reentrant_buffer->_getnetent_data))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+#endif /* HAS_GETNETBYNAME_R */
+
+#ifdef HAS_GETNETENT_R
+# undef getnetent
+# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
+# define getnetent() (((errno = getnetent_r(&PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size, &PL_reentrant_buffer->_getnetent_ptr, &PL_reentrant_buffer->_getnetent_errno))) == 0 ? PL_reentrant_buffer->_getnetent_ptr : 0)
+# endif
+# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE
+# define getnetent() (((errno = getnetent_r(&PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size, &PL_reentrant_buffer->_getnetent_errno))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE
+# define getnetent() (getnetent_r(&PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size, &PL_reentrant_buffer->_getnetent_errno) ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI
+# define getnetent() (getnetent_r(&PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size) ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI
+# define getnetent() (((errno = getnetent_r(&PL_reentrant_buffer->_getnetent_struct, PL_reentrant_buffer->_getnetent_buffer, PL_reentrant_buffer->_getnetent_size))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD
+# define getnetent() (((errno = getnetent_r(&PL_reentrant_buffer->_getnetent_struct, &PL_reentrant_buffer->_getnetent_data))) == 0 ? &PL_reentrant_buffer->_getnetent_struct : 0)
+# endif
+#endif /* HAS_GETNETENT_R */
+
+#ifdef HAS_GETPROTOBYNAME_R
+# undef getprotobyname
+# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR
+# define getprotobyname(a) (((errno = getprotobyname_r(a, &PL_reentrant_buffer->_getprotoent_struct, PL_reentrant_buffer->_getprotoent_buffer, PL_reentrant_buffer->_getprotoent_size, &PL_reentrant_buffer->_getprotoent_ptr))) == 0 ? PL_reentrant_buffer->_getprotoent_ptr : 0)
+# endif
+# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
+# define getprotobyname(a) (getprotobyname_r(a, &PL_reentrant_buffer->_getprotoent_struct, PL_reentrant_buffer->_getprotoent_buffer, PL_reentrant_buffer->_getprotoent_size) ? &PL_reentrant_buffer->_getprotoent_struct : 0)
+# endif
+# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
+# define getprotobyname(a) (((errno = getprotobyname_r(a, &PL_reentrant_buffer->_getprotoent_struct, &PL_reentrant_buffer->_getprotoent_data))) == 0 ? &PL_reentrant_buffer->_getprotoent_struct : 0)
+# endif
+#endif /* HAS_GETPROTOBYNAME_R */
+
+#ifdef HAS_GETPROTOBYNUMBER_R
+# undef getprotobynumber
+# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR
+# define getprotobynumber(a) (((errno = getprotobynumber_r(a, &PL_reentrant_buffer->_getprotoent_struct, PL_reentrant_buffer->_getprotoent_buffer, PL_reentrant_buffer->_getprotoent_size, &PL_reentrant_buffer->_getprotoent_ptr))) == 0 ? PL_reentrant_buffer->_getprotoent_ptr : 0)
+# endif
+# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI
+# define getprotobynumber(a) (getprotobynumber_r(a, &PL_reentrant_buffer->_getprotoent_struct, PL_reentrant_buffer->_getprotoent_buffer, PL_reentrant_buffer->_getprotoent_size) ? &PL_reentrant_buffer->_getprotoent_struct : 0)
+# endif
+# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD
+# define getprotobynumber(a) (((errno = getprotobynumber_r(a, &PL_reentrant_buffer->_getprotoent_struct, &PL_reentrant_buffer->_getprotoent_data))) == 0 ? &PL_reentrant_buffer->_getprotoent_struct : 0)
+# endif
+#endif /* HAS_GETPROTOBYNUMBER_R */
+
+#ifdef HAS_GETPROTOENT_R
+# undef getprotoent
+# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR
+# define getprotoent() (((errno = getprotoent_r(&PL_reentrant_buffer->_getprotoent_struct, PL_reentrant_buffer->_getprotoent_buffer, PL_reentrant_buffer->_getprotoent_size, &PL_reentrant_buffer->_getprotoent_ptr))) == 0 ? PL_reentrant_buffer->_getprotoent_ptr : 0)
+# endif
+# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI
+# define getprotoent() (((errno = getprotoent_r(&PL_reentrant_buffer->_getprotoent_struct, PL_reentrant_buffer->_getprotoent_buffer, PL_reentrant_buffer->_getprotoent_size))) == 0 ? &PL_reentrant_buffer->_getprotoent_struct : 0)
+# endif
+# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI
+# define getprotoent() (getprotoent_r(&PL_reentrant_buffer->_getprotoent_struct, PL_reentrant_buffer->_getprotoent_buffer, PL_reentrant_buffer->_getprotoent_size) ? &PL_reentrant_buffer->_getprotoent_struct : 0)
+# endif
+# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD
+# define getprotoent() (((errno = getprotoent_r(&PL_reentrant_buffer->_getprotoent_struct, &PL_reentrant_buffer->_getprotoent_data))) == 0 ? &PL_reentrant_buffer->_getprotoent_struct : 0)
+# endif
+#endif /* HAS_GETPROTOENT_R */
+
+#ifdef HAS_GETPWENT_R
+# undef getpwent
+# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR
+# define getpwent() (((errno = getpwent_r(&PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size, &PL_reentrant_buffer->_getpwent_ptr))) == 0 ? PL_reentrant_buffer->_getpwent_ptr : 0)
+# endif
+# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR
+# define getpwent() (((errno = getpwent_r(&PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size, &PL_reentrant_buffer->_getpwent_ptr))) == 0 ? PL_reentrant_buffer->_getpwent_ptr : 0)
+# endif
+# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW
+# define getpwent() (getpwent_r(&PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size) ? &PL_reentrant_buffer->_getpwent_struct : 0)
+# endif
+# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI
+# define getpwent() (getpwent_r(&PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size) ? &PL_reentrant_buffer->_getpwent_struct : 0)
+# endif
+# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI
+# define getpwent() (((errno = getpwent_r(&PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size))) == 0 ? &PL_reentrant_buffer->_getpwent_struct : 0)
+# endif
+# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH
+# define getpwent() (((errno = getpwent_r(&PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size, &PL_reentrant_buffer->_getpwent_fptr))) == 0 ? &PL_reentrant_buffer->_getpwent_struct : 0)
+# endif
+#endif /* HAS_GETPWENT_R */
+
+#ifdef HAS_GETPWNAM_R
+# undef getpwnam
+# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
+# define getpwnam(a) (((errno = getpwnam_r(a, &PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size, &PL_reentrant_buffer->_getpwent_ptr))) == 0 ? PL_reentrant_buffer->_getpwent_ptr : 0)
+# endif
+# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
+# define getpwnam(a) (((errno = getpwnam_r(a, &PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size, &PL_reentrant_buffer->_getpwent_ptr))) == 0 ? PL_reentrant_buffer->_getpwent_ptr : 0)
+# endif
+# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
+# define getpwnam(a) (getpwnam_r(a, &PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size) ? &PL_reentrant_buffer->_getpwent_struct : 0)
+# endif
+# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
+# define getpwnam(a) (((errno = getpwnam_r(a, &PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size))) == 0 ? &PL_reentrant_buffer->_getpwent_struct : 0)
+# endif
+#endif /* HAS_GETPWNAM_R */
+
+#ifdef HAS_GETPWUID_R
+# undef getpwuid
+# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR
+# define getpwuid(a) (((errno = getpwuid_r(a, &PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size, &PL_reentrant_buffer->_getpwent_ptr))) == 0 ? PL_reentrant_buffer->_getpwent_ptr : 0)
+# endif
+# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR
+# define getpwuid(a) (((errno = getpwuid_r(a, &PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size, &PL_reentrant_buffer->_getpwent_ptr))) == 0 ? PL_reentrant_buffer->_getpwent_ptr : 0)
+# endif
+# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI
+# define getpwuid(a) (((errno = getpwuid_r(a, &PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size))) == 0 ? &PL_reentrant_buffer->_getpwent_struct : 0)
+# endif
+# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_S_TSBI
+# define getpwuid(a) (getpwuid_r(a, &PL_reentrant_buffer->_getpwent_struct, PL_reentrant_buffer->_getpwent_buffer, PL_reentrant_buffer->_getpwent_size) ? &PL_reentrant_buffer->_getpwent_struct : 0)
+# endif
+#endif /* HAS_GETPWUID_R */
+
+#ifdef HAS_GETSERVBYNAME_R
+# undef getservbyname
+# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR
+# define getservbyname(a, b) (((errno = getservbyname_r(a, b, &PL_reentrant_buffer->_getservent_struct, PL_reentrant_buffer->_getservent_buffer, PL_reentrant_buffer->_getservent_size, &PL_reentrant_buffer->_getservent_ptr))) == 0 ? PL_reentrant_buffer->_getservent_ptr : 0)
+# endif
+# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI
+# define getservbyname(a, b) (getservbyname_r(a, b, &PL_reentrant_buffer->_getservent_struct, PL_reentrant_buffer->_getservent_buffer, PL_reentrant_buffer->_getservent_size) ? &PL_reentrant_buffer->_getservent_struct : 0)
+# endif
+# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD
+# define getservbyname(a, b) (((errno = getservbyname_r(a, b, &PL_reentrant_buffer->_getservent_struct, &PL_reentrant_buffer->_getservent_data))) == 0 ? &PL_reentrant_buffer->_getservent_struct : 0)
+# endif
+#endif /* HAS_GETSERVBYNAME_R */
+
+#ifdef HAS_GETSERVBYPORT_R
+# undef getservbyport
+# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR
+# define getservbyport(a, b) (((errno = getservbyport_r(a, b, &PL_reentrant_buffer->_getservent_struct, PL_reentrant_buffer->_getservent_buffer, PL_reentrant_buffer->_getservent_size, &PL_reentrant_buffer->_getservent_ptr))) == 0 ? PL_reentrant_buffer->_getservent_ptr : 0)
+# endif
+# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI
+# define getservbyport(a, b) (getservbyport_r(a, b, &PL_reentrant_buffer->_getservent_struct, PL_reentrant_buffer->_getservent_buffer, PL_reentrant_buffer->_getservent_size) ? &PL_reentrant_buffer->_getservent_struct : 0)
+# endif
+# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD
+# define getservbyport(a, b) (((errno = getservbyport_r(a, b, &PL_reentrant_buffer->_getservent_struct, &PL_reentrant_buffer->_getservent_data))) == 0 ? &PL_reentrant_buffer->_getservent_struct : 0)
+# endif
+#endif /* HAS_GETSERVBYPORT_R */
+
+#ifdef HAS_GETSERVENT_R
+# undef getservent
+# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR
+# define getservent() (((errno = getservent_r(&PL_reentrant_buffer->_getservent_struct, PL_reentrant_buffer->_getservent_buffer, PL_reentrant_buffer->_getservent_size, &PL_reentrant_buffer->_getservent_ptr))) == 0 ? PL_reentrant_buffer->_getservent_ptr : 0)
+# endif
+# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI
+# define getservent() (((errno = getservent_r(&PL_reentrant_buffer->_getservent_struct, PL_reentrant_buffer->_getservent_buffer, PL_reentrant_buffer->_getservent_size))) == 0 ? &PL_reentrant_buffer->_getservent_struct : 0)
+# endif
+# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI
+# define getservent() (getservent_r(&PL_reentrant_buffer->_getservent_struct, PL_reentrant_buffer->_getservent_buffer, PL_reentrant_buffer->_getservent_size) ? &PL_reentrant_buffer->_getservent_struct : 0)
+# endif
+# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD
+# define getservent() (((errno = getservent_r(&PL_reentrant_buffer->_getservent_struct, &PL_reentrant_buffer->_getservent_data))) == 0 ? &PL_reentrant_buffer->_getservent_struct : 0)
+# endif
+#endif /* HAS_GETSERVENT_R */
+
+#ifdef HAS_GETSPNAM_R
+# undef getspnam
+# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
+# define getspnam(a) (((errno = getspnam_r(a, &PL_reentrant_buffer->_getspent_struct, PL_reentrant_buffer->_getspent_buffer, PL_reentrant_buffer->_getspent_size, &PL_reentrant_buffer->_getspent_ptr))) == 0 ? PL_reentrant_buffer->_getspent_ptr : 0)
+# endif
+# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
+# define getspnam(a) (getspnam_r(a, &PL_reentrant_buffer->_getspent_struct, PL_reentrant_buffer->_getspent_buffer, PL_reentrant_buffer->_getspent_size) ? &PL_reentrant_buffer->_getspent_struct : 0)
+# endif
+#endif /* HAS_GETSPNAM_R */
+
+#ifdef HAS_GMTIME_R
+# undef gmtime
+# if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_S_TS
+# define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) ? &PL_reentrant_buffer->_gmtime_struct : 0)
+# endif
+# if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_I_TS
+# define gmtime(a) (((errno = gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct))) == 0 ? &PL_reentrant_buffer->_gmtime_struct : 0)
+# endif
+#endif /* HAS_GMTIME_R */
+
+#ifdef HAS_LOCALTIME_R
+# undef localtime
+# if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_S_TS
+# define localtime(a) (localtime_r(a, &PL_reentrant_buffer->_localtime_struct) ? &PL_reentrant_buffer->_localtime_struct : 0)
+# endif
+# if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_I_TS
+# define localtime(a) (((errno = localtime_r(a, &PL_reentrant_buffer->_localtime_struct))) == 0 ? &PL_reentrant_buffer->_localtime_struct : 0)
+# endif
+#endif /* HAS_LOCALTIME_R */
+
+#ifdef HAS_RANDOM_R
+# undef random
+# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_TS
+# define random() (((errno = random_r(T, &PL_reentrant_buffer->_random_struct))) == 0 ? &PL_reentrant_buffer->_random_struct : 0)
+# endif
+#endif /* HAS_RANDOM_R */
+
+#ifdef HAS_READDIR_R
+# undef readdir
+# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TSR
+# define readdir(a) (((errno = readdir_r(a, PL_reentrant_buffer->_readdir_struct, &PL_reentrant_buffer->_readdir_ptr))) == 0 ? PL_reentrant_buffer->_readdir_ptr : 0)
+# endif
+# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TS
+# define readdir(a) (((errno = readdir_r(a, PL_reentrant_buffer->_readdir_struct))) == 0 ? PL_reentrant_buffer->_readdir_struct : 0)
+# endif
+#endif /* HAS_READDIR_R */
+
+#ifdef HAS_READDIR64_R
+# undef readdir64
+# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR
+# define readdir64(a) (((errno = readdir64_r(a, PL_reentrant_buffer->_readdir64_struct, &PL_reentrant_buffer->_readdir64_ptr))) == 0 ? PL_reentrant_buffer->_readdir64_ptr : 0)
+# endif
+# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TS
+# define readdir64(a) (((errno = readdir64_r(a, PL_reentrant_buffer->_readdir64_struct))) == 0 ? PL_reentrant_buffer->_readdir64_struct : 0)
+# endif
+#endif /* HAS_READDIR64_R */
+
+#ifdef HAS_SETGRENT_R
+# undef setgrent
+# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_I_H
+# define setgrent() (((errno = setgrent_r(&PL_reentrant_buffer->_getgrent_fptr))) == 0 ? 1 : 0)
+# endif
+# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_V_H
+# define setgrent() setgrent_r(&PL_reentrant_buffer->_getgrent_fptr)
+# endif
+#endif /* HAS_SETGRENT_R */
+
+#ifdef HAS_SETHOSTENT_R
+# undef sethostent
+# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_I_ID
+# define sethostent(a) (((errno = sethostent_r(a, &PL_reentrant_buffer->_gethostent_data))) == 0 ? 1 : 0)
+# endif
+# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_V_ID
+# define sethostent(a) sethostent_r(a, &PL_reentrant_buffer->_gethostent_data)
+# endif
+#endif /* HAS_SETHOSTENT_R */
+
+#ifdef HAS_SETLOCALE_R
+# undef setlocale
+# if !defined(setlocale) && SETLOCALE_R_PROTO == REENTRANT_PROTO_I_ICBI
+# define setlocale(a, b) (((errno = setlocale_r(a, b, PL_reentrant_buffer->_setlocale_buffer, PL_reentrant_buffer->_setlocale_size))) == 0 ? PL_reentrant_buffer->_setlocale_buffer : 0)
+# endif
+#endif /* HAS_SETLOCALE_R */
+
+#ifdef HAS_SETNETENT_R
+# undef setnetent
+# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_I_ID
+# define setnetent(a) (((errno = setnetent_r(a, &PL_reentrant_buffer->_getnetent_data))) == 0 ? 1 : 0)
+# endif
+# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_V_ID
+# define setnetent(a) setnetent_r(a, &PL_reentrant_buffer->_getnetent_data)
+# endif
+#endif /* HAS_SETNETENT_R */
+
+#ifdef HAS_SETPROTOENT_R
+# undef setprotoent
+# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_I_ID
+# define setprotoent(a) (((errno = setprotoent_r(a, &PL_reentrant_buffer->_getprotoent_data))) == 0 ? 1 : 0)
+# endif
+# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_V_ID
+# define setprotoent(a) setprotoent_r(a, &PL_reentrant_buffer->_getprotoent_data)
+# endif
+#endif /* HAS_SETPROTOENT_R */
+
+#ifdef HAS_SETPWENT_R
+# undef setpwent
+# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_I_H
+# define setpwent() (((errno = setpwent_r(&PL_reentrant_buffer->_getpwent_fptr))) == 0 ? 1 : 0)
+# endif
+# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_V_H
+# define setpwent() setpwent_r(&PL_reentrant_buffer->_getpwent_fptr)
+# endif
+#endif /* HAS_SETPWENT_R */
+
+#ifdef HAS_SETSERVENT_R
+# undef setservent
+# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_I_ID
+# define setservent(a) (((errno = setservent_r(a, &PL_reentrant_buffer->_getservent_data))) == 0 ? 1 : 0)
+# endif
+# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_V_ID
+# define setservent(a) setservent_r(a, &PL_reentrant_buffer->_getservent_data)
+# endif
+#endif /* HAS_SETSERVENT_R */
+
+#ifdef HAS_SRAND48_R
+# undef srand48
+# if !defined(srand48) && SRAND48_R_PROTO == REENTRANT_PROTO_I_LS
+# define srand48(a) (((errno = srand48_r(a, &PL_reentrant_buffer->_drand48_struct))) == 0 ? &PL_reentrant_buffer->_drand48_struct : 0)
+# endif
+#endif /* HAS_SRAND48_R */
+
+#ifdef HAS_SRANDOM_R
+# undef srandom
+# if !defined(srandom) && SRANDOM_R_PROTO == REENTRANT_PROTO_I_TS
+# define srandom(a) (((errno = srandom_r(a, &PL_reentrant_buffer->_srandom_struct))) == 0 ? &PL_reentrant_buffer->_srandom_struct : 0)
+# endif
+#endif /* HAS_SRANDOM_R */
+
+#ifdef HAS_STRERROR_R
+# undef strerror
+# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBW
+# define strerror(a) (((errno = strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size))) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
+# endif
+# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBI
+# define strerror(a) (((errno = strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size))) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
+# endif
+# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_B_IBW
+# define strerror(a) strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size)
+# endif
+#endif /* HAS_STRERROR_R */
+
+#ifdef HAS_TMPNAM_R
+# undef tmpnam
+# if !defined(tmpnam) && TMPNAM_R_PROTO == REENTRANT_PROTO_B_B
+# define tmpnam(a) tmpnam_r(a)
+# endif
+#endif /* HAS_TMPNAM_R */
+
+#ifdef HAS_TTYNAME_R
+# undef ttyname
+# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBW
+# define ttyname(a) (((errno = ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size))) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
+# endif
+# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBI
+# define ttyname(a) (((errno = ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size))) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
+# endif
+# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_B_IBI
+# define ttyname(a) ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size)
+# endif
+#endif /* HAS_TTYNAME_R */
+
+
+#endif /* USE_REENTRANT_API */
+
+#endif
+
--- /dev/null
+#!/usr/bin/perl -w
+
+#
+# Generate the reentr.c and reentr.h,
+# and optionally also the relevant metaconfig units (-U option).
+#
+
+use strict;
+use Getopt::Std;
+my %opts;
+getopts('U', \%opts);
+
+my %map = (
+ V => "void",
+ A => "char*", # as an input argument
+ B => "char*", # as an output argument
+ C => "const char*", # as a read-only input argument
+ I => "int",
+ L => "long",
+ W => "size_t",
+ H => "FILE**",
+ E => "int*",
+ );
+
+# (See the definitions after __DATA__.)
+# In func|inc|type|... a "S" means "type*", and a "R" means "type**".
+# (The "types" are often structs, such as "struct passwd".)
+#
+# After the prototypes one can have |X=...|Y=... to define more types.
+# A commonly used extra type is to define D to be equal to "type_data",
+# for example "struct_hostent_data to" go with "struct hostent".
+#
+# Example #1: I_XSBWR means int func_r(X, type, char*, size_t, type**)
+# Example #2: S_SBIE means type func_r(type, char*, int, int*)
+# Example #3: S_CBI means type func_r(const char*, char*, int)
+
+
+die "reentr.h: $!" unless open(H, ">reentr.h");
+select H;
+print <<EOF;
+/*
+ * reentr.h
+ *
+ * Copyright (c) 1997-2002, Larry Wall
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by reentrl.pl from data in reentr.pl.
+ */
+
+#ifndef REENTR_H
+#define REENTR_H
+
+#ifdef USE_REENTRANT_API
+
+/* Deprecations: some platforms have the said reentrant interfaces
+ * but they are declared obsolete and are not to be used. Often this
+ * means that the platform has threadsafed the interfaces (hopefully).
+ * All this is OS version dependent, so we are of course fooling ourselves.
+ * If you know of more deprecations on some platforms, please add your own. */
+
+#ifdef __hpux
+# undef HAS_CRYPT_R
+# undef HAS_DRAND48_R
+# undef HAS_GETGRENT_R
+# undef HAS_GETPWENT_R
+# undef HAS_SETLOCALE_R
+# undef HAS_SRAND48_R
+# undef HAS_STRERROR_R
+# define NETDB_R_OBSOLETE
+#endif
+
+#if defined(__osf__) && defined(__alpha) /* Tru64 aka Digital UNIX */
+# undef HAS_CRYPT_R
+# undef HAS_STRERROR_R
+# define NETDB_R_OBSOLETE
+#endif
+
+#ifdef NETDB_R_OBSOLETE
+# undef HAS_ENDHOSTENT_R
+# undef HAS_ENDNETENT_R
+# undef HAS_ENDPROTOENT_R
+# undef HAS_ENDSERVENT_R
+# undef HAS_GETHOSTBYADDR_R
+# undef HAS_GETHOSTBYNAME_R
+# undef HAS_GETHOSTENT_R
+# undef HAS_GETNETBYADDR_R
+# undef HAS_GETNETBYNAME_R
+# undef HAS_GETNETENT_R
+# undef HAS_GETPROTOBYNAME_R
+# undef HAS_GETPROTOBYNUMBER_R
+# undef HAS_GETPROTOENT_R
+# undef HAS_GETSERVBYNAME_R
+# undef HAS_GETSERVBYPORT_R
+# undef HAS_GETSERVENT_R
+# undef HAS_SETHOSTENT_R
+# undef HAS_SETNETENT_R
+# undef HAS_SETPROTOENT_R
+# undef HAS_SETSERVENT_R
+#endif
+
+#ifdef I_PWD
+# include <pwd.h>
+#endif
+#ifdef I_GRP
+# include <grp.h>
+#endif
+#ifdef I_NETDB
+# include <netdb.h>
+#endif
+#ifdef I_STDLIB
+# include <stdlib.h> /* drand48_data */
+#endif
+#ifdef I_CRYPT
+# ifdef I_CRYPT
+# include <crypt.h>
+# endif
+#endif
+#ifdef HAS_GETSPNAM_R
+# ifdef I_SHADOW
+# include <shadow.h>
+# endif
+#endif
+
+EOF
+
+my %seenh;
+my %seena;
+my @seenf;
+my %seenp;
+my %seent;
+my %seens;
+my %seend;
+my %seenu;
+
+while (<DATA>) {
+ next if /^\s+$/;
+ chomp;
+ my ($f, $h, $t, @p) = split(/\s*\|\s*/, $_, -1);
+ my $u;
+ ($f, $u) = split(' ', $f);
+ $seenu{$f} = defined $u ? length $u : 0;
+ my $F = uc $f;
+ push @seenf, $f;
+ my %m = %map;
+ if ($t) {
+ $m{S} = "$t*";
+ $m{R} = "$t**";
+ }
+ if (@p) {
+ while ($p[-1] =~ /=/) {
+ my ($k, $v) = ($p[-1] =~ /^([A-Za-z])\s*=\s*(.*)/);
+ $m{$k} = $v;
+ pop @p;
+ }
+ }
+ if ($opts{U} && open(U, ">d_${f}_r.U")) {
+ select U;
+ }
+ my $prereqh = $h eq 'stdio' ? '' : "i_$h"; # There's no i_stdio.
+ print <<EOF if $opts{U};
+?RCS: \$Id: d_${f}_r.U,v $
+?RCS:
+?RCS: Copyright (c) 2002 Jarkko Hietaniemi
+?RCS:
+?RCS: You may distribute under the terms of either the GNU General Public
+?RCS: License or the Artistic License, as specified in the README file.
+?RCS:
+?RCS: Generated by the reentr.pl from the Perl 5.8 distribution.
+?RCS:
+?MAKE:d_${f}_r ${f}_r_proto: Inlibc Protochk i_systypes $prereqh
+?MAKE: -pick add \$@ %<
+?S:d_${f}_r:
+?S: This variable conditionally defines the HAS_${F}_R symbol,
+?S: which indicates to the C program that the ${f}_r()
+?S: routine is available.
+?S:.
+?S:${f}_r_proto:
+?S: This variable encodes the prototype of ${f}_r.
+?S:.
+?C:HAS_${F}_R:
+?C: This symbol, if defined, indicates that the ${f}_r routine
+?C: is available to ${f} re-entrantly.
+?C:.
+?C:${F}_R_PROTO:
+?C: This symbol encodes the prototype of ${f}_r.
+?C:.
+?H:#\$d_${f}_r HAS_${F}_R /**/
+?H:#define ${F}_R_PROTO \$${f}_r_proto /**/
+?H:.
+?T:try hdrs
+?LINT:set d_${f}_r
+?LINT:set ${f}_r_proto
+: see if ${f}_r exists
+set ${f}_r d_${f}_r
+eval \$inlibc
+case "\$d_${f}_r" in
+"\$define")
+ hdrs="\$i_systypes sys/types.h define stdio.h \$i_${h} $h.h"
+EOF
+ for my $p (@p) {
+ my ($r, $a) = ($p =~ /^(.)_(.+)/);
+ my $v = join(", ", map { $m{$_} } split '', $a);
+ if ($opts{U}) {
+ print <<EOF ;
+ case "\$${f}_r_proto" in
+ ''|0) try='$m{$r} ${f}_r($v);'
+ ./protochk "extern \$try" \$hdrs && ${f}_r_proto=$p ;;
+ esac
+EOF
+ }
+ $seenh{$f}->{$p}++;
+ push @{$seena{$f}}, $p;
+ $seenp{$p}++;
+ $seent{$f} = $t;
+ $seens{$f} = $m{S};
+ $seend{$f} = $m{D};
+ }
+ if ($opts{U}) {
+ print <<EOF;
+ case "\$${f}_r_proto" in
+ '') d_${f}_r=undef
+ ${f}_r_proto=0
+ echo "Disabling ${f}_r, cannot determine prototype." ;;
+ * ) case "\$${f}_r_proto" in
+ REENTRANT_PROTO*) ;;
+ *) ${f}_r_proto="REENTRANT_PROTO_\$${f}_r_proto" ;;
+ esac
+ echo "Prototype: \$try" ;;
+ esac
+ ;;
+*) ${f}_r_proto=0
+ ;;
+esac
+
+EOF
+ close(U);
+ }
+}
+
+close DATA;
+
+select H;
+
+{
+ my $i = 1;
+ for my $p (sort keys %seenp) {
+ print "#define REENTRANT_PROTO_${p} ${i}\n";
+ $i++;
+ }
+}
+
+sub ifprotomatch {
+ my $F = shift;
+ join " || ", map { "${F}_R_PROTO == REENTRANT_PROTO_$_" } @_;
+}
+
+my @struct;
+my @size;
+my @init;
+my @free;
+my @wrap;
+my @define;
+
+sub pushssif {
+ push @struct, @_;
+ push @size, @_;
+ push @init, @_;
+ push @free, @_;
+}
+
+sub pushinitfree {
+ my $f = shift;
+ push @init, <<EOF;
+ New(31338, PL_reentrant_buffer->_${f}_buffer, PL_reentrant_buffer->_${f}_size, char);
+EOF
+ push @free, <<EOF;
+ Safefree(PL_reentrant_buffer->_${f}_buffer);
+EOF
+}
+
+sub define {
+ my ($n, $p, @F) = @_;
+ my @H;
+ my $H = uc $F[0];
+ push @define, <<EOF;
+/* The @F using \L$n? */
+
+EOF
+ for my $f (@F) {
+ my $F = uc $f;
+ my $h = "${F}_R_HAS_$n";
+ push @H, $h;
+ my @h = grep { /$p/ } @{$seena{$f}};
+ if (@h) {
+ push @define, "#if (" . join(" || ", map { "${F}_R_PROTO == REENTRANT_PROTO_$_" } @h) . ")\n";
+
+ push @define, <<EOF;
+# define $h
+#else
+# undef $h
+#endif
+EOF
+ }
+ }
+ push @define, <<EOF;
+
+/* Any of the @F using \L$n? */
+
+EOF
+ push @define, "#if (" . join(" || ", map { "defined($_)" } @H) . ")\n";
+ push @define, <<EOF;
+# define USE_${H}_$n
+#else
+# undef USE_${H}_$n
+#endif
+
+EOF
+}
+
+define('PTR', 'R',
+ qw(getgrent getgrgid getgrnam));
+define('PTR', 'R',
+ qw(getpwent getpwnam getpwuid));
+define('PTR', 'R',
+ qw(getspent getspnam));
+
+define('FPTR', 'H',
+ qw(getgrent getgrgid getgrnam));
+define('FPTR', 'H',
+ qw(getpwent getpwnam getpwuid));
+
+define('PTR', 'R',
+ qw(gethostent gethostbyaddr gethostbyname));
+define('PTR', 'R',
+ qw(getnetent getnetbyaddr getnetbyname));
+define('PTR', 'R',
+ qw(getprotoent getprotobyname getprotobynumber));
+define('PTR', 'R',
+ qw(getservent getservbyname getservbyport));
+
+define('ERRNO', 'E',
+ qw(gethostent gethostbyaddr gethostbyname));
+define('ERRNO', 'E',
+ qw(getnetent getnetbyaddr getnetbyname));
+
+for my $f (@seenf) {
+ my $F = uc $f;
+ my $ifdef = "#ifdef HAS_${F}_R\n";
+ my $endif = "#endif /* HAS_${F}_R */\n";
+ if (exists $seena{$f}) {
+ my @p = @{$seena{$f}};
+ if ($f =~ /^(asctime|ctime|getlogin|setlocale|strerror|ttyname)$/) {
+ pushssif $ifdef;
+ push @struct, <<EOF;
+ char* _${f}_buffer;
+ size_t _${f}_size;
+EOF
+ push @size, <<EOF;
+ PL_reentrant_buffer->_${f}_size = 256; /* Make something up. */
+EOF
+ pushinitfree $f;
+ pushssif $endif;
+ }
+ elsif ($f =~ /^(crypt|drand48|gmtime|localtime|random)$/) {
+ pushssif $ifdef;
+ push @struct, <<EOF;
+ $seent{$f} _${f}_struct;
+EOF
+ if ($f eq 'crypt') {
+ push @init, <<EOF;
+#ifdef __GLIBC__
+ PL_reentrant_buffer->_${f}_struct.initialized = 0;
+#endif
+EOF
+ }
+ if ($1 eq 'drand48') {
+ push @struct, <<EOF;
+ double _${f}_double;
+EOF
+ }
+ pushssif $endif;
+ }
+ elsif ($f =~ /^(getgrnam|getpwnam|getspnam)$/) {
+ pushssif $ifdef;
+ my $g = $f;
+ $g =~ s/nam/ent/g;
+ my $G = uc $g;
+ push @struct, <<EOF;
+ $seent{$f} _${g}_struct;
+ char* _${g}_buffer;
+ size_t _${g}_size;
+EOF
+ push @struct, <<EOF;
+# ifdef USE_${G}_PTR
+ $seent{$f}* _${g}_ptr;
+# endif
+EOF
+ if ($g eq 'getspent') {
+ push @size, <<EOF;
+ PL_reentrant_buffer->_${g}_size = 1024;
+EOF
+ } else {
+ push @struct, <<EOF;
+# ifdef USE_${G}_FPTR
+ FILE* _${g}_fptr;
+# endif
+EOF
+ push @init, <<EOF;
+# ifdef USE_${G}_FPTR
+ PL_reentrant_buffer->_${g}_fptr = NULL;
+# endif
+EOF
+ my $sc = $g eq 'getgrent' ?
+ '_SC_GETGR_R_SIZE_MAX' : '_SC_GETPW_R_SIZE_MAX';
+ push @size, <<EOF;
+# if defined(HAS_SYSCONF) && defined($sc) && !defined(__GLIBC__)
+ PL_reentrant_buffer->_${g}_size = sysconf($sc);
+# else
+# if defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
+ PL_reentrant_buffer->_${g}_size = SIABUFSIZ;
+# else
+# ifdef __sgi
+ PL_reentrant_buffer->_${g}_size = BUFSIZ;
+# else
+ PL_reentrant_buffer->_${g}_size = 2048;
+# endif
+# endif
+# endif
+EOF
+ }
+ pushinitfree $g;
+ pushssif $endif;
+ }
+ elsif ($f =~ /^(gethostbyname|getnetbyname|getservbyname|getprotobyname)$/) {
+ pushssif $ifdef;
+ my $g = $f;
+ $g =~ s/byname/ent/;
+ my $G = uc $g;
+ my $D = ifprotomatch($F, grep {/D/} @p);
+ my $d = $seend{$f};
+ push @struct, <<EOF;
+ $seent{$f} _${g}_struct;
+# if $D
+ $d _${g}_data;
+# else
+ char* _${g}_buffer;
+ size_t _${g}_size;
+# endif
+# ifdef USE_${G}_PTR
+ $seent{$f}* _${g}_ptr;
+# endif
+EOF
+ push @struct, <<EOF;
+# ifdef USE_${G}_ERRNO
+ int _${g}_errno;
+# endif
+EOF
+ push @size, <<EOF;
+#if !($D)
+ PL_reentrant_buffer->_${g}_size = 2048; /* Any better ideas? */
+#endif
+EOF
+ push @init, <<EOF;
+#if !($D)
+ New(31338, PL_reentrant_buffer->_${g}_buffer, PL_reentrant_buffer->_${g}_size, char);
+#endif
+EOF
+ push @free, <<EOF;
+#if !($D)
+ Safefree(PL_reentrant_buffer->_${g}_buffer);
+#endif
+EOF
+ pushssif $endif;
+ }
+ elsif ($f =~ /^(readdir|readdir64)$/) {
+ pushssif $ifdef;
+ my $R = ifprotomatch($F, grep {/R/} @p);
+ push @struct, <<EOF;
+ $seent{$f}* _${f}_struct;
+ size_t _${f}_size;
+# if $R
+ $seent{$f}* _${f}_ptr;
+# endif
+EOF
+ push @size, <<EOF;
+ /* This is the size Solaris recommends.
+ * (though we go static, should use pathconf() instead) */
+ PL_reentrant_buffer->_${f}_size = sizeof($seent{$f}) + MAXPATHLEN + 1;
+EOF
+ push @init, <<EOF;
+ PL_reentrant_buffer->_${f}_struct = ($seent{$f}*)safemalloc(PL_reentrant_buffer->_${f}_size);
+EOF
+ push @free, <<EOF;
+ Safefree(PL_reentrant_buffer->_${f}_struct);
+EOF
+ pushssif $endif;
+ }
+
+ push @wrap, $ifdef;
+
+# Doesn't implement the buffer growth loop for glibc gethostby*().
+ push @wrap, <<EOF;
+# undef $f
+EOF
+ my @v = 'a'..'z';
+ my $v = join(", ", @v[0..$seenu{$f}-1]);
+ for my $p (@p) {
+ my ($r, $a) = split '_', $p;
+ my $test = $r eq 'I' ? ' == 0' : '';
+ my $true = 1;
+ my $false = 0;
+ my $g = $f;
+ if ($g =~ /^(?:get|set|end)(pw|gr|host|net|proto|serv|sp)/) {
+ $g = "get$1ent";
+ } elsif ($g eq 'srand48') {
+ $g = "drand48";
+ }
+ my $b = $a;
+ my $w = '';
+ substr($b, 0, $seenu{$f}) = '';
+ if ($b =~ /R/) {
+ $true = "PL_reentrant_buffer->_${g}_ptr";
+ } elsif ($b =~ /T/ && $f eq 'drand48') {
+ $true = "PL_reentrant_buffer->_${g}_double";
+ } elsif ($b =~ /S/) {
+ if ($f =~ /^readdir/) {
+ $true = "PL_reentrant_buffer->_${g}_struct";
+ } else {
+ $true = "&PL_reentrant_buffer->_${g}_struct";
+ }
+ } elsif ($b =~ /B/) {
+ $true = "PL_reentrant_buffer->_${g}_buffer";
+ }
+ if (length $b) {
+ $w = join ", ",
+ map {
+ $_ eq 'R' ?
+ "&PL_reentrant_buffer->_${g}_ptr" :
+ $_ eq 'E' ?
+ "&PL_reentrant_buffer->_${g}_errno" :
+ $_ eq 'B' ?
+ "PL_reentrant_buffer->_${g}_buffer" :
+ $_ =~ /^[WI]$/ ?
+ "PL_reentrant_buffer->_${g}_size" :
+ $_ eq 'H' ?
+ "&PL_reentrant_buffer->_${g}_fptr" :
+ $_ eq 'D' ?
+ "&PL_reentrant_buffer->_${g}_data" :
+ $_ eq 'S' ?
+ ($f =~ /^readdir/ ?
+ "PL_reentrant_buffer->_${g}_struct" :
+ "&PL_reentrant_buffer->_${g}_struct" ) :
+ $_ eq 'T' && $f eq 'drand48' ?
+ "&PL_reentrant_buffer->_${g}_double" :
+ $_
+ } split '', $b;
+ $w = ", $w" if length $v;
+ }
+ my $call = "${f}_r($v$w)";
+ $call = "((errno = $call))" if $r eq 'I';
+ push @wrap, <<EOF;
+# if !defined($f) && ${F}_R_PROTO == REENTRANT_PROTO_$p
+EOF
+ if ($r eq 'V' || $r eq 'B') {
+ push @wrap, <<EOF;
+# define $f($v) $call
+EOF
+ } else {
+ push @wrap, <<EOF;
+# define $f($v) ($call$test ? $true : $false)
+EOF
+ }
+ push @wrap, <<EOF;
+# endif
+EOF
+ }
+
+ push @wrap, $endif, "\n";
+ }
+}
+
+local $" = '';
+
+print <<EOF;
+
+/* Defines for indicating which special features are supported. */
+
+@define
+typedef struct {
+@struct
+} REENTR;
+
+/* The wrappers. */
+
+@wrap
+#endif /* USE_REENTRANT_API */
+
+#endif
+
+EOF
+
+close(H);
+
+die "reentr.c: $!" unless open(C, ">reentr.c");
+select C;
+print <<EOF;
+/*
+ * reentr.c
+ *
+ * Copyright (c) 1997-2002, Larry Wall
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by reentrl.pl from data in reentr.pl.
+ *
+ * "Saruman," I said, standing away from him, "only one hand at a time can
+ * wield the One, and you know that well, so do not trouble to say we!"
+ *
+ */
+
+#include "EXTERN.h"
+#define PERL_IN_REENTR_C
+#include "perl.h"
+#include "reentr.h"
+
+void
+Perl_reentrant_size(pTHX) {
+#ifdef USE_REENTRANT_API
+@size
+#endif /* USE_REENTRANT_API */
+}
+
+void
+Perl_reentrant_init(pTHX) {
+#ifdef USE_REENTRANT_API
+ New(31337, PL_reentrant_buffer, 1, REENTR);
+ Perl_reentrant_size(aTHX);
+@init
+#endif /* USE_REENTRANT_API */
+}
+
+void
+Perl_reentrant_free(pTHX) {
+#ifdef USE_REENTRANT_API
+@free
+ Safefree(PL_reentrant_buffer);
+#endif /* USE_REENTRANT_API */
+}
+
+EOF
+
+__DATA__
+asctime S |time |const struct tm|B_SB|B_SBI|I_SB|I_SBI
+crypt CC |crypt |struct crypt_data|B_CCS
+ctermid B |stdio | |B_B
+ctime S |time |const time_t |B_SB|B_SBI|I_SB|I_SBI
+drand48 |stdlib |struct drand48_data |I_ST|T=double*
+endgrent |grp | |I_H|V_H
+endhostent |netdb |struct hostent_data |I_S|V_S
+endnetent |netdb |struct netent_data |I_S|V_S
+endprotoent |netdb |struct protoent_data |I_S|V_S
+endpwent |pwd | |I_H|V_H
+endservent |netdb |struct servent_data |I_S|V_S
+getgrent |grp |struct group |I_SBWR|I_SBIR|S_SBW|S_SBI|I_SBI|I_SBIH
+getgrgid T |grp |struct group |I_TSBWR|I_TSBIR|I_TSBI|S_TSBI|T=gid_t
+getgrnam C |grp |struct group |I_CSBWR|I_CSBIR|S_CBI|I_CSBI|S_CSBI
+gethostbyaddr CWI |netdb |struct hostent |I_CWISBWRE|S_CWISBWIE|S_CWISBIE|S_TWISBIE|S_CIISBIE|S_CSBIE|S_TSBIE|I_CWISD|I_CIISD|I_CII|D=struct hostent_data*|T=const void*
+gethostbyname C |netdb |struct hostent |I_CSBWRE|S_CSBIE|I_CSD|D=struct hostent_data*
+gethostent |netdb |struct hostent |I_SBWRE|I_SBIE|S_SBIE|S_SBI|I_SBI|I_SD|D=struct hostent_data*
+getlogin |unistd | |I_BW|I_BI|B_BW|B_BI
+getnetbyaddr LI |netdb |struct netent |I_UISBWRE|I_LISBI|S_TISBI|S_LISBI|I_TISD|I_LISD|I_IISD|D=struct netent_data*|T=in_addr_t|U=unsigned long
+getnetbyname C |netdb |struct netent |I_CSBWRE|I_CSBI|S_CSBI|I_CSD|D=struct netent_data*
+getnetent |netdb |struct netent |I_SBWRE|I_SBIE|S_SBIE|S_SBI|I_SBI|I_SD|D=struct netent_data*
+getprotobyname C|netdb |struct protoent|I_CSBWR|S_CSBI|I_CSD|D=struct protoent_data*
+getprotobynumber I |netdb |struct protoent|I_ISBWR|S_ISBI|I_ISD|D=struct protoent_data*
+getprotoent |netdb |struct protoent|I_SBWR|I_SBI|S_SBI|I_SD|D=struct protoent_data*
+getpwent |pwd |struct passwd |I_SBWR|I_SBIR|S_SBW|S_SBI|I_SBI|I_SBIH
+getpwnam C |pwd |struct passwd |I_CSBWR|I_CSBIR|S_CSBI|I_CSBI
+getpwuid T |pwd |struct passwd |I_TSBWR|I_TSBIR|I_TSBI|S_TSBI|T=uid_t
+getservbyname CC|netdb |struct servent |I_CCSBWR|S_CCSBI|I_CCSD|D=struct servent_data*
+getservbyport IC|netdb |struct servent |I_ICSBWR|S_ICSBI|I_ICSD|D=struct servent_data*
+getservent |netdb |struct servent |I_SBWR|I_SBI|S_SBI|I_SD|D=struct servent_data*
+getspnam C |shadow |struct spwd |I_CSBWR|S_CSBI
+gmtime T |time |struct tm |S_TS|I_TS|T=const time_t*
+localtime T |time |struct tm |S_TS|I_TS|T=const time_t*
+random |stdlib |struct random_data|I_TS|T=int*
+readdir T |dirent |struct dirent |I_TSR|I_TS|T=DIR*
+readdir64 T |dirent |struct dirent64|I_TSR|I_TS|T=DIR*
+setgrent |grp | |I_H|V_H
+sethostent I |netdb | |I_ID|V_ID|D=struct hostent_data*
+setlocale IC |locale | |I_ICBI
+setnetent I |netdb | |I_ID|V_ID|D=struct netent_data*
+setprotoent I |netdb | |I_ID|V_ID|D=struct protoent_data*
+setpwent |pwd | |I_H|V_H
+setservent I |netdb | |I_ID|V_ID|D=struct servent_data*
+srand48 L |stdlib |struct drand48_data |I_LS
+srandom T |stdlib |struct random_data|I_TS|T=unsigned int
+strerror I |string | |I_IBW|I_IBI|B_IBW
+tmpnam B |stdio | |B_B
+ttyname I |unistd | |I_IBW|I_IBI|B_IBI
*/
/*#define HAS_ACCESS / **/
+/* HAS_ASCTIME_R:
+ * This symbol, if defined, indicates that the asctime_r routine
+ * is available to asctime re-entrantly.
+ */
+/* ASCTIME_R_PROTO:
+ * This symbol encodes the prototype of asctime_r.
+ */
+/*#define HAS_ASCTIME_R / **/
+#define ASCTIME_R_PROTO 0 /**/
+
/* CASTI32:
* This symbol is defined if the C compiler can cast negative
* or large floating point numbers to 32-bit ints.
*/
/*#define HAS_STRUCT_CMSGHDR / **/
+/* HAS_CRYPT_R:
+ * This symbol, if defined, indicates that the crypt_r routine
+ * is available to crypt re-entrantly.
+ */
+/* CRYPT_R_PROTO:
+ * This symbol encodes the prototype of crypt_r.
+ */
+/*#define HAS_CRYPT_R / **/
+#define CRYPT_R_PROTO 0 /**/
+
/* HAS_CSH:
* This symbol, if defined, indicates that the C-shell exists.
*/
#define CSH "" /**/
#endif
+/* HAS_CTIME_R:
+ * This symbol, if defined, indicates that the ctime_r routine
+ * is available to ctime re-entrantly.
+ */
+/* CTIME_R_PROTO:
+ * This symbol encodes the prototype of ctime_r.
+ */
+/*#define HAS_CTIME_R / **/
+#define CTIME_R_PROTO 0 /**/
+
/* DLSYM_NEEDS_UNDERSCORE:
* This symbol, if defined, indicates that we need to prepend an
* underscore to the symbol name before calling dlsym(). This only
*/
/*#define DLSYM_NEEDS_UNDERSCORE / **/
+/* HAS_DRAND48_R:
+ * This symbol, if defined, indicates that the drand48_r routine
+ * is available to drand48 re-entrantly.
+ */
+/* DRAND48_R_PROTO:
+ * This symbol encodes the prototype of drand48_r.
+ */
+/*#define HAS_DRAND48_R / **/
+#define DRAND48_R_PROTO 0 /**/
+
/* HAS_DRAND48_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the drand48() function. Otherwise, it is up
*/
/*#define HAS_ENDGRENT / **/
+/* HAS_ENDGRENT_R:
+ * This symbol, if defined, indicates that the endgrent_r routine
+ * is available to endgrent re-entrantly.
+ */
+/* ENDGRENT_R_PROTO:
+ * This symbol encodes the prototype of endgrent_r.
+ */
+/*#define HAS_ENDGRENT_R / **/
+#define ENDGRENT_R_PROTO 0 /**/
+
/* HAS_ENDHOSTENT:
* This symbol, if defined, indicates that the endhostent() routine is
* available to close whatever was being used for host queries.
*/
/*#define HAS_ENDPWENT / **/
+/* HAS_ENDPWENT_R:
+ * This symbol, if defined, indicates that the endpwent_r routine
+ * is available to endpwent re-entrantly.
+ */
+/* ENDPWENT_R_PROTO:
+ * This symbol encodes the prototype of endpwent_r.
+ */
+/*#define HAS_ENDPWENT_R / **/
+#define ENDPWENT_R_PROTO 0 /**/
+
/* HAS_ENDSERVENT:
* This symbol, if defined, indicates that the endservent() routine is
* available to close whatever was being used for service queries.
*/
/*#define HAS_GETGRENT / **/
+/* HAS_GETGRENT_R:
+ * This symbol, if defined, indicates that the getgrent_r routine
+ * is available to getgrent re-entrantly.
+ */
+/* GETGRENT_R_PROTO:
+ * This symbol encodes the prototype of getgrent_r.
+ */
+/*#define HAS_GETGRENT_R / **/
+#define GETGRENT_R_PROTO 0 /**/
+
+/* HAS_GETGRGID_R:
+ * This symbol, if defined, indicates that the getgrgid_r routine
+ * is available to getgrgid re-entrantly.
+ */
+/* GETGRGID_R_PROTO:
+ * This symbol encodes the prototype of getgrgid_r.
+ */
+/*#define HAS_GETGRGID_R / **/
+#define GETGRGID_R_PROTO 0 /**/
+
+/* HAS_GETGRNAM_R:
+ * This symbol, if defined, indicates that the getgrnam_r routine
+ * is available to getgrnam re-entrantly.
+ */
+/* GETGRNAM_R_PROTO:
+ * This symbol encodes the prototype of getgrnam_r.
+ */
+/*#define HAS_GETGRNAM_R / **/
+#define GETGRNAM_R_PROTO 0 /**/
+
/* HAS_GETHOSTBYADDR:
* This symbol, if defined, indicates that the gethostbyaddr() routine is
* available to look up hosts by their IP addresses.
*/
/*#define HAS_GETITIMER / **/
+/* HAS_GETLOGIN_R:
+ * This symbol, if defined, indicates that the getlogin_r routine
+ * is available to getlogin re-entrantly.
+ */
+/* GETLOGIN_R_PROTO:
+ * This symbol encodes the prototype of getlogin_r.
+ */
+/*#define HAS_GETLOGIN_R / **/
+#define GETLOGIN_R_PROTO 0 /**/
+
/* HAS_GETMNT:
* This symbol, if defined, indicates that the getmnt routine is
* available to get filesystem mount info by filename.
*/
/*#define HAS_GETPWENT / **/
+/* HAS_GETPWENT_R:
+ * This symbol, if defined, indicates that the getpwent_r routine
+ * is available to getpwent re-entrantly.
+ */
+/* GETPWENT_R_PROTO:
+ * This symbol encodes the prototype of getpwent_r.
+ */
+/*#define HAS_GETPWENT_R / **/
+#define GETPWENT_R_PROTO 0 /**/
+
+/* HAS_GETPWNAM_R:
+ * This symbol, if defined, indicates that the getpwnam_r routine
+ * is available to getpwnam re-entrantly.
+ */
+/* GETPWNAM_R_PROTO:
+ * This symbol encodes the prototype of getpwnam_r.
+ */
+/*#define HAS_GETPWNAM_R / **/
+#define GETPWNAM_R_PROTO 0 /**/
+
+/* HAS_GETPWUID_R:
+ * This symbol, if defined, indicates that the getpwuid_r routine
+ * is available to getpwuid re-entrantly.
+ */
+/* GETPWUID_R_PROTO:
+ * This symbol encodes the prototype of getpwuid_r.
+ */
+/*#define HAS_GETPWUID_R / **/
+#define GETPWUID_R_PROTO 0 /**/
+
/* 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_GETSPNAM / **/
+/* HAS_GETSPNAM_R:
+ * This symbol, if defined, indicates that the getspnam_r routine
+ * is available to getspnam re-entrantly.
+ */
+/* GETSPNAM_R_PROTO:
+ * This symbol encodes the prototype of getspnam_r.
+ */
+/*#define HAS_GETSPNAM_R / **/
+#define GETSPNAM_R_PROTO 0 /**/
+
/* HAS_GETSERVBYNAME:
* This symbol, if defined, indicates that the getservbyname()
* routine is available to look up services by their name.
/*#define HAS_GETSERVBYNAME / **/
/*#define HAS_GETSERVBYPORT / **/
+/* HAS_GMTIME_R:
+ * This symbol, if defined, indicates that the gmtime_r routine
+ * is available to gmtime re-entrantly.
+ */
+/* GMTIME_R_PROTO:
+ * This symbol encodes the prototype of gmtime_r.
+ */
+/*#define HAS_GMTIME_R / **/
+#define GMTIME_R_PROTO 0 /**/
+
/* HAS_GNULIBC:
* This symbol, if defined, indicates to the C program that
* the GNU C library is being used.
*/
/*#define HAS_LDBL_DIG / * */
+/* HAS_LOCALTIME_R:
+ * This symbol, if defined, indicates that the localtime_r routine
+ * is available to localtime re-entrantly.
+ */
+/* LOCALTIME_R_PROTO:
+ * This symbol encodes the prototype of localtime_r.
+ */
+/*#define HAS_LOCALTIME_R / **/
+#define LOCALTIME_R_PROTO 0 /**/
+
/* HAS_LONG_DOUBLE:
* This symbol will be defined if the C compiler supports long
* doubles.
#define SCHED_YIELD sched_yield() /**/
/*#define HAS_SCHED_YIELD / **/
+/* HAS_RANDOM_R:
+ * This symbol, if defined, indicates that the random_r routine
+ * is available to random re-entrantly.
+ */
+/* RANDOM_R_PROTO:
+ * This symbol encodes the prototype of random_r.
+ */
+/*#define HAS_RANDOM_R / **/
+#define RANDOM_R_PROTO 0 /**/
+
+/* HAS_READDIR_R:
+ * This symbol, if defined, indicates that the readdir_r routine
+ * is available to readdir re-entrantly.
+ */
+/* READDIR_R_PROTO:
+ * This symbol encodes the prototype of readdir_r.
+ */
+/*#define HAS_READDIR_R / **/
+#define READDIR_R_PROTO 0 /**/
+
/* HAS_READV:
* This symbol, if defined, indicates that the readv routine is
* available to do gather reads. You will also need <sys/uio.h>
*/
/*#define HAS_SETGRENT / **/
+/* HAS_SETGRENT_R:
+ * This symbol, if defined, indicates that the setgrent_r routine
+ * is available to setgrent re-entrantly.
+ */
+/* SETGRENT_R_PROTO:
+ * This symbol encodes the prototype of setgrent_r.
+ */
+/*#define HAS_SETGRENT_R / **/
+#define SETGRENT_R_PROTO 0 /**/
+
/* HAS_SETGROUPS:
* This symbol, if defined, indicates that the setgroups() routine is
* available to set the list of process groups. If unavailable, multiple
*/
/*#define HAS_SETPWENT / **/
+/* HAS_SETPWENT_R:
+ * This symbol, if defined, indicates that the setpwent_r routine
+ * is available to setpwent re-entrantly.
+ */
+/* SETPWENT_R_PROTO:
+ * This symbol encodes the prototype of setpwent_r.
+ */
+/*#define HAS_SETPWENT_R / **/
+#define SETPWENT_R_PROTO 0 /**/
+
/* HAS_SETSERVENT:
* This symbol, if defined, indicates that the setservent() routine is
* available.
*/
/*#define HAS_SQRTL / **/
+/* HAS_SRAND48_R:
+ * This symbol, if defined, indicates that the srand48_r routine
+ * is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ * This symbol encodes the prototype of srand48_r.
+ */
+/*#define HAS_SRAND48_R / **/
+#define SRAND48_R_PROTO 0 /**/
+
+/* HAS_SRANDOM_R:
+ * This symbol, if defined, indicates that the srandom_r routine
+ * is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ * This symbol encodes the prototype of srandom_r.
+ */
+/*#define HAS_SRANDOM_R / **/
+#define SRANDOM_R_PROTO 0 /**/
+
/* USE_STAT_BLOCKS:
* This symbol is defined if this system has a stat structure declaring
* st_blksize and st_blocks.
/*#define HAS_SYS_ERRLIST / **/
#define Strerror(e) strerror(e)
+/* HAS_STRERROR_R:
+ * This symbol, if defined, indicates that the strerror_r routine
+ * is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ * This symbol encodes the prototype of strerror_r.
+ */
+/*#define HAS_STRERROR_R / **/
+#define STRERROR_R_PROTO 0 /**/
+
/* HAS_STRTOLD:
* This symbol, if defined, indicates that the strtold routine is
* available to convert strings to long doubles.
*/
/*#define HAS_TIMES / **/
+/* HAS_TMPNAM_R:
+ * This symbol, if defined, indicates that the tmpnam_r routine
+ * is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ * This symbol encodes the prototype of tmpnam_r.
+ */
+/*#define HAS_TMPNAM_R / **/
+#define TMPNAM_R_PROTO 0 /**/
+
/* HAS_UALARM:
* This symbol, if defined, indicates that the ualarm routine is
* available to do alarms with microsecond granularity.
* This symbol, if defined, indicates to the C program that it should
* include <sys/time.h> with KERNEL defined.
*/
+/* HAS_TM_TM_ZONE:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_zone field.
+ */
#define I_TIME /**/
/*#define I_SYS_TIME / **/
/*#define I_SYS_TIME_KERNEL / **/
+/*#define HAS_TM_TM_ZONE / **/
/* I_USTAT:
* This symbol, if defined, indicates that <ustat.h> exists and
*/
/*#define HAS_USLEEP_PROTO / **/
+/* I_CRYPT:
+ * This symbol, if defined, indicates that <crypt.h> exists and
+ * should be included.
+ */
+/*#define I_CRYPT / **/
+
/* I_FP:
* This symbol, if defined, indicates that <fp.h> exists and
* should be included.
*/
/*#define I_LANGINFO / **/
+/* HAS_CTERMID_R:
+ * This symbol, if defined, indicates that the ctermid_r routine
+ * is available to ctermid re-entrantly.
+ */
+/* CTERMID_R_PROTO:
+ * This symbol encodes the prototype of ctermid_r.
+ */
+/*#define HAS_CTERMID_R / **/
+#define CTERMID_R_PROTO 0 /**/
+
+/* HAS_ENDHOSTENT_R:
+ * This symbol, if defined, indicates that the endhostent_r routine
+ * is available to endhostent re-entrantly.
+ */
+/* ENDHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of endhostent_r.
+ */
+/*#define HAS_ENDHOSTENT_R / **/
+#define ENDHOSTENT_R_PROTO 0 /**/
+
+/* HAS_ENDNETENT_R:
+ * This symbol, if defined, indicates that the endnetent_r routine
+ * is available to endnetent re-entrantly.
+ */
+/* ENDNETENT_R_PROTO:
+ * This symbol encodes the prototype of endnetent_r.
+ */
+/*#define HAS_ENDNETENT_R / **/
+#define ENDNETENT_R_PROTO 0 /**/
+
+/* HAS_ENDPROTOENT_R:
+ * This symbol, if defined, indicates that the endprotoent_r routine
+ * is available to endprotoent re-entrantly.
+ */
+/* ENDPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of endprotoent_r.
+ */
+/*#define HAS_ENDPROTOENT_R / **/
+#define ENDPROTOENT_R_PROTO 0 /**/
+
+/* HAS_ENDSERVENT_R:
+ * This symbol, if defined, indicates that the endservent_r routine
+ * is available to endservent re-entrantly.
+ */
+/* ENDSERVENT_R_PROTO:
+ * This symbol encodes the prototype of endservent_r.
+ */
+/*#define HAS_ENDSERVENT_R / **/
+#define ENDSERVENT_R_PROTO 0 /**/
+
+/* HAS_GETHOSTBYADDR_R:
+ * This symbol, if defined, indicates that the gethostbyaddr_r routine
+ * is available to gethostbyaddr re-entrantly.
+ */
+/* GETHOSTBYADDR_R_PROTO:
+ * This symbol encodes the prototype of gethostbyaddr_r.
+ */
+/*#define HAS_GETHOSTBYADDR_R / **/
+#define GETHOSTBYADDR_R_PROTO 0 /**/
+
+/* HAS_GETHOSTBYNAME_R:
+ * This symbol, if defined, indicates that the gethostbyname_r routine
+ * is available to gethostbyname re-entrantly.
+ */
+/* GETHOSTBYNAME_R_PROTO:
+ * This symbol encodes the prototype of gethostbyname_r.
+ */
+/*#define HAS_GETHOSTBYNAME_R / **/
+#define GETHOSTBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETHOSTENT_R:
+ * This symbol, if defined, indicates that the gethostent_r routine
+ * is available to gethostent re-entrantly.
+ */
+/* GETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of gethostent_r.
+ */
+/*#define HAS_GETHOSTENT_R / **/
+#define GETHOSTENT_R_PROTO 0 /**/
+
+/* HAS_GETNETBYADDR_R:
+ * This symbol, if defined, indicates that the getnetbyaddr_r routine
+ * is available to getnetbyaddr re-entrantly.
+ */
+/* GETNETBYADDR_R_PROTO:
+ * This symbol encodes the prototype of getnetbyaddr_r.
+ */
+/*#define HAS_GETNETBYADDR_R / **/
+#define GETNETBYADDR_R_PROTO 0 /**/
+
+/* HAS_GETNETBYNAME_R:
+ * This symbol, if defined, indicates that the getnetbyname_r routine
+ * is available to getnetbyname re-entrantly.
+ */
+/* GETNETBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getnetbyname_r.
+ */
+/*#define HAS_GETNETBYNAME_R / **/
+#define GETNETBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETNETENT_R:
+ * This symbol, if defined, indicates that the getnetent_r routine
+ * is available to getnetent re-entrantly.
+ */
+/* GETNETENT_R_PROTO:
+ * This symbol encodes the prototype of getnetent_r.
+ */
+/*#define HAS_GETNETENT_R / **/
+#define GETNETENT_R_PROTO 0 /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ * This symbol, if defined, indicates that the getprotobyname_r routine
+ * is available to getprotobyname re-entrantly.
+ */
+/* GETPROTOBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getprotobyname_r.
+ */
+/*#define HAS_GETPROTOBYNAME_R / **/
+#define GETPROTOBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETPROTOBYNUMBER_R:
+ * This symbol, if defined, indicates that the getprotobynumber_r routine
+ * is available to getprotobynumber re-entrantly.
+ */
+/* GETPROTOBYNUMBER_R_PROTO:
+ * This symbol encodes the prototype of getprotobynumber_r.
+ */
+/*#define HAS_GETPROTOBYNUMBER_R / **/
+#define GETPROTOBYNUMBER_R_PROTO 0 /**/
+
+/* HAS_GETPROTOENT_R:
+ * This symbol, if defined, indicates that the getprotoent_r routine
+ * is available to getprotoent re-entrantly.
+ */
+/* GETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of getprotoent_r.
+ */
+/*#define HAS_GETPROTOENT_R / **/
+#define GETPROTOENT_R_PROTO 0 /**/
+
+/* HAS_GETSERVBYNAME_R:
+ * This symbol, if defined, indicates that the getservbyname_r routine
+ * is available to getservbyname re-entrantly.
+ */
+/* GETSERVBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getservbyname_r.
+ */
+/*#define HAS_GETSERVBYNAME_R / **/
+#define GETSERVBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETSERVBYPORT_R:
+ * This symbol, if defined, indicates that the getservbyport_r routine
+ * is available to getservbyport re-entrantly.
+ */
+/* GETSERVBYPORT_R_PROTO:
+ * This symbol encodes the prototype of getservbyport_r.
+ */
+/*#define HAS_GETSERVBYPORT_R / **/
+#define GETSERVBYPORT_R_PROTO 0 /**/
+
+/* HAS_GETSERVENT_R:
+ * This symbol, if defined, indicates that the getservent_r routine
+ * is available to getservent re-entrantly.
+ */
+/* GETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of getservent_r.
+ */
+/*#define HAS_GETSERVENT_R / **/
+#define GETSERVENT_R_PROTO 0 /**/
+
/* HAS_PTHREAD_ATFORK:
* This symbol, if defined, indicates that the pthread_atfork routine
* is available setup fork handlers.
*/
/*#define HAS_PTHREAD_ATFORK / **/
+/* HAS_READDIR64_R:
+ * This symbol, if defined, indicates that the readdir64_r routine
+ * is available to readdir64 re-entrantly.
+ */
+/* READDIR64_R_PROTO:
+ * This symbol encodes the prototype of readdir64_r.
+ */
+/*#define HAS_READDIR64_R / **/
+#define READDIR64_R_PROTO 0 /**/
+
+/* HAS_SETHOSTENT_R:
+ * This symbol, if defined, indicates that the sethostent_r routine
+ * is available to sethostent re-entrantly.
+ */
+/* SETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of sethostent_r.
+ */
+/*#define HAS_SETHOSTENT_R / **/
+#define SETHOSTENT_R_PROTO 0 /**/
+
+/* HAS_SETLOCALE_R:
+ * This symbol, if defined, indicates that the setlocale_r routine
+ * is available to setlocale re-entrantly.
+ */
+/* SETLOCALE_R_PROTO:
+ * This symbol encodes the prototype of setlocale_r.
+ */
+/*#define HAS_SETLOCALE_R / **/
+#define SETLOCALE_R_PROTO 0 /**/
+
+/* HAS_SETNETENT_R:
+ * This symbol, if defined, indicates that the setnetent_r routine
+ * is available to setnetent re-entrantly.
+ */
+/* SETNETENT_R_PROTO:
+ * This symbol encodes the prototype of setnetent_r.
+ */
+/*#define HAS_SETNETENT_R / **/
+#define SETNETENT_R_PROTO 0 /**/
+
+/* HAS_SETPROTOENT_R:
+ * This symbol, if defined, indicates that the setprotoent_r routine
+ * is available to setprotoent re-entrantly.
+ */
+/* SETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of setprotoent_r.
+ */
+/*#define HAS_SETPROTOENT_R / **/
+#define SETPROTOENT_R_PROTO 0 /**/
+
+/* HAS_SETSERVENT_R:
+ * This symbol, if defined, indicates that the setservent_r routine
+ * is available to setservent re-entrantly.
+ */
+/* SETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of setservent_r.
+ */
+/*#define HAS_SETSERVENT_R / **/
+#define SETSERVENT_R_PROTO 0 /**/
+
+/* HAS_TTYNAME_R:
+ * This symbol, if defined, indicates that the ttyname_r routine
+ * is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ * This symbol encodes the prototype of ttyname_r.
+ */
+/*#define HAS_TTYNAME_R / **/
+#define TTYNAME_R_PROTO 0 /**/
+
#endif
archlib='/usr/local/lib/perl5/5.7/unknown'
archlibexp='/usr/local/lib/perl5/5.7/unknown'
archname='unknown'
+asctime_r_proto='0'
bin='/usr/local/bin'
bincompat5005='define'
byteorder='1234'
charsize='1'
clocktype='clock_t'
cpp_stuff='42'
+crypt_r_proto='0'
+ctermid_r_proto='0'
+ctime_r_proto='0'
d_Gconvert='sprintf((b),"%.*g",(n),(x))'
d_PRIEUldbl='undef'
d_PRIFUldbl='undef'
d_accessx='undef'
d_alarm='undef'
d_archlib='undef'
+d_asctime_r='undef'
d_atolf='undef'
d_atoll='undef'
d_attribut='undef'
d_cmsghdr_s='undef'
d_const='undef'
d_crypt='undef'
+d_crypt_r='undef'
d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
d_cuserid='undef'
d_dbl_dig='undef'
d_dbminitproto='undef'
d_dlopen='undef'
d_dlsymun='undef'
d_dosuid='undef'
+d_drand48_r='undef'
d_drand48proto='undef'
d_dup2='undef'
d_eaccess='undef'
d_endgrent='undef'
+d_endgrent_r='undef'
d_endhent='undef'
+d_endhostent_r='undef'
d_endnent='undef'
+d_endnetent_r='undef'
d_endpent='undef'
+d_endprotoent_r='undef'
d_endpwent='undef'
+d_endpwent_r='undef'
d_endsent='undef'
+d_endservent_r='undef'
d_eofnblk='undef'
d_eunice='undef'
d_fchdir='undef'
d_getespwnam='undef'
d_getfsstat='undef'
d_getgrent='undef'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
d_getgrps='undef'
d_gethbyaddr='undef'
d_gethbyname='undef'
d_gethent='undef'
d_gethname='undef'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
d_gethostprotos='undef'
d_getitimer='undef'
d_getlogin='undef'
+d_getlogin_r='undef'
d_getmnt='undef'
d_getmntent='undef'
d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
d_getnetprotos='undef'
d_getpagsz='undef'
d_getpbyname='undef'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
d_getprotoprotos='undef'
d_getprpwnam='undef'
d_getpwent='undef'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
d_getsbyname='undef'
d_getsbyport='undef'
d_getsent='undef'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
d_getservprotos='undef'
d_getspent='undef'
d_getspnam='undef'
+d_getspnam_r='undef'
d_gettimeod='undef'
+d_gmtime_r='undef'
d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
d_lchown='undef'
d_ldbl_dig='undef'
d_link='undef'
+d_localtime_r='undef'
d_locconv='undef'
d_lockf='undef'
d_longdbl='undef'
d_pwquota='undef'
d_qgcvt='undef'
d_quad='undef'
+d_random_r='undef'
+d_readdir64_r='undef'
d_readdir='undef'
+d_readdir_r='undef'
d_readlink='undef'
d_readv='undef'
d_recvmsg='undef'
d_setegid='undef'
d_seteuid='undef'
d_setgrent='undef'
+d_setgrent_r='undef'
d_setgrps='undef'
d_sethent='undef'
+d_sethostent_r='undef'
d_setitimer='undef'
d_setlinebuf='undef'
d_setlocale='undef'
+d_setlocale_r='undef'
d_setnent='undef'
+d_setnetent_r='undef'
d_setpent='undef'
d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
d_setproctitle='undef'
+d_setprotoent_r='undef'
d_setpwent='undef'
+d_setpwent_r='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
d_setrgid='undef'
d_setruid='undef'
d_setsent='undef'
+d_setservent_r='undef'
d_setsid='undef'
d_setvbuf='undef'
d_sfio='undef'
d_sockpair='undef'
d_socks5_init='undef'
d_sqrtl='undef'
+d_srand48_r='undef'
+d_srandom_r='undef'
d_sresgproto='undef'
d_sresuproto='undef'
d_statblks='undef'
d_strctcpy='undef'
d_strerrm='strerror(e)'
d_strerror='undef'
+d_strerror_r='undef'
d_strftime='undef'
d_strtod='undef'
d_strtol='undef'
d_telldirproto='undef'
d_time='undef'
d_times='undef'
+d_tm_tm_gmtoff='undef'
+d_tm_tm_zone='undef'
+d_tmpnam_r='undef'
d_truncate='undef'
+d_ttyname_r='undef'
d_tzname='undef'
d_u32align='define'
d_ualarm='undef'
direntrytype='struct dirent'
doublesize='8'
drand01="((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))"
+drand48_r_proto='0'
eagain='EAGAIN'
ebcdic='undef'
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
fflushNULL='undef'
fflushall='undef'
firstmakefile='makefile'
fpossize='4'
fpostype=int
freetype=int
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
gidformat='"lu"'
gidsign='1'
gidsize='4'
gidtype=int
+gmtime_r_proto='0'
groupstype=int
h_fcntl='false'
h_sysfile='true'
i8type='char'
i_arpainet='undef'
i_bsdioctl=''
+i_crypt='undef'
i_db='undef'
i_dbm='undef'
i_dirent='undef'
ivsize='4'
ivtype='long'
lib_ext='.a'
+localtime_r_proto='0'
longdblsize=8
longlongsize=8
longsize='4'
quadtype='int64_t'
randbits='48'
randfunc='drand48'
+random_r_proto='0'
randseedtype='int'
rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
sPRIEUldbl='"llE"'
sPRIFUldbl='"llF"'
sPRIGUldbl='"llG"'
seedfunc='srand'
selectminbits='32'
selecttype=int
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
shmattype='void *'
shortsize=2
sig_name_init='0'
sizesize=4
sizetype=int
socksizetype='int'
+srand48_r_proto='0'
+srandom_r_proto='0'
ssizetype=int
stdchar=char
stdio_base='((fp)->_IO_read_base)'
stdio_filbuf=''
stdio_ptr='((fp)->_IO_read_ptr)'
stdio_stream_array=''
+strerror_r_proto='0'
timetype=int
+tmpnam_r_proto='0'
touch='touch'
+ttyname_r_proto='0'
u16size='2'
u16type='unsigned short'
u32size='4'
{
}
-void
-Perl_reentrant_init(pTHX)
-{
-#ifdef USE_REENTRANT_API
- New(31337, PL_reentrant_buffer, 1, REENTBUF);
- New(31337, PL_reentrant_buffer->tmbuf, 1, struct tm);
-#endif
-}
-
-
-
c0 = $(MALLOC_C) $(SOCKC) av.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c
c1 = mg.c locale.c miniperlmain.c numeric.c op.c perl.c perlapi.c perlio.c
-c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c
+c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c reentr.c
c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c xsutils.c
c = $(c0) $(c1) $(c2) $(c3)
obj0 = $(MALLOC_O) $(SOCKO) av$(O) deb$(O) doio$(O) doop$(O) dump$(O)
obj1 = globals$(O) gv$(O) hv$(O) locale$(O) mg$(O) miniperlmain$(O) numeric$(O)
-obj2 = op$(O) perl$(O) perlapi$(O) perlio$(O) perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O)
+obj2 = op$(O) perl$(O) perlapi$(O) perlio$(O) perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O)
obj3 = pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O) regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O)
obj4 = universal$(O) utf8$(O) util$(O) vms$(O) xsutils$(O)
obj = $(obj0) $(obj1) $(obj2) $(obj3) $(obj4)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
pp_pack$(O) : pp_pack.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
pp_sort$(O) : pp_sort.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
-pp_sys$(O) : pp_sys.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
+pp_sys$(O) : pp_sys.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h reentr.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
+reentr(O) : reentr.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h intern.h reentr.h
regcomp$(O) : regcomp.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h intern.h regcomp.h regnodes.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
regexec$(O) : regexec.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h regcomp.h regnodes.h
&if (command_status) ^= 0 &then &return
!&compiler& <<pp_sys.c &diag& &cpu& &cflags& -o pp_sys&s&
&if (command_status) ^= 0 &then &return
+!&compiler& <<reentr.c &diag& &cpu& &cflags& -o reentr&s&
+&if (command_status) ^= 0 &then &return
!&compiler& <<regcomp.c &diag& &cpu& &cflags& -o regcomp&s&
&if (command_status) ^= 0 &then &return
!&compiler& <<regexec.c &diag& &cpu& &cflags& -o regexec&s&
!delete_file perl.a
!ar rc perl.a av.o deb.o doio.o doop.o dump.o globals.o gv.o hv.o locale.o &+
mg.o numeric.o op.o perl.o perlapi.o perlio.o perly.o pp.o pp_ctl.o &+
- pp_hot.o pp_pack.o pp_sort.o pp_sys.o regcomp.o regexec.o run.o scope.o &+
- sv.o taint.o toke.o universal.o utf8.o util.o xsutils.o
+ pp_hot.o pp_pack.o pp_sort.o pp_sys.o reentr.o regcomp.o regexec.o run.o &+
+ scope.o sv.o taint.o toke.o universal.o utf8.o util.o xsutils.o
!delete_file *.o -no_ask -brief
&end
&else &do
+$CONFIG_SH='config.sh'
+$Id='$Id'
$alignbytes='8'
$aphostname=''
$archlib=''
$archlibexp=''
$archname=''
+$asctime_r_proto='0'
$bin='/system/ported/command_library'
$binexp='/system/ported/command_library'
$byteorder='4321'
$castflags='0'
$cf_by='Paul.Green@stratus.com'
$cf_time='2002-02-15 20:16 UCT'
-$CONFIG_SH='config.sh'
$cpp_stuff='42'
$cpplast='-'
$cppminus='-'
$cpprun='cc -E -'
$cppstdin='cc -E'
+$crypt_r_proto='0'
+$ctermid_r_proto='0'
+$ctime_r_proto='0'
$d_Gconvert='sprintf((b),"%.*g",(n),(x))'
$d_PRIeldbl='define'
$d_PRIfldbl='define'
$d_accessx='undef'
$d_alarm='define'
$d_archlib='undef'
+$d_asctime_r='undef'
$d_atolf='undef'
$d_atoll='undef'
$d_attribut='undef'
$d_cmsghdr_s='undef'
$d_const='define'
$d_crypt='undef'
+$d_crypt_r='undef'
$d_csh='undef'
+$d_ctermid_r='undef'
+$d_ctime_r='undef'
$d_cuserid='undef'
$d_dbl_dig='define'
$d_dbminitproto='undef'
$d_dlerror='undef'
$d_dlsymun='undef'
$d_dosuid='undef'
+$d_drand48_r='undef'
$d_drand48proto='undef'
$d_dup2='undef'
$d_eaccess='undef'
$d_endgrent='undef'
+$d_endgrent_r='undef'
$d_endhent='define'
+$d_endhostent_r='undef'
$d_endnent='define'
+$d_endnetent_r='undef'
$d_endpent='define'
+$d_endprotoent_r='undef'
$d_endpwent='undef'
+$d_endpwent_r='undef'
$d_endsent='define'
+$d_endservent_r='undef'
$d_eofnblk='define'
$d_fchdir='undef'
$d_fchmod='define'
$d_getespwnam='undef'
$d_getfsstat='undef'
$d_getgrent='undef'
+$d_getgrent_r='undef'
+$d_getgrgid_r='undef'
+$d_getgrnam_r='undef'
$d_getgrps='undef'
$d_gethbyaddr='define'
$d_gethbyname='define'
$d_gethent='define'
$d_gethname='define'
+$d_gethostbyaddr_r='undef'
+$d_gethostbyname_r='undef'
+$d_gethostent_r='undef'
$d_gethostprotos='define'
$d_getitimer='undef'
$d_getlogin='define'
+$d_getlogin_r='undef'
$d_getmnt='undef'
$d_getmntent='undef'
$d_getnbyaddr='define'
$d_getnbyname='define'
$d_getnent='define'
+$d_getnetbyaddr_r='undef'
+$d_getnetbyname_r='undef'
+$d_getnetent_r='undef'
$d_getnetprotos='define'
$d_getpagsz='undef'
$d_getpbyname='define'
$d_getpgrp='define'
$d_getppid='define'
$d_getprior='undef'
+$d_getprotobyname_r='undef'
+$d_getprotobynumber_r='undef'
+$d_getprotoent_r='undef'
$d_getprotoprotos='define'
$d_getprpwnam='undef'
$d_getpwent='undef'
+$d_getpwent_r='undef'
+$d_getpwnam_r='undef'
+$d_getpwuid_r='undef'
$d_getsbyname='define'
$d_getsbyport='define'
$d_getsent='define'
+$d_getservbyname_r='undef'
+$d_getservbyport_r='undef'
+$d_getservent_r='undef'
$d_getservprotos='define'
$d_getspnam='undef'
+$d_getspnam_r='undef'
$d_gettimeod='undef'
+$d_gmtime_r='undef'
$d_gnulibc='undef'
$d_grpasswd='undef'
$d_hasmntopt='undef'
$d_lchown='undef'
$d_ldbl_dig='define'
$d_link='undef'
+$d_localtime_r='undef'
$d_locconv='define'
$d_lockf='define'
$d_longdbl='define'
$d_pwpasswd='undef'
$d_pwquota='undef'
$d_quad='undef'
+$d_random_r='undef'
+$d_readdir64_r='undef'
$d_readdir='define'
+$d_readdir_r='undef'
$d_readlink='define'
$d_readv='undef'
$d_recvmsg='undef'
$d_setegid='undef'
$d_seteuid='undef'
$d_setgrent='undef'
+$d_setgrent_r='undef'
$d_setgrps='undef'
$d_sethent='define'
+$d_sethostent_r='undef'
$d_setitimer='undef'
$d_setlinebuf='undef'
$d_setlocale='define'
+$d_setlocale_r='undef'
$d_setnent='define'
+$d_setnetent_r='undef'
$d_setpent='define'
$d_setpgid='undef'
$d_setpgrp2='undef'
$d_setpgrp='undef'
$d_setprior='undef'
$d_setproctitle='undef'
+$d_setprotoent_r='undef'
$d_setpwent='undef'
+$d_setpwent_r='undef'
$d_setregid='undef'
$d_setresgid='undef'
$d_setresuid='undef'
$d_setrgid='undef'
$d_setruid='undef'
$d_setsent='define'
+$d_setservent_r='undef'
$d_setsid='undef'
$d_setvbuf='define'
$d_sfio='undef'
$d_sockpair='undef'
$d_socks5_init='undef'
$d_sqrtl='undef'
+$d_srand48_r='undef'
+$d_srandom_r='undef'
$d_sresgproto='undef'
$d_sresuproto='undef'
$d_statblks='undef'
$d_strctcpy='define'
$d_strerrm='strerror(e)'
$d_strerror='define'
+$d_strerror_r='undef'
$d_strftime='define'
$d_strtod='define'
$d_strtol='define'
$d_telldir='undef'
$d_telldirproto='undef'
$d_times='define'
+$d_tm_tm_gmtoff='undef'
+$d_tm_tm_zone='undef'
+$d_tmpnam_r='undef'
$d_truncate='undef'
+$d_ttyname_r='undef'
$d_tzname='define'
$d_u32align='define'
$d_ualarm='undef'
$direntrytype='struct dirent'
$doublesize='8'
$drand01='rand()/(RAND_MAX+1)'
+$drand48_r_proto='0'
$eagain='EAGAIN'
$ebcdic='undef'
-$fflushall='undef'
+$endgrent_r_proto='0'
+$endhostent_r_proto='0'
+$endnetent_r_proto='0'
+$endprotoent_r_proto='0'
+$endpwent_r_proto='0'
+$endservent_r_proto='0'
$fflushNULL='define'
+$fflushall='undef'
$fpostype='fpos_t'
$freetype='void'
$full_csh=''
$full_sed='/system/ported/command_library/sed.pm'
+$getgrent_r_proto='0'
+$getgrgid_r_proto='0'
+$getgrnam_r_proto='0'
+$gethostbyaddr_r_proto='0'
+$gethostbyname_r_proto='0'
+$gethostent_r_proto='0'
+$getlogin_r_proto='0'
+$getnetbyaddr_r_proto='0'
+$getnetbyname_r_proto='0'
+$getnetent_r_proto='0'
+$getprotobyname_r_proto='0'
+$getprotobynumber_r_proto='0'
+$getprotoent_r_proto='0'
+$getpwent_r_proto='0'
+$getpwnam_r_proto='0'
+$getpwuid_r_proto='0'
+$getservbyname_r_proto='0'
+$getservbyport_r_proto='0'
+$getservent_r_proto='0'
+$getspnam_r_proto='0'
$gidformat='"d"'
-$gidsize='4'
$gidsign='-1'
+$gidsize='4'
$gidtype='gid_t'
+$gmtime_r_proto='0'
$groupstype='gid_t'
$i16size='2'
$i16type='short'
$i8size='1'
$i8type='char'
$i_arpainet='define'
+$i_crypt='undef'
$i_dbm='undef'
$i_dirent='define'
$i_dlfcn='undef'
$i_values='define'
$i_varargs='undef'
$i_vfork='undef'
-$Id='$Id'
$inc_version_list_init='0'
$installusrbinperl='undef'
$intsize='4'
$ivdformat='"d"'
$ivsize='4'
$ivtype='int'
+$localtime_r_proto='0'
$longdblsize='8'
$longlongsize='_error_'
$longsize='4'
$quadkind='_error_'
$quadtype='_error_'
$randbits='15'
+$random_r_proto='0'
$randseedtype='unsigned int'
$rd_nodata='-1'
+$readdir64_r_proto='0'
+$readdir_r_proto='0'
+$sPRIeldbl='"Le"'
+$sPRIfldbl='"Lf"'
+$sPRIgldbl='"Lg"'
+$sSCNfldbl='"Lf"'
$sched_yield=''
$seedfunc='srand'
$selectminbits='1'
$selecttype='fd_set *'
+$setgrent_r_proto='0'
+$sethostent_r_proto='0'
+$setlocale_r_proto='0'
+$setnetent_r_proto='0'
+$setprotoent_r_proto='0'
+$setpwent_r_proto='0'
+$setservent_r_proto='0'
$sh='/bin/sh'
$shmattype='void *'
$shortsize='2'
$sitearch='/system/ported/lib/perl5/site_perl/5.8.0/hppa1.1'
$sitearchexp='/system/ported/lib/perl5/site_perl/5.8.0/hppa1.1'
$sitelib='/system/ported/lib/perl5/site_perl/5.8.0'
-$sitelibexp='/system/ported/lib/perl5/site_perl/5.8.0'
$sitelib_stem='/system/ported/lib/perl5/site_perl'
+$sitelibexp='/system/ported/lib/perl5/site_perl/5.8.0'
$sizesize='4'
$sizetype='size_t'
$socksizetype='int'
-$sPRIeldbl='"Le"'
-$sPRIfldbl='"Lf"'
-$sPRIgldbl='"Lg"'
+$srand48_r_proto='0'
+$srandom_r_proto='0'
$src='/vos_ftp_site/pub/vos/posix/(alpha|ga)/perl'
-$sSCNfldbl='"Lf"'
$ssizetype='ssize_t'
$startperl='!perl.pm'
$stdchar='unsigned char'
$stdio_cnt='((fp)->_cnt)'
$stdio_ptr='((fp)->_ptr)'
$stdio_stream_array='_iob'
+$strerror_r_proto='0'
$targetarch='undef'
$timetype='time_t'
+$tmpnam_r_proto='0'
+$ttyname_r_proto='0'
$u16size='2'
$u16type='unsigned short'
$u32size='4'
$u8size='1'
$u8type='unsigned char'
$uidformat='"d"'
-$uidsize='4'
$uidsign='-1'
+$uidsize='4'
$uidtype='uid_t'
$undef='$undef'
$uquadtype='_error_'
$useperlio='undef'
$usereentrant='undef'
$usesocks='undef'
+$uvXUformat='"X"'
$uvoformat='"o"'
$uvsize='4'
$uvtype='unsigned int'
$uvuformat='"u"'
$uvxformat='"x"'
-$uvXUformat='"X"'
$vendorarch=''
$vendorarchexp=''
$vendorlib_stem=''
*/
/*#define HAS_ACCESS /**/
+/* HAS_ASCTIME_R:
+ * This symbol, if defined, indicates that the asctime_r routine
+ * is available to asctime re-entrantly.
+ */
+/* ASCTIME_R_PROTO:
+ * This symbol encodes the prototype of asctime_r.
+ */
+/*#define HAS_ASCTIME_R /**/
+#define ASCTIME_R_PROTO 0 /**/
+
/* CASTI32:
* This symbol is defined if the C compiler can cast negative
* or large floating point numbers to 32-bit ints.
*/
/*#define HAS_STRUCT_CMSGHDR /**/
+/* HAS_CRYPT_R:
+ * This symbol, if defined, indicates that the crypt_r routine
+ * is available to crypt re-entrantly.
+ */
+/* CRYPT_R_PROTO:
+ * This symbol encodes the prototype of crypt_r.
+ */
+/*#define HAS_CRYPT_R /**/
+#define CRYPT_R_PROTO 0 /**/
+
/* HAS_CSH:
* This symbol, if defined, indicates that the C-shell exists.
*/
#define CSH "" /**/
#endif
+/* HAS_CTIME_R:
+ * This symbol, if defined, indicates that the ctime_r routine
+ * is available to ctime re-entrantly.
+ */
+/* CTIME_R_PROTO:
+ * This symbol encodes the prototype of ctime_r.
+ */
+/*#define HAS_CTIME_R /**/
+#define CTIME_R_PROTO 0 /**/
+
/* DLSYM_NEEDS_UNDERSCORE:
* This symbol, if defined, indicates that we need to prepend an
* underscore to the symbol name before calling dlsym(). This only
*/
/*#define DLSYM_NEEDS_UNDERSCORE /**/
+/* HAS_DRAND48_R:
+ * This symbol, if defined, indicates that the drand48_r routine
+ * is available to drand48 re-entrantly.
+ */
+/* DRAND48_R_PROTO:
+ * This symbol encodes the prototype of drand48_r.
+ */
+/*#define HAS_DRAND48_R /**/
+#define DRAND48_R_PROTO 0 /**/
+
/* HAS_DRAND48_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the drand48() function. Otherwise, it is up
*/
/*#define HAS_ENDGRENT /**/
+/* HAS_ENDGRENT_R:
+ * This symbol, if defined, indicates that the endgrent_r routine
+ * is available to endgrent re-entrantly.
+ */
+/* ENDGRENT_R_PROTO:
+ * This symbol encodes the prototype of endgrent_r.
+ */
+/*#define HAS_ENDGRENT_R /**/
+#define ENDGRENT_R_PROTO 0 /**/
+
/* HAS_ENDHOSTENT:
* This symbol, if defined, indicates that the endhostent() routine is
* available to close whatever was being used for host queries.
*/
/*#define HAS_ENDPWENT /**/
+/* HAS_ENDPWENT_R:
+ * This symbol, if defined, indicates that the endpwent_r routine
+ * is available to endpwent re-entrantly.
+ */
+/* ENDPWENT_R_PROTO:
+ * This symbol encodes the prototype of endpwent_r.
+ */
+/*#define HAS_ENDPWENT_R /**/
+#define ENDPWENT_R_PROTO 0 /**/
+
/* HAS_ENDSERVENT:
* This symbol, if defined, indicates that the endservent() routine is
* available to close whatever was being used for service queries.
* a macro using sprintf("%g") is used. Arguments for the Gconvert
* macro are: value, number of digits, whether trailing zeros should
* be retained, and the output buffer.
- * Possible values are:
+ * The usual values are:
* d_Gconvert='gconvert((x),(n),(t),(b))'
* d_Gconvert='gcvt((x),(n),(b))'
* d_Gconvert='sprintf((b),"%.*g",(n),(x))'
*/
/*#define HAS_GETGRENT /**/
+/* HAS_GETGRENT_R:
+ * This symbol, if defined, indicates that the getgrent_r routine
+ * is available to getgrent re-entrantly.
+ */
+/* GETGRENT_R_PROTO:
+ * This symbol encodes the prototype of getgrent_r.
+ */
+/*#define HAS_GETGRENT_R /**/
+#define GETGRENT_R_PROTO 0 /**/
+
+/* HAS_GETGRGID_R:
+ * This symbol, if defined, indicates that the getgrgid_r routine
+ * is available to getgrgid re-entrantly.
+ */
+/* GETGRGID_R_PROTO:
+ * This symbol encodes the prototype of getgrgid_r.
+ */
+/*#define HAS_GETGRGID_R /**/
+#define GETGRGID_R_PROTO 0 /**/
+
+/* HAS_GETGRNAM_R:
+ * This symbol, if defined, indicates that the getgrnam_r routine
+ * is available to getgrnam re-entrantly.
+ */
+/* GETGRNAM_R_PROTO:
+ * This symbol encodes the prototype of getgrnam_r.
+ */
+/*#define HAS_GETGRNAM_R /**/
+#define GETGRNAM_R_PROTO 0 /**/
+
/* HAS_GETHOSTBYADDR:
* This symbol, if defined, indicates that the gethostbyaddr() routine is
* available to look up hosts by their IP addresses.
*/
/*#define HAS_GETITIMER /**/
+/* HAS_GETLOGIN_R:
+ * This symbol, if defined, indicates that the getlogin_r routine
+ * is available to getlogin re-entrantly.
+ */
+/* GETLOGIN_R_PROTO:
+ * This symbol encodes the prototype of getlogin_r.
+ */
+/*#define HAS_GETLOGIN_R /**/
+#define GETLOGIN_R_PROTO 0 /**/
+
/* HAS_GETMNT:
* This symbol, if defined, indicates that the getmnt routine is
* available to get filesystem mount info by filename.
*/
/*#define HAS_GETPWENT /**/
+/* HAS_GETPWENT_R:
+ * This symbol, if defined, indicates that the getpwent_r routine
+ * is available to getpwent re-entrantly.
+ */
+/* GETPWENT_R_PROTO:
+ * This symbol encodes the prototype of getpwent_r.
+ */
+/*#define HAS_GETPWENT_R /**/
+#define GETPWENT_R_PROTO 0 /**/
+
+/* HAS_GETPWNAM_R:
+ * This symbol, if defined, indicates that the getpwnam_r routine
+ * is available to getpwnam re-entrantly.
+ */
+/* GETPWNAM_R_PROTO:
+ * This symbol encodes the prototype of getpwnam_r.
+ */
+/*#define HAS_GETPWNAM_R /**/
+#define GETPWNAM_R_PROTO 0 /**/
+
+/* HAS_GETPWUID_R:
+ * This symbol, if defined, indicates that the getpwuid_r routine
+ * is available to getpwuid re-entrantly.
+ */
+/* GETPWUID_R_PROTO:
+ * This symbol encodes the prototype of getpwuid_r.
+ */
+/*#define HAS_GETPWUID_R /**/
+#define GETPWUID_R_PROTO 0 /**/
+
/* 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_GETSPNAM /**/
+/* HAS_GETSPNAM_R:
+ * This symbol, if defined, indicates that the getspnam_r routine
+ * is available to getspnam re-entrantly.
+ */
+/* GETSPNAM_R_PROTO:
+ * This symbol encodes the prototype of getspnam_r.
+ */
+/*#define HAS_GETSPNAM_R /**/
+#define GETSPNAM_R_PROTO 0 /**/
+
/* HAS_GETSERVBYNAME:
* This symbol, if defined, indicates that the getservbyname()
* routine is available to look up services by their name.
#define HAS_GETSERVBYNAME /**/
#define HAS_GETSERVBYPORT /**/
+/* HAS_GMTIME_R:
+ * This symbol, if defined, indicates that the gmtime_r routine
+ * is available to gmtime re-entrantly.
+ */
+/* GMTIME_R_PROTO:
+ * This symbol encodes the prototype of gmtime_r.
+ */
+/*#define HAS_GMTIME_R /**/
+#define GMTIME_R_PROTO 0 /**/
+
/* HAS_GNULIBC:
* This symbol, if defined, indicates to the C program that
* the GNU C library is being used.
*/
#define HAS_LDBL_DIG /* */
+/* HAS_LOCALTIME_R:
+ * This symbol, if defined, indicates that the localtime_r routine
+ * is available to localtime re-entrantly.
+ */
+/* LOCALTIME_R_PROTO:
+ * This symbol encodes the prototype of localtime_r.
+ */
+/*#define HAS_LOCALTIME_R /**/
+#define LOCALTIME_R_PROTO 0 /**/
+
/* HAS_LONG_DOUBLE:
* This symbol will be defined if the C compiler supports long
* doubles.
#define SCHED_YIELD /**/
/*#define HAS_SCHED_YIELD /**/
+/* HAS_RANDOM_R:
+ * This symbol, if defined, indicates that the random_r routine
+ * is available to random re-entrantly.
+ */
+/* RANDOM_R_PROTO:
+ * This symbol encodes the prototype of random_r.
+ */
+/*#define HAS_RANDOM_R /**/
+#define RANDOM_R_PROTO 0 /**/
+
+/* HAS_READDIR_R:
+ * This symbol, if defined, indicates that the readdir_r routine
+ * is available to readdir re-entrantly.
+ */
+/* READDIR_R_PROTO:
+ * This symbol encodes the prototype of readdir_r.
+ */
+/*#define HAS_READDIR_R /**/
+#define READDIR_R_PROTO 0 /**/
+
/* HAS_READV:
* This symbol, if defined, indicates that the readv routine is
* available to do gather reads. You will also need <sys/uio.h>
*/
/*#define HAS_SETGRENT /**/
+/* HAS_SETGRENT_R:
+ * This symbol, if defined, indicates that the setgrent_r routine
+ * is available to setgrent re-entrantly.
+ */
+/* SETGRENT_R_PROTO:
+ * This symbol encodes the prototype of setgrent_r.
+ */
+/*#define HAS_SETGRENT_R /**/
+#define SETGRENT_R_PROTO 0 /**/
+
/* HAS_SETGROUPS:
* This symbol, if defined, indicates that the setgroups() routine is
* available to set the list of process groups. If unavailable, multiple
*/
/*#define HAS_SETPWENT /**/
+/* HAS_SETPWENT_R:
+ * This symbol, if defined, indicates that the setpwent_r routine
+ * is available to setpwent re-entrantly.
+ */
+/* SETPWENT_R_PROTO:
+ * This symbol encodes the prototype of setpwent_r.
+ */
+/*#define HAS_SETPWENT_R /**/
+#define SETPWENT_R_PROTO 0 /**/
+
/* HAS_SETSERVENT:
* This symbol, if defined, indicates that the setservent() routine is
* available.
*/
/*#define HAS_SQRTL /**/
+/* HAS_SRAND48_R:
+ * This symbol, if defined, indicates that the srand48_r routine
+ * is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ * This symbol encodes the prototype of srand48_r.
+ */
+/*#define HAS_SRAND48_R /**/
+#define SRAND48_R_PROTO 0 /**/
+
+/* HAS_SRANDOM_R:
+ * This symbol, if defined, indicates that the srandom_r routine
+ * is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ * This symbol encodes the prototype of srandom_r.
+ */
+/*#define HAS_SRANDOM_R /**/
+#define SRANDOM_R_PROTO 0 /**/
+
/* USE_STAT_BLOCKS:
* This symbol is defined if this system has a stat structure declaring
* st_blksize and st_blocks.
#define HAS_SYS_ERRLIST /**/
#define Strerror(e) strerror(e)
+/* HAS_STRERROR_R:
+ * This symbol, if defined, indicates that the strerror_r routine
+ * is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ * This symbol encodes the prototype of strerror_r.
+ */
+/*#define HAS_STRERROR_R /**/
+#define STRERROR_R_PROTO 0 /**/
+
/* HAS_STRTOLD:
* This symbol, if defined, indicates that the strtold routine is
* available to convert strings to long doubles.
*/
#define HAS_TIMES /**/
+/* HAS_TMPNAM_R:
+ * This symbol, if defined, indicates that the tmpnam_r routine
+ * is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ * This symbol encodes the prototype of tmpnam_r.
+ */
+/*#define HAS_TMPNAM_R /**/
+#define TMPNAM_R_PROTO 0 /**/
+
/* HAS_UALARM:
* This symbol, if defined, indicates that the ualarm routine is
* available to do alarms with microsecond granularity.
* This symbol, if defined, indicates to the C program that it should
* include <sys/time.h> with KERNEL defined.
*/
+/* HAS_TM_TM_ZONE:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_zone field.
+ */
/*#define I_TIME /**/
#define I_SYS_TIME /**/
/*#define I_SYS_TIME_KERNEL /**/
+/*#define HAS_TM_TM_ZONE /**/
/* I_USTAT:
* This symbol, if defined, indicates that <ustat.h> exists and
*/
/*#define HAS_USLEEP_PROTO /**/
+/* I_CRYPT:
+ * This symbol, if defined, indicates that <crypt.h> exists and
+ * should be included.
+ */
+/*#define I_CRYPT /**/
+
/* I_FP:
* This symbol, if defined, indicates that <fp.h> exists and
* should be included.
*/
/*#define I_LANGINFO /**/
+/* HAS_CTERMID_R:
+ * This symbol, if defined, indicates that the ctermid_r routine
+ * is available to ctermid re-entrantly.
+ */
+/* CTERMID_R_PROTO:
+ * This symbol encodes the prototype of ctermid_r.
+ */
+/*#define HAS_CTERMID_R /**/
+#define CTERMID_R_PROTO 0 /**/
+
+/* HAS_ENDHOSTENT_R:
+ * This symbol, if defined, indicates that the endhostent_r routine
+ * is available to endhostent re-entrantly.
+ */
+/* ENDHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of endhostent_r.
+ */
+/*#define HAS_ENDHOSTENT_R /**/
+#define ENDHOSTENT_R_PROTO 0 /**/
+
+/* HAS_ENDNETENT_R:
+ * This symbol, if defined, indicates that the endnetent_r routine
+ * is available to endnetent re-entrantly.
+ */
+/* ENDNETENT_R_PROTO:
+ * This symbol encodes the prototype of endnetent_r.
+ */
+/*#define HAS_ENDNETENT_R /**/
+#define ENDNETENT_R_PROTO 0 /**/
+
+/* HAS_ENDPROTOENT_R:
+ * This symbol, if defined, indicates that the endprotoent_r routine
+ * is available to endprotoent re-entrantly.
+ */
+/* ENDPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of endprotoent_r.
+ */
+/*#define HAS_ENDPROTOENT_R /**/
+#define ENDPROTOENT_R_PROTO 0 /**/
+
+/* HAS_ENDSERVENT_R:
+ * This symbol, if defined, indicates that the endservent_r routine
+ * is available to endservent re-entrantly.
+ */
+/* ENDSERVENT_R_PROTO:
+ * This symbol encodes the prototype of endservent_r.
+ */
+/*#define HAS_ENDSERVENT_R /**/
+#define ENDSERVENT_R_PROTO 0 /**/
+
+/* HAS_GETHOSTBYADDR_R:
+ * This symbol, if defined, indicates that the gethostbyaddr_r routine
+ * is available to gethostbyaddr re-entrantly.
+ */
+/* GETHOSTBYADDR_R_PROTO:
+ * This symbol encodes the prototype of gethostbyaddr_r.
+ */
+/*#define HAS_GETHOSTBYADDR_R /**/
+#define GETHOSTBYADDR_R_PROTO 0 /**/
+
+/* HAS_GETHOSTBYNAME_R:
+ * This symbol, if defined, indicates that the gethostbyname_r routine
+ * is available to gethostbyname re-entrantly.
+ */
+/* GETHOSTBYNAME_R_PROTO:
+ * This symbol encodes the prototype of gethostbyname_r.
+ */
+/*#define HAS_GETHOSTBYNAME_R /**/
+#define GETHOSTBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETHOSTENT_R:
+ * This symbol, if defined, indicates that the gethostent_r routine
+ * is available to gethostent re-entrantly.
+ */
+/* GETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of gethostent_r.
+ */
+/*#define HAS_GETHOSTENT_R /**/
+#define GETHOSTENT_R_PROTO 0 /**/
+
+/* HAS_GETNETBYADDR_R:
+ * This symbol, if defined, indicates that the getnetbyaddr_r routine
+ * is available to getnetbyaddr re-entrantly.
+ */
+/* GETNETBYADDR_R_PROTO:
+ * This symbol encodes the prototype of getnetbyaddr_r.
+ */
+/*#define HAS_GETNETBYADDR_R /**/
+#define GETNETBYADDR_R_PROTO 0 /**/
+
+/* HAS_GETNETBYNAME_R:
+ * This symbol, if defined, indicates that the getnetbyname_r routine
+ * is available to getnetbyname re-entrantly.
+ */
+/* GETNETBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getnetbyname_r.
+ */
+/*#define HAS_GETNETBYNAME_R /**/
+#define GETNETBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETNETENT_R:
+ * This symbol, if defined, indicates that the getnetent_r routine
+ * is available to getnetent re-entrantly.
+ */
+/* GETNETENT_R_PROTO:
+ * This symbol encodes the prototype of getnetent_r.
+ */
+/*#define HAS_GETNETENT_R /**/
+#define GETNETENT_R_PROTO 0 /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ * This symbol, if defined, indicates that the getprotobyname_r routine
+ * is available to getprotobyname re-entrantly.
+ */
+/* GETPROTOBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getprotobyname_r.
+ */
+/*#define HAS_GETPROTOBYNAME_R /**/
+#define GETPROTOBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETPROTOBYNUMBER_R:
+ * This symbol, if defined, indicates that the getprotobynumber_r routine
+ * is available to getprotobynumber re-entrantly.
+ */
+/* GETPROTOBYNUMBER_R_PROTO:
+ * This symbol encodes the prototype of getprotobynumber_r.
+ */
+/*#define HAS_GETPROTOBYNUMBER_R /**/
+#define GETPROTOBYNUMBER_R_PROTO 0 /**/
+
+/* HAS_GETPROTOENT_R:
+ * This symbol, if defined, indicates that the getprotoent_r routine
+ * is available to getprotoent re-entrantly.
+ */
+/* GETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of getprotoent_r.
+ */
+/*#define HAS_GETPROTOENT_R /**/
+#define GETPROTOENT_R_PROTO 0 /**/
+
+/* HAS_GETSERVBYNAME_R:
+ * This symbol, if defined, indicates that the getservbyname_r routine
+ * is available to getservbyname re-entrantly.
+ */
+/* GETSERVBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getservbyname_r.
+ */
+/*#define HAS_GETSERVBYNAME_R /**/
+#define GETSERVBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETSERVBYPORT_R:
+ * This symbol, if defined, indicates that the getservbyport_r routine
+ * is available to getservbyport re-entrantly.
+ */
+/* GETSERVBYPORT_R_PROTO:
+ * This symbol encodes the prototype of getservbyport_r.
+ */
+/*#define HAS_GETSERVBYPORT_R /**/
+#define GETSERVBYPORT_R_PROTO 0 /**/
+
+/* HAS_GETSERVENT_R:
+ * This symbol, if defined, indicates that the getservent_r routine
+ * is available to getservent re-entrantly.
+ */
+/* GETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of getservent_r.
+ */
+/*#define HAS_GETSERVENT_R /**/
+#define GETSERVENT_R_PROTO 0 /**/
+
/* HAS_PTHREAD_ATFORK:
* This symbol, if defined, indicates that the pthread_atfork routine
* is available setup fork handlers.
*/
/*#define HAS_PTHREAD_ATFORK /**/
+/* HAS_READDIR64_R:
+ * This symbol, if defined, indicates that the readdir64_r routine
+ * is available to readdir64 re-entrantly.
+ */
+/* READDIR64_R_PROTO:
+ * This symbol encodes the prototype of readdir64_r.
+ */
+/*#define HAS_READDIR64_R /**/
+#define READDIR64_R_PROTO 0 /**/
+
+/* HAS_SETHOSTENT_R:
+ * This symbol, if defined, indicates that the sethostent_r routine
+ * is available to sethostent re-entrantly.
+ */
+/* SETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of sethostent_r.
+ */
+/*#define HAS_SETHOSTENT_R /**/
+#define SETHOSTENT_R_PROTO 0 /**/
+
+/* HAS_SETLOCALE_R:
+ * This symbol, if defined, indicates that the setlocale_r routine
+ * is available to setlocale re-entrantly.
+ */
+/* SETLOCALE_R_PROTO:
+ * This symbol encodes the prototype of setlocale_r.
+ */
+/*#define HAS_SETLOCALE_R /**/
+#define SETLOCALE_R_PROTO 0 /**/
+
+/* HAS_SETNETENT_R:
+ * This symbol, if defined, indicates that the setnetent_r routine
+ * is available to setnetent re-entrantly.
+ */
+/* SETNETENT_R_PROTO:
+ * This symbol encodes the prototype of setnetent_r.
+ */
+/*#define HAS_SETNETENT_R /**/
+#define SETNETENT_R_PROTO 0 /**/
+
+/* HAS_SETPROTOENT_R:
+ * This symbol, if defined, indicates that the setprotoent_r routine
+ * is available to setprotoent re-entrantly.
+ */
+/* SETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of setprotoent_r.
+ */
+/*#define HAS_SETPROTOENT_R /**/
+#define SETPROTOENT_R_PROTO 0 /**/
+
+/* HAS_SETSERVENT_R:
+ * This symbol, if defined, indicates that the setservent_r routine
+ * is available to setservent re-entrantly.
+ */
+/* SETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of setservent_r.
+ */
+/*#define HAS_SETSERVENT_R /**/
+#define SETSERVENT_R_PROTO 0 /**/
+
+/* HAS_TTYNAME_R:
+ * This symbol, if defined, indicates that the ttyname_r routine
+ * is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ * This symbol encodes the prototype of ttyname_r.
+ */
+/*#define HAS_TTYNAME_R /**/
+#define TTYNAME_R_PROTO 0 /**/
+
#endif
+$CONFIG_SH='config.sh'
+$Id='$Id'
$alignbytes='8'
$aphostname=''
$archlib=''
$archlibexp=''
$archname=''
+$asctime_r_proto='0'
$bin='/system/gnu_library/bin'
$binexp='/system/gnu_library/bin'
$byteorder='4321'
$castflags='0'
$cf_by='Paul.Green@stratus.com'
$cf_time='2002-02-15 20:16 UCT'
-$CONFIG_SH='config.sh'
$cpp_stuff='42'
$cpplast='-'
$cppminus='-'
$cpprun='cc -E -'
$cppstdin='cc -E'
+$crypt_r_proto='0'
+$ctermid_r_proto='0'
+$ctime_r_proto='0'
$d_Gconvert='sprintf((b),"%.*g",(n),(x))'
$d_PRIeldbl='define'
$d_PRIfldbl='define'
$d_accessx='undef'
$d_alarm='define'
$d_archlib='undef'
+$d_asctime_r='undef'
$d_atolf='undef'
$d_atoll='undef'
$d_attribut='undef'
$d_cmsghdr_s='undef'
$d_const='define'
$d_crypt='undef'
+$d_crypt_r='undef'
$d_csh='define'
+$d_ctermid_r='undef'
+$d_ctime_r='undef'
$d_cuserid='undef'
$d_dbl_dig='define'
$d_dbminitproto='undef'
$d_dlerror='undef'
$d_dlsymun='undef'
$d_dosuid='undef'
+$d_drand48_r='undef'
$d_drand48proto='undef'
$d_dup2='define'
$d_eaccess='undef'
$d_endgrent='undef'
+$d_endgrent_r='undef'
$d_endhent='define'
+$d_endhostent_r='undef'
$d_endnent='define'
+$d_endnetent_r='undef'
$d_endpent='define'
+$d_endprotoent_r='undef'
$d_endpwent='undef'
+$d_endpwent_r='undef'
$d_endsent='define'
+$d_endservent_r='undef'
$d_eofnblk='define'
$d_fchdir='undef'
$d_fchmod='define'
$d_getespwnam='undef'
$d_getfsstat='undef'
$d_getgrent='undef'
+$d_getgrent_r='undef'
+$d_getgrgid_r='undef'
+$d_getgrnam_r='undef'
$d_getgrps='undef'
$d_gethbyaddr='define'
$d_gethbyname='define'
$d_gethent='define'
$d_gethname='define'
+$d_gethostbyaddr_r='undef'
+$d_gethostbyname_r='undef'
+$d_gethostent_r='undef'
$d_gethostprotos='define'
$d_getitimer='undef'
$d_getlogin='define'
+$d_getlogin_r='undef'
$d_getmnt='undef'
$d_getmntent='undef'
$d_getnbyaddr='define'
$d_getnbyname='define'
$d_getnent='define'
+$d_getnetbyaddr_r='undef'
+$d_getnetbyname_r='undef'
+$d_getnetent_r='undef'
$d_getnetprotos='define'
$d_getpagsz='undef'
$d_getpbyname='define'
$d_getpgrp='define'
$d_getppid='define'
$d_getprior='undef'
+$d_getprotobyname_r='undef'
+$d_getprotobynumber_r='undef'
+$d_getprotoent_r='undef'
$d_getprotoprotos='define'
$d_getprpwnam='undef'
$d_getpwent='undef'
+$d_getpwent_r='undef'
+$d_getpwnam_r='undef'
+$d_getpwuid_r='undef'
$d_getsbyname='define'
$d_getsbyport='define'
$d_getsent='define'
+$d_getservbyname_r='undef'
+$d_getservbyport_r='undef'
+$d_getservent_r='undef'
$d_getservprotos='define'
$d_getspnam='undef'
+$d_getspnam_r='undef'
$d_gettimeod='undef'
+$d_gmtime_r='undef'
$d_gnulibc='undef'
$d_grpasswd='undef'
$d_hasmntopt='undef'
$d_lchown='undef'
$d_ldbl_dig='define'
$d_link='undef'
+$d_localtime_r='undef'
$d_locconv='define'
$d_lockf='define'
$d_longdbl='define'
$d_pwpasswd='undef'
$d_pwquota='undef'
$d_quad='undef'
+$d_random_r='undef'
+$d_readdir64_r='undef'
$d_readdir='define'
+$d_readdir_r='undef'
$d_readlink='define'
$d_readv='undef'
$d_recvmsg='undef'
$d_setegid='define'
$d_seteuid='define'
$d_setgrent='undef'
+$d_setgrent_r='undef'
$d_setgrps='undef'
$d_sethent='define'
+$d_sethostent_r='undef'
$d_setitimer='undef'
$d_setlinebuf='define'
$d_setlocale='define'
+$d_setlocale_r='undef'
$d_setnent='define'
+$d_setnetent_r='undef'
$d_setpent='define'
$d_setpgid='define'
$d_setpgrp2='undef'
$d_setpgrp='undef'
$d_setprior='undef'
$d_setproctitle='undef'
+$d_setprotoent_r='undef'
$d_setpwent='undef'
+$d_setpwent_r='undef'
$d_setregid='undef'
$d_setresgid='undef'
$d_setresuid='undef'
$d_setrgid='undef'
$d_setruid='undef'
$d_setsent='define'
+$d_setservent_r='undef'
$d_setsid='define'
$d_setvbuf='define'
$d_sfio='undef'
$d_sockpair='undef'
$d_socks5_init='undef'
$d_sqrtl='undef'
+$d_srand48_r='undef'
+$d_srandom_r='undef'
$d_sresgproto='undef'
$d_sresuproto='undef'
$d_statblks='undef'
$d_strctcpy='define'
$d_strerrm='strerror(e)'
$d_strerror='define'
+$d_strerror_r='undef'
$d_strftime='define'
$d_strtod='define'
$d_strtol='define'
$d_telldir='undef'
$d_telldirproto='undef'
$d_times='define'
+$d_tm_tm_gmtoff='undef'
+$d_tm_tm_zone='undef'
+$d_tmpnam_r='undef'
$d_truncate='undef'
+$d_ttyname_r='undef'
$d_tzname='define'
$d_u32align='define'
$d_ualarm='undef'
$direntrytype='struct dirent'
$doublesize='8'
$drand01='rand()/(RAND_MAX+1)'
+$drand48_r_proto='0'
$eagain='EAGAIN'
$ebcdic='undef'
-$fflushall='undef'
+$endgrent_r_proto='0'
+$endhostent_r_proto='0'
+$endnetent_r_proto='0'
+$endprotoent_r_proto='0'
+$endpwent_r_proto='0'
+$endservent_r_proto='0'
$fflushNULL='define'
+$fflushall='undef'
$fpostype='fpos_t'
$freetype='void'
$full_csh='/system/gnu_library/bin/bash.pm'
$full_sed='/system/gnu_library/bin/sed.pm'
+$getgrent_r_proto='0'
+$getgrgid_r_proto='0'
+$getgrnam_r_proto='0'
+$gethostbyaddr_r_proto='0'
+$gethostbyname_r_proto='0'
+$gethostent_r_proto='0'
+$getlogin_r_proto='0'
+$getnetbyaddr_r_proto='0'
+$getnetbyname_r_proto='0'
+$getnetent_r_proto='0'
+$getprotobyname_r_proto='0'
+$getprotobynumber_r_proto='0'
+$getprotoent_r_proto='0'
+$getpwent_r_proto='0'
+$getpwnam_r_proto='0'
+$getpwuid_r_proto='0'
+$getservbyname_r_proto='0'
+$getservbyport_r_proto='0'
+$getservent_r_proto='0'
+$getspnam_r_proto='0'
$gidformat='"d"'
-$gidsize='4'
$gidsign='-1'
+$gidsize='4'
$gidtype='gid_t'
+$gmtime_r_proto='0'
$groupstype='gid_t'
$i16size='2'
$i16type='short'
$i8size='1'
$i8type='char'
$i_arpainet='define'
+$i_crypt='undef'
$i_dbm='undef'
$i_dirent='define'
$i_dlfcn='undef'
$i_values='define'
$i_varargs='undef'
$i_vfork='undef'
-$Id='$Id'
$inc_version_list_init='0'
$installusrbinperl='undef'
$intsize='4'
$ivdformat='"d"'
$ivsize='4'
$ivtype='int'
+$localtime_r_proto='0'
$longdblsize='8'
$longlongsize='_error_'
$longsize='4'
$quadkind='_error_'
$quadtype='_error_'
$randbits='15'
+$random_r_proto='0'
$randseedtype='unsigned int'
$rd_nodata='-1'
+$readdir64_r_proto='0'
+$readdir_r_proto='0'
+$sPRIeldbl='"Le"'
+$sPRIfldbl='"Lf"'
+$sPRIgldbl='"Lg"'
+$sSCNfldbl='"Lf"'
$sched_yield=''
$seedfunc='srand'
$selectminbits='1'
$selecttype='fd_set *'
+$setgrent_r_proto='0'
+$sethostent_r_proto='0'
+$setlocale_r_proto='0'
+$setnetent_r_proto='0'
+$setprotoent_r_proto='0'
+$setpwent_r_proto='0'
+$setservent_r_proto='0'
$sh='/system/gnu_library/bin/bash.pm'
$shmattype='void *'
$shortsize='2'
$sitearch='/system/ported/lib/perl5/site_perl/5.8.0/hppa1.1'
$sitearchexp='/system/ported/lib/perl5/site_perl/5.8.0/hppa1.1'
$sitelib='/system/ported/lib/perl5/site_perl/5.8.0'
-$sitelibexp='/system/ported/lib/perl5/site_perl/5.8.0'
$sitelib_stem='/system/ported/lib/perl5/site_perl'
+$sitelibexp='/system/ported/lib/perl5/site_perl/5.8.0'
$sizesize='4'
$sizetype='size_t'
$socksizetype='int'
-$sPRIeldbl='"Le"'
-$sPRIfldbl='"Lf"'
-$sPRIgldbl='"Lg"'
+$srand48_r_proto='0'
+$srandom_r_proto='0'
$src='/vos_ftp_site/pub/vos/posix/(alpha|ga)/perl'
-$sSCNfldbl='"Lf"'
$ssizetype='ssize_t'
$startperl='!perl.pm'
$stdchar='unsigned char'
$stdio_cnt='((fp)->_cnt)'
$stdio_ptr='((fp)->_ptr)'
$stdio_stream_array='_iob'
+$strerror_r_proto='0'
$targetarch='undef'
$timetype='time_t'
+$tmpnam_r_proto='0'
+$ttyname_r_proto='0'
$u16size='2'
$u16type='unsigned short'
$u32size='4'
$u8size='1'
$u8type='unsigned char'
$uidformat='"d"'
-$uidsize='4'
$uidsign='-1'
+$uidsize='4'
$uidtype='uid_t'
$undef='$undef'
$uquadtype='_error_'
$useperlio='undef'
$usereentrant='undef'
$usesocks='undef'
+$uvXUformat='"X"'
$uvoformat='"o"'
$uvsize='4'
$uvtype='unsigned int'
$uvuformat='"u"'
$uvxformat='"x"'
-$uvXUformat='"X"'
$vendorarch=''
$vendorarchexp=''
$vendorlib_stem=''
*/
#define HAS_ACCESS /**/
+/* HAS_ASCTIME_R:
+ * This symbol, if defined, indicates that the asctime_r routine
+ * is available to asctime re-entrantly.
+ */
+/* ASCTIME_R_PROTO:
+ * This symbol encodes the prototype of asctime_r.
+ */
+/*#define HAS_ASCTIME_R /**/
+#define ASCTIME_R_PROTO 0 /**/
+
/* CASTI32:
* This symbol is defined if the C compiler can cast negative
* or large floating point numbers to 32-bit ints.
*/
/*#define HAS_STRUCT_CMSGHDR /**/
+/* HAS_CRYPT_R:
+ * This symbol, if defined, indicates that the crypt_r routine
+ * is available to crypt re-entrantly.
+ */
+/* CRYPT_R_PROTO:
+ * This symbol encodes the prototype of crypt_r.
+ */
+/*#define HAS_CRYPT_R /**/
+#define CRYPT_R_PROTO 0 /**/
+
/* HAS_CSH:
* This symbol, if defined, indicates that the C-shell exists.
*/
#define CSH "/system/gnu_library/bin/bash.pm" /**/
#endif
+/* HAS_CTIME_R:
+ * This symbol, if defined, indicates that the ctime_r routine
+ * is available to ctime re-entrantly.
+ */
+/* CTIME_R_PROTO:
+ * This symbol encodes the prototype of ctime_r.
+ */
+/*#define HAS_CTIME_R /**/
+#define CTIME_R_PROTO 0 /**/
+
/* DLSYM_NEEDS_UNDERSCORE:
* This symbol, if defined, indicates that we need to prepend an
* underscore to the symbol name before calling dlsym(). This only
*/
/*#define DLSYM_NEEDS_UNDERSCORE /**/
+/* HAS_DRAND48_R:
+ * This symbol, if defined, indicates that the drand48_r routine
+ * is available to drand48 re-entrantly.
+ */
+/* DRAND48_R_PROTO:
+ * This symbol encodes the prototype of drand48_r.
+ */
+/*#define HAS_DRAND48_R /**/
+#define DRAND48_R_PROTO 0 /**/
+
/* HAS_DRAND48_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the drand48() function. Otherwise, it is up
*/
/*#define HAS_ENDGRENT /**/
+/* HAS_ENDGRENT_R:
+ * This symbol, if defined, indicates that the endgrent_r routine
+ * is available to endgrent re-entrantly.
+ */
+/* ENDGRENT_R_PROTO:
+ * This symbol encodes the prototype of endgrent_r.
+ */
+/*#define HAS_ENDGRENT_R /**/
+#define ENDGRENT_R_PROTO 0 /**/
+
/* HAS_ENDHOSTENT:
* This symbol, if defined, indicates that the endhostent() routine is
* available to close whatever was being used for host queries.
*/
/*#define HAS_ENDPWENT /**/
+/* HAS_ENDPWENT_R:
+ * This symbol, if defined, indicates that the endpwent_r routine
+ * is available to endpwent re-entrantly.
+ */
+/* ENDPWENT_R_PROTO:
+ * This symbol encodes the prototype of endpwent_r.
+ */
+/*#define HAS_ENDPWENT_R /**/
+#define ENDPWENT_R_PROTO 0 /**/
+
/* HAS_ENDSERVENT:
* This symbol, if defined, indicates that the endservent() routine is
* available to close whatever was being used for service queries.
* a macro using sprintf("%g") is used. Arguments for the Gconvert
* macro are: value, number of digits, whether trailing zeros should
* be retained, and the output buffer.
- * Possible values are:
+ * The usual values are:
* d_Gconvert='gconvert((x),(n),(t),(b))'
* d_Gconvert='gcvt((x),(n),(b))'
* d_Gconvert='sprintf((b),"%.*g",(n),(x))'
*/
/*#define HAS_GETGRENT /**/
+/* HAS_GETGRENT_R:
+ * This symbol, if defined, indicates that the getgrent_r routine
+ * is available to getgrent re-entrantly.
+ */
+/* GETGRENT_R_PROTO:
+ * This symbol encodes the prototype of getgrent_r.
+ */
+/*#define HAS_GETGRENT_R /**/
+#define GETGRENT_R_PROTO 0 /**/
+
+/* HAS_GETGRGID_R:
+ * This symbol, if defined, indicates that the getgrgid_r routine
+ * is available to getgrgid re-entrantly.
+ */
+/* GETGRGID_R_PROTO:
+ * This symbol encodes the prototype of getgrgid_r.
+ */
+/*#define HAS_GETGRGID_R /**/
+#define GETGRGID_R_PROTO 0 /**/
+
+/* HAS_GETGRNAM_R:
+ * This symbol, if defined, indicates that the getgrnam_r routine
+ * is available to getgrnam re-entrantly.
+ */
+/* GETGRNAM_R_PROTO:
+ * This symbol encodes the prototype of getgrnam_r.
+ */
+/*#define HAS_GETGRNAM_R /**/
+#define GETGRNAM_R_PROTO 0 /**/
+
/* HAS_GETHOSTBYADDR:
* This symbol, if defined, indicates that the gethostbyaddr() routine is
* available to look up hosts by their IP addresses.
*/
/*#define HAS_GETITIMER /**/
+/* HAS_GETLOGIN_R:
+ * This symbol, if defined, indicates that the getlogin_r routine
+ * is available to getlogin re-entrantly.
+ */
+/* GETLOGIN_R_PROTO:
+ * This symbol encodes the prototype of getlogin_r.
+ */
+/*#define HAS_GETLOGIN_R /**/
+#define GETLOGIN_R_PROTO 0 /**/
+
/* HAS_GETMNT:
* This symbol, if defined, indicates that the getmnt routine is
* available to get filesystem mount info by filename.
*/
/*#define HAS_GETPWENT /**/
+/* HAS_GETPWENT_R:
+ * This symbol, if defined, indicates that the getpwent_r routine
+ * is available to getpwent re-entrantly.
+ */
+/* GETPWENT_R_PROTO:
+ * This symbol encodes the prototype of getpwent_r.
+ */
+/*#define HAS_GETPWENT_R /**/
+#define GETPWENT_R_PROTO 0 /**/
+
+/* HAS_GETPWNAM_R:
+ * This symbol, if defined, indicates that the getpwnam_r routine
+ * is available to getpwnam re-entrantly.
+ */
+/* GETPWNAM_R_PROTO:
+ * This symbol encodes the prototype of getpwnam_r.
+ */
+/*#define HAS_GETPWNAM_R /**/
+#define GETPWNAM_R_PROTO 0 /**/
+
+/* HAS_GETPWUID_R:
+ * This symbol, if defined, indicates that the getpwuid_r routine
+ * is available to getpwuid re-entrantly.
+ */
+/* GETPWUID_R_PROTO:
+ * This symbol encodes the prototype of getpwuid_r.
+ */
+/*#define HAS_GETPWUID_R /**/
+#define GETPWUID_R_PROTO 0 /**/
+
/* 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_GETSPNAM /**/
+/* HAS_GETSPNAM_R:
+ * This symbol, if defined, indicates that the getspnam_r routine
+ * is available to getspnam re-entrantly.
+ */
+/* GETSPNAM_R_PROTO:
+ * This symbol encodes the prototype of getspnam_r.
+ */
+/*#define HAS_GETSPNAM_R /**/
+#define GETSPNAM_R_PROTO 0 /**/
+
/* HAS_GETSERVBYNAME:
* This symbol, if defined, indicates that the getservbyname()
* routine is available to look up services by their name.
#define HAS_GETSERVBYNAME /**/
#define HAS_GETSERVBYPORT /**/
+/* HAS_GMTIME_R:
+ * This symbol, if defined, indicates that the gmtime_r routine
+ * is available to gmtime re-entrantly.
+ */
+/* GMTIME_R_PROTO:
+ * This symbol encodes the prototype of gmtime_r.
+ */
+/*#define HAS_GMTIME_R /**/
+#define GMTIME_R_PROTO 0 /**/
+
/* HAS_GNULIBC:
* This symbol, if defined, indicates to the C program that
* the GNU C library is being used.
*/
#define HAS_LDBL_DIG /* */
+/* HAS_LOCALTIME_R:
+ * This symbol, if defined, indicates that the localtime_r routine
+ * is available to localtime re-entrantly.
+ */
+/* LOCALTIME_R_PROTO:
+ * This symbol encodes the prototype of localtime_r.
+ */
+/*#define HAS_LOCALTIME_R /**/
+#define LOCALTIME_R_PROTO 0 /**/
+
/* HAS_LONG_DOUBLE:
* This symbol will be defined if the C compiler supports long
* doubles.
#define SCHED_YIELD /**/
/*#define HAS_SCHED_YIELD /**/
+/* HAS_RANDOM_R:
+ * This symbol, if defined, indicates that the random_r routine
+ * is available to random re-entrantly.
+ */
+/* RANDOM_R_PROTO:
+ * This symbol encodes the prototype of random_r.
+ */
+/*#define HAS_RANDOM_R /**/
+#define RANDOM_R_PROTO 0 /**/
+
+/* HAS_READDIR_R:
+ * This symbol, if defined, indicates that the readdir_r routine
+ * is available to readdir re-entrantly.
+ */
+/* READDIR_R_PROTO:
+ * This symbol encodes the prototype of readdir_r.
+ */
+/*#define HAS_READDIR_R /**/
+#define READDIR_R_PROTO 0 /**/
+
/* HAS_READV:
* This symbol, if defined, indicates that the readv routine is
* available to do gather reads. You will also need <sys/uio.h>
*/
/*#define HAS_SETGRENT /**/
+/* HAS_SETGRENT_R:
+ * This symbol, if defined, indicates that the setgrent_r routine
+ * is available to setgrent re-entrantly.
+ */
+/* SETGRENT_R_PROTO:
+ * This symbol encodes the prototype of setgrent_r.
+ */
+/*#define HAS_SETGRENT_R /**/
+#define SETGRENT_R_PROTO 0 /**/
+
/* HAS_SETGROUPS:
* This symbol, if defined, indicates that the setgroups() routine is
* available to set the list of process groups. If unavailable, multiple
*/
/*#define HAS_SETPWENT /**/
+/* HAS_SETPWENT_R:
+ * This symbol, if defined, indicates that the setpwent_r routine
+ * is available to setpwent re-entrantly.
+ */
+/* SETPWENT_R_PROTO:
+ * This symbol encodes the prototype of setpwent_r.
+ */
+/*#define HAS_SETPWENT_R /**/
+#define SETPWENT_R_PROTO 0 /**/
+
/* HAS_SETSERVENT:
* This symbol, if defined, indicates that the setservent() routine is
* available.
*/
/*#define HAS_SQRTL /**/
+/* HAS_SRAND48_R:
+ * This symbol, if defined, indicates that the srand48_r routine
+ * is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ * This symbol encodes the prototype of srand48_r.
+ */
+/*#define HAS_SRAND48_R /**/
+#define SRAND48_R_PROTO 0 /**/
+
+/* HAS_SRANDOM_R:
+ * This symbol, if defined, indicates that the srandom_r routine
+ * is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ * This symbol encodes the prototype of srandom_r.
+ */
+/*#define HAS_SRANDOM_R /**/
+#define SRANDOM_R_PROTO 0 /**/
+
/* USE_STAT_BLOCKS:
* This symbol is defined if this system has a stat structure declaring
* st_blksize and st_blocks.
#define HAS_SYS_ERRLIST /**/
#define Strerror(e) strerror(e)
+/* HAS_STRERROR_R:
+ * This symbol, if defined, indicates that the strerror_r routine
+ * is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ * This symbol encodes the prototype of strerror_r.
+ */
+/*#define HAS_STRERROR_R /**/
+#define STRERROR_R_PROTO 0 /**/
+
/* HAS_STRTOLD:
* This symbol, if defined, indicates that the strtold routine is
* available to convert strings to long doubles.
*/
#define HAS_TIMES /**/
+/* HAS_TMPNAM_R:
+ * This symbol, if defined, indicates that the tmpnam_r routine
+ * is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ * This symbol encodes the prototype of tmpnam_r.
+ */
+/*#define HAS_TMPNAM_R /**/
+#define TMPNAM_R_PROTO 0 /**/
+
/* HAS_UALARM:
* This symbol, if defined, indicates that the ualarm routine is
* available to do alarms with microsecond granularity.
* This symbol, if defined, indicates to the C program that it should
* include <sys/time.h> with KERNEL defined.
*/
+/* HAS_TM_TM_ZONE:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_zone field.
+ */
/*#define I_TIME /**/
#define I_SYS_TIME /**/
/*#define I_SYS_TIME_KERNEL /**/
+/*#define HAS_TM_TM_ZONE /**/
/* I_USTAT:
* This symbol, if defined, indicates that <ustat.h> exists and
*/
/*#define HAS_USLEEP_PROTO /**/
+/* I_CRYPT:
+ * This symbol, if defined, indicates that <crypt.h> exists and
+ * should be included.
+ */
+/*#define I_CRYPT /**/
+
/* I_FP:
* This symbol, if defined, indicates that <fp.h> exists and
* should be included.
*/
/*#define I_LANGINFO /**/
+/* HAS_CTERMID_R:
+ * This symbol, if defined, indicates that the ctermid_r routine
+ * is available to ctermid re-entrantly.
+ */
+/* CTERMID_R_PROTO:
+ * This symbol encodes the prototype of ctermid_r.
+ */
+/*#define HAS_CTERMID_R /**/
+#define CTERMID_R_PROTO 0 /**/
+
+/* HAS_ENDHOSTENT_R:
+ * This symbol, if defined, indicates that the endhostent_r routine
+ * is available to endhostent re-entrantly.
+ */
+/* ENDHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of endhostent_r.
+ */
+/*#define HAS_ENDHOSTENT_R /**/
+#define ENDHOSTENT_R_PROTO 0 /**/
+
+/* HAS_ENDNETENT_R:
+ * This symbol, if defined, indicates that the endnetent_r routine
+ * is available to endnetent re-entrantly.
+ */
+/* ENDNETENT_R_PROTO:
+ * This symbol encodes the prototype of endnetent_r.
+ */
+/*#define HAS_ENDNETENT_R /**/
+#define ENDNETENT_R_PROTO 0 /**/
+
+/* HAS_ENDPROTOENT_R:
+ * This symbol, if defined, indicates that the endprotoent_r routine
+ * is available to endprotoent re-entrantly.
+ */
+/* ENDPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of endprotoent_r.
+ */
+/*#define HAS_ENDPROTOENT_R /**/
+#define ENDPROTOENT_R_PROTO 0 /**/
+
+/* HAS_ENDSERVENT_R:
+ * This symbol, if defined, indicates that the endservent_r routine
+ * is available to endservent re-entrantly.
+ */
+/* ENDSERVENT_R_PROTO:
+ * This symbol encodes the prototype of endservent_r.
+ */
+/*#define HAS_ENDSERVENT_R /**/
+#define ENDSERVENT_R_PROTO 0 /**/
+
+/* HAS_GETHOSTBYADDR_R:
+ * This symbol, if defined, indicates that the gethostbyaddr_r routine
+ * is available to gethostbyaddr re-entrantly.
+ */
+/* GETHOSTBYADDR_R_PROTO:
+ * This symbol encodes the prototype of gethostbyaddr_r.
+ */
+/*#define HAS_GETHOSTBYADDR_R /**/
+#define GETHOSTBYADDR_R_PROTO 0 /**/
+
+/* HAS_GETHOSTBYNAME_R:
+ * This symbol, if defined, indicates that the gethostbyname_r routine
+ * is available to gethostbyname re-entrantly.
+ */
+/* GETHOSTBYNAME_R_PROTO:
+ * This symbol encodes the prototype of gethostbyname_r.
+ */
+/*#define HAS_GETHOSTBYNAME_R /**/
+#define GETHOSTBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETHOSTENT_R:
+ * This symbol, if defined, indicates that the gethostent_r routine
+ * is available to gethostent re-entrantly.
+ */
+/* GETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of gethostent_r.
+ */
+/*#define HAS_GETHOSTENT_R /**/
+#define GETHOSTENT_R_PROTO 0 /**/
+
+/* HAS_GETNETBYADDR_R:
+ * This symbol, if defined, indicates that the getnetbyaddr_r routine
+ * is available to getnetbyaddr re-entrantly.
+ */
+/* GETNETBYADDR_R_PROTO:
+ * This symbol encodes the prototype of getnetbyaddr_r.
+ */
+/*#define HAS_GETNETBYADDR_R /**/
+#define GETNETBYADDR_R_PROTO 0 /**/
+
+/* HAS_GETNETBYNAME_R:
+ * This symbol, if defined, indicates that the getnetbyname_r routine
+ * is available to getnetbyname re-entrantly.
+ */
+/* GETNETBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getnetbyname_r.
+ */
+/*#define HAS_GETNETBYNAME_R /**/
+#define GETNETBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETNETENT_R:
+ * This symbol, if defined, indicates that the getnetent_r routine
+ * is available to getnetent re-entrantly.
+ */
+/* GETNETENT_R_PROTO:
+ * This symbol encodes the prototype of getnetent_r.
+ */
+/*#define HAS_GETNETENT_R /**/
+#define GETNETENT_R_PROTO 0 /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ * This symbol, if defined, indicates that the getprotobyname_r routine
+ * is available to getprotobyname re-entrantly.
+ */
+/* GETPROTOBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getprotobyname_r.
+ */
+/*#define HAS_GETPROTOBYNAME_R /**/
+#define GETPROTOBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETPROTOBYNUMBER_R:
+ * This symbol, if defined, indicates that the getprotobynumber_r routine
+ * is available to getprotobynumber re-entrantly.
+ */
+/* GETPROTOBYNUMBER_R_PROTO:
+ * This symbol encodes the prototype of getprotobynumber_r.
+ */
+/*#define HAS_GETPROTOBYNUMBER_R /**/
+#define GETPROTOBYNUMBER_R_PROTO 0 /**/
+
+/* HAS_GETPROTOENT_R:
+ * This symbol, if defined, indicates that the getprotoent_r routine
+ * is available to getprotoent re-entrantly.
+ */
+/* GETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of getprotoent_r.
+ */
+/*#define HAS_GETPROTOENT_R /**/
+#define GETPROTOENT_R_PROTO 0 /**/
+
+/* HAS_GETSERVBYNAME_R:
+ * This symbol, if defined, indicates that the getservbyname_r routine
+ * is available to getservbyname re-entrantly.
+ */
+/* GETSERVBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getservbyname_r.
+ */
+/*#define HAS_GETSERVBYNAME_R /**/
+#define GETSERVBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETSERVBYPORT_R:
+ * This symbol, if defined, indicates that the getservbyport_r routine
+ * is available to getservbyport re-entrantly.
+ */
+/* GETSERVBYPORT_R_PROTO:
+ * This symbol encodes the prototype of getservbyport_r.
+ */
+/*#define HAS_GETSERVBYPORT_R /**/
+#define GETSERVBYPORT_R_PROTO 0 /**/
+
+/* HAS_GETSERVENT_R:
+ * This symbol, if defined, indicates that the getservent_r routine
+ * is available to getservent re-entrantly.
+ */
+/* GETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of getservent_r.
+ */
+/*#define HAS_GETSERVENT_R /**/
+#define GETSERVENT_R_PROTO 0 /**/
+
/* HAS_PTHREAD_ATFORK:
* This symbol, if defined, indicates that the pthread_atfork routine
* is available setup fork handlers.
*/
/*#define HAS_PTHREAD_ATFORK /**/
+/* HAS_READDIR64_R:
+ * This symbol, if defined, indicates that the readdir64_r routine
+ * is available to readdir64 re-entrantly.
+ */
+/* READDIR64_R_PROTO:
+ * This symbol encodes the prototype of readdir64_r.
+ */
+/*#define HAS_READDIR64_R /**/
+#define READDIR64_R_PROTO 0 /**/
+
+/* HAS_SETHOSTENT_R:
+ * This symbol, if defined, indicates that the sethostent_r routine
+ * is available to sethostent re-entrantly.
+ */
+/* SETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of sethostent_r.
+ */
+/*#define HAS_SETHOSTENT_R /**/
+#define SETHOSTENT_R_PROTO 0 /**/
+
+/* HAS_SETLOCALE_R:
+ * This symbol, if defined, indicates that the setlocale_r routine
+ * is available to setlocale re-entrantly.
+ */
+/* SETLOCALE_R_PROTO:
+ * This symbol encodes the prototype of setlocale_r.
+ */
+/*#define HAS_SETLOCALE_R /**/
+#define SETLOCALE_R_PROTO 0 /**/
+
+/* HAS_SETNETENT_R:
+ * This symbol, if defined, indicates that the setnetent_r routine
+ * is available to setnetent re-entrantly.
+ */
+/* SETNETENT_R_PROTO:
+ * This symbol encodes the prototype of setnetent_r.
+ */
+/*#define HAS_SETNETENT_R /**/
+#define SETNETENT_R_PROTO 0 /**/
+
+/* HAS_SETPROTOENT_R:
+ * This symbol, if defined, indicates that the setprotoent_r routine
+ * is available to setprotoent re-entrantly.
+ */
+/* SETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of setprotoent_r.
+ */
+/*#define HAS_SETPROTOENT_R /**/
+#define SETPROTOENT_R_PROTO 0 /**/
+
+/* HAS_SETSERVENT_R:
+ * This symbol, if defined, indicates that the setservent_r routine
+ * is available to setservent re-entrantly.
+ */
+/* SETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of setservent_r.
+ */
+/*#define HAS_SETSERVENT_R /**/
+#define SETSERVENT_R_PROTO 0 /**/
+
+/* HAS_TTYNAME_R:
+ * This symbol, if defined, indicates that the ttyname_r routine
+ * is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ * This symbol encodes the prototype of ttyname_r.
+ */
+/*#define HAS_TTYNAME_R /**/
+#define TTYNAME_R_PROTO 0 /**/
+
#endif
pp_pack,
pp_sort,
pp_sys,
- regcomp,
+ reentr,
regexec,
run,
scope,
..\pp_pack.c \
..\pp_sort.c \
..\pp_sys.c \
+ ..\reentr.c \
..\regcomp.c \
..\regexec.c \
..\run.c \
archname64=''
archname='MSWin32'
archobjs=''
+asctime_r_proto='0'
awk='awk'
baserev='5'
bash=''
cpprun='cpp32 -oCON'
cppstdin='cppstdin'
cppsymbols=''
+crypt_r_proto='0'
cryptlib=''
csh='undef'
+ctermid_r_proto='0'
+ctime_r_proto='0'
d_Gconvert='gcvt((x),(n),(b))'
d_PRIEUldbl='undef'
d_PRIFUldbl='undef'
d_accessx='undef'
d_alarm='define'
d_archlib='define'
+d_asctime_r='undef'
d_atolf='undef'
d_atoll='undef'
d_attribut='undef'
d_cmsghdr_s='undef'
d_const='define'
d_crypt='undef'
+d_crypt_r='undef'
d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
d_cuserid='undef'
d_dbl_dig='define'
d_dbminitproto='undef'
d_difftime='define'
-d_dirnamlen='define'
d_dirfd='undef'
+d_dirnamlen='define'
d_dlerror='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
+d_drand48_r='undef'
d_drand48proto='undef'
d_dup2='define'
d_eaccess='undef'
d_endgrent='undef'
+d_endgrent_r='undef'
d_endhent='undef'
+d_endhostent_r='undef'
d_endnent='undef'
+d_endnetent_r='undef'
d_endpent='undef'
+d_endprotoent_r='undef'
d_endpwent='undef'
+d_endpwent_r='undef'
d_endsent='undef'
+d_endservent_r='undef'
d_eofnblk='define'
d_eunice='undef'
d_fchdir='undef'
d_getespwnam='undef'
d_getfsstat='undef'
d_getgrent='undef'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
d_getgrps='undef'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='undef'
d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
d_gethostprotos='define'
d_getitimer='undef'
d_getlogin='define'
+d_getlogin_r='undef'
d_getmnt='undef'
d_getmntent='undef'
d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
d_getnetprotos='undef'
d_getpagsz='undef'
d_getpbyname='define'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
d_getprotoprotos='define'
d_getprpwnam='undef'
d_getpwent='undef'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
d_getservprotos='define'
d_getspnam='undef'
+d_getspnam_r='undef'
d_gettimeod='undef'
+d_gmtime_r='undef'
d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
d_lchown='undef'
d_ldbl_dig='define'
d_link='define'
+d_localtime_r='undef'
d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_pwquota='undef'
d_qgcvt='undef'
d_quad='undef'
+d_random_r='undef'
+d_readdir64_r='undef'
d_readdir='define'
+d_readdir_r='undef'
d_readlink='undef'
d_readv='undef'
d_recvmsg='undef'
d_setegid='undef'
d_seteuid='undef'
d_setgrent='undef'
+d_setgrent_r='undef'
d_setgrps='undef'
d_sethent='undef'
+d_sethostent_r='undef'
d_setitimer='undef'
d_setlinebuf='undef'
d_setlocale='define'
+d_setlocale_r='undef'
d_setnent='undef'
+d_setnetent_r='undef'
d_setpent='undef'
d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
+d_setprotoent_r='undef'
d_setpwent='undef'
+d_setpwent_r='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
d_setrgid='undef'
d_setruid='undef'
d_setsent='undef'
+d_setservent_r='undef'
d_setsid='undef'
d_setvbuf='define'
d_sfio='undef'
d_sockpair='undef'
d_socks5_init='undef'
d_sqrtl='undef'
+d_srand48_r='undef'
+d_srandom_r='undef'
d_sresgproto='undef'
d_sresuproto='undef'
d_statblks='undef'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
+d_strerror_r='undef'
d_strftime='define'
d_strtod='define'
d_strtol='define'
d_telldirproto='define'
d_time='define'
d_times='define'
+d_tm_tm_gmtoff='undef'
+d_tm_tm_zone='undef'
+d_tmpnam_r='undef'
d_truncate='undef'
+d_ttyname_r='undef'
d_tzname='define'
d_u32align='define'
d_ualarm='undef'
dlsrc='dl_win32.xs'
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
+drand48_r_proto='0'
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs Thread'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
egrep='egrep'
emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
full_csh=''
full_sed=''
gccversion=''
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
gidformat='"d"'
gidsign='-1'
gidsize='4'
gidtype='gid_t'
glibpth='/usr/shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/shlib '
+gmtime_r_proto='0'
grep='grep'
groupcat=''
groupstype='gid_t'
i8type='char'
i_arpainet='define'
i_bsdioctl=''
+i_crypt='undef'
i_db='undef'
i_dbm='undef'
i_dirent='define'
i_syssecrt='undef'
i_sysselct='undef'
i_syssockio='undef'
+i_sysstat='define'
i_sysstatfs='undef'
i_sysstatvfs='undef'
-i_sysstat='define'
i_systime='undef'
i_systimek='undef'
i_systimes='undef'
inews=''
installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
+installhtmldir='~INST_TOP~~INST_VER~\html'
+installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installman1dir='~INST_TOP~~INST_VER~\man\man1'
installman3dir='~INST_TOP~~INST_VER~\man\man3'
installprefix='~INST_TOP~~INST_VER~'
installprefixexp='~INST_TOP~~INST_VER~'
-installhtmldir='~INST_TOP~~INST_VER~\html'
-installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installprivlib='~INST_TOP~~INST_VER~\lib'
installscript='~INST_TOP~~INST_VER~\bin'
installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
lkflags=''
ln=''
lns='copy'
+localtime_r_proto='0'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longdblsize='10'
quadtype='__int64'
randbits='15'
randfunc='rand'
+random_r_proto='0'
randseedtype='unsigned'
ranlib='rem'
rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
revision='5'
rm='del'
rmail=''
selectminbits='32'
selecttype='Perl_fd_set *'
sendmail='blat'
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
sh='cmd /x /c'
shar=''
sharpbang='#!'
sort='sort'
spackage='Perl5'
spitshell=''
+srand48_r_proto='0'
+srandom_r_proto='0'
src=''
ssizetype='int'
startperl='#!perl'
stdio_filbuf=''
stdio_ptr='((fp)->curp)'
stdio_stream_array=''
+strerror_r_proto='0'
strings='/usr/include/string.h'
submit=''
subversion='~SUBVERSION~'
test=''
timeincl='/usr/include/sys/time.h '
timetype='time_t'
+tmpnam_r_proto='0'
touch='touch'
tr=''
trnl='\012'
troff=''
+ttyname_r_proto='0'
u16size='2'
u16type='unsigned short'
u32size='4'
usevfork='false'
usrinc='/usr/include'
uuname=''
+uvXUformat='"lX"'
uvoformat='"lo"'
uvsize='4'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
-uvXUformat='"lX"'
vendorarch=''
vendorarchexp=''
vendorbin=''
Revision='$Revision'
Source=''
State=''
+asctime_r_proto='0'
+crypt_r_proto='0'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_asctime_r='undef'
+d_crypt_r='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
+d_drand48_r='undef'
+d_endgrent_r='undef'
+d_endhostent_r='undef'
+d_endnetent_r='undef'
+d_endprotoent_r='undef'
+d_endpwent_r='undef'
+d_endservent_r='undef'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_getlogin_r='undef'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getspnam_r='undef'
+d_gmtime_r='undef'
+d_localtime_r='undef'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir_r='undef'
+d_setgrent_r='undef'
+d_sethostent_r='undef'
+d_setlocale_r='undef'
+d_setnetent_r='undef'
+d_setprotoent_r='undef'
+d_setpwent_r='undef'
+d_setservent_r='undef'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_strerror_r='undef'
+d_tmpnam_r='undef'
+d_ttyname_r='undef'
+drand48_r_proto='0'
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gmtime_r_proto='0'
+i_crypt='undef'
+localtime_r_proto='0'
+random_r_proto='0'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+srand48_r_proto='0'
+srandom_r_proto='0'
+strerror_r_proto='0'
+tmpnam_r_proto='0'
+ttyname_r_proto='0'
+d_tm_tm_gmtoff='undef'
+d_tm_tm_zone='undef'
_a='.a'
_exe='.exe'
_o='.o'
i_syssecrt='undef'
i_sysselct='undef'
i_syssockio='undef'
+i_sysstat='define'
i_sysstatfs='undef'
i_sysstatvfs='undef'
-i_sysstat='define'
i_systime='undef'
i_systimek='undef'
i_systimes='undef'
inews=''
installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
+installhtmldir='~INST_TOP~~INST_VER~\html'
+installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installman1dir='~INST_TOP~~INST_VER~\man\man1'
installman3dir='~INST_TOP~~INST_VER~\man\man3'
installprefix='~INST_TOP~~INST_VER~'
installprefixexp='~INST_TOP~~INST_VER~'
-installhtmldir='~INST_TOP~~INST_VER~\html'
-installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installprivlib='~INST_TOP~~INST_VER~\lib'
installscript='~INST_TOP~~INST_VER~\bin'
installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
usevfork='false'
usrinc='/usr/include'
uuname=''
+uvXUformat='"lX"'
uvoformat='"lo"'
uvsize='4'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
-uvXUformat='"lX"'
vendorarch=''
vendorarchexp=''
vendorbin=''
archname64=''
archname='MSWin32'
archobjs=''
+asctime_r_proto='0'
awk='awk'
baserev='5'
bash=''
cpprun='cl -nologo -E'
cppstdin='cppstdin'
cppsymbols=''
+crypt_r_proto='0'
cryptlib=''
csh='undef'
+ctermid_r_proto='0'
+ctime_r_proto='0'
d_Gconvert='sprintf((b),"%.*g",(n),(x))'
d_PRIEUldbl='undef'
d_PRIFUldbl='undef'
d_accessx='undef'
d_alarm='define'
d_archlib='define'
+d_asctime_r='undef'
d_atolf='undef'
d_atoll='undef'
d_attribut='undef'
d_cmsghdr_s='undef'
d_const='define'
d_crypt='undef'
+d_crypt_r='undef'
d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
d_cuserid='undef'
d_dbl_dig='define'
d_dbminitproto='undef'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
+d_drand48_r='undef'
d_drand48proto='undef'
d_dup2='define'
d_eaccess='undef'
d_endgrent='undef'
+d_endgrent_r='undef'
d_endhent='undef'
+d_endhostent_r='undef'
d_endnent='undef'
+d_endnetent_r='undef'
d_endpent='undef'
+d_endprotoent_r='undef'
d_endpwent='undef'
+d_endpwent_r='undef'
d_endsent='undef'
+d_endservent_r='undef'
d_eofnblk='define'
d_eunice='undef'
d_fchdir='undef'
d_getespwnam='undef'
d_getfsstat='undef'
d_getgrent='undef'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
d_getgrps='undef'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='undef'
d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
d_gethostprotos='define'
d_getitimer='undef'
d_getlogin='define'
+d_getlogin_r='undef'
d_getmnt='undef'
d_getmntent='undef'
d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
d_getnetprotos='undef'
d_getpagsz='undef'
d_getpbyname='define'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
d_getprotoprotos='define'
d_getprpwnam='undef'
d_getpwent='undef'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
d_getservprotos='define'
d_getspnam='undef'
+d_getspnam_r='undef'
d_gettimeod='undef'
+d_gmtime_r='undef'
d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
d_lchown='undef'
d_ldbl_dig='define'
d_link='define'
+d_localtime_r='undef'
d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_pwquota='undef'
d_qgcvt='undef'
d_quad='undef'
+d_random_r='undef'
+d_readdir64_r='undef'
d_readdir='define'
+d_readdir_r='undef'
d_readlink='undef'
d_readv='undef'
d_recvmsg='undef'
d_setegid='undef'
d_seteuid='undef'
d_setgrent='undef'
+d_setgrent_r='undef'
d_setgrps='undef'
d_sethent='undef'
+d_sethostent_r='undef'
d_setitimer='undef'
d_setlinebuf='undef'
d_setlocale='define'
+d_setlocale_r='undef'
d_setnent='undef'
+d_setnetent_r='undef'
d_setpent='undef'
d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
+d_setprotoent_r='undef'
d_setpwent='undef'
+d_setpwent_r='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
d_setrgid='undef'
d_setruid='undef'
d_setsent='undef'
+d_setservent_r='undef'
d_setsid='undef'
d_setvbuf='define'
d_sfio='undef'
d_sockpair='undef'
d_socks5_init='undef'
d_sqrtl='undef'
+d_srand48_r='undef'
+d_srandom_r='undef'
d_sresgproto='undef'
d_sresuproto='undef'
d_statblks='undef'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
+d_strerror_r='undef'
d_strftime='define'
d_strtod='define'
d_strtol='define'
d_telldirproto='define'
d_time='define'
d_times='define'
+d_tm_tm_gmtoff='undef'
+d_tm_tm_zone='undef'
+d_tmpnam_r='undef'
d_truncate='undef'
+d_ttyname_r='undef'
d_tzname='define'
d_u32align='define'
d_ualarm='undef'
dlsrc='dl_win32.xs'
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
+drand48_r_proto='0'
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs Thread'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
egrep='egrep'
emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
full_csh=''
full_sed=''
gccversion=''
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
gidformat='"ld"'
gidsign='-1'
gidsize='4'
gidtype='gid_t'
glibpth='/usr/shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/shlib '
+gmtime_r_proto='0'
grep='grep'
groupcat=''
groupstype='gid_t'
i8type='char'
i_arpainet='define'
i_bsdioctl=''
+i_crypt='undef'
i_db='undef'
i_dbm='undef'
i_dirent='define'
i_syssecrt='undef'
i_sysselct='undef'
i_syssockio='undef'
+i_sysstat='define'
i_sysstatfs='undef'
i_sysstatvfs='undef'
-i_sysstat='define'
i_systime='undef'
i_systimek='undef'
i_systimes='undef'
inews=''
installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
+installhtmldir='~INST_TOP~~INST_VER~\html'
+installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installman1dir='~INST_TOP~~INST_VER~\man\man1'
installman3dir='~INST_TOP~~INST_VER~\man\man3'
installprefix='~INST_TOP~~INST_VER~'
installprefixexp='~INST_TOP~~INST_VER~'
-installhtmldir='~INST_TOP~~INST_VER~\html'
-installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installprivlib='~INST_TOP~~INST_VER~\lib'
installscript='~INST_TOP~~INST_VER~\bin'
installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
lkflags=''
ln=''
lns='copy'
+localtime_r_proto='0'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longdblsize='10'
quadtype='__int64'
randbits='15'
randfunc='rand'
+random_r_proto='0'
randseedtype='unsigned'
ranlib='rem'
rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
revision='5'
rm='del'
rmail=''
selectminbits='32'
selecttype='Perl_fd_set *'
sendmail='blat'
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
sh='cmd /x /c'
shar=''
sharpbang='#!'
sort='sort'
spackage='Perl5'
spitshell=''
+srand48_r_proto='0'
+srandom_r_proto='0'
src=''
ssizetype='int'
startperl='#!perl'
stdio_filbuf=''
stdio_ptr='((fp)->_ptr)'
stdio_stream_array=''
+strerror_r_proto='0'
strings='/usr/include/string.h'
submit=''
subversion='~SUBVERSION~'
test=''
timeincl='/usr/include/sys/time.h '
timetype='time_t'
+tmpnam_r_proto='0'
touch='touch'
tr=''
trnl='\012'
troff=''
+ttyname_r_proto='0'
u16size='2'
u16type='unsigned short'
u32size='4'
usevfork='false'
usrinc='/usr/include'
uuname=''
+uvXUformat='"lX"'
uvoformat='"lo"'
uvsize='4'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
-uvXUformat='"lX"'
vendorarch=''
vendorarchexp=''
vendorbin=''
..\pp_pack.c \
..\pp_sort.c \
..\pp_sys.c \
+ ..\reentr.c \
..\regcomp.c \
..\regexec.c \
..\run.c \
..\pp_pack.c \
..\pp_sort.c \
..\pp_sys.c \
+ ..\reentr.c \
..\regcomp.c \
..\regexec.c \
..\run.c \
$(DLLDIR)\pp_pack.obj \
$(DLLDIR)\pp_sort.obj \
$(DLLDIR)\pp_sys.obj \
+$(DLLDIR)\reentr.obj \
$(DLLDIR)\regcomp.obj \
$(DLLDIR)\regexec.obj \
$(DLLDIR)\run.obj \
Revision='$Revision'
Source=''
State=''
+# keep this for WinCE, as it is used by some mods...
_a='.lib'
_exe='.exe'
_o='.obj'
archname64=''
archname='wince'
archobjs=''
+asctime_r_proto='0'
awk='awk'
baserev='5'
bash=''
cppstdin='cl -nologo -E'
cppsymbols=''
crosscompile='undef'
+crypt_r_proto='0'
cryptlib=''
csh='undef'
+ctermid_r_proto='0'
+ctime_r_proto='0'
d_Gconvert='sprintf((b),"%.*g",(n),(x))'
d_PRIEldbl='undef'
d_PRIFldbl='undef'
d_accessx='undef'
d_alarm='undef'
d_archlib='define'
+d_asctime_r='undef'
d_atolf='undef'
d_atoll='undef'
d_attribut='undef'
d_closedir='define'
d_const='define'
d_crypt='undef'
+d_crypt_r='undef'
d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
d_cuserid='undef'
d_dbl_dig='define'
d_difftime='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
+d_drand48_r='undef'
d_drand48proto='undef'
d_dup2='define'
d_eaccess='undef'
d_endgrent='undef'
+d_endgrent_r='undef'
d_endhent='undef'
+d_endhostent_r='undef'
d_endnent='undef'
+d_endnetent_r='undef'
d_endpent='undef'
+d_endprotoent_r='undef'
d_endpwent='undef'
+d_endpwent_r='undef'
d_endsent='undef'
+d_endservent_r='undef'
d_endspent='undef'
d_eofnblk='define'
d_eunice='undef'
d_getcwd='define'
d_getfsstat='undef'
d_getgrent='undef'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
d_getgrps='undef'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='undef'
d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
d_gethostprotos='define'
d_getlogin='define'
+d_getlogin_r='undef'
d_getmnt='undef'
d_getmntent='undef'
d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
d_getnetprotos='undef'
d_getpbyname='define'
d_getpbynumber='define'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
d_getprotoprotos='define'
d_getpwent='undef'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
d_getservprotos='define'
d_getspent='undef'
d_getspnam='undef'
+d_getspnam_r='undef'
d_gettimeod='undef'
+d_gmtime_r='undef'
d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
d_lchown='undef'
d_ldbl_dig='define'
d_link='define'
+d_localtime_r='undef'
d_locconv='define'
d_lockf='undef'
d_longdbl='undef'
d_pwquota='undef'
d_qgcvt='undef'
d_quad='undef'
+d_random_r='undef'
+d_readdir64_r='undef'
d_readdir='define'
+d_readdir_r='undef'
d_readlink='undef'
d_rename='define'
d_rewinddir='define'
d_setegid='undef'
d_seteuid='undef'
d_setgrent='undef'
+d_setgrent_r='undef'
d_setgrps='undef'
d_sethent='undef'
+d_sethostent_r='undef'
d_setlinebuf='undef'
d_setlocale='undef'
+d_setlocale_r='undef'
d_setnent='undef'
+d_setnetent_r='undef'
d_setpent='undef'
d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
+d_setprotoent_r='undef'
d_setpwent='undef'
+d_setpwent_r='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
d_setrgid='undef'
d_setruid='undef'
d_setsent='undef'
+d_setservent_r='undef'
d_setsid='undef'
d_setspent='undef'
d_setvbuf='undef'
d_socklen_t='undef'
d_sockpair='undef'
d_sqrtl='undef'
+d_srand48_r='undef'
+d_srandom_r='undef'
d_statblks='undef'
d_statfs_f_flags='undef'
d_statfs_s='undef'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
+d_strerror_r='undef'
d_strtod='define'
d_strtol='define'
d_strtold='undef'
d_telldirproto='define'
d_time='define'
d_times='define'
+d_tm_tm_gmtoff='undef'
+d_tm_tm_zone='undef'
+d_tmpnam_r='undef'
d_truncate='undef'
+d_ttyname_r='undef'
d_tzname='define'
d_umask='define'
d_uname='define'
dlsrc='dl_win32.xs'
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
+drand48_r_proto='0'
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs Thread'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
egrep='egrep'
emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
full_csh=''
full_sed=''
gccversion=''
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
gidformat='"ld"'
gidsign='-1'
gidsize='4'
gidtype='gid_t'
glibpth='/usr/shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/shlib '
+gmtime_r_proto='0'
grep='grep'
groupcat=''
groupstype='gid_t'
i8type='char'
i_arpainet='define'
i_bsdioctl=''
+i_crypt='undef'
i_db='undef'
i_dbm='undef'
i_dirent='define'
i_syssecrt='undef'
i_sysselct='undef'
i_syssockio='undef'
+i_sysstat='define'
i_sysstatfs='undef'
i_sysstatvfs='undef'
-i_sysstat='define'
i_systime='undef'
i_systimek='undef'
i_systimes='undef'
inews=''
installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
+installhtmldir='~INST_TOP~~INST_VER~\html'
+installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installman1dir='~INST_TOP~~INST_VER~\man\man1'
installman3dir='~INST_TOP~~INST_VER~\man\man3'
installprefix='~INST_TOP~~INST_VER~'
installprefixexp='~INST_TOP~~INST_VER~'
-installhtmldir='~INST_TOP~~INST_VER~\html'
-installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installprivlib='~INST_TOP~~INST_VER~\lib'
installscript='~INST_TOP~~INST_VER~\bin'
installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
lkflags=''
ln=''
lns='copy'
+localtime_r_proto='0'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longdblsize='10'
old_pthread_create_joinable=''
optimize='-O'
orderlib='false'
-# keep this for WinCE, as it is used by some mods...
osname='MSWin32'
osvers='4.0'
package='perl5'
quadtype='__int64'
randbits='15'
randfunc='rand'
+random_r_proto='0'
randseedtype='unsigned'
ranlib='rem'
rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
revision='5'
rm='del'
rmail=''
runnm='true'
-sig_size='0'
sPRIEldbl='"E"'
sPRIFldbl='"F"'
sPRIGldbl='"G"'
selectminbits='32'
selecttype='Perl_fd_set *'
sendmail='blat'
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
sh='cmd /x /c'
shar=''
sharpbang='#!'
sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0'
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20 0'
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
+sig_size='0'
signal_t='void'
sitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
sitearchexp='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
spackage='Perl5'
spitshell=''
split=''
+srand48_r_proto='0'
+srandom_r_proto='0'
src=''
ssizetype='int'
startperl='#!perl'
stdio_filbuf=''
stdio_ptr=''
stdio_stream_array=''
+strerror_r_proto='0'
strings='/usr/include/string.h'
submit=''
subversion='~SUBVERSION~'
test=''
timeincl='/usr/include/sys/time.h '
timetype='time_t'
+tmpnam_r_proto='0'
touch='touch'
tr=''
trnl='\012'
troff=''
+ttyname_r_proto='0'
u16size='2'
u16type='unsigned short'
u32size='4'