This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate:
[perl5.git] / reentr.inc
CommitLineData
d909e69f
JD
1/*
2 * reentr.inc
3 *
4 * You may distribute under the terms of either the GNU General Public
5 * License or the Artistic License, as specified in the README file.
6 *
7 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
8 * This file is built by reentrl.pl from data in reentr.pl.
9 */
10
11#ifndef REENTRINC
12#define REENTRINC
13
14#ifdef USE_REENTRANT_API
15
5515d7af
SP
16/*
17 * As of OpenBSD 3.7, reentrant functions are now working, they just are
18 * incompatible with everyone else. To make OpenBSD happy, we have to
19 * memzero out certain structures before calling the functions.
20 */
21#if defined(__OpenBSD__)
ef0ef25c 22# define REENTR_MEMZERO(a,b) memzero(a,b)
5515d7af 23#else
65af2a75 24# define REENTR_MEMZERO(a,b) 0
5515d7af
SP
25#endif
26
d909e69f
JD
27/* The reentrant wrappers. */
28
29#ifdef HAS_ASCTIME_R
180e0388 30# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
31# undef asctime
32# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SB
33# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer)
180e0388 34# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
35# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SBI
36# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size)
180e0388 37# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 38# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SB
764896ce 39# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
180e0388 40# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 41# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SBI
764896ce 42# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
180e0388 43# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 44# endif /* HAS_ASCTIME */
d909e69f
JD
45#endif /* HAS_ASCTIME_R */
46
47#ifdef HAS_CRYPT_R
180e0388 48# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
49# undef crypt
50# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCS
51# define crypt(a, b) crypt_r(a, b, PL_reentrant_buffer->_crypt_struct_buffer)
180e0388 52# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
53# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD
54# define crypt(a, b) crypt_r(a, b, &PL_reentrant_buffer->_crypt_data)
180e0388 55# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 56# endif /* HAS_CRYPT */
d909e69f
JD
57#endif /* HAS_CRYPT_R */
58
59#ifdef HAS_CTERMID_R
180e0388 60# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
61# undef ctermid
62# if !defined(ctermid) && CTERMID_R_PROTO == REENTRANT_PROTO_B_B
63# define ctermid(a) ctermid_r(a)
180e0388 64# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 65# endif /* HAS_CTERMID */
d909e69f
JD
66#endif /* HAS_CTERMID_R */
67
68#ifdef HAS_CTIME_R
180e0388 69# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
70# undef ctime
71# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SB
72# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer)
180e0388 73# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
74# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SBI
75# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size)
180e0388 76# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 77# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SB
764896ce 78# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
180e0388 79# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 80# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SBI
764896ce 81# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
180e0388 82# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 83# endif /* HAS_CTIME */
d909e69f
JD
84#endif /* HAS_CTIME_R */
85
86#ifdef HAS_DRAND48_R
180e0388 87# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
88# undef drand48
89# if !defined(drand48) && DRAND48_R_PROTO == REENTRANT_PROTO_I_ST
764896ce 90# define drand48() (drand48_r(&PL_reentrant_buffer->_drand48_struct, &PL_reentrant_buffer->_drand48_double) == 0 ? PL_reentrant_buffer->_drand48_double : 0)
180e0388 91# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 92# endif /* HAS_DRAND48 */
d909e69f
JD
93#endif /* HAS_DRAND48_R */
94
95#ifdef HAS_ENDGRENT_R
180e0388 96# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
97# undef endgrent
98# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H
764896ce 99# define endgrent() (endgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0)
180e0388 100# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
101# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H
102# define endgrent() endgrent_r(&PL_reentrant_buffer->_grent_fptr)
180e0388 103# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 104# endif /* HAS_ENDGRENT */
d909e69f
JD
105#endif /* HAS_ENDGRENT_R */
106
107#ifdef HAS_ENDHOSTENT_R
180e0388 108# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
109# undef endhostent
110# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_I_D
764896ce 111# define endhostent() (endhostent_r(&PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0)
180e0388 112# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
113# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_V_D
114# define endhostent() endhostent_r(&PL_reentrant_buffer->_hostent_data)
180e0388 115# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 116# endif /* HAS_ENDHOSTENT */
d909e69f
JD
117#endif /* HAS_ENDHOSTENT_R */
118
119#ifdef HAS_ENDNETENT_R
180e0388 120# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
121# undef endnetent
122# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_I_D
764896ce 123# define endnetent() (endnetent_r(&PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0)
180e0388 124# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
125# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_V_D
126# define endnetent() endnetent_r(&PL_reentrant_buffer->_netent_data)
180e0388 127# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 128# endif /* HAS_ENDNETENT */
d909e69f
JD
129#endif /* HAS_ENDNETENT_R */
130
131#ifdef HAS_ENDPROTOENT_R
180e0388 132# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
133# undef endprotoent
134# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_I_D
764896ce 135# define endprotoent() (endprotoent_r(&PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0)
180e0388 136# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
137# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_V_D
138# define endprotoent() endprotoent_r(&PL_reentrant_buffer->_protoent_data)
180e0388 139# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 140# endif /* HAS_ENDPROTOENT */
d909e69f
JD
141#endif /* HAS_ENDPROTOENT_R */
142
143#ifdef HAS_ENDPWENT_R
180e0388 144# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
145# undef endpwent
146# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H
764896ce 147# define endpwent() (endpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0)
180e0388 148# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
149# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H
150# define endpwent() endpwent_r(&PL_reentrant_buffer->_pwent_fptr)
180e0388 151# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 152# endif /* HAS_ENDPWENT */
d909e69f
JD
153#endif /* HAS_ENDPWENT_R */
154
155#ifdef HAS_ENDSERVENT_R
180e0388 156# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
157# undef endservent
158# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_I_D
764896ce 159# define endservent() (endservent_r(&PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0)
180e0388 160# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
161# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_V_D
162# define endservent() endservent_r(&PL_reentrant_buffer->_servent_data)
180e0388 163# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 164# endif /* HAS_ENDSERVENT */
d909e69f
JD
165#endif /* HAS_ENDSERVENT_R */
166
167#ifdef HAS_GETGRENT_R
180e0388 168# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
169# undef getgrent
170# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR
171# ifdef PERL_CORE
5515d7af 172# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
d909e69f
JD
173# else
174# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 175# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
d909e69f 176# else
764896ce
JD
177# define getgrent() Perl_reentr_getgrent()
178 static struct group* Perl_reentr_getgrent() {
d909e69f
JD
179 dTHX;
180 int PL_REENTRANT_RETINT;
e122803c
SP
181 ;
182 return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
d909e69f
JD
183 }
184# endif
185# endif
180e0388 186# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
187# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR
188# ifdef PERL_CORE
5515d7af 189# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
d909e69f
JD
190# else
191# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 192# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
d909e69f 193# else
764896ce
JD
194# define getgrent() Perl_reentr_getgrent()
195 static struct group* Perl_reentr_getgrent() {
d909e69f
JD
196 dTHX;
197 int PL_REENTRANT_RETINT;
e122803c
SP
198 ;
199 return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
d909e69f
JD
200 }
201# endif
202# endif
180e0388 203# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 204# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW
da01b85b 205# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
180e0388 206# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 207# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI
da01b85b 208# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
180e0388 209# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
210# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI
211# ifdef PERL_CORE
5515d7af 212# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
d909e69f
JD
213# else
214# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 215# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
d909e69f 216# else
764896ce
JD
217# define getgrent() Perl_reentr_getgrent()
218 static struct group* Perl_reentr_getgrent() {
d909e69f
JD
219 dTHX;
220 int PL_REENTRANT_RETINT;
e122803c
SP
221 ;
222 return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
d909e69f
JD
223 }
224# endif
225# endif
180e0388 226# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
227# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH
228# ifdef PERL_CORE
5515d7af 229# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
d909e69f
JD
230# else
231# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 232# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
d909e69f 233# else
764896ce
JD
234# define getgrent() Perl_reentr_getgrent()
235 static struct group* Perl_reentr_getgrent() {
d909e69f
JD
236 dTHX;
237 int PL_REENTRANT_RETINT;
e122803c
SP
238 ;
239 return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
d909e69f
JD
240 }
241# endif
242# endif
180e0388 243# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 244# endif /* HAS_GETGRENT */
d909e69f
JD
245#endif /* HAS_GETGRENT_R */
246
247#ifdef HAS_GETGRGID_R
180e0388 248# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
249# undef getgrgid
250# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR
251# ifdef PERL_CORE
5515d7af 252# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
d909e69f
JD
253# else
254# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 255# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
d909e69f 256# else
764896ce
JD
257# define getgrgid(a) Perl_reentr_getgrgid(a)
258 static struct group* Perl_reentr_getgrgid(gid_t a) {
d909e69f
JD
259 dTHX;
260 int PL_REENTRANT_RETINT;
e122803c
SP
261 ;
262 return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
d909e69f
JD
263 }
264# endif
265# endif
180e0388 266# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
267# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR
268# ifdef PERL_CORE
5515d7af 269# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
d909e69f
JD
270# else
271# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 272# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
d909e69f 273# else
764896ce
JD
274# define getgrgid(a) Perl_reentr_getgrgid(a)
275 static struct group* Perl_reentr_getgrgid(gid_t a) {
d909e69f
JD
276 dTHX;
277 int PL_REENTRANT_RETINT;
e122803c
SP
278 ;
279 return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
d909e69f
JD
280 }
281# endif
282# endif
180e0388 283# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
284# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI
285# ifdef PERL_CORE
5515d7af 286# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
d909e69f
JD
287# else
288# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 289# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
d909e69f 290# else
764896ce
JD
291# define getgrgid(a) Perl_reentr_getgrgid(a)
292 static struct group* Perl_reentr_getgrgid(gid_t a) {
d909e69f
JD
293 dTHX;
294 int PL_REENTRANT_RETINT;
e122803c
SP
295 ;
296 return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
d909e69f
JD
297 }
298# endif
299# endif
180e0388 300# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 301# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI
da01b85b 302# define getgrgid(a) (getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0))
180e0388 303# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 304# endif /* HAS_GETGRGID */
d909e69f
JD
305#endif /* HAS_GETGRGID_R */
306
307#ifdef HAS_GETGRNAM_R
180e0388 308# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
309# undef getgrnam
310# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
311# ifdef PERL_CORE
5515d7af 312# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
d909e69f
JD
313# else
314# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 315# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
d909e69f 316# else
764896ce
JD
317# define getgrnam(a) Perl_reentr_getgrnam(a)
318 static struct group* Perl_reentr_getgrnam(const char* a) {
d909e69f
JD
319 dTHX;
320 int PL_REENTRANT_RETINT;
e122803c
SP
321 ;
322 return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
d909e69f
JD
323 }
324# endif
325# endif
180e0388 326# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
327# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
328# ifdef PERL_CORE
5515d7af 329# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
d909e69f
JD
330# else
331# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 332# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
d909e69f 333# else
764896ce
JD
334# define getgrnam(a) Perl_reentr_getgrnam(a)
335 static struct group* Perl_reentr_getgrnam(const char* a) {
d909e69f
JD
336 dTHX;
337 int PL_REENTRANT_RETINT;
e122803c
SP
338 ;
339 return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
d909e69f
JD
340 }
341# endif
342# endif
180e0388 343# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 344# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI
da01b85b 345# define getgrnam(a) (getgrnam_r(a, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? PL_reentrant_buffer->_grent_buffer : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0))
180e0388 346# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
347# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
348# ifdef PERL_CORE
5515d7af 349# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
d909e69f
JD
350# else
351# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 352# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
d909e69f 353# else
764896ce
JD
354# define getgrnam(a) Perl_reentr_getgrnam(a)
355 static struct group* Perl_reentr_getgrnam(const char* a) {
d909e69f
JD
356 dTHX;
357 int PL_REENTRANT_RETINT;
e122803c
SP
358 ;
359 return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
d909e69f
JD
360 }
361# endif
362# endif
180e0388 363# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 364# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
da01b85b 365# define getgrnam(a) (getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0))
180e0388 366# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 367# endif /* HAS_GETGRNAM */
d909e69f
JD
368#endif /* HAS_GETGRNAM_R */
369
370#ifdef HAS_GETHOSTBYADDR_R
180e0388 371# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
372# undef gethostbyaddr
373# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE
374# ifdef PERL_CORE
5515d7af 375# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
d909e69f
JD
376# else
377# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 378# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
d909e69f 379# else
764896ce
JD
380# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
381 static struct hostent* Perl_reentr_gethostbyaddr(const char* a, size_t b, int c) {
d909e69f
JD
382 dTHX;
383 int PL_REENTRANT_RETINT;
e122803c
SP
384 ;
385 return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
d909e69f
JD
386 }
387# endif
388# endif
180e0388 389# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 390# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE
da01b85b 391# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
180e0388 392# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 393# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE
da01b85b 394# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
180e0388 395# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 396# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE
da01b85b 397# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
180e0388 398# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 399# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE
da01b85b 400# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
180e0388 401# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 402# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE
da01b85b 403# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
180e0388 404# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 405# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE
da01b85b 406# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
180e0388 407# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
408# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD
409# ifdef PERL_CORE
5515d7af 410# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
d909e69f
JD
411# else
412# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 413# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
d909e69f 414# else
764896ce
JD
415# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
416 static struct hostent* Perl_reentr_gethostbyaddr(const char* a, size_t b, int c) {
d909e69f
JD
417 dTHX;
418 int PL_REENTRANT_RETINT;
e122803c
SP
419 ;
420 return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
d909e69f
JD
421 }
422# endif
423# endif
180e0388 424# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
425# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD
426# ifdef PERL_CORE
5515d7af 427# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
d909e69f
JD
428# else
429# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 430# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
d909e69f 431# else
764896ce
JD
432# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
433 static struct hostent* Perl_reentr_gethostbyaddr(const char* a, int b, int c) {
d909e69f
JD
434 dTHX;
435 int PL_REENTRANT_RETINT;
e122803c
SP
436 ;
437 return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
d909e69f
JD
438 }
439# endif
440# endif
180e0388 441# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
442# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII
443# ifdef PERL_CORE
5515d7af 444# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
d909e69f
JD
445# else
446# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 447# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
d909e69f 448# else
764896ce
JD
449# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
450 static struct hostent* Perl_reentr_gethostbyaddr(const char* a, int b, int c) {
d909e69f
JD
451 dTHX;
452 int PL_REENTRANT_RETINT;
e122803c
SP
453 ;
454 return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
d909e69f
JD
455 }
456# endif
457# endif
180e0388 458# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
459# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE
460# ifdef PERL_CORE
5515d7af 461# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
d909e69f
JD
462# else
463# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 464# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
d909e69f 465# else
764896ce
JD
466# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
467 static struct hostent* Perl_reentr_gethostbyaddr(const void* a, socklen_t b, int c) {
d909e69f
JD
468 dTHX;
469 int PL_REENTRANT_RETINT;
e122803c
SP
470 ;
471 return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
d909e69f
JD
472 }
473# endif
474# endif
180e0388 475# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 476# endif /* HAS_GETHOSTBYADDR */
d909e69f
JD
477#endif /* HAS_GETHOSTBYADDR_R */
478
479#ifdef HAS_GETHOSTBYNAME_R
180e0388 480# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
481# undef gethostbyname
482# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
483# ifdef PERL_CORE
5515d7af 484# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
d909e69f
JD
485# else
486# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 487# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
d909e69f 488# else
764896ce
JD
489# define gethostbyname(a) Perl_reentr_gethostbyname(a)
490 static struct hostent* Perl_reentr_gethostbyname(const char* a) {
d909e69f
JD
491 dTHX;
492 int PL_REENTRANT_RETINT;
e122803c
SP
493 ;
494 return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
d909e69f
JD
495 }
496# endif
497# endif
180e0388 498# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 499# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE
da01b85b 500# define gethostbyname(a) (gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0))
180e0388 501# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
502# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
503# ifdef PERL_CORE
5515d7af 504# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
d909e69f
JD
505# else
506# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 507# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
d909e69f 508# else
764896ce
JD
509# define gethostbyname(a) Perl_reentr_gethostbyname(a)
510 static struct hostent* Perl_reentr_gethostbyname(const char* a) {
d909e69f
JD
511 dTHX;
512 int PL_REENTRANT_RETINT;
e122803c
SP
513 ;
514 return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
d909e69f
JD
515 }
516# endif
517# endif
180e0388 518# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 519# endif /* HAS_GETHOSTBYNAME */
d909e69f
JD
520#endif /* HAS_GETHOSTBYNAME_R */
521
522#ifdef HAS_GETHOSTENT_R
180e0388 523# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
524# undef gethostent
525# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
526# ifdef PERL_CORE
5515d7af 527# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
d909e69f
JD
528# else
529# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 530# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
d909e69f 531# else
764896ce
JD
532# define gethostent() Perl_reentr_gethostent()
533 static struct hostent* Perl_reentr_gethostent() {
d909e69f
JD
534 dTHX;
535 int PL_REENTRANT_RETINT;
e122803c
SP
536 ;
537 return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
d909e69f
JD
538 }
539# endif
540# endif
180e0388 541# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
542# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE
543# ifdef PERL_CORE
5515d7af 544# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
d909e69f
JD
545# else
546# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 547# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
d909e69f 548# else
764896ce
JD
549# define gethostent() Perl_reentr_gethostent()
550 static struct hostent* Perl_reentr_gethostent() {
d909e69f
JD
551 dTHX;
552 int PL_REENTRANT_RETINT;
e122803c
SP
553 ;
554 return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
d909e69f
JD
555 }
556# endif
557# endif
180e0388 558# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 559# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE
da01b85b 560# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
180e0388 561# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 562# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI
da01b85b 563# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
180e0388 564# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
565# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI
566# ifdef PERL_CORE
5515d7af 567# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
d909e69f
JD
568# else
569# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 570# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
d909e69f 571# else
764896ce
JD
572# define gethostent() Perl_reentr_gethostent()
573 static struct hostent* Perl_reentr_gethostent() {
d909e69f
JD
574 dTHX;
575 int PL_REENTRANT_RETINT;
e122803c
SP
576 ;
577 return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
d909e69f
JD
578 }
579# endif
580# endif
180e0388 581# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
582# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD
583# ifdef PERL_CORE
5515d7af 584# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
d909e69f
JD
585# else
586# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 587# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
d909e69f 588# else
764896ce
JD
589# define gethostent() Perl_reentr_gethostent()
590 static struct hostent* Perl_reentr_gethostent() {
d909e69f
JD
591 dTHX;
592 int PL_REENTRANT_RETINT;
e122803c
SP
593 ;
594 return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
d909e69f
JD
595 }
596# endif
597# endif
180e0388 598# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 599# endif /* HAS_GETHOSTENT */
d909e69f
JD
600#endif /* HAS_GETHOSTENT_R */
601
602#ifdef HAS_GETLOGIN_R
180e0388 603# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
604# undef getlogin
605# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW
606# ifdef PERL_CORE
5515d7af 607# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
d909e69f
JD
608# else
609# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 610# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
d909e69f 611# else
764896ce
JD
612# define getlogin() Perl_reentr_getlogin()
613 static char* Perl_reentr_getlogin() {
d909e69f
JD
614 dTHX;
615 int PL_REENTRANT_RETINT;
e122803c
SP
616 ;
617 return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));
d909e69f
JD
618 }
619# endif
620# endif
180e0388 621# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
622# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI
623# ifdef PERL_CORE
5515d7af 624# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
d909e69f
JD
625# else
626# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 627# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
d909e69f 628# else
764896ce
JD
629# define getlogin() Perl_reentr_getlogin()
630 static char* Perl_reentr_getlogin() {
d909e69f
JD
631 dTHX;
632 int PL_REENTRANT_RETINT;
e122803c
SP
633 ;
634 return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));
d909e69f
JD
635 }
636# endif
637# endif
180e0388 638# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
639# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BW
640# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)
180e0388 641# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
642# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BI
643# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)
180e0388 644# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 645# endif /* HAS_GETLOGIN */
d909e69f
JD
646#endif /* HAS_GETLOGIN_R */
647
648#ifdef HAS_GETNETBYADDR_R
180e0388 649# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
650# undef getnetbyaddr
651# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE
652# ifdef PERL_CORE
5515d7af 653# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
d909e69f
JD
654# else
655# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 656# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
d909e69f 657# else
764896ce
JD
658# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
659 static struct netent* Perl_reentr_getnetbyaddr(unsigned long a, int b) {
d909e69f
JD
660 dTHX;
661 int PL_REENTRANT_RETINT;
e122803c
SP
662 ;
663 return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
d909e69f
JD
664 }
665# endif
666# endif
180e0388 667# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
668# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI
669# ifdef PERL_CORE
5515d7af 670# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
d909e69f
JD
671# else
672# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 673# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
d909e69f 674# else
764896ce
JD
675# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
676 static struct netent* Perl_reentr_getnetbyaddr(long a, int b) {
d909e69f
JD
677 dTHX;
678 int PL_REENTRANT_RETINT;
e122803c
SP
679 ;
680 return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
d909e69f
JD
681 }
682# endif
683# endif
180e0388 684# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 685# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI
da01b85b 686# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
180e0388 687# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 688# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI
da01b85b 689# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
180e0388 690# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
691# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD
692# ifdef PERL_CORE
5515d7af 693# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
d909e69f
JD
694# else
695# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 696# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
d909e69f 697# else
764896ce
JD
698# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
699 static struct netent* Perl_reentr_getnetbyaddr(in_addr_t a, int b) {
d909e69f
JD
700 dTHX;
701 int PL_REENTRANT_RETINT;
e122803c
SP
702 ;
703 return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
d909e69f
JD
704 }
705# endif
706# endif
180e0388 707# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
708# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD
709# ifdef PERL_CORE
5515d7af 710# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
d909e69f
JD
711# else
712# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 713# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
d909e69f 714# else
764896ce
JD
715# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
716 static struct netent* Perl_reentr_getnetbyaddr(long a, int b) {
d909e69f
JD
717 dTHX;
718 int PL_REENTRANT_RETINT;
e122803c
SP
719 ;
720 return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
d909e69f
JD
721 }
722# endif
723# endif
180e0388 724# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
725# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD
726# ifdef PERL_CORE
5515d7af 727# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
d909e69f
JD
728# else
729# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 730# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
d909e69f 731# else
764896ce
JD
732# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
733 static struct netent* Perl_reentr_getnetbyaddr(int a, int b) {
d909e69f
JD
734 dTHX;
735 int PL_REENTRANT_RETINT;
e122803c
SP
736 ;
737 return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
d909e69f
JD
738 }
739# endif
740# endif
180e0388 741# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
742# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE
743# ifdef PERL_CORE
5515d7af 744# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
d909e69f
JD
745# else
746# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 747# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
d909e69f 748# else
764896ce
JD
749# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
750 static struct netent* Perl_reentr_getnetbyaddr(uint32_t a, int b) {
d909e69f
JD
751 dTHX;
752 int PL_REENTRANT_RETINT;
e122803c
SP
753 ;
754 return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
d909e69f
JD
755 }
756# endif
757# endif
180e0388 758# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 759# endif /* HAS_GETNETBYADDR */
d909e69f
JD
760#endif /* HAS_GETNETBYADDR_R */
761
762#ifdef HAS_GETNETBYNAME_R
180e0388 763# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
764# undef getnetbyname
765# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
766# ifdef PERL_CORE
5515d7af 767# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
d909e69f
JD
768# else
769# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 770# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
d909e69f 771# else
764896ce
JD
772# define getnetbyname(a) Perl_reentr_getnetbyname(a)
773 static struct netent* Perl_reentr_getnetbyname(const char* a) {
d909e69f
JD
774 dTHX;
775 int PL_REENTRANT_RETINT;
e122803c
SP
776 ;
777 return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
d909e69f
JD
778 }
779# endif
780# endif
180e0388 781# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
782# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI
783# ifdef PERL_CORE
5515d7af 784# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
d909e69f
JD
785# else
786# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 787# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
d909e69f 788# else
764896ce
JD
789# define getnetbyname(a) Perl_reentr_getnetbyname(a)
790 static struct netent* Perl_reentr_getnetbyname(const char* a) {
d909e69f
JD
791 dTHX;
792 int PL_REENTRANT_RETINT;
e122803c
SP
793 ;
794 return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
d909e69f
JD
795 }
796# endif
797# endif
180e0388 798# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 799# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
da01b85b 800# define getnetbyname(a) (getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0))
180e0388 801# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
802# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
803# ifdef PERL_CORE
5515d7af 804# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
d909e69f
JD
805# else
806# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 807# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
d909e69f 808# else
764896ce
JD
809# define getnetbyname(a) Perl_reentr_getnetbyname(a)
810 static struct netent* Perl_reentr_getnetbyname(const char* a) {
d909e69f
JD
811 dTHX;
812 int PL_REENTRANT_RETINT;
e122803c
SP
813 ;
814 return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
d909e69f
JD
815 }
816# endif
817# endif
180e0388 818# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 819# endif /* HAS_GETNETBYNAME */
d909e69f
JD
820#endif /* HAS_GETNETBYNAME_R */
821
822#ifdef HAS_GETNETENT_R
180e0388 823# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
824# undef getnetent
825# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
826# ifdef PERL_CORE
5515d7af 827# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
d909e69f
JD
828# else
829# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 830# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
d909e69f 831# else
764896ce
JD
832# define getnetent() Perl_reentr_getnetent()
833 static struct netent* Perl_reentr_getnetent() {
d909e69f
JD
834 dTHX;
835 int PL_REENTRANT_RETINT;
e122803c
SP
836 ;
837 return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
d909e69f
JD
838 }
839# endif
840# endif
180e0388 841# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
842# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE
843# ifdef PERL_CORE
5515d7af 844# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
d909e69f
JD
845# else
846# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 847# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
d909e69f 848# else
764896ce
JD
849# define getnetent() Perl_reentr_getnetent()
850 static struct netent* Perl_reentr_getnetent() {
d909e69f
JD
851 dTHX;
852 int PL_REENTRANT_RETINT;
e122803c
SP
853 ;
854 return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
d909e69f
JD
855 }
856# endif
857# endif
180e0388 858# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 859# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE
da01b85b 860# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
180e0388 861# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
764896ce 862# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI
da01b85b 863# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
180e0388 864# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
764896ce 865# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI
d909e69f 866# ifdef PERL_CORE
5515d7af 867# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
d909e69f
JD
868# else
869# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 870# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
d909e69f 871# else
764896ce
JD
872# define getnetent() Perl_reentr_getnetent()
873 static struct netent* Perl_reentr_getnetent() {
d909e69f
JD
874 dTHX;
875 int PL_REENTRANT_RETINT;
e122803c
SP
876 ;
877 return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
d909e69f
JD
878 }
879# endif
880# endif
180e0388 881# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
882# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD
883# ifdef PERL_CORE
5515d7af 884# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
d909e69f
JD
885# else
886# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 887# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
d909e69f 888# else
764896ce
JD
889# define getnetent() Perl_reentr_getnetent()
890 static struct netent* Perl_reentr_getnetent() {
d909e69f
JD
891 dTHX;
892 int PL_REENTRANT_RETINT;
e122803c
SP
893 ;
894 return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
d909e69f
JD
895 }
896# endif
897# endif
180e0388 898# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 899# endif /* HAS_GETNETENT */
d909e69f
JD
900#endif /* HAS_GETNETENT_R */
901
902#ifdef HAS_GETPROTOBYNAME_R
180e0388 903# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
904# undef getprotobyname
905# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR
906# ifdef PERL_CORE
5515d7af 907# define getprotobyname(a) (((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
d909e69f
JD
908# else
909# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 910# define getprotobyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
d909e69f 911# else
764896ce
JD
912# define getprotobyname(a) Perl_reentr_getprotobyname(a)
913 static struct protoent* Perl_reentr_getprotobyname(const char* a) {
d909e69f
JD
914 dTHX;
915 int PL_REENTRANT_RETINT;
e122803c
SP
916 ;
917 return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
d909e69f
JD
918 }
919# endif
920# endif
180e0388 921# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 922# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
da01b85b 923# define getprotobyname(a) (getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0))
180e0388 924# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
925# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
926# ifdef PERL_CORE
65af2a75 927# define getprotobyname(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
d909e69f
JD
928# else
929# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
65af2a75 930# define getprotobyname(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
d909e69f 931# else
764896ce
JD
932# define getprotobyname(a) Perl_reentr_getprotobyname(a)
933 static struct protoent* Perl_reentr_getprotobyname(const char* a) {
d909e69f
JD
934 dTHX;
935 int PL_REENTRANT_RETINT;
65af2a75 936 REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
e122803c 937 return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
d909e69f
JD
938 }
939# endif
940# endif
180e0388 941# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 942# endif /* HAS_GETPROTOBYNAME */
d909e69f
JD
943#endif /* HAS_GETPROTOBYNAME_R */
944
945#ifdef HAS_GETPROTOBYNUMBER_R
180e0388 946# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
947# undef getprotobynumber
948# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR
949# ifdef PERL_CORE
5515d7af 950# define getprotobynumber(a) (((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
d909e69f
JD
951# else
952# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 953# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
d909e69f 954# else
764896ce
JD
955# define getprotobynumber(a) Perl_reentr_getprotobynumber(a)
956 static struct protoent* Perl_reentr_getprotobynumber(int a) {
d909e69f
JD
957 dTHX;
958 int PL_REENTRANT_RETINT;
e122803c
SP
959 ;
960 return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
d909e69f
JD
961 }
962# endif
963# endif
180e0388 964# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 965# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI
da01b85b 966# define getprotobynumber(a) (getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0))
180e0388 967# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
968# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD
969# ifdef PERL_CORE
65af2a75 970# define getprotobynumber(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
d909e69f
JD
971# else
972# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
65af2a75 973# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
d909e69f 974# else
764896ce
JD
975# define getprotobynumber(a) Perl_reentr_getprotobynumber(a)
976 static struct protoent* Perl_reentr_getprotobynumber(int a) {
d909e69f
JD
977 dTHX;
978 int PL_REENTRANT_RETINT;
65af2a75 979 REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
e122803c 980 return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
d909e69f
JD
981 }
982# endif
983# endif
180e0388 984# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 985# endif /* HAS_GETPROTOBYNUMBER */
d909e69f
JD
986#endif /* HAS_GETPROTOBYNUMBER_R */
987
988#ifdef HAS_GETPROTOENT_R
180e0388 989# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
990# undef getprotoent
991# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR
992# ifdef PERL_CORE
5515d7af 993# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
d909e69f
JD
994# else
995# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 996# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
d909e69f 997# else
764896ce
JD
998# define getprotoent() Perl_reentr_getprotoent()
999 static struct protoent* Perl_reentr_getprotoent() {
d909e69f
JD
1000 dTHX;
1001 int PL_REENTRANT_RETINT;
e122803c
SP
1002 ;
1003 return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
d909e69f
JD
1004 }
1005# endif
1006# endif
180e0388 1007# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1008# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI
1009# ifdef PERL_CORE
5515d7af 1010# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
d909e69f
JD
1011# else
1012# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1013# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
d909e69f 1014# else
764896ce
JD
1015# define getprotoent() Perl_reentr_getprotoent()
1016 static struct protoent* Perl_reentr_getprotoent() {
d909e69f
JD
1017 dTHX;
1018 int PL_REENTRANT_RETINT;
e122803c
SP
1019 ;
1020 return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
d909e69f
JD
1021 }
1022# endif
1023# endif
180e0388 1024# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1025# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI
da01b85b 1026# define getprotoent() (getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0))
180e0388 1027# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1028# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD
1029# ifdef PERL_CORE
65af2a75 1030# define getprotoent() (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
d909e69f
JD
1031# else
1032# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
65af2a75 1033# define getprotoent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
d909e69f 1034# else
764896ce
JD
1035# define getprotoent() Perl_reentr_getprotoent()
1036 static struct protoent* Perl_reentr_getprotoent() {
d909e69f
JD
1037 dTHX;
1038 int PL_REENTRANT_RETINT;
65af2a75 1039 REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
e122803c 1040 return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
d909e69f
JD
1041 }
1042# endif
1043# endif
180e0388 1044# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1045# endif /* HAS_GETPROTOENT */
d909e69f
JD
1046#endif /* HAS_GETPROTOENT_R */
1047
1048#ifdef HAS_GETPWENT_R
180e0388 1049# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1050# undef getpwent
1051# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR
1052# ifdef PERL_CORE
5515d7af 1053# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
d909e69f
JD
1054# else
1055# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1056# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
d909e69f 1057# else
764896ce
JD
1058# define getpwent() Perl_reentr_getpwent()
1059 static struct passwd* Perl_reentr_getpwent() {
d909e69f
JD
1060 dTHX;
1061 int PL_REENTRANT_RETINT;
e122803c
SP
1062 ;
1063 return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
d909e69f
JD
1064 }
1065# endif
1066# endif
180e0388 1067# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1068# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR
1069# ifdef PERL_CORE
5515d7af 1070# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
d909e69f
JD
1071# else
1072# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1073# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
d909e69f 1074# else
764896ce
JD
1075# define getpwent() Perl_reentr_getpwent()
1076 static struct passwd* Perl_reentr_getpwent() {
d909e69f
JD
1077 dTHX;
1078 int PL_REENTRANT_RETINT;
e122803c
SP
1079 ;
1080 return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
d909e69f
JD
1081 }
1082# endif
1083# endif
180e0388 1084# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1085# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW
da01b85b 1086# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
180e0388 1087# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1088# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI
da01b85b 1089# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
180e0388 1090# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1091# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI
1092# ifdef PERL_CORE
5515d7af 1093# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
d909e69f
JD
1094# else
1095# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1096# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
d909e69f 1097# else
764896ce
JD
1098# define getpwent() Perl_reentr_getpwent()
1099 static struct passwd* Perl_reentr_getpwent() {
d909e69f
JD
1100 dTHX;
1101 int PL_REENTRANT_RETINT;
e122803c
SP
1102 ;
1103 return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
d909e69f
JD
1104 }
1105# endif
1106# endif
180e0388 1107# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1108# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH
1109# ifdef PERL_CORE
5515d7af 1110# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
d909e69f
JD
1111# else
1112# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1113# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
d909e69f 1114# else
764896ce
JD
1115# define getpwent() Perl_reentr_getpwent()
1116 static struct passwd* Perl_reentr_getpwent() {
d909e69f
JD
1117 dTHX;
1118 int PL_REENTRANT_RETINT;
e122803c
SP
1119 ;
1120 return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
d909e69f
JD
1121 }
1122# endif
1123# endif
180e0388 1124# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1125# endif /* HAS_GETPWENT */
d909e69f
JD
1126#endif /* HAS_GETPWENT_R */
1127
1128#ifdef HAS_GETPWNAM_R
180e0388 1129# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1130# undef getpwnam
1131# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
1132# ifdef PERL_CORE
5515d7af 1133# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
d909e69f
JD
1134# else
1135# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1136# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
d909e69f 1137# else
764896ce
JD
1138# define getpwnam(a) Perl_reentr_getpwnam(a)
1139 static struct passwd* Perl_reentr_getpwnam(const char* a) {
d909e69f
JD
1140 dTHX;
1141 int PL_REENTRANT_RETINT;
e122803c
SP
1142 ;
1143 return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
d909e69f
JD
1144 }
1145# endif
1146# endif
180e0388 1147# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1148# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
1149# ifdef PERL_CORE
5515d7af 1150# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
d909e69f
JD
1151# else
1152# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1153# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
d909e69f 1154# else
764896ce
JD
1155# define getpwnam(a) Perl_reentr_getpwnam(a)
1156 static struct passwd* Perl_reentr_getpwnam(const char* a) {
d909e69f
JD
1157 dTHX;
1158 int PL_REENTRANT_RETINT;
e122803c
SP
1159 ;
1160 return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
d909e69f
JD
1161 }
1162# endif
1163# endif
180e0388 1164# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1165# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
da01b85b 1166# define getpwnam(a) (getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0))
180e0388 1167# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1168# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
1169# ifdef PERL_CORE
5515d7af 1170# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
d909e69f
JD
1171# else
1172# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1173# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
d909e69f 1174# else
764896ce
JD
1175# define getpwnam(a) Perl_reentr_getpwnam(a)
1176 static struct passwd* Perl_reentr_getpwnam(const char* a) {
d909e69f
JD
1177 dTHX;
1178 int PL_REENTRANT_RETINT;
e122803c
SP
1179 ;
1180 return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
d909e69f
JD
1181 }
1182# endif
1183# endif
180e0388 1184# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1185# endif /* HAS_GETPWNAM */
d909e69f
JD
1186#endif /* HAS_GETPWNAM_R */
1187
1188#ifdef HAS_GETPWUID_R
180e0388 1189# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1190# undef getpwuid
1191# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR
1192# ifdef PERL_CORE
5515d7af 1193# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
d909e69f
JD
1194# else
1195# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1196# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
d909e69f 1197# else
764896ce
JD
1198# define getpwuid(a) Perl_reentr_getpwuid(a)
1199 static struct passwd* Perl_reentr_getpwuid(uid_t a) {
d909e69f
JD
1200 dTHX;
1201 int PL_REENTRANT_RETINT;
e122803c
SP
1202 ;
1203 return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
d909e69f
JD
1204 }
1205# endif
1206# endif
180e0388 1207# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1208# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR
1209# ifdef PERL_CORE
5515d7af 1210# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
d909e69f
JD
1211# else
1212# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1213# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
d909e69f 1214# else
764896ce
JD
1215# define getpwuid(a) Perl_reentr_getpwuid(a)
1216 static struct passwd* Perl_reentr_getpwuid(uid_t a) {
d909e69f
JD
1217 dTHX;
1218 int PL_REENTRANT_RETINT;
e122803c
SP
1219 ;
1220 return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
d909e69f
JD
1221 }
1222# endif
1223# endif
180e0388 1224# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1225# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI
1226# ifdef PERL_CORE
5515d7af 1227# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
d909e69f
JD
1228# else
1229# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1230# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
d909e69f 1231# else
764896ce
JD
1232# define getpwuid(a) Perl_reentr_getpwuid(a)
1233 static struct passwd* Perl_reentr_getpwuid(uid_t a) {
d909e69f
JD
1234 dTHX;
1235 int PL_REENTRANT_RETINT;
e122803c
SP
1236 ;
1237 return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
d909e69f
JD
1238 }
1239# endif
1240# endif
180e0388 1241# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1242# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_S_TSBI
da01b85b 1243# define getpwuid(a) (getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0))
180e0388 1244# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1245# endif /* HAS_GETPWUID */
d909e69f
JD
1246#endif /* HAS_GETPWUID_R */
1247
1248#ifdef HAS_GETSERVBYNAME_R
180e0388 1249# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1250# undef getservbyname
1251# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR
1252# ifdef PERL_CORE
5515d7af 1253# define getservbyname(a, b) (((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
d909e69f
JD
1254# else
1255# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1256# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
d909e69f 1257# else
764896ce
JD
1258# define getservbyname(a, b) Perl_reentr_getservbyname(a, b)
1259 static struct servent* Perl_reentr_getservbyname(const char* a, const char* b) {
d909e69f
JD
1260 dTHX;
1261 int PL_REENTRANT_RETINT;
e122803c
SP
1262 ;
1263 return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
d909e69f
JD
1264 }
1265# endif
1266# endif
180e0388 1267# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1268# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI
da01b85b 1269# define getservbyname(a, b) (getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0))
180e0388 1270# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1271# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD
1272# ifdef PERL_CORE
65af2a75 1273# define getservbyname(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
d909e69f
JD
1274# else
1275# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
65af2a75 1276# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
d909e69f 1277# else
764896ce
JD
1278# define getservbyname(a, b) Perl_reentr_getservbyname(a, b)
1279 static struct servent* Perl_reentr_getservbyname(const char* a, const char* b) {
d909e69f
JD
1280 dTHX;
1281 int PL_REENTRANT_RETINT;
65af2a75 1282 REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
e122803c 1283 return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
d909e69f
JD
1284 }
1285# endif
1286# endif
180e0388 1287# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1288# endif /* HAS_GETSERVBYNAME */
d909e69f
JD
1289#endif /* HAS_GETSERVBYNAME_R */
1290
1291#ifdef HAS_GETSERVBYPORT_R
180e0388 1292# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1293# undef getservbyport
1294# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR
1295# ifdef PERL_CORE
5515d7af 1296# define getservbyport(a, b) (((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
d909e69f
JD
1297# else
1298# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1299# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
d909e69f 1300# else
764896ce
JD
1301# define getservbyport(a, b) Perl_reentr_getservbyport(a, b)
1302 static struct servent* Perl_reentr_getservbyport(int a, const char* b) {
d909e69f
JD
1303 dTHX;
1304 int PL_REENTRANT_RETINT;
e122803c
SP
1305 ;
1306 return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
d909e69f
JD
1307 }
1308# endif
1309# endif
180e0388 1310# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1311# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI
da01b85b 1312# define getservbyport(a, b) (getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0))
180e0388 1313# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1314# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD
1315# ifdef PERL_CORE
65af2a75 1316# define getservbyport(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
d909e69f
JD
1317# else
1318# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
65af2a75 1319# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
d909e69f 1320# else
764896ce
JD
1321# define getservbyport(a, b) Perl_reentr_getservbyport(a, b)
1322 static struct servent* Perl_reentr_getservbyport(int a, const char* b) {
d909e69f
JD
1323 dTHX;
1324 int PL_REENTRANT_RETINT;
65af2a75 1325 REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
e122803c 1326 return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
d909e69f
JD
1327 }
1328# endif
1329# endif
180e0388 1330# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1331# endif /* HAS_GETSERVBYPORT */
d909e69f
JD
1332#endif /* HAS_GETSERVBYPORT_R */
1333
1334#ifdef HAS_GETSERVENT_R
180e0388 1335# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1336# undef getservent
1337# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR
1338# ifdef PERL_CORE
5515d7af 1339# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
d909e69f
JD
1340# else
1341# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1342# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
d909e69f 1343# else
764896ce
JD
1344# define getservent() Perl_reentr_getservent()
1345 static struct servent* Perl_reentr_getservent() {
d909e69f
JD
1346 dTHX;
1347 int PL_REENTRANT_RETINT;
e122803c
SP
1348 ;
1349 return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
d909e69f
JD
1350 }
1351# endif
1352# endif
180e0388 1353# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1354# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI
1355# ifdef PERL_CORE
5515d7af 1356# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
d909e69f
JD
1357# else
1358# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1359# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
d909e69f 1360# else
764896ce
JD
1361# define getservent() Perl_reentr_getservent()
1362 static struct servent* Perl_reentr_getservent() {
d909e69f
JD
1363 dTHX;
1364 int PL_REENTRANT_RETINT;
e122803c
SP
1365 ;
1366 return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
d909e69f
JD
1367 }
1368# endif
1369# endif
180e0388 1370# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1371# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI
da01b85b 1372# define getservent() (getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0))
180e0388 1373# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1374# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD
1375# ifdef PERL_CORE
65af2a75 1376# define getservent() (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
d909e69f
JD
1377# else
1378# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
65af2a75 1379# define getservent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
d909e69f 1380# else
764896ce
JD
1381# define getservent() Perl_reentr_getservent()
1382 static struct servent* Perl_reentr_getservent() {
d909e69f
JD
1383 dTHX;
1384 int PL_REENTRANT_RETINT;
65af2a75 1385 REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
e122803c 1386 return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
d909e69f
JD
1387 }
1388# endif
1389# endif
180e0388 1390# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1391# endif /* HAS_GETSERVENT */
d909e69f
JD
1392#endif /* HAS_GETSERVENT_R */
1393
1394#ifdef HAS_GETSPNAM_R
180e0388 1395# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1396# undef getspnam
1397# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
1398# ifdef PERL_CORE
5515d7af 1399# define getspnam(a) (((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0)))
d909e69f
JD
1400# else
1401# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
e122803c 1402# define getspnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));})
d909e69f 1403# else
764896ce
JD
1404# define getspnam(a) Perl_reentr_getspnam(a)
1405 static struct spwd* Perl_reentr_getspnam(const char* a) {
d909e69f
JD
1406 dTHX;
1407 int PL_REENTRANT_RETINT;
e122803c
SP
1408 ;
1409 return ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));
d909e69f
JD
1410 }
1411# endif
1412# endif
180e0388 1413# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1414# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
da01b85b 1415# define getspnam(a) (getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size) ? &PL_reentrant_buffer->_spent_struct : ((errno == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0))
180e0388 1416# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1417# endif /* HAS_GETSPNAM */
d909e69f
JD
1418#endif /* HAS_GETSPNAM_R */
1419
1420#ifdef HAS_GMTIME_R
180e0388 1421# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1422# undef gmtime
1423# if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_S_TS
764896ce 1424# define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) ? &PL_reentrant_buffer->_gmtime_struct : 0)
180e0388 1425# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1426# if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_I_TS
764896ce 1427# define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) == 0 ? &PL_reentrant_buffer->_gmtime_struct : 0)
180e0388 1428# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1429# endif /* HAS_GMTIME */
d909e69f
JD
1430#endif /* HAS_GMTIME_R */
1431
1432#ifdef HAS_LOCALTIME_R
180e0388 1433# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1434# undef localtime
1435# if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_S_TS
764896ce 1436# define localtime(a) (localtime_r(a, &PL_reentrant_buffer->_localtime_struct) ? &PL_reentrant_buffer->_localtime_struct : 0)
180e0388 1437# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1438# if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_I_TS
764896ce 1439# define localtime(a) (localtime_r(a, &PL_reentrant_buffer->_localtime_struct) == 0 ? &PL_reentrant_buffer->_localtime_struct : 0)
180e0388 1440# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1441# endif /* HAS_LOCALTIME */
d909e69f
JD
1442#endif /* HAS_LOCALTIME_R */
1443
1444#ifdef HAS_RANDOM_R
180e0388 1445# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1446# undef random
1447# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_iS
764896ce 1448# define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
180e0388 1449# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1450# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_lS
764896ce 1451# define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
180e0388 1452# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1453# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_St
764896ce 1454# define random() (random_r(&PL_reentrant_buffer->_random_struct, &PL_reentrant_buffer->_random_retval) == 0 ? PL_reentrant_buffer->_random_retval : 0)
180e0388 1455# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1456# endif /* HAS_RANDOM */
d909e69f
JD
1457#endif /* HAS_RANDOM_R */
1458
1459#ifdef HAS_READDIR_R
180e0388 1460# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1461# undef readdir
1462# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TSR
764896ce 1463# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct, &PL_reentrant_buffer->_readdir_ptr) == 0 ? PL_reentrant_buffer->_readdir_ptr : 0)
180e0388 1464# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1465# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TS
764896ce 1466# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct) == 0 ? PL_reentrant_buffer->_readdir_struct : 0)
180e0388 1467# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1468# endif /* HAS_READDIR */
d909e69f
JD
1469#endif /* HAS_READDIR_R */
1470
1471#ifdef HAS_READDIR64_R
180e0388 1472# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1473# undef readdir64
1474# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR
764896ce 1475# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct, &PL_reentrant_buffer->_readdir64_ptr) == 0 ? PL_reentrant_buffer->_readdir64_ptr : 0)
180e0388 1476# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1477# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TS
764896ce 1478# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct) == 0 ? PL_reentrant_buffer->_readdir64_struct : 0)
180e0388 1479# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1480# endif /* HAS_READDIR64 */
d909e69f
JD
1481#endif /* HAS_READDIR64_R */
1482
1483#ifdef HAS_SETGRENT_R
180e0388 1484# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1485# undef setgrent
1486# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_I_H
764896ce 1487# define setgrent() (setgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0)
180e0388 1488# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1489# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_V_H
1490# define setgrent() setgrent_r(&PL_reentrant_buffer->_grent_fptr)
180e0388 1491# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1492# endif /* HAS_SETGRENT */
d909e69f
JD
1493#endif /* HAS_SETGRENT_R */
1494
1495#ifdef HAS_SETHOSTENT_R
180e0388 1496# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1497# undef sethostent
1498# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_I_ID
764896ce 1499# define sethostent(a) (sethostent_r(a, &PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0)
180e0388 1500# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1501# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_V_ID
1502# define sethostent(a) sethostent_r(a, &PL_reentrant_buffer->_hostent_data)
180e0388 1503# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1504# endif /* HAS_SETHOSTENT */
d909e69f
JD
1505#endif /* HAS_SETHOSTENT_R */
1506
1507#ifdef HAS_SETLOCALE_R
180e0388 1508# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1509# undef setlocale
1510# if !defined(setlocale) && SETLOCALE_R_PROTO == REENTRANT_PROTO_I_ICBI
764896ce 1511# define setlocale(a, b) (setlocale_r(a, b, PL_reentrant_buffer->_setlocale_buffer, PL_reentrant_buffer->_setlocale_size) == 0 ? PL_reentrant_buffer->_setlocale_buffer : 0)
180e0388 1512# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1513# endif /* HAS_SETLOCALE */
d909e69f
JD
1514#endif /* HAS_SETLOCALE_R */
1515
1516#ifdef HAS_SETNETENT_R
180e0388 1517# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1518# undef setnetent
1519# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_I_ID
764896ce 1520# define setnetent(a) (setnetent_r(a, &PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0)
180e0388 1521# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1522# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_V_ID
1523# define setnetent(a) setnetent_r(a, &PL_reentrant_buffer->_netent_data)
180e0388 1524# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1525# endif /* HAS_SETNETENT */
d909e69f
JD
1526#endif /* HAS_SETNETENT_R */
1527
1528#ifdef HAS_SETPROTOENT_R
180e0388 1529# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1530# undef setprotoent
1531# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_I_ID
764896ce 1532# define setprotoent(a) (setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0)
180e0388 1533# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1534# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_V_ID
1535# define setprotoent(a) setprotoent_r(a, &PL_reentrant_buffer->_protoent_data)
180e0388 1536# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1537# endif /* HAS_SETPROTOENT */
d909e69f
JD
1538#endif /* HAS_SETPROTOENT_R */
1539
1540#ifdef HAS_SETPWENT_R
180e0388 1541# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1542# undef setpwent
1543# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_I_H
764896ce 1544# define setpwent() (setpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0)
180e0388 1545# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1546# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_V_H
1547# define setpwent() setpwent_r(&PL_reentrant_buffer->_pwent_fptr)
180e0388 1548# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1549# endif /* HAS_SETPWENT */
d909e69f
JD
1550#endif /* HAS_SETPWENT_R */
1551
1552#ifdef HAS_SETSERVENT_R
180e0388 1553# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1554# undef setservent
1555# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_I_ID
764896ce 1556# define setservent(a) (setservent_r(a, &PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0)
180e0388 1557# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1558# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_V_ID
1559# define setservent(a) setservent_r(a, &PL_reentrant_buffer->_servent_data)
180e0388 1560# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1561# endif /* HAS_SETSERVENT */
d909e69f
JD
1562#endif /* HAS_SETSERVENT_R */
1563
1564#ifdef HAS_SRAND48_R
180e0388 1565# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1566# undef srand48
1567# if !defined(srand48) && SRAND48_R_PROTO == REENTRANT_PROTO_I_LS
764896ce 1568# define srand48(a) (srand48_r(a, &PL_reentrant_buffer->_drand48_struct) == 0 ? &PL_reentrant_buffer->_drand48_struct : 0)
180e0388 1569# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1570# endif /* HAS_SRAND48 */
d909e69f
JD
1571#endif /* HAS_SRAND48_R */
1572
1573#ifdef HAS_SRANDOM_R
180e0388 1574# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1575# undef srandom
1576# if !defined(srandom) && SRANDOM_R_PROTO == REENTRANT_PROTO_I_TS
764896ce 1577# define srandom(a) (srandom_r(a, &PL_reentrant_buffer->_srandom_struct) == 0 ? &PL_reentrant_buffer->_srandom_struct : 0)
180e0388 1578# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1579# endif /* HAS_SRANDOM */
d909e69f
JD
1580#endif /* HAS_SRANDOM_R */
1581
1582#ifdef HAS_STRERROR_R
180e0388 1583# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1584# undef strerror
1585# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBW
764896ce 1586# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
180e0388 1587# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1588# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBI
764896ce 1589# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
180e0388 1590# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1591# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_B_IBW
1592# define strerror(a) strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size)
180e0388 1593# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1594# endif /* HAS_STRERROR */
d909e69f
JD
1595#endif /* HAS_STRERROR_R */
1596
1597#ifdef HAS_TMPNAM_R
180e0388 1598# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1599# undef tmpnam
1600# if !defined(tmpnam) && TMPNAM_R_PROTO == REENTRANT_PROTO_B_B
1601# define tmpnam(a) tmpnam_r(a)
180e0388 1602# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1603# endif /* HAS_TMPNAM */
d909e69f
JD
1604#endif /* HAS_TMPNAM_R */
1605
1606#ifdef HAS_TTYNAME_R
180e0388 1607# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
d909e69f
JD
1608# undef ttyname
1609# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBW
764896ce 1610# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
180e0388 1611# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f 1612# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBI
764896ce 1613# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
180e0388 1614# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
d909e69f
JD
1615# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_B_IBI
1616# define ttyname(a) ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size)
180e0388 1617# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
f417d548 1618# endif /* HAS_TTYNAME */
d909e69f
JD
1619#endif /* HAS_TTYNAME_R */
1620
1621
1622
1623#endif /* USE_REENTRANT_API */
1624
1625#endif
1626
f8be6a3f 1627/* ex: set ro: */