9999: placed in perlapi. If no documentation exists, that fact is also
100100: noted in perlapi.
101101:
102+ : These require one of the /[iIpS]/ flags to give callers a name to use
103+ : that won't possibly collide with their own
104+ :
102105: The 'C' flag is used instead for functions and their short names that need to
103106: be accessible everywhere, typically because they are called from a
104107: publicly available macro or inline function, but they are not for
105108: public use by themselves. The documentation for these is placed in
106109: perlintern. If no documentation exists, that fact is also noted in
107110: perlintern.
108111:
109- : These really need the 'p' flag to avoid name space collisions.
112+ : These require one of the /[iIpS]/ flags to give callers a name to use
113+ : that won't possibly collide with their own
110114:
111115: Some of these have been constructed so that the wrapper macro names
112116: begin with an underscore to lessen the chances of a name collision.
327331: The remainder of these introductory comments detail all the possible flags:
328332:
329333: 'A' Both long and short names are accessible fully everywhere (usually
330- : part of the public API). If the function is not part of the public
331- : API, instead use 'C', 'E', or 'X'.
334+ : part of the public API). Requires one of /[iIpS]/ flags. If the
335+ : function is not part of the public API, instead use 'C', 'E', or 'X'.
332336:
333337: * adds entry to the list of symbols available on all platforms unless
334338: 'e' or 'm' are also specified;
384388: for example. Some functions have to be accessible everywhere even if
385389: they are not intended for public use. An example is helper functions
386390: that are called from inline ones that are publicly available.
391+ : Requires one of /[iIpS]/ flags.
387392:
388393: * add entry to the list of symbols available on all platforms unless e
389394: or m are also specified;
@@ -1229,7 +1234,7 @@ Cip |I32 |foldEQ_latin1 |NN const char *a \
12291234Adip |I32 |foldEQ_locale |NN const char *a \
12301235 |NN const char *b \
12311236 |I32 len
1232- Adm |I32 |foldEQ_utf8 |NN const char *s1 \
1237+ Admp |I32 |foldEQ_utf8 |NN const char *s1 \
12331238 |NULLOK char **pe1 \
12341239 |UV l1 \
12351240 |bool u1 \
@@ -1367,11 +1372,11 @@ Adp |GV * |gv_fetchfile_flags \
13671372 |NN const char * const name \
13681373 |const STRLEN len \
13691374 |const U32 flags
1370- Adm |GV * |gv_fetchmeth |NULLOK NOCHECK HV *stash \
1375+ Admp |GV * |gv_fetchmeth |NULLOK NOCHECK HV *stash \
13711376 |NN const char *name \
13721377 |STRLEN len \
13731378 |I32 level
1374- Adm |GV * |gv_fetchmeth_autoload \
1379+ Admp |GV * |gv_fetchmeth_autoload \
13751380 |NULLOK NOCHECK HV *stash \
13761381 |NN const char *name \
13771382 |STRLEN len \
@@ -1447,7 +1452,7 @@ Adp |void |gv_fullname4 |NN SV *sv \
14471452CRdp |CV * |gv_handler |NULLOK HV *stash \
14481453 |I32 id
14491454Admp |GV * |gv_HVadd |NULLOK GV *gv
1450- Adm |void |gv_init |NN GV *gv \
1455+ Admp |void |gv_init |NN GV *gv \
14511456 |NULLOK HV *stash \
14521457 |NN const char *name \
14531458 |STRLEN len \
@@ -1603,19 +1608,19 @@ Ampx |SV ** |hv_store_flags |NULLOK HV *hv \
16031608 |NULLOK SV *val \
16041609 |U32 hash \
16051610 |int flags
1606- Adm |SV ** |hv_stores |NULLOK HV *hv \
1611+ Admp |SV ** |hv_stores |NULLOK HV *hv \
16071612 |"key" \
16081613 |NULLOK SV *val
1609- Adm |void |hv_undef |NULLOK HV *hv
1614+ Admp |void |hv_undef |NULLOK HV *hv
16101615Xop |void |hv_undef_flags |NULLOK HV *hv \
16111616 |U32 flags
1612- APdm |I32 |ibcmp |NN const char *a \
1617+ APdmp |I32 |ibcmp |NN const char *a \
16131618 |NN const char *b \
16141619 |I32 len
1615- APdm |I32 |ibcmp_locale |NN const char *a \
1620+ APdmp |I32 |ibcmp_locale |NN const char *a \
16161621 |NN const char *b \
16171622 |I32 len
1618- Adm |I32 |ibcmp_utf8 |NN const char *s1 \
1623+ Admp |I32 |ibcmp_utf8 |NN const char *s1 \
16191624 |NULLOK char **pe1 \
16201625 |UV l1 \
16211626 |bool u1 \
@@ -1662,10 +1667,10 @@ p |bool |io_close |NN IO *io \
16621667ARTdip |Size_t |isC9_STRICT_UTF8_CHAR \
16631668 |NN const U8 * const s0 \
16641669 |NN const U8 * const e
1665- ARTdm |bool |is_c9strict_utf8_string \
1670+ ARTdmp |bool |is_c9strict_utf8_string \
16661671 |NN const U8 *s \
16671672 |STRLEN len
1668- ATdm |bool |is_c9strict_utf8_string_loc \
1673+ ATdmp |bool |is_c9strict_utf8_string_loc \
16691674 |NN const U8 *s \
16701675 |STRLEN len \
16711676 |NN const U8 **ep
@@ -1689,10 +1694,10 @@ ARdip |bool |is_safe_syscall|NN const char *pv \
16891694ARTdip |Size_t |isSTRICT_UTF8_CHAR \
16901695 |NN const U8 * const s0 \
16911696 |NN const U8 * const e
1692- ARTdm |bool |is_strict_utf8_string \
1697+ ARTdmp |bool |is_strict_utf8_string \
16931698 |NN const U8 *s \
16941699 |STRLEN len
1695- ATdm |bool |is_strict_utf8_string_loc \
1700+ ATdmp |bool |is_strict_utf8_string_loc \
16961701 |NN const U8 *s \
16971702 |STRLEN len \
16981703 |NN const U8 **ep
@@ -1724,11 +1729,11 @@ CPRTp |Size_t |is_utf8_FF_helper_ \
17241729 |NN const U8 * const s0 \
17251730 |NN const U8 * const e \
17261731 |const bool require_partial
1727- ATdm |bool |is_utf8_fixed_width_buf_flags \
1732+ ATdmp |bool |is_utf8_fixed_width_buf_flags \
17281733 |NN const U8 * const s \
17291734 |STRLEN len \
17301735 |const U32 flags
1731- ATdm |bool |is_utf8_fixed_width_buf_loc_flags \
1736+ ATdmp |bool |is_utf8_fixed_width_buf_loc_flags \
17321737 |NN const U8 * const s \
17331738 |STRLEN len \
17341739 |NULLOK const U8 **ep \
@@ -1752,7 +1757,7 @@ CRp |bool |_is_utf8_perl_idcont \
17521757CRp |bool |_is_utf8_perl_idstart \
17531758 |NN const U8 *p \
17541759 |NN const U8 * const e
1755- ARTdm |bool |is_utf8_string |NN const U8 *s \
1760+ ARTdmp |bool |is_utf8_string |NN const U8 *s \
17561761 |STRLEN len
17571762ARTdip |bool |is_utf8_string_flags \
17581763 |NN const U8 *s \
@@ -1762,7 +1767,7 @@ ATdmp |bool |is_utf8_string_loc \
17621767 |NN const U8 *s \
17631768 |const STRLEN len \
17641769 |NN const U8 **ep
1765- ATdm |bool |is_utf8_string_loc_flags \
1770+ ATdmp |bool |is_utf8_string_loc_flags \
17661771 |NN const U8 *s \
17671772 |STRLEN len \
17681773 |NN const U8 **ep \
@@ -1778,7 +1783,7 @@ ATdip |bool |is_utf8_string_loclen_flags \
17781783 |NULLOK const U8 **ep \
17791784 |NULLOK STRLEN *el \
17801785 |const U32 flags
1781- APTdm |bool |is_utf8_valid_partial_char \
1786+ APTdmp |bool |is_utf8_valid_partial_char \
17821787 |NN const U8 * const s0 \
17831788 |NN const U8 * const e
17841789ARTdip |bool |is_utf8_valid_partial_char_flags \
@@ -2170,7 +2175,7 @@ ARdp |OP * |newASSIGNOP |I32 flags \
21702175 |NULLOK OP *left \
21712176 |I32 optype \
21722177 |NULLOK OP *right
2173- Adm |CV * |newATTRSUB |I32 floor \
2178+ Admp |CV * |newATTRSUB |I32 floor \
21742179 |NULLOK OP *o \
21752180 |NULLOK OP *proto \
21762181 |NULLOK OP *attrs \
@@ -2182,11 +2187,11 @@ Xdp |CV * |newATTRSUB_x |I32 floor \
21822187 |NULLOK OP *block \
21832188 |bool o_is_gv
21842189ARdmp |AV * |newAV
2185- ARdm |AV * |newAV_alloc_x |SSize_t size
2186- ARdm |AV * |newAV_alloc_xz |SSize_t size
2190+ ARdmp |AV * |newAV_alloc_x |SSize_t size
2191+ ARdmp |AV * |newAV_alloc_xz |SSize_t size
21872192ARdp |AV * |newAVav |NULLOK AV *oav
21882193ARdp |AV * |newAVhv |NULLOK HV *ohv
2189- ARdm |AV * |newAV_mortal
2194+ ARdmp |AV * |newAV_mortal
21902195ARdp |OP * |newAVREF |NN OP *o
21912196ARdp |OP * |newBINOP |I32 type \
21922197 |I32 flags \
@@ -2223,7 +2228,7 @@ ARdp |OP * |newGIVENOP |NN OP *cond \
22232228 |PADOFFSET defsv_off
22242229: Used in scope.c
22252230eopx |GP * |newGP |NN GV * const gv
2226- Adm |GV * |newGVgen |NN const char *pack
2231+ Admp |GV * |newGVgen |NN const char *pack
22272232ARdp |GV * |newGVgen_flags |NN const char *pack \
22282233 |U32 flags
22292234ARdp |OP * |newGVOP |I32 type \
@@ -2342,7 +2347,7 @@ Adp |SV * |newSVrv |NN SV * const rv \
23422347ARdmp |SV * |newSVsv |NULLOK SV * const old
23432348ARdp |SV * |newSVsv_flags |NULLOK SV * const old \
23442349 |I32 flags
2345- ARdm |SV * |newSVsv_nomg |NULLOK SV * const old
2350+ ARdmp |SV * |newSVsv_nomg |NULLOK SV * const old
23462351ARdp |SV * |newSV_true
23472352ARdip |SV * |newSV_type |const svtype type
23482353AIRdp |SV * |newSV_type_mortal \
@@ -2434,7 +2439,7 @@ Adfp |void |opdump_printf |NN struct Perl_OpDumpContext *ctx \
24342439Adp |OP * |op_force_list |NULLOK OP *o
24352440Adp |void |op_free |NULLOK OP *arg
24362441Adp |OP * |op_linklist |NN OP *o
2437- Admx |OP * |op_lvalue |NULLOK OP *o \
2442+ Admpx |OP * |op_lvalue |NULLOK OP *o \
24382443 |I32 type
24392444Xop |OP * |op_lvalue_flags|NULLOK OP *o \
24402445 |I32 type \
@@ -2588,7 +2593,7 @@ CTp |Signal_t|perly_sighandler \
25882593 |NULLOK void *uap \
25892594 |bool safe
25902595
2591- Adm |const char * const|phase_name \
2596+ Admp |const char * const|phase_name \
25922597 |enum perl_phase
25932598Adp |void |pmop_dump |NULLOK PMOP *pm
25942599: Used in perly.y
@@ -2822,9 +2827,9 @@ p |void |report_wrongway_fh \
28222827AOdp |void |require_pv |NN const char *pv
28232828Cop |void |resume_compcv |NN struct suspended_compcv *buffer \
28242829 |bool save
2825- Adm |void |resume_compcv_and_save \
2830+ Admp |void |resume_compcv_and_save \
28262831 |NN struct suspended_compcv *buffer
2827- Adm |void |resume_compcv_final \
2832+ Admp |void |resume_compcv_final \
28282833 |NN struct suspended_compcv *buffer
28292834APTdp |char * |rninstr |NN const char *big \
28302835 |NN const char *bigend \
@@ -2916,7 +2921,7 @@ ARTdp |Malloc_t|safesysrealloc|Malloc_t where \
29162921 |MEM_SIZE nbytes
29172922Cdp |void |save_adelete |NN AV *av \
29182923 |SSize_t key
2919- Adm |void |save_aelem |NN AV *av \
2924+ Admp |void |save_aelem |NN AV *av \
29202925 |SSize_t idx \
29212926 |NN SV **sptr
29222927Adp |void |save_aelem_flags \
@@ -2952,7 +2957,7 @@ Adp |void |save_gp |NN GV *gv \
29522957Adhp |HV * |save_hash |NN GV *gv
29532958Cdp |void |save_hdelete |NN HV *hv \
29542959 |NN SV *keysv
2955- Adm |void |save_helem |NN HV *hv \
2960+ Admp |void |save_helem |NN HV *hv \
29562961 |NN SV *key \
29572962 |NN SV **sptr
29582963Adp |void |save_helem_flags \
@@ -3182,7 +3187,7 @@ Admp |void |sv_copypv |NN SV * const dsv \
31823187Adp |void |sv_copypv_flags|NN SV * const dsv \
31833188 |NN SV * const ssv \
31843189 |const I32 flags
3185- Adm |void |sv_copypv_nomg |NN SV * const dsv \
3190+ Admp |void |sv_copypv_nomg |NN SV * const dsv \
31863191 |NN SV * const ssv
31873192Adp |CV * |sv_2cv |NULLOK SV *sv \
31883193 |NN HV ** const st \
@@ -3303,7 +3308,7 @@ Cdp |SV * |sv_newref |NULLOK SV * const sv
33033308Adp |void |sv_nosharing |NULLOK SV *sv
33043309: Used in pp.c, pp_hot.c, sv.c
33053310dpx |SV * |sv_2num |NN SV * const sv
3306- Adm |bool |sv_numeq |NULLOK SV *sv1 \
3311+ Admp |bool |sv_numeq |NULLOK SV *sv1 \
33073312 |NULLOK SV *sv2
33083313Adp |bool |sv_numeq_flags |NULLOK SV *sv1 \
33093314 |NULLOK SV *sv2 \
@@ -3385,7 +3390,7 @@ AMdip |void |SvREFCNT_dec |NULLOK SV *sv
33853390AMdip |void |SvREFCNT_dec_NN|NN SV *sv
33863391Adip |SV * |SvREFCNT_dec_ret_NULL \
33873392 |NULLOK SV *sv
3388- Adm |void |SvREFCNT_dec_set_NULL \
3393+ Admp |void |SvREFCNT_dec_set_NULL \
33893394 |NULLOK SV *sv
33903395AMTdip |SV * |SvREFCNT_inc |NULLOK SV *sv
33913396AMTdip |SV * |SvREFCNT_inc_NN|NN SV *sv
@@ -3491,7 +3496,7 @@ Adp |void |sv_setuv |NN SV * const sv \
34913496 |const UV num
34923497Adp |void |sv_setuv_mg |NN SV * const sv \
34933498 |const UV u
3494- Adm |bool |sv_streq |NULLOK SV *sv1 \
3499+ Admp |bool |sv_streq |NULLOK SV *sv1 \
34953500 |NULLOK SV *sv2
34963501Adp |bool |sv_streq_flags |NULLOK SV *sv1 \
34973502 |NULLOK SV *sv2 \
@@ -3551,19 +3556,19 @@ Adp |bool |sv_utf8_downgrade_flags \
35513556 |NN SV * const sv \
35523557 |const bool fail_ok \
35533558 |const U32 flags
3554- Adm |bool |sv_utf8_downgrade_nomg \
3559+ Admp |bool |sv_utf8_downgrade_nomg \
35553560 |NN SV * const sv \
35563561 |const bool fail_ok
35573562Adp |void |sv_utf8_encode |NN SV * const sv
35583563Admp |STRLEN |sv_utf8_upgrade|NN SV *sv
3559- Adm |STRLEN |sv_utf8_upgrade_flags \
3564+ Admp |STRLEN |sv_utf8_upgrade_flags \
35603565 |NN SV * const sv \
35613566 |const I32 flags
35623567Adp |STRLEN |sv_utf8_upgrade_flags_grow \
35633568 |NN SV * const sv \
35643569 |const I32 flags \
35653570 |STRLEN extra
3566- Adm |STRLEN |sv_utf8_upgrade_nomg \
3571+ Admp |STRLEN |sv_utf8_upgrade_nomg \
35673572 |NN SV *sv
35683573Adip |UV |SvUV |NN SV *sv
35693574Cmp |UV |sv_2uv |NN SV *sv
@@ -3631,7 +3636,7 @@ Fpv |OP * |tied_method |NN SV *methname \
36313636 |...
36323637Xp |SSize_t|tmps_grow_p |SSize_t ix
36333638Xiop |Stack_off_t|TOPMARK
3634- Cm |UV |to_uni_fold |UV c \
3639+ Cmp |UV |to_uni_fold |UV c \
36353640 |NN U8 *p \
36363641 |NN STRLEN *lenp
36373642Cp |UV |_to_uni_fold_flags \
@@ -3839,13 +3844,13 @@ p |void |utilize |int aver \
38393844 |NN OP *idop \
38403845 |NULLOK OP *arg
38413846
3842- Adm |U8 * |uvchr_to_utf8 |NN U8 *d \
3847+ Admp |U8 * |uvchr_to_utf8 |NN U8 *d \
38433848 |UV uv
3844- Adm |U8 * |uvchr_to_utf8_flags \
3849+ Admp |U8 * |uvchr_to_utf8_flags \
38453850 |NN U8 *d \
38463851 |UV uv \
38473852 |UV flags
3848- Adm |U8 * |uvchr_to_utf8_flags_msgs \
3853+ Admp |U8 * |uvchr_to_utf8_flags_msgs \
38493854 |NN U8 *d \
38503855 |UV uv \
38513856 |UV flags \
@@ -3936,7 +3941,7 @@ Adp |void |warn_sv |NN SV *baseex
39363941RXop |I32 |was_lvalue_sub
39373942: FIXME
39383943p |void |watch |NN char **addr
3939- Adm |I32 |whichsig |NN const char *sig
3944+ Admp |I32 |whichsig |NN const char *sig
39403945Adp |I32 |whichsig_pv |NN const char *sig
39413946Adp |I32 |whichsig_pvn |NN const char *sig \
39423947 |STRLEN len
@@ -6398,7 +6403,7 @@ p |void |op_relocate_sv |NN SV **svp \
63986403 |NN PADOFFSET *targp
63996404# endif
64006405#else /* if !defined(USE_ITHREADS) */
6401- Adm |void |CopFILEGV_set |NN COP *c \
6406+ Admp |void |CopFILEGV_set |NN COP *c \
64026407 |NN GV *gv
64036408#endif
64046409#if defined(USE_LOCALE_COLLATE)
0 commit comments