This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate:
[perl5.git] / reentr.inc
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
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__)
22 #    define REENTR_MEMZERO(a,b) memzero(a,b)
23 #else
24 #    define REENTR_MEMZERO(a,b) 0
25 #endif
26
27 /* The reentrant wrappers. */
28
29 #ifdef HAS_ASCTIME_R
30 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
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)
34 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
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)
37 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
38 #   if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SB
39 #       define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
40 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
41 #   if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SBI
42 #       define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
43 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
44 #   endif /* HAS_ASCTIME */
45 #endif /* HAS_ASCTIME_R */
46
47 #ifdef HAS_CRYPT_R
48 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
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)
52 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
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)
55 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
56 #   endif /* HAS_CRYPT */
57 #endif /* HAS_CRYPT_R */
58
59 #ifdef HAS_CTERMID_R
60 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
61 #   undef ctermid
62 #   if !defined(ctermid) && CTERMID_R_PROTO == REENTRANT_PROTO_B_B
63 #       define ctermid(a) ctermid_r(a)
64 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
65 #   endif /* HAS_CTERMID */
66 #endif /* HAS_CTERMID_R */
67
68 #ifdef HAS_CTIME_R
69 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
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)
73 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
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)
76 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
77 #   if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SB
78 #       define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
79 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
80 #   if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SBI
81 #       define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
82 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
83 #   endif /* HAS_CTIME */
84 #endif /* HAS_CTIME_R */
85
86 #ifdef HAS_DRAND48_R
87 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
88 #   undef drand48
89 #   if !defined(drand48) && DRAND48_R_PROTO == REENTRANT_PROTO_I_ST
90 #       define drand48() (drand48_r(&PL_reentrant_buffer->_drand48_struct, &PL_reentrant_buffer->_drand48_double) == 0 ? PL_reentrant_buffer->_drand48_double : 0)
91 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
92 #   endif /* HAS_DRAND48 */
93 #endif /* HAS_DRAND48_R */
94
95 #ifdef HAS_ENDGRENT_R
96 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
97 #   undef endgrent
98 #   if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H
99 #       define endgrent() (endgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0)
100 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
101 #   if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H
102 #       define endgrent() endgrent_r(&PL_reentrant_buffer->_grent_fptr)
103 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
104 #   endif /* HAS_ENDGRENT */
105 #endif /* HAS_ENDGRENT_R */
106
107 #ifdef HAS_ENDHOSTENT_R
108 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
109 #   undef endhostent
110 #   if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_I_D
111 #       define endhostent() (endhostent_r(&PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0)
112 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
113 #   if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_V_D
114 #       define endhostent() endhostent_r(&PL_reentrant_buffer->_hostent_data)
115 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
116 #   endif /* HAS_ENDHOSTENT */
117 #endif /* HAS_ENDHOSTENT_R */
118
119 #ifdef HAS_ENDNETENT_R
120 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
121 #   undef endnetent
122 #   if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_I_D
123 #       define endnetent() (endnetent_r(&PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0)
124 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
125 #   if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_V_D
126 #       define endnetent() endnetent_r(&PL_reentrant_buffer->_netent_data)
127 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
128 #   endif /* HAS_ENDNETENT */
129 #endif /* HAS_ENDNETENT_R */
130
131 #ifdef HAS_ENDPROTOENT_R
132 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
133 #   undef endprotoent
134 #   if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_I_D
135 #       define endprotoent() (endprotoent_r(&PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0)
136 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
137 #   if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_V_D
138 #       define endprotoent() endprotoent_r(&PL_reentrant_buffer->_protoent_data)
139 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
140 #   endif /* HAS_ENDPROTOENT */
141 #endif /* HAS_ENDPROTOENT_R */
142
143 #ifdef HAS_ENDPWENT_R
144 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
145 #   undef endpwent
146 #   if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H
147 #       define endpwent() (endpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0)
148 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
149 #   if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H
150 #       define endpwent() endpwent_r(&PL_reentrant_buffer->_pwent_fptr)
151 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
152 #   endif /* HAS_ENDPWENT */
153 #endif /* HAS_ENDPWENT_R */
154
155 #ifdef HAS_ENDSERVENT_R
156 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
157 #   undef endservent
158 #   if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_I_D
159 #       define endservent() (endservent_r(&PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0)
160 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
161 #   if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_V_D
162 #       define endservent() endservent_r(&PL_reentrant_buffer->_servent_data)
163 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
164 #   endif /* HAS_ENDSERVENT */
165 #endif /* HAS_ENDSERVENT_R */
166
167 #ifdef HAS_GETGRENT_R
168 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
169 #   undef getgrent
170 #   if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR
171 #       ifdef PERL_CORE
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)))
173 #       else
174 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
176 #           else
177 #               define getgrent() Perl_reentr_getgrent()
178                 static struct group* Perl_reentr_getgrent() {
179                     dTHX;
180                     int PL_REENTRANT_RETINT;
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));
183                 }
184 #           endif
185 #       endif
186 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
187 #   if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR
188 #       ifdef PERL_CORE
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)))
190 #       else
191 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
193 #           else
194 #               define getgrent() Perl_reentr_getgrent()
195                 static struct group* Perl_reentr_getgrent() {
196                     dTHX;
197                     int PL_REENTRANT_RETINT;
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));
200                 }
201 #           endif
202 #       endif
203 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
204 #   if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW
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))
206 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
207 #   if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI
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))
209 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
210 #   if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI
211 #       ifdef PERL_CORE
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)))
213 #       else
214 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
216 #           else
217 #               define getgrent() Perl_reentr_getgrent()
218                 static struct group* Perl_reentr_getgrent() {
219                     dTHX;
220                     int PL_REENTRANT_RETINT;
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));
223                 }
224 #           endif
225 #       endif
226 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
227 #   if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH
228 #       ifdef PERL_CORE
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)))
230 #       else
231 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
233 #           else
234 #               define getgrent() Perl_reentr_getgrent()
235                 static struct group* Perl_reentr_getgrent() {
236                     dTHX;
237                     int PL_REENTRANT_RETINT;
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));
240                 }
241 #           endif
242 #       endif
243 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
244 #   endif /* HAS_GETGRENT */
245 #endif /* HAS_GETGRENT_R */
246
247 #ifdef HAS_GETGRGID_R
248 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
249 #   undef getgrgid
250 #   if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR
251 #       ifdef PERL_CORE
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)))
253 #       else
254 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
256 #           else
257 #               define getgrgid(a) Perl_reentr_getgrgid(a)
258                 static struct group* Perl_reentr_getgrgid(gid_t a) {
259                     dTHX;
260                     int PL_REENTRANT_RETINT;
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));
263                 }
264 #           endif
265 #       endif
266 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
267 #   if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR
268 #       ifdef PERL_CORE
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)))
270 #       else
271 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
273 #           else
274 #               define getgrgid(a) Perl_reentr_getgrgid(a)
275                 static struct group* Perl_reentr_getgrgid(gid_t a) {
276                     dTHX;
277                     int PL_REENTRANT_RETINT;
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));
280                 }
281 #           endif
282 #       endif
283 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
284 #   if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI
285 #       ifdef PERL_CORE
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)))
287 #       else
288 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
290 #           else
291 #               define getgrgid(a) Perl_reentr_getgrgid(a)
292                 static struct group* Perl_reentr_getgrgid(gid_t a) {
293                     dTHX;
294                     int PL_REENTRANT_RETINT;
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));
297                 }
298 #           endif
299 #       endif
300 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
301 #   if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI
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))
303 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
304 #   endif /* HAS_GETGRGID */
305 #endif /* HAS_GETGRGID_R */
306
307 #ifdef HAS_GETGRNAM_R
308 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
309 #   undef getgrnam
310 #   if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
311 #       ifdef PERL_CORE
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)))
313 #       else
314 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
316 #           else
317 #               define getgrnam(a) Perl_reentr_getgrnam(a)
318                 static struct group* Perl_reentr_getgrnam(const char* a) {
319                     dTHX;
320                     int PL_REENTRANT_RETINT;
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));
323                 }
324 #           endif
325 #       endif
326 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
327 #   if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
328 #       ifdef PERL_CORE
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)))
330 #       else
331 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
333 #           else
334 #               define getgrnam(a) Perl_reentr_getgrnam(a)
335                 static struct group* Perl_reentr_getgrnam(const char* a) {
336                     dTHX;
337                     int PL_REENTRANT_RETINT;
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));
340                 }
341 #           endif
342 #       endif
343 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
344 #   if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI
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))
346 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
347 #   if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
348 #       ifdef PERL_CORE
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)))
350 #       else
351 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
353 #           else
354 #               define getgrnam(a) Perl_reentr_getgrnam(a)
355                 static struct group* Perl_reentr_getgrnam(const char* a) {
356                     dTHX;
357                     int PL_REENTRANT_RETINT;
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));
360                 }
361 #           endif
362 #       endif
363 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
364 #   if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
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))
366 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
367 #   endif /* HAS_GETGRNAM */
368 #endif /* HAS_GETGRNAM_R */
369
370 #ifdef HAS_GETHOSTBYADDR_R
371 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
372 #   undef gethostbyaddr
373 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE
374 #       ifdef PERL_CORE
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)))
376 #       else
377 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
379 #           else
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) {
382                     dTHX;
383                     int PL_REENTRANT_RETINT;
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));
386                 }
387 #           endif
388 #       endif
389 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
390 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE
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))
392 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
393 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE
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))
395 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
396 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE
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))
398 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
399 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE
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))
401 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
402 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE
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))
404 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
405 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE
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))
407 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
408 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD
409 #       ifdef PERL_CORE
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)))
411 #       else
412 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
414 #           else
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) {
417                     dTHX;
418                     int PL_REENTRANT_RETINT;
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));
421                 }
422 #           endif
423 #       endif
424 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
425 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD
426 #       ifdef PERL_CORE
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)))
428 #       else
429 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
431 #           else
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) {
434                     dTHX;
435                     int PL_REENTRANT_RETINT;
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));
438                 }
439 #           endif
440 #       endif
441 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
442 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII
443 #       ifdef PERL_CORE
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)))
445 #       else
446 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
448 #           else
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) {
451                     dTHX;
452                     int PL_REENTRANT_RETINT;
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));
455                 }
456 #           endif
457 #       endif
458 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
459 #   if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE
460 #       ifdef PERL_CORE
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)))
462 #       else
463 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
465 #           else
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) {
468                     dTHX;
469                     int PL_REENTRANT_RETINT;
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));
472                 }
473 #           endif
474 #       endif
475 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
476 #   endif /* HAS_GETHOSTBYADDR */
477 #endif /* HAS_GETHOSTBYADDR_R */
478
479 #ifdef HAS_GETHOSTBYNAME_R
480 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
481 #   undef gethostbyname
482 #   if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
483 #       ifdef PERL_CORE
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)))
485 #       else
486 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
488 #           else
489 #               define gethostbyname(a) Perl_reentr_gethostbyname(a)
490                 static struct hostent* Perl_reentr_gethostbyname(const char* a) {
491                     dTHX;
492                     int PL_REENTRANT_RETINT;
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));
495                 }
496 #           endif
497 #       endif
498 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
499 #   if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE
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))
501 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
502 #   if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
503 #       ifdef PERL_CORE
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)))
505 #       else
506 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
508 #           else
509 #               define gethostbyname(a) Perl_reentr_gethostbyname(a)
510                 static struct hostent* Perl_reentr_gethostbyname(const char* a) {
511                     dTHX;
512                     int PL_REENTRANT_RETINT;
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));
515                 }
516 #           endif
517 #       endif
518 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
519 #   endif /* HAS_GETHOSTBYNAME */
520 #endif /* HAS_GETHOSTBYNAME_R */
521
522 #ifdef HAS_GETHOSTENT_R
523 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
524 #   undef gethostent
525 #   if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
526 #       ifdef PERL_CORE
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)))
528 #       else
529 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
531 #           else
532 #               define gethostent() Perl_reentr_gethostent()
533                 static struct hostent* Perl_reentr_gethostent() {
534                     dTHX;
535                     int PL_REENTRANT_RETINT;
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));
538                 }
539 #           endif
540 #       endif
541 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
542 #   if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE
543 #       ifdef PERL_CORE
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)))
545 #       else
546 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
548 #           else
549 #               define gethostent() Perl_reentr_gethostent()
550                 static struct hostent* Perl_reentr_gethostent() {
551                     dTHX;
552                     int PL_REENTRANT_RETINT;
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));
555                 }
556 #           endif
557 #       endif
558 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
559 #   if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE
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))
561 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
562 #   if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI
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))
564 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
565 #   if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI
566 #       ifdef PERL_CORE
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)))
568 #       else
569 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
571 #           else
572 #               define gethostent() Perl_reentr_gethostent()
573                 static struct hostent* Perl_reentr_gethostent() {
574                     dTHX;
575                     int PL_REENTRANT_RETINT;
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));
578                 }
579 #           endif
580 #       endif
581 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
582 #   if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD
583 #       ifdef PERL_CORE
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)))
585 #       else
586 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
588 #           else
589 #               define gethostent() Perl_reentr_gethostent()
590                 static struct hostent* Perl_reentr_gethostent() {
591                     dTHX;
592                     int PL_REENTRANT_RETINT;
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));
595                 }
596 #           endif
597 #       endif
598 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
599 #   endif /* HAS_GETHOSTENT */
600 #endif /* HAS_GETHOSTENT_R */
601
602 #ifdef HAS_GETLOGIN_R
603 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
604 #   undef getlogin
605 #   if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW
606 #       ifdef PERL_CORE
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)))
608 #       else
609 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
611 #           else
612 #               define getlogin() Perl_reentr_getlogin()
613                 static char* Perl_reentr_getlogin() {
614                     dTHX;
615                     int PL_REENTRANT_RETINT;
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));
618                 }
619 #           endif
620 #       endif
621 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
622 #   if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI
623 #       ifdef PERL_CORE
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)))
625 #       else
626 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
628 #           else
629 #               define getlogin() Perl_reentr_getlogin()
630                 static char* Perl_reentr_getlogin() {
631                     dTHX;
632                     int PL_REENTRANT_RETINT;
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));
635                 }
636 #           endif
637 #       endif
638 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
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)
641 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
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)
644 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
645 #   endif /* HAS_GETLOGIN */
646 #endif /* HAS_GETLOGIN_R */
647
648 #ifdef HAS_GETNETBYADDR_R
649 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
650 #   undef getnetbyaddr
651 #   if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE
652 #       ifdef PERL_CORE
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)))
654 #       else
655 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
657 #           else
658 #               define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
659                 static struct netent* Perl_reentr_getnetbyaddr(unsigned long a, int b) {
660                     dTHX;
661                     int PL_REENTRANT_RETINT;
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));
664                 }
665 #           endif
666 #       endif
667 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
668 #   if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI
669 #       ifdef PERL_CORE
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)))
671 #       else
672 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
674 #           else
675 #               define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
676                 static struct netent* Perl_reentr_getnetbyaddr(long a, int b) {
677                     dTHX;
678                     int PL_REENTRANT_RETINT;
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));
681                 }
682 #           endif
683 #       endif
684 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
685 #   if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI
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))
687 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
688 #   if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI
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))
690 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
691 #   if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD
692 #       ifdef PERL_CORE
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)))
694 #       else
695 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
697 #           else
698 #               define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
699                 static struct netent* Perl_reentr_getnetbyaddr(in_addr_t a, int b) {
700                     dTHX;
701                     int PL_REENTRANT_RETINT;
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));
704                 }
705 #           endif
706 #       endif
707 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
708 #   if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD
709 #       ifdef PERL_CORE
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)))
711 #       else
712 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
714 #           else
715 #               define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
716                 static struct netent* Perl_reentr_getnetbyaddr(long a, int b) {
717                     dTHX;
718                     int PL_REENTRANT_RETINT;
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));
721                 }
722 #           endif
723 #       endif
724 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
725 #   if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD
726 #       ifdef PERL_CORE
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)))
728 #       else
729 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
731 #           else
732 #               define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
733                 static struct netent* Perl_reentr_getnetbyaddr(int a, int b) {
734                     dTHX;
735                     int PL_REENTRANT_RETINT;
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));
738                 }
739 #           endif
740 #       endif
741 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
742 #   if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE
743 #       ifdef PERL_CORE
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)))
745 #       else
746 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
748 #           else
749 #               define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
750                 static struct netent* Perl_reentr_getnetbyaddr(uint32_t a, int b) {
751                     dTHX;
752                     int PL_REENTRANT_RETINT;
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));
755                 }
756 #           endif
757 #       endif
758 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
759 #   endif /* HAS_GETNETBYADDR */
760 #endif /* HAS_GETNETBYADDR_R */
761
762 #ifdef HAS_GETNETBYNAME_R
763 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
764 #   undef getnetbyname
765 #   if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
766 #       ifdef PERL_CORE
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)))
768 #       else
769 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
771 #           else
772 #               define getnetbyname(a) Perl_reentr_getnetbyname(a)
773                 static struct netent* Perl_reentr_getnetbyname(const char* a) {
774                     dTHX;
775                     int PL_REENTRANT_RETINT;
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));
778                 }
779 #           endif
780 #       endif
781 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
782 #   if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI
783 #       ifdef PERL_CORE
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)))
785 #       else
786 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
788 #           else
789 #               define getnetbyname(a) Perl_reentr_getnetbyname(a)
790                 static struct netent* Perl_reentr_getnetbyname(const char* a) {
791                     dTHX;
792                     int PL_REENTRANT_RETINT;
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));
795                 }
796 #           endif
797 #       endif
798 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
799 #   if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
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))
801 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
802 #   if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
803 #       ifdef PERL_CORE
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)))
805 #       else
806 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
808 #           else
809 #               define getnetbyname(a) Perl_reentr_getnetbyname(a)
810                 static struct netent* Perl_reentr_getnetbyname(const char* a) {
811                     dTHX;
812                     int PL_REENTRANT_RETINT;
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));
815                 }
816 #           endif
817 #       endif
818 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
819 #   endif /* HAS_GETNETBYNAME */
820 #endif /* HAS_GETNETBYNAME_R */
821
822 #ifdef HAS_GETNETENT_R
823 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
824 #   undef getnetent
825 #   if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
826 #       ifdef PERL_CORE
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)))
828 #       else
829 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
831 #           else
832 #               define getnetent() Perl_reentr_getnetent()
833                 static struct netent* Perl_reentr_getnetent() {
834                     dTHX;
835                     int PL_REENTRANT_RETINT;
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));
838                 }
839 #           endif
840 #       endif
841 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
842 #   if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE
843 #       ifdef PERL_CORE
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)))
845 #       else
846 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
848 #           else
849 #               define getnetent() Perl_reentr_getnetent()
850                 static struct netent* Perl_reentr_getnetent() {
851                     dTHX;
852                     int PL_REENTRANT_RETINT;
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));
855                 }
856 #           endif
857 #       endif
858 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
859 #   if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE
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))
861 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
862 #   if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI
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))
864 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
865 #   if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI
866 #       ifdef PERL_CORE
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)))
868 #       else
869 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
871 #           else
872 #               define getnetent() Perl_reentr_getnetent()
873                 static struct netent* Perl_reentr_getnetent() {
874                     dTHX;
875                     int PL_REENTRANT_RETINT;
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));
878                 }
879 #           endif
880 #       endif
881 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
882 #   if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD
883 #       ifdef PERL_CORE
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)))
885 #       else
886 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
888 #           else
889 #               define getnetent() Perl_reentr_getnetent()
890                 static struct netent* Perl_reentr_getnetent() {
891                     dTHX;
892                     int PL_REENTRANT_RETINT;
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));
895                 }
896 #           endif
897 #       endif
898 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
899 #   endif /* HAS_GETNETENT */
900 #endif /* HAS_GETNETENT_R */
901
902 #ifdef HAS_GETPROTOBYNAME_R
903 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
904 #   undef getprotobyname
905 #   if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR
906 #       ifdef PERL_CORE
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)))
908 #       else
909 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
911 #           else
912 #               define getprotobyname(a) Perl_reentr_getprotobyname(a)
913                 static struct protoent* Perl_reentr_getprotobyname(const char* a) {
914                     dTHX;
915                     int PL_REENTRANT_RETINT;
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));
918                 }
919 #           endif
920 #       endif
921 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
922 #   if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
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))
924 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
925 #   if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
926 #       ifdef PERL_CORE
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)))
928 #       else
929 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
931 #           else
932 #               define getprotobyname(a) Perl_reentr_getprotobyname(a)
933                 static struct protoent* Perl_reentr_getprotobyname(const char* a) {
934                     dTHX;
935                     int PL_REENTRANT_RETINT;
936                     REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
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));
938                 }
939 #           endif
940 #       endif
941 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
942 #   endif /* HAS_GETPROTOBYNAME */
943 #endif /* HAS_GETPROTOBYNAME_R */
944
945 #ifdef HAS_GETPROTOBYNUMBER_R
946 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
947 #   undef getprotobynumber
948 #   if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR
949 #       ifdef PERL_CORE
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)))
951 #       else
952 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
954 #           else
955 #               define getprotobynumber(a) Perl_reentr_getprotobynumber(a)
956                 static struct protoent* Perl_reentr_getprotobynumber(int a) {
957                     dTHX;
958                     int PL_REENTRANT_RETINT;
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));
961                 }
962 #           endif
963 #       endif
964 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
965 #   if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI
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))
967 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
968 #   if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD
969 #       ifdef PERL_CORE
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)))
971 #       else
972 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
974 #           else
975 #               define getprotobynumber(a) Perl_reentr_getprotobynumber(a)
976                 static struct protoent* Perl_reentr_getprotobynumber(int a) {
977                     dTHX;
978                     int PL_REENTRANT_RETINT;
979                     REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
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));
981                 }
982 #           endif
983 #       endif
984 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
985 #   endif /* HAS_GETPROTOBYNUMBER */
986 #endif /* HAS_GETPROTOBYNUMBER_R */
987
988 #ifdef HAS_GETPROTOENT_R
989 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
990 #   undef getprotoent
991 #   if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR
992 #       ifdef PERL_CORE
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)))
994 #       else
995 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
997 #           else
998 #               define getprotoent() Perl_reentr_getprotoent()
999                 static struct protoent* Perl_reentr_getprotoent() {
1000                     dTHX;
1001                     int PL_REENTRANT_RETINT;
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));
1004                 }
1005 #           endif
1006 #       endif
1007 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1008 #   if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI
1009 #       ifdef PERL_CORE
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)))
1011 #       else
1012 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1014 #           else
1015 #               define getprotoent() Perl_reentr_getprotoent()
1016                 static struct protoent* Perl_reentr_getprotoent() {
1017                     dTHX;
1018                     int PL_REENTRANT_RETINT;
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));
1021                 }
1022 #           endif
1023 #       endif
1024 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1025 #   if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI
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))
1027 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1028 #   if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD
1029 #       ifdef PERL_CORE
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)))
1031 #       else
1032 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1034 #           else
1035 #               define getprotoent() Perl_reentr_getprotoent()
1036                 static struct protoent* Perl_reentr_getprotoent() {
1037                     dTHX;
1038                     int PL_REENTRANT_RETINT;
1039                     REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
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));
1041                 }
1042 #           endif
1043 #       endif
1044 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1045 #   endif /* HAS_GETPROTOENT */
1046 #endif /* HAS_GETPROTOENT_R */
1047
1048 #ifdef HAS_GETPWENT_R
1049 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1050 #   undef getpwent
1051 #   if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR
1052 #       ifdef PERL_CORE
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)))
1054 #       else
1055 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1057 #           else
1058 #               define getpwent() Perl_reentr_getpwent()
1059                 static struct passwd* Perl_reentr_getpwent() {
1060                     dTHX;
1061                     int PL_REENTRANT_RETINT;
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));
1064                 }
1065 #           endif
1066 #       endif
1067 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1068 #   if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR
1069 #       ifdef PERL_CORE
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)))
1071 #       else
1072 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1074 #           else
1075 #               define getpwent() Perl_reentr_getpwent()
1076                 static struct passwd* Perl_reentr_getpwent() {
1077                     dTHX;
1078                     int PL_REENTRANT_RETINT;
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));
1081                 }
1082 #           endif
1083 #       endif
1084 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1085 #   if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW
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))
1087 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1088 #   if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI
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))
1090 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1091 #   if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI
1092 #       ifdef PERL_CORE
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)))
1094 #       else
1095 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1097 #           else
1098 #               define getpwent() Perl_reentr_getpwent()
1099                 static struct passwd* Perl_reentr_getpwent() {
1100                     dTHX;
1101                     int PL_REENTRANT_RETINT;
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));
1104                 }
1105 #           endif
1106 #       endif
1107 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1108 #   if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH
1109 #       ifdef PERL_CORE
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)))
1111 #       else
1112 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1114 #           else
1115 #               define getpwent() Perl_reentr_getpwent()
1116                 static struct passwd* Perl_reentr_getpwent() {
1117                     dTHX;
1118                     int PL_REENTRANT_RETINT;
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));
1121                 }
1122 #           endif
1123 #       endif
1124 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1125 #   endif /* HAS_GETPWENT */
1126 #endif /* HAS_GETPWENT_R */
1127
1128 #ifdef HAS_GETPWNAM_R
1129 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1130 #   undef getpwnam
1131 #   if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
1132 #       ifdef PERL_CORE
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)))
1134 #       else
1135 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1137 #           else
1138 #               define getpwnam(a) Perl_reentr_getpwnam(a)
1139                 static struct passwd* Perl_reentr_getpwnam(const char* a) {
1140                     dTHX;
1141                     int PL_REENTRANT_RETINT;
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));
1144                 }
1145 #           endif
1146 #       endif
1147 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1148 #   if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
1149 #       ifdef PERL_CORE
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)))
1151 #       else
1152 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1154 #           else
1155 #               define getpwnam(a) Perl_reentr_getpwnam(a)
1156                 static struct passwd* Perl_reentr_getpwnam(const char* a) {
1157                     dTHX;
1158                     int PL_REENTRANT_RETINT;
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));
1161                 }
1162 #           endif
1163 #       endif
1164 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1165 #   if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
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))
1167 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1168 #   if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
1169 #       ifdef PERL_CORE
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)))
1171 #       else
1172 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1174 #           else
1175 #               define getpwnam(a) Perl_reentr_getpwnam(a)
1176                 static struct passwd* Perl_reentr_getpwnam(const char* a) {
1177                     dTHX;
1178                     int PL_REENTRANT_RETINT;
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));
1181                 }
1182 #           endif
1183 #       endif
1184 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1185 #   endif /* HAS_GETPWNAM */
1186 #endif /* HAS_GETPWNAM_R */
1187
1188 #ifdef HAS_GETPWUID_R
1189 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1190 #   undef getpwuid
1191 #   if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR
1192 #       ifdef PERL_CORE
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)))
1194 #       else
1195 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1197 #           else
1198 #               define getpwuid(a) Perl_reentr_getpwuid(a)
1199                 static struct passwd* Perl_reentr_getpwuid(uid_t a) {
1200                     dTHX;
1201                     int PL_REENTRANT_RETINT;
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));
1204                 }
1205 #           endif
1206 #       endif
1207 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1208 #   if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR
1209 #       ifdef PERL_CORE
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)))
1211 #       else
1212 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1214 #           else
1215 #               define getpwuid(a) Perl_reentr_getpwuid(a)
1216                 static struct passwd* Perl_reentr_getpwuid(uid_t a) {
1217                     dTHX;
1218                     int PL_REENTRANT_RETINT;
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));
1221                 }
1222 #           endif
1223 #       endif
1224 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1225 #   if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI
1226 #       ifdef PERL_CORE
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)))
1228 #       else
1229 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1231 #           else
1232 #               define getpwuid(a) Perl_reentr_getpwuid(a)
1233                 static struct passwd* Perl_reentr_getpwuid(uid_t a) {
1234                     dTHX;
1235                     int PL_REENTRANT_RETINT;
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));
1238                 }
1239 #           endif
1240 #       endif
1241 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1242 #   if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_S_TSBI
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))
1244 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1245 #   endif /* HAS_GETPWUID */
1246 #endif /* HAS_GETPWUID_R */
1247
1248 #ifdef HAS_GETSERVBYNAME_R
1249 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1250 #   undef getservbyname
1251 #   if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR
1252 #       ifdef PERL_CORE
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)))
1254 #       else
1255 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1257 #           else
1258 #               define getservbyname(a, b) Perl_reentr_getservbyname(a, b)
1259                 static struct servent* Perl_reentr_getservbyname(const char* a, const char* b) {
1260                     dTHX;
1261                     int PL_REENTRANT_RETINT;
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));
1264                 }
1265 #           endif
1266 #       endif
1267 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1268 #   if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI
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))
1270 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1271 #   if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD
1272 #       ifdef PERL_CORE
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)))
1274 #       else
1275 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1277 #           else
1278 #               define getservbyname(a, b) Perl_reentr_getservbyname(a, b)
1279                 static struct servent* Perl_reentr_getservbyname(const char* a, const char* b) {
1280                     dTHX;
1281                     int PL_REENTRANT_RETINT;
1282                     REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
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));
1284                 }
1285 #           endif
1286 #       endif
1287 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1288 #   endif /* HAS_GETSERVBYNAME */
1289 #endif /* HAS_GETSERVBYNAME_R */
1290
1291 #ifdef HAS_GETSERVBYPORT_R
1292 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1293 #   undef getservbyport
1294 #   if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR
1295 #       ifdef PERL_CORE
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)))
1297 #       else
1298 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1300 #           else
1301 #               define getservbyport(a, b) Perl_reentr_getservbyport(a, b)
1302                 static struct servent* Perl_reentr_getservbyport(int a, const char* b) {
1303                     dTHX;
1304                     int PL_REENTRANT_RETINT;
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));
1307                 }
1308 #           endif
1309 #       endif
1310 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1311 #   if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI
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))
1313 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1314 #   if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD
1315 #       ifdef PERL_CORE
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)))
1317 #       else
1318 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1320 #           else
1321 #               define getservbyport(a, b) Perl_reentr_getservbyport(a, b)
1322                 static struct servent* Perl_reentr_getservbyport(int a, const char* b) {
1323                     dTHX;
1324                     int PL_REENTRANT_RETINT;
1325                     REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
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));
1327                 }
1328 #           endif
1329 #       endif
1330 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1331 #   endif /* HAS_GETSERVBYPORT */
1332 #endif /* HAS_GETSERVBYPORT_R */
1333
1334 #ifdef HAS_GETSERVENT_R
1335 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1336 #   undef getservent
1337 #   if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR
1338 #       ifdef PERL_CORE
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)))
1340 #       else
1341 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1343 #           else
1344 #               define getservent() Perl_reentr_getservent()
1345                 static struct servent* Perl_reentr_getservent() {
1346                     dTHX;
1347                     int PL_REENTRANT_RETINT;
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));
1350                 }
1351 #           endif
1352 #       endif
1353 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1354 #   if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI
1355 #       ifdef PERL_CORE
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)))
1357 #       else
1358 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1360 #           else
1361 #               define getservent() Perl_reentr_getservent()
1362                 static struct servent* Perl_reentr_getservent() {
1363                     dTHX;
1364                     int PL_REENTRANT_RETINT;
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));
1367                 }
1368 #           endif
1369 #       endif
1370 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1371 #   if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI
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))
1373 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1374 #   if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD
1375 #       ifdef PERL_CORE
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)))
1377 #       else
1378 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1380 #           else
1381 #               define getservent() Perl_reentr_getservent()
1382                 static struct servent* Perl_reentr_getservent() {
1383                     dTHX;
1384                     int PL_REENTRANT_RETINT;
1385                     REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
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));
1387                 }
1388 #           endif
1389 #       endif
1390 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1391 #   endif /* HAS_GETSERVENT */
1392 #endif /* HAS_GETSERVENT_R */
1393
1394 #ifdef HAS_GETSPNAM_R
1395 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1396 #   undef getspnam
1397 #   if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
1398 #       ifdef PERL_CORE
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)))
1400 #       else
1401 #           if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
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));})
1403 #           else
1404 #               define getspnam(a) Perl_reentr_getspnam(a)
1405                 static struct spwd* Perl_reentr_getspnam(const char* a) {
1406                     dTHX;
1407                     int PL_REENTRANT_RETINT;
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));
1410                 }
1411 #           endif
1412 #       endif
1413 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1414 #   if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
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))
1416 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1417 #   endif /* HAS_GETSPNAM */
1418 #endif /* HAS_GETSPNAM_R */
1419
1420 #ifdef HAS_GMTIME_R
1421 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1422 #   undef gmtime
1423 #   if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_S_TS
1424 #       define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) ? &PL_reentrant_buffer->_gmtime_struct : 0)
1425 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1426 #   if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_I_TS
1427 #       define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) == 0 ? &PL_reentrant_buffer->_gmtime_struct : 0)
1428 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1429 #   endif /* HAS_GMTIME */
1430 #endif /* HAS_GMTIME_R */
1431
1432 #ifdef HAS_LOCALTIME_R
1433 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1434 #   undef localtime
1435 #   if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_S_TS
1436 #       define localtime(a) (localtime_r(a, &PL_reentrant_buffer->_localtime_struct) ? &PL_reentrant_buffer->_localtime_struct : 0)
1437 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1438 #   if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_I_TS
1439 #       define localtime(a) (localtime_r(a, &PL_reentrant_buffer->_localtime_struct) == 0 ? &PL_reentrant_buffer->_localtime_struct : 0)
1440 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1441 #   endif /* HAS_LOCALTIME */
1442 #endif /* HAS_LOCALTIME_R */
1443
1444 #ifdef HAS_RANDOM_R
1445 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1446 #   undef random
1447 #   if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_iS
1448 #       define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
1449 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1450 #   if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_lS
1451 #       define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
1452 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1453 #   if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_St
1454 #       define random() (random_r(&PL_reentrant_buffer->_random_struct, &PL_reentrant_buffer->_random_retval) == 0 ? PL_reentrant_buffer->_random_retval : 0)
1455 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1456 #   endif /* HAS_RANDOM */
1457 #endif /* HAS_RANDOM_R */
1458
1459 #ifdef HAS_READDIR_R
1460 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1461 #   undef readdir
1462 #   if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TSR
1463 #       define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct, &PL_reentrant_buffer->_readdir_ptr) == 0 ? PL_reentrant_buffer->_readdir_ptr : 0)
1464 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1465 #   if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TS
1466 #       define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct) == 0 ? PL_reentrant_buffer->_readdir_struct : 0)
1467 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1468 #   endif /* HAS_READDIR */
1469 #endif /* HAS_READDIR_R */
1470
1471 #ifdef HAS_READDIR64_R
1472 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1473 #   undef readdir64
1474 #   if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR
1475 #       define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct, &PL_reentrant_buffer->_readdir64_ptr) == 0 ? PL_reentrant_buffer->_readdir64_ptr : 0)
1476 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1477 #   if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TS
1478 #       define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct) == 0 ? PL_reentrant_buffer->_readdir64_struct : 0)
1479 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1480 #   endif /* HAS_READDIR64 */
1481 #endif /* HAS_READDIR64_R */
1482
1483 #ifdef HAS_SETGRENT_R
1484 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1485 #   undef setgrent
1486 #   if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_I_H
1487 #       define setgrent() (setgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0)
1488 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1489 #   if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_V_H
1490 #       define setgrent() setgrent_r(&PL_reentrant_buffer->_grent_fptr)
1491 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1492 #   endif /* HAS_SETGRENT */
1493 #endif /* HAS_SETGRENT_R */
1494
1495 #ifdef HAS_SETHOSTENT_R
1496 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1497 #   undef sethostent
1498 #   if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_I_ID
1499 #       define sethostent(a) (sethostent_r(a, &PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0)
1500 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1501 #   if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_V_ID
1502 #       define sethostent(a) sethostent_r(a, &PL_reentrant_buffer->_hostent_data)
1503 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1504 #   endif /* HAS_SETHOSTENT */
1505 #endif /* HAS_SETHOSTENT_R */
1506
1507 #ifdef HAS_SETLOCALE_R
1508 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1509 #   undef setlocale
1510 #   if !defined(setlocale) && SETLOCALE_R_PROTO == REENTRANT_PROTO_I_ICBI
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)
1512 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1513 #   endif /* HAS_SETLOCALE */
1514 #endif /* HAS_SETLOCALE_R */
1515
1516 #ifdef HAS_SETNETENT_R
1517 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1518 #   undef setnetent
1519 #   if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_I_ID
1520 #       define setnetent(a) (setnetent_r(a, &PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0)
1521 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1522 #   if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_V_ID
1523 #       define setnetent(a) setnetent_r(a, &PL_reentrant_buffer->_netent_data)
1524 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1525 #   endif /* HAS_SETNETENT */
1526 #endif /* HAS_SETNETENT_R */
1527
1528 #ifdef HAS_SETPROTOENT_R
1529 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1530 #   undef setprotoent
1531 #   if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_I_ID
1532 #       define setprotoent(a) (setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0)
1533 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1534 #   if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_V_ID
1535 #       define setprotoent(a) setprotoent_r(a, &PL_reentrant_buffer->_protoent_data)
1536 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1537 #   endif /* HAS_SETPROTOENT */
1538 #endif /* HAS_SETPROTOENT_R */
1539
1540 #ifdef HAS_SETPWENT_R
1541 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1542 #   undef setpwent
1543 #   if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_I_H
1544 #       define setpwent() (setpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0)
1545 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1546 #   if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_V_H
1547 #       define setpwent() setpwent_r(&PL_reentrant_buffer->_pwent_fptr)
1548 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1549 #   endif /* HAS_SETPWENT */
1550 #endif /* HAS_SETPWENT_R */
1551
1552 #ifdef HAS_SETSERVENT_R
1553 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1554 #   undef setservent
1555 #   if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_I_ID
1556 #       define setservent(a) (setservent_r(a, &PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0)
1557 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1558 #   if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_V_ID
1559 #       define setservent(a) setservent_r(a, &PL_reentrant_buffer->_servent_data)
1560 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1561 #   endif /* HAS_SETSERVENT */
1562 #endif /* HAS_SETSERVENT_R */
1563
1564 #ifdef HAS_SRAND48_R
1565 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1566 #   undef srand48
1567 #   if !defined(srand48) && SRAND48_R_PROTO == REENTRANT_PROTO_I_LS
1568 #       define srand48(a) (srand48_r(a, &PL_reentrant_buffer->_drand48_struct) == 0 ? &PL_reentrant_buffer->_drand48_struct : 0)
1569 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1570 #   endif /* HAS_SRAND48 */
1571 #endif /* HAS_SRAND48_R */
1572
1573 #ifdef HAS_SRANDOM_R
1574 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1575 #   undef srandom
1576 #   if !defined(srandom) && SRANDOM_R_PROTO == REENTRANT_PROTO_I_TS
1577 #       define srandom(a) (srandom_r(a, &PL_reentrant_buffer->_srandom_struct) == 0 ? &PL_reentrant_buffer->_srandom_struct : 0)
1578 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1579 #   endif /* HAS_SRANDOM */
1580 #endif /* HAS_SRANDOM_R */
1581
1582 #ifdef HAS_STRERROR_R
1583 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1584 #   undef strerror
1585 #   if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBW
1586 #       define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
1587 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1588 #   if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBI
1589 #       define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
1590 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
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)
1593 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1594 #   endif /* HAS_STRERROR */
1595 #endif /* HAS_STRERROR_R */
1596
1597 #ifdef HAS_TMPNAM_R
1598 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1599 #   undef tmpnam
1600 #   if !defined(tmpnam) && TMPNAM_R_PROTO == REENTRANT_PROTO_B_B
1601 #       define tmpnam(a) tmpnam_r(a)
1602 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1603 #   endif /* HAS_TMPNAM */
1604 #endif /* HAS_TMPNAM_R */
1605
1606 #ifdef HAS_TTYNAME_R
1607 #  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
1608 #   undef ttyname
1609 #   if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBW
1610 #       define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
1611 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1612 #   if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBI
1613 #       define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
1614 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
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)
1617 #  endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
1618 #   endif /* HAS_TTYNAME */
1619 #endif /* HAS_TTYNAME_R */
1620
1621
1622
1623 #endif /* USE_REENTRANT_API */
1624  
1625 #endif
1626
1627 /* ex: set ro: */