📄 reentr.h
字号:
# else char* _servent_buffer; size_t _servent_size;# endif# ifdef USE_SERVENT_PTR struct servent* _servent_ptr;# endif# ifdef USE_SERVENT_ERRNO int _servent_errno;# endif #endif /* HAS_GETSERVBYNAME_R */#ifdef HAS_GETSPNAM_R struct spwd _spent_struct; char* _spent_buffer; size_t _spent_size;# ifdef USE_SPENT_PTR struct spwd* _spent_ptr;# endif# ifdef USE_SPENT_FPTR FILE* _spent_fptr;# endif#endif /* HAS_GETSPNAM_R */#ifdef HAS_GMTIME_R struct tm _gmtime_struct;#endif /* HAS_GMTIME_R */#ifdef HAS_LOCALTIME_R struct tm _localtime_struct;#endif /* HAS_LOCALTIME_R */#ifdef HAS_RANDOM_R struct random_data _random_struct;# if RANDOM_R_PROTO == REENTRANT_PROTO_I_iS int _random_retval;# endif# if RANDOM_R_PROTO == REENTRANT_PROTO_I_lS long _random_retval;# endif# if RANDOM_R_PROTO == REENTRANT_PROTO_I_St int32_t _random_retval;# endif#endif /* HAS_RANDOM_R */#ifdef HAS_READDIR_R struct dirent* _readdir_struct; size_t _readdir_size;# if READDIR_R_PROTO == REENTRANT_PROTO_I_TSR struct dirent* _readdir_ptr;# endif#endif /* HAS_READDIR_R */#ifdef HAS_READDIR64_R struct dirent64* _readdir64_struct; size_t _readdir64_size;# if READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR struct dirent64* _readdir64_ptr;# endif#endif /* HAS_READDIR64_R */#ifdef HAS_SETLOCALE_R char* _setlocale_buffer; size_t _setlocale_size;#endif /* HAS_SETLOCALE_R */#ifdef HAS_SRANDOM_R struct random_data _srandom_struct;#endif /* HAS_SRANDOM_R */#ifdef HAS_STRERROR_R char* _strerror_buffer; size_t _strerror_size;#endif /* HAS_STRERROR_R */#ifdef HAS_TTYNAME_R char* _ttyname_buffer; size_t _ttyname_size;#endif /* HAS_TTYNAME_R */ int dummy; /* cannot have empty structs */} REENTR;/* The wrappers. */#ifdef HAS_ASCTIME_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef asctime# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SB# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SBI# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SB# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SBI# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_ASCTIME */#endif /* HAS_ASCTIME_R */#ifdef HAS_CRYPT_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef crypt# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCS# define crypt(a, b) crypt_r(a, b, PL_reentrant_buffer->_crypt_struct_buffer)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD# define crypt(a, b) crypt_r(a, b, &PL_reentrant_buffer->_crypt_data)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_CRYPT */#endif /* HAS_CRYPT_R */#ifdef HAS_CTERMID_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef ctermid# if !defined(ctermid) && CTERMID_R_PROTO == REENTRANT_PROTO_B_B# define ctermid(a) ctermid_r(a)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_CTERMID */#endif /* HAS_CTERMID_R */#ifdef HAS_CTIME_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef ctime# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SB# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SBI# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SB# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SBI# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_CTIME */#endif /* HAS_CTIME_R */#ifdef HAS_DRAND48_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef drand48# if !defined(drand48) && DRAND48_R_PROTO == REENTRANT_PROTO_I_ST# define drand48() (drand48_r(&PL_reentrant_buffer->_drand48_struct, &PL_reentrant_buffer->_drand48_double) == 0 ? PL_reentrant_buffer->_drand48_double : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_DRAND48 */#endif /* HAS_DRAND48_R */#ifdef HAS_ENDGRENT_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef endgrent# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H# define endgrent() (endgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H# define endgrent() endgrent_r(&PL_reentrant_buffer->_grent_fptr)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_ENDGRENT */#endif /* HAS_ENDGRENT_R */#ifdef HAS_ENDHOSTENT_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef endhostent# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_I_D# define endhostent() (endhostent_r(&PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_V_D# define endhostent() endhostent_r(&PL_reentrant_buffer->_hostent_data)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_ENDHOSTENT */#endif /* HAS_ENDHOSTENT_R */#ifdef HAS_ENDNETENT_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef endnetent# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_I_D# define endnetent() (endnetent_r(&PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_V_D# define endnetent() endnetent_r(&PL_reentrant_buffer->_netent_data)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_ENDNETENT */#endif /* HAS_ENDNETENT_R */#ifdef HAS_ENDPROTOENT_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef endprotoent# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_I_D# define endprotoent() (endprotoent_r(&PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_V_D# define endprotoent() endprotoent_r(&PL_reentrant_buffer->_protoent_data)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_ENDPROTOENT */#endif /* HAS_ENDPROTOENT_R */#ifdef HAS_ENDPWENT_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef endpwent# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H# define endpwent() (endpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H# define endpwent() endpwent_r(&PL_reentrant_buffer->_pwent_fptr)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_ENDPWENT */#endif /* HAS_ENDPWENT_R */#ifdef HAS_ENDSERVENT_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef endservent# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_I_D# define endservent() (endservent_r(&PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_V_D# define endservent() endservent_r(&PL_reentrant_buffer->_servent_data)# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_ENDSERVENT */#endif /* HAS_ENDSERVENT_R */#ifdef HAS_GETGRENT_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef getgrent# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR# 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) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR# 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) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW# 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))# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI# 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))# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI# 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) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH# 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) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */# endif /* HAS_GETGRENT */#endif /* HAS_GETGRENT_R */#ifdef HAS_GETGRGID_R# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)# undef getgrgid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -