Apd |void |av_fill |NN AV *av|SSize_t fill
ApdR |SSize_t|av_len |NN AV *av
ApdR |AV* |av_make |SSize_t size|NN SV **strp
+p |SV* |av_nonelem |NN AV *av|SSize_t ix
Apd |SV* |av_pop |NN AV *av
ApdoxM |void |av_create_and_push|NN AV **const avp|NN SV *const val
Apd |void |av_push |NN AV *av|NN SV *val
#if !defined(WIN32)
p |bool|do_exec3 |NN const char *incmd|int fd|int do_report
#endif
-p |void |do_execfree
#if defined(PERL_IN_DOIO_C)
s |void |exec_failed |NN const char *cmd|int fd|int do_report
#endif
Ap |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \
|int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
|NN SV *svs|I32 num
+pn |void |setfd_cloexec|int fd
+pn |void |setfd_inhexec|int fd
+p |void |setfd_cloexec_for_nonsysfd|int fd
+p |void |setfd_inhexec_for_sysfd|int fd
+p |void |setfd_cloexec_or_inhexec_by_sysfdness|int fd
+pR |int |PerlLIO_dup_cloexec|int oldfd
+p |int |PerlLIO_dup2_cloexec|int oldfd|int newfd
+pR |int |PerlLIO_open_cloexec|NN const char *file|int flag
+pR |int |PerlLIO_open3_cloexec|NN const char *file|int flag|int perm
+pnoR |int |my_mkstemp_cloexec|NN char *templte
+#ifdef HAS_PIPE
+pR |int |PerlProc_pipe_cloexec|NN int *pipefd
+#endif
+#ifdef HAS_SOCKET
+pR |int |PerlSock_socket_cloexec|int domain|int type|int protocol
+pR |int |PerlSock_accept_cloexec|int listenfd \
+ |NULLOK struct sockaddr *addr \
+ |NULLOK Sock_size_t *addrlen
+#endif
+#if defined (HAS_SOCKETPAIR) || \
+ (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && \
+ defined(AF_INET) && defined(PF_INET))
+pR |int |PerlSock_socketpair_cloexec|int domain|int type|int protocol \
+ |NN int *pairfd
+#endif
#if defined(PERL_IN_DOIO_C)
s |IO * |openn_setup |NN GV *gv|NN char *mode|NN PerlIO **saveifp \
|NN PerlIO **saveofp|NN int *savefd \
: Defined in doio.c, used only in pp_sys.c
pR |Off_t |do_tell |NN GV* gv
: Defined in doop.c, used only in pp.c
-p |I32 |do_trans |NN SV* sv
+p |Size_t |do_trans |NN SV* sv
: Used in my.c and pp.c
p |UV |do_vecget |NN SV* sv|STRLEN offset|int size
: Defined in doop.c, used only in mg.c (with /* XXX slurp this routine */)
ADMpR |bool |is_uni_punct_lc|UV c
ADMpPR |bool |is_uni_xdigit_lc|UV c
AndmoR |bool |is_utf8_invariant_string|NN const U8* const s \
- |STRLEN const len
+ |STRLEN len
AnidR |bool |is_utf8_invariant_string_loc|NN const U8* const s \
- |STRLEN const len \
+ |STRLEN len \
|NULLOK const U8 ** ep
-AmnpdRP |bool |is_ascii_string|NN const U8* const s|const STRLEN len
-AmnpdRP |bool |is_invariant_string|NN const U8* const s|const STRLEN len
+AniR |unsigned int|_variant_byte_number|PERL_UINTMAX_T word
+#if defined(PERL_CORE) || defined(PERL_EXT)
+EinR |Size_t |variant_under_utf8_count|NN const U8* const s \
+ |NN const U8* const e
+#endif
+AmnpdRP |bool |is_ascii_string|NN const U8* const s|STRLEN len
+AmnpdRP |bool |is_invariant_string|NN const U8* const s|STRLEN len
+#if defined(PERL_CORE) || defined (PERL_EXT)
+EXnidR |bool |is_utf8_non_invariant_string|NN const U8* const s \
+ |STRLEN len
+#endif
AnpdD |STRLEN |is_utf8_char |NN const U8 *s
Abmnpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
-AnipdR |bool |is_utf8_string |NN const U8 *s|const STRLEN len
+AnmdpR |bool |is_utf8_string |NN const U8 *s|STRLEN len
AnidR |bool |is_utf8_string_flags \
- |NN const U8 *s|const STRLEN len|const U32 flags
-AnidR |bool |is_strict_utf8_string|NN const U8 *s|const STRLEN len
-AnidR |bool |is_c9strict_utf8_string|NN const U8 *s|const STRLEN len
+ |NN const U8 *s|STRLEN len|const U32 flags
+AnmdpR |bool |is_strict_utf8_string|NN const U8 *s|STRLEN len
+AnmdpR |bool |is_c9strict_utf8_string|NN const U8 *s|STRLEN len
Anpdmb |bool |is_utf8_string_loc \
- |NN const U8 *s|const STRLEN len|NN const U8 **ep
+ |NN const U8 *s|STRLEN len|NN const U8 **ep
Andm |bool |is_utf8_string_loc_flags \
- |NN const U8 *s|const STRLEN len|NN const U8 **ep \
+ |NN const U8 *s|STRLEN len|NN const U8 **ep \
|const U32 flags
Andm |bool |is_strict_utf8_string_loc \
- |NN const U8 *s|const STRLEN len|NN const U8 **ep
+ |NN const U8 *s|STRLEN len|NN const U8 **ep
Andm |bool |is_c9strict_utf8_string_loc \
- |NN const U8 *s|const STRLEN len|NN const U8 **ep
+ |NN const U8 *s|STRLEN len|NN const U8 **ep
Anipd |bool |is_utf8_string_loclen \
- |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \
+ |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \
|NULLOK STRLEN *el
Anid |bool |is_utf8_string_loclen_flags \
- |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \
+ |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \
|NULLOK STRLEN *el|const U32 flags
Anid |bool |is_strict_utf8_string_loclen \
- |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \
+ |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \
|NULLOK STRLEN *el
Anid |bool |is_c9strict_utf8_string_loclen \
- |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \
+ |NN const U8 *s|STRLEN len|NULLOK const U8 **ep \
|NULLOK STRLEN *el
Amnd |bool |is_utf8_fixed_width_buf_flags \
- |NN const U8 * const s|const STRLEN len|const U32 flags
+ |NN const U8 * const s|STRLEN len|const U32 flags
Amnd |bool |is_utf8_fixed_width_buf_loc_flags \
- |NN const U8 * const s|const STRLEN len \
+ |NN const U8 * const s|STRLEN len \
|NULLOK const U8 **ep|const U32 flags
Anid |bool |is_utf8_fixed_width_buf_loclen_flags \
- |NN const U8 * const s|const STRLEN len \
+ |NN const U8 * const s|STRLEN len \
|NULLOK const U8 **ep|NULLOK STRLEN *el|const U32 flags
AmndP |bool |is_utf8_valid_partial_char \
|NN const U8 * const s|NN const U8 * const e
ADMpR |bool |is_utf8_xdigit |NN const U8 *p
AMpR |bool |_is_utf8_mark |NN const U8 *p
ADMpR |bool |is_utf8_mark |NN const U8 *p
+#if defined(PERL_CORE) || defined(PERL_EXT)
+EXdpR |bool |isSCRIPT_RUN |NN const U8 *s|NN const U8 *send \
+ |const bool utf8_target
+#endif
: Used in perly.y
p |OP* |jmaybe |NN OP *o
: Used in pp.c
p |int |magic_setdbline|NN SV* sv|NN MAGIC* mg
p |int |magic_setdebugvar|NN SV* sv|NN MAGIC* mg
p |int |magic_setdefelem|NN SV* sv|NN MAGIC* mg
+p |int |magic_setnonelem|NN SV* sv|NN MAGIC* mg
p |int |magic_setenv |NN SV* sv|NN MAGIC* mg
dp |int |magic_sethint |NN SV* sv|NN MAGIC* mg
p |int |magic_setisa |NN SV* sv|NN MAGIC* mg
ApdR |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o
Apbm |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
|NULLOK OP* block
-p |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \
+pd |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \
|NN XSUBADDR_t subaddr\
|NULLOK const char *const filename \
|NULLOK const char *const proto \
ApdO |HV* |get_hv |NN const char *name|I32 flags
ApdO |CV* |get_cv |NN const char* name|I32 flags
Apd |CV* |get_cvn_flags |NN const char* name|STRLEN len|I32 flags
-EXnpo |char* |setlocale |int category|NULLOK const char* locale
+Ando |const char*|Perl_setlocale|const int category|NULLOK const char* locale
#if defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H)
Ando |const char*|Perl_langinfo|const nl_item item
#else
ApOM |int |init_i18nl14n |int printwarn
p |char* |my_strerror |const int errnum
Xpn |void |_warn_problematic_locale
-p |void |new_numeric |NULLOK const char* newcoll
Xp |void |set_numeric_underlying
Xp |void |set_numeric_standard
Xp |bool |_is_in_locale_category|const bool compiling|const int category
-Apd |void |sync_locale
+Apdn |void |switch_to_global_locale
+Apdn |bool |sync_locale
+ApMn |void |thread_locale_init
+ApMn |void |thread_locale_term
ApdO |void |require_pv |NN const char* pv
Apd |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \
|NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags
#endif
Ap |SV** |stack_grow |NN SV** sp|NN SV** p|SSize_t n
Ap |I32 |start_subparse |I32 is_format|U32 flags
+Xp |void |init_named_cv |NN CV *cv|NN OP *nameop
: Used in pp_ctl.c
p |void |sub_crush_depth|NN CV* cv
Amd |bool |sv_2bool |NN SV *const sv
#if defined(UNLINK_ALL_VERSIONS)
Ap |I32 |unlnk |NN const char* f
#endif
-Apd |I32 |unpack_str |NN const char *pat|NN const char *patend|NN const char *s \
+Apd |SSize_t|unpack_str |NN const char *pat|NN const char *patend|NN const char *s \
|NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
|I32 ocnt|U32 flags
-Apd |I32 |unpackstring |NN const char *pat|NN const char *patend|NN const char *s \
+Apd |SSize_t|unpackstring |NN const char *pat|NN const char *patend|NN const char *s \
|NN const char *strend|U32 flags
Ap |void |unsharepvn |NULLOK const char* sv|I32 len|U32 hash
: Used in gv.c, hv.c
ApM |void |_force_out_malformed_utf8_message \
|NN const U8 *const p|NN const U8 * const e|const U32 flags \
|const bool die_here
-Ep |U8* |utf16_to_utf8 |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
-Ep |U8* |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
-AdpPR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e
+EXp |U8* |utf16_to_utf8 |NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
+EXp |U8* |utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
+AdpR |STRLEN |utf8_length |NN const U8* s|NN const U8 *e
AipdR |IV |utf8_distance |NN const U8 *a|NN const U8 *b
AipdRn |U8* |utf8_hop |NN const U8 *s|SSize_t off
AipdRn |U8* |utf8_hop_back|NN const U8 *s|SSize_t off|NN const U8 *start
|STRLEN curlen \
|NULLOK STRLEN *retlen \
|const U32 flags
-Adp |UV |utf8n_to_uvchr_error|NN const U8 *s \
+Adop |UV |utf8n_to_uvchr_error|NN const U8 *s \
|STRLEN curlen \
|NULLOK STRLEN *retlen \
|const U32 flags \
|NULLOK U32 * errors
+AMdp |UV |utf8n_to_uvchr_msgs|NN const U8 *s \
+ |STRLEN curlen \
+ |NULLOK STRLEN *retlen \
+ |const U32 flags \
+ |NULLOK U32 * errors \
+ |NULLOK AV ** msgs
AipnR |UV |valid_utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen
Ap |UV |utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
Adm |U8* |uvchr_to_utf8 |NN U8 *d|UV uv
Ap |U8* |uvuni_to_utf8 |NN U8 *d|UV uv
Adm |U8* |uvchr_to_utf8_flags |NN U8 *d|UV uv|UV flags
-Apd |U8* |uvoffuni_to_utf8_flags |NN U8 *d|UV uv|const UV flags
+AdmM |U8* |uvchr_to_utf8_flags_msgs|NN U8 *d|UV uv|UV flags|NULLOK HV ** msgs
+Apod |U8* |uvoffuni_to_utf8_flags |NN U8 *d|UV uv|const UV flags
+ApM |U8* |uvoffuni_to_utf8_flags_msgs|NN U8 *d|UV uv|const UV flags|NULLOK HV** msgs
Ap |U8* |uvuni_to_utf8_flags |NN U8 *d|UV uv|UV flags
Apd |char* |pv_uni_display |NN SV *dsv|NN const U8 *spv|STRLEN len|STRLEN pvlim|UV flags
ApdR |char* |sv_uni_display |NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags
p |int |magic_killbackrefs|NN SV *sv|NN MAGIC *mg
Ap |OP* |newANONATTRSUB |I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
Am |CV* |newATTRSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-pX |CV* |newATTRSUB_x |I32 floor|NULLOK OP *o|NULLOK OP *proto \
+pdX |CV* |newATTRSUB_x |I32 floor|NULLOK OP *o|NULLOK OP *proto \
|NULLOK OP *attrs|NULLOK OP *block \
|bool o_is_gv
Ap |CV * |newMYSUB |I32 floor|NN OP *o|NULLOK OP *proto \
p |void |init_constants
#if defined(PERL_IN_DOOP_C)
-sR |I32 |do_trans_simple |NN SV * const sv
-sR |I32 |do_trans_count |NN SV * const sv
-sR |I32 |do_trans_complex |NN SV * const sv
-sR |I32 |do_trans_simple_utf8 |NN SV * const sv
-sR |I32 |do_trans_count_utf8 |NN SV * const sv
-sR |I32 |do_trans_complex_utf8 |NN SV * const sv
+sR |Size_t |do_trans_simple |NN SV * const sv
+sR |Size_t |do_trans_count |NN SV * const sv
+sR |Size_t |do_trans_complex |NN SV * const sv
+sR |Size_t |do_trans_simple_utf8 |NN SV * const sv
+sR |Size_t |do_trans_count_utf8 |NN SV * const sv
+sR |Size_t |do_trans_complex_utf8 |NN SV * const sv
#endif
#if defined(PERL_IN_GV_C)
#endif
#if defined(PERL_IN_PP_PACK_C)
-s |I32 |unpack_rec |NN struct tempsym* symptr|NN const char *s \
+s |SSize_t|unpack_rec |NN struct tempsym* symptr|NN const char *s \
|NN const char *strbeg|NN const char *strend|NULLOK const char **new_s
s |SV ** |pack_rec |NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist
s |SV* |mul128 |NN SV *sv|U8 m
-s |I32 |measure_struct |NN struct tempsym* symptr
+s |SSize_t|measure_struct |NN struct tempsym* symptr
s |bool |next_symbol |NN struct tempsym* symptr
sR |SV* |is_an_int |NN const char *s|STRLEN l
s |int |div128 |NN SV *pnum|NN bool *done
s |const char *|group_end |NN const char *patptr|NN const char *patend \
|char ender
-sR |const char *|get_num |NN const char *patptr|NN I32 *lenptr
+sR |const char *|get_num |NN const char *patptr|NN SSize_t *lenptr
ns |bool |need_utf8 |NN const char *pat|NN const char *patend
ns |char |first_symbol |NN const char *pat|NN const char *patend
sR |char * |sv_exp_grow |NN SV *sv|STRLEN needed
s |I32 |sortcv |NN SV *const a|NN SV *const b
s |I32 |sortcv_xsub |NN SV *const a|NN SV *const b
s |I32 |sortcv_stacked |NN SV *const a|NN SV *const b
-s |void |qsortsvu |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
#endif
#if defined(PERL_IN_PP_SYS_C)
|I32 stopparen|U32 recursed_depth \
|NULLOK regnode_ssc *and_withp \
|U32 flags|U32 depth
+EsR |SV * |get_ANYOFM_contents|NN const regnode * n
EsRn |U32 |add_data |NN RExC_state_t* const pRExC_state \
|NN const char* const s|const U32 n
rs |void |re_croak2 |bool utf8|NN const char* pat1|NN const char* pat2|...
|NN SV* sv|I32 indent|U32 depth
Es |void |put_code_point |NN SV* sv|UV c
Es |bool |put_charclass_bitmap_innards|NN SV* sv \
- |NN char* bitmap \
+ |NULLOK char* bitmap \
|NULLOK SV* nonbitmap_invlist \
|NULLOK SV* only_utf8_locale_invlist\
|NULLOK const regnode * const node \
#if defined(PERL_IN_REGEXEC_C)
ERs |bool |isFOO_utf8_lc |const U8 classnum|NN const U8* character
+ERns |char * |find_next_ascii|NN char* s|NN const char * send|const bool is_utf8
+ERns |char * |find_next_non_ascii|NN char* s|NN const char * send|const bool is_utf8
+ERns |U8 * |find_next_masked|NN U8 * s \
+ |NN const U8 * send \
+ |const U8 byte|const U8 mask
+ERns |U8 *|find_span_end |NN U8* s|NN const U8 * send|const U8 span_byte
+ERns |U8 *|find_span_end_mask|NN U8 * s|NN const U8 * send \
+ |const U8 span_byte|const U8 mask
ERs |SSize_t|regmatch |NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog
WERs |I32 |regrepeat |NN regexp *prog|NN char **startposp \
|NN const regnode *p \
s |int |intuit_method |NN char *s|NULLOK SV *ioname|NULLOK CV *cv
s |int |intuit_more |NN char *s|NN char *e
s |I32 |lop |I32 f|U8 x|NN char *s
-rs |void |missingterm |NULLOK char *s|const STRLEN len
+rs |void |missingterm |NULLOK char *s|STRLEN len
s |void |no_op |NN const char *const what|NULLOK char *s
s |int |pending_ident
sR |I32 |sublex_done
s |int |ao |int toketype
s |void|parse_ident|NN char **s|NN char **d \
|NN char * const e|int allow_package \
- |bool is_utf8|bool check_dollar
+ |bool is_utf8|bool check_dollar \
+ |bool tick_warn
# if defined(PERL_CR_FILTER)
s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen
s |void |strip_return |NN SV *sv
#endif
#if defined(PERL_IN_LOCALE_C)
+sn |const char*|category_name |const int category
+s |const char*|switch_category_locale_to_template|const int switch_category|const int template_category|NULLOK const char * template_locale
+s |void |restore_switched_locale|const int category|NULLOK const char * const original_locale
# ifdef HAS_NL_LANGINFO
sn |const char*|my_nl_langinfo|const nl_item item|bool toggle
# else
sn |const char*|my_nl_langinfo|const int item|bool toggle
# endif
-in |const char *|save_to_buffer|NN const char * string \
+inR |const char *|save_to_buffer|NULLOK const char * string \
|NULLOK char **buf \
|NN Size_t *buf_size \
|const Size_t offset
s |void |new_collate |NULLOK const char* newcoll
s |void |new_ctype |NN const char* newctype
s |void |set_numeric_radix|const bool use_locale
+s |void |new_numeric |NULLOK const char* newnum
+# ifdef USE_POSIX_2008_LOCALE
+sn |const char*|emulate_setlocale|const int category \
+ |NULLOK const char* locale \
+ |unsigned int index \
+ |const bool is_index_valid
+# endif
# ifdef WIN32
s |char* |win32_setlocale|int category|NULLOK const char* locale
# endif
#endif
#if defined(PERL_IN_UTF8_C)
+sR |HV * |new_msg_hv |NN const char * const message \
+ |U32 categories \
+ |U32 flag
sRM |UV |check_locale_boundary_crossing \
|NN const U8* const p \
|const UV result \
Apnod |Size_t |my_strnlen |NN const char *str|Size_t maxlen
#endif
+#ifndef HAS_MKOSTEMP
+pno |int |my_mkostemp |NN char *templte|int flags
+#endif
#ifndef HAS_MKSTEMP
pno |int |my_mkstemp |NN char *templte
#endif