This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
nit in perlsyn.pod
[perl5.git] / proto.h
diff --git a/proto.h b/proto.h
index 7c49f3f..64de705 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -1,4 +1,11 @@
 /*
+ *    proto.h
+ *
+ *    Copyright (c) 1997-2002, Larry Wall
+ *
+ *    You may distribute under the terms of either the GNU General Public
+ *    License or the Artistic License, as specified in the README file.
+ *
  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
  * This file is autogenerated from data in embed.pl.  Edit that file
  * and run 'make regen_headers' to effect changes.
@@ -607,6 +614,7 @@ PERL_CALLCONV void  Perl_set_numeric_local(pTHX);
 PERL_CALLCONV void     Perl_set_numeric_radix(pTHX);
 PERL_CALLCONV void     Perl_set_numeric_standard(pTHX);
 PERL_CALLCONV void     Perl_require_pv(pTHX_ const char* pv);
+PERL_CALLCONV void     Perl_pack_cat(pTHX_ SV *cat, char *pat, char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags);
 PERL_CALLCONV void     Perl_pidgone(pTHX_ Pid_t pid, int status);
 PERL_CALLCONV void     Perl_pmflag(pTHX_ U16* pmfl, int ch);
 PERL_CALLCONV OP*      Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
@@ -758,6 +766,7 @@ PERL_CALLCONV int   Perl_sv_isobject(pTHX_ SV* sv);
 PERL_CALLCONV STRLEN   Perl_sv_len(pTHX_ SV* sv);
 PERL_CALLCONV STRLEN   Perl_sv_len_utf8(pTHX_ SV* sv);
 PERL_CALLCONV void     Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen);
+PERL_CALLCONV MAGIC *  Perl_sv_magicext(pTHX_ SV* sv, SV* obj, int how, MGVTBL *vtbl, const char* name, I32 namlen     );
 PERL_CALLCONV SV*      Perl_sv_mortalcopy(pTHX_ SV* oldsv);
 PERL_CALLCONV SV*      Perl_sv_newmortal(pTHX);
 PERL_CALLCONV SV*      Perl_sv_newref(pTHX_ SV* sv);
@@ -816,6 +825,7 @@ PERL_CALLCONV I32   Perl_unlnk(pTHX_ char* f);
 #if defined(USE_5005THREADS)
 PERL_CALLCONV void     Perl_unlock_condpair(pTHX_ void* svv);
 #endif
+PERL_CALLCONV I32      Perl_unpack_str(pTHX_ char *pat, char *patend, char *s, char *strbeg, char *strend, char **new_s, I32 ocnt, U32 flags);
 PERL_CALLCONV void     Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash);
 PERL_CALLCONV void     Perl_unshare_hek(pTHX_ HEK* hek);
 PERL_CALLCONV void     Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* id, OP* arg);
@@ -979,6 +989,9 @@ PERL_CALLCONV void  Perl_sys_intern_init(pTHX);
 PERL_CALLCONV char *   Perl_custom_op_name(pTHX_ OP* op);
 PERL_CALLCONV char *   Perl_custom_op_desc(pTHX_ OP* op);
 
+PERL_CALLCONV void     Perl_sv_nosharing(pTHX_ SV *);
+PERL_CALLCONV void     Perl_sv_nolocking(pTHX_ SV *);
+PERL_CALLCONV void     Perl_sv_nounlocking(pTHX_ SV *);
 
 END_EXTERN_C
 
@@ -1045,6 +1058,7 @@ STATIC void       S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my);
 STATIC void    S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp);
 #  if defined(PL_OP_SLAB_ALLOC)
 STATIC void*   S_Slab_Alloc(pTHX_ int m, size_t sz);
+STATIC void    S_Slab_Free(pTHX_ void *op);
 #  endif
 #endif
 
@@ -1092,6 +1106,10 @@ STATIC void      S_doencodes(pTHX_ SV* sv, char* s, I32 len);
 STATIC SV*     S_mul128(pTHX_ SV *sv, U8 m);
 STATIC SV*     S_is_an_int(pTHX_ char *s, STRLEN l);
 STATIC int     S_div128(pTHX_ SV *pnum, bool *done);
+STATIC char *  S_next_symbol(pTHX_ char *pat, char *patend);
+STATIC I32     S_find_count(pTHX_ char **ppat, char *patend, int *star);
+STATIC char *  S_group_end(pTHX_ char *pat, char *patend, char ender);
+STATIC I32     S_measure_struct(pTHX_ char *pat, char *patend);
 #endif
 
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
@@ -1106,10 +1124,11 @@ STATIC I32      S_dopoptoeval(pTHX_ I32 startingblock);
 STATIC I32     S_dopoptolabel(pTHX_ char *label);
 STATIC I32     S_dopoptoloop(pTHX_ I32 startingblock);
 STATIC I32     S_dopoptosub(pTHX_ I32 startingblock);
-STATIC I32     S_dopoptosub_at(pTHX_ PERL_CONTEXT* cxstk, I32 startingblock\r);
+STATIC I32     S_dopoptosub_at(pTHX_ PERL_CONTEXT* cxstk, I32 startingblock);
 STATIC void    S_save_lines(pTHX_ AV *array, SV *sv);
 STATIC OP*     S_doeval(pTHX_ int gimme, OP** startop);
 STATIC PerlIO *        S_doopen_pmc(pTHX_ const char *name, const char *mode);
+STATIC bool    S_path_is_absolute(pTHX_ char *name);
 #endif
 
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
@@ -1187,17 +1206,6 @@ STATIC void      S_debprof(pTHX_ OP *o);
 STATIC SV*     S_save_scalar_at(pTHX_ SV **sptr);
 #endif
 
-#if defined(USE_ITHREADS)
-PERL_CALLCONV void     Perl_sharedsv_init(pTHX);
-PERL_CALLCONV shared_sv*       Perl_sharedsv_new(pTHX);
-PERL_CALLCONV shared_sv*       Perl_sharedsv_find(pTHX_ SV* sv);
-PERL_CALLCONV void     Perl_sharedsv_lock(pTHX_ shared_sv* ssv);
-PERL_CALLCONV void     Perl_sharedsv_unlock(pTHX_ shared_sv* ssv);
-PERL_CALLCONV void     Perl_sharedsv_unlock_scope(pTHX_ shared_sv* ssv);
-PERL_CALLCONV void     Perl_sharedsv_thrcnt_inc(pTHX_ shared_sv* ssv);
-PERL_CALLCONV void     Perl_sharedsv_thrcnt_dec(pTHX_ shared_sv* ssv);
-#endif
-
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 STATIC IV      S_asIV(pTHX_ SV* sv);
 STATIC UV      S_asUV(pTHX_ SV* sv);
@@ -1309,7 +1317,7 @@ STATIC I32        S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen);
 #endif
 
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-STATIC SV*     S_isa_lookup(pTHX_ HV *stash, const char *name, int len, int level);
+STATIC SV*     S_isa_lookup(pTHX_ HV *stash, const char *name, HV *name_stash, int len, int level);
 #endif
 
 #if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
@@ -1332,6 +1340,7 @@ PERL_CALLCONV void        Perl_sv_catsv_flags(pTHX_ SV* dsv, SV* ssv, I32 flags);
 PERL_CALLCONV STRLEN   Perl_sv_utf8_upgrade_flags(pTHX_ SV *sv, I32 flags);
 PERL_CALLCONV char*    Perl_sv_pvn_force_flags(pTHX_ SV* sv, STRLEN* lp, I32 flags);
 PERL_CALLCONV char*    Perl_sv_2pv_flags(pTHX_ SV* sv, STRLEN* lp, I32 flags);
+PERL_CALLCONV void     Perl_sv_copypv(pTHX_ SV* dsv, SV* ssv);
 PERL_CALLCONV char*    Perl_my_atof2(pTHX_ const char *s, NV* value);
 PERL_CALLCONV int      Perl_my_socketpair(int family, int type, int protocol, int fd[2]);