normalize time for strftime() (without the isdst effects of
[p5sagit/p5-mst-13.2.git] / proto.h
diff --git a/proto.h b/proto.h
index f809677..e4fe09c 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -37,7 +37,7 @@ VIRTUAL I32   Perl_block_gimme(pTHX);
 VIRTUAL int    Perl_block_start(pTHX_ int full);
 VIRTUAL void   Perl_boot_core_UNIVERSAL(pTHX);
 VIRTUAL void   Perl_call_list(pTHX_ I32 oldscope, AV* av_list);
-VIRTUAL I32    Perl_cando(pTHX_ I32 bit, Uid_t effective, Stat_t* statbufp);
+VIRTUAL bool   Perl_cando(pTHX_ Mode_t mode, Uid_t effective, Stat_t* statbufp);
 VIRTUAL U32    Perl_cast_ulong(pTHX_ NV f);
 VIRTUAL I32    Perl_cast_i32(pTHX_ NV f);
 VIRTUAL IV     Perl_cast_iv(pTHX_ NV f);
@@ -56,6 +56,7 @@ VIRTUAL void  Perl_croak_nocontext(const char* pat, ...) __attribute__((noreturn)
 VIRTUAL OP*    Perl_die_nocontext(const char* pat, ...);
 VIRTUAL void   Perl_deb_nocontext(const char* pat, ...);
 VIRTUAL char*  Perl_form_nocontext(const char* pat, ...);
+VIRTUAL SV*    Perl_mess_nocontext(const char* pat, ...);
 VIRTUAL void   Perl_warn_nocontext(const char* pat, ...);
 VIRTUAL void   Perl_warner_nocontext(U32 err, const char* pat, ...);
 VIRTUAL SV*    Perl_newSVpvf_nocontext(const char* pat, ...);
@@ -125,6 +126,7 @@ VIRTUAL void        Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
 VIRTUAL Off_t  Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
 VIRTUAL Off_t  Perl_do_tell(pTHX_ GV* gv);
 VIRTUAL I32    Perl_do_trans(pTHX_ SV* sv);
+VIRTUAL UV     Perl_do_vecget(pTHX_ SV* sv, I32 offset, I32 size);
 VIRTUAL void   Perl_do_vecset(pTHX_ SV* sv);
 VIRTUAL void   Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
 VIRTUAL OP*    Perl_dofile(pTHX_ OP* term);
@@ -321,7 +323,9 @@ VIRTUAL void        Perl_markstack_grow(pTHX);
 #if defined(USE_LOCALE_COLLATE)
 VIRTUAL char*  Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen);
 #endif
-VIRTUAL SV*    Perl_mess(pTHX_ const char* pat, va_list* args);
+VIRTUAL SV*    Perl_mess(pTHX_ const char* pat, ...);
+VIRTUAL SV*    Perl_vmess(pTHX_ const char* pat, va_list* args);
+VIRTUAL void   Perl_qerror(pTHX_ SV* err);
 VIRTUAL int    Perl_mg_clear(pTHX_ SV* sv);
 VIRTUAL int    Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen);
 VIRTUAL MAGIC* Perl_mg_find(pTHX_ SV* sv, int type);
@@ -465,7 +469,7 @@ VIRTUAL void        Perl_set_numeric_local(pTHX);
 VIRTUAL void   Perl_set_numeric_radix(pTHX);
 VIRTUAL void   Perl_set_numeric_standard(pTHX);
 VIRTUAL void   Perl_require_pv(pTHX_ const char* pv);
-VIRTUAL void   Perl_pidgone(pTHX_ int pid, int status);
+VIRTUAL void   Perl_pidgone(pTHX_ Pid_t pid, int status);
 VIRTUAL void   Perl_pmflag(pTHX_ U16* pmfl, int ch);
 VIRTUAL OP*    Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
 VIRTUAL OP*    Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
@@ -629,8 +633,8 @@ VIRTUAL void        Perl_sv_unref(pTHX_ SV* sv);
 VIRTUAL void   Perl_sv_untaint(pTHX_ SV* sv);
 VIRTUAL bool   Perl_sv_upgrade(pTHX_ SV* sv, U32 mt);
 VIRTUAL void   Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len);
-VIRTUAL void   Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
-VIRTUAL void   Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
+VIRTUAL void   Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted);
+VIRTUAL void   Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted);
 VIRTUAL SV*    Perl_swash_init(pTHX_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none);
 VIRTUAL UV     Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr);
 VIRTUAL void   Perl_taint_env(pTHX);
@@ -655,7 +659,7 @@ VIRTUAL UV  Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen);
 VIRTUAL U8*    Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
 VIRTUAL void   Perl_vivify_defelem(pTHX_ SV* sv);
 VIRTUAL void   Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
-VIRTUAL I32    Perl_wait4pid(pTHX_ int pid, int* statusp, int flags);
+VIRTUAL I32    Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags);
 VIRTUAL void   Perl_warn(pTHX_ const char* pat, ...);
 VIRTUAL void   Perl_vwarn(pTHX_ const char* pat, va_list* args);
 VIRTUAL void   Perl_warner(pTHX_ U32 err, const char* pat, ...);
@@ -728,6 +732,11 @@ VIRTUAL void       Perl_sv_force_normal(pTHX_ SV *sv);
 VIRTUAL void   Perl_tmps_grow(pTHX_ I32 n);
 VIRTUAL SV*    Perl_sv_rvweaken(pTHX_ SV *sv);
 VIRTUAL int    Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
+VIRTUAL OP*    Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block);
+VIRTUAL CV*    Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
+VIRTUAL void   Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
+VIRTUAL OP *   Perl_my_attrs(pTHX_ OP *o, OP *attrs);
+VIRTUAL void   Perl_boot_core_xsutils(pTHX);
 #if defined(PERL_OBJECT)
 protected:
 #endif
@@ -783,6 +792,9 @@ STATIC bool S_is_handle_constructor(pTHX_ OP *o, I32 argnum);
 STATIC char*   S_gv_ename(pTHX_ GV *gv);
 STATIC CV*     S_cv_clone2(pTHX_ CV *proto, CV *outside);
 STATIC bool    S_scalar_mod_type(pTHX_ OP *o, I32 type);
+STATIC OP *    S_my_kid(pTHX_ OP *o, OP *attrs);
+STATIC OP *    S_dup_attrlist(pTHX_ OP *o);
+STATIC void    S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs);
 #  if defined(PL_OP_SLAB_ALLOC)
 STATIC void*   S_Slab_Alloc(pTHX_ int m, size_t sz);
 #  endif
@@ -845,7 +857,7 @@ STATIC SV*  S_method_common(pTHX_ SV* meth, U32* hashp);
 #endif
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
 STATIC OP*     S_doform(pTHX_ CV *cv, GV *gv, OP *retop);
-STATIC int     S_emulate_eaccess(pTHX_ const char* path, int mode);
+STATIC int     S_emulate_eaccess(pTHX_ const char* path, Mode_t mode);
 #  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
 STATIC int     S_dooneliner(pTHX_ char *cmd, char *filename);
 #  endif
@@ -901,14 +913,39 @@ STATIC SV*        S_more_sv(pTHX);
 STATIC void    S_more_xiv(pTHX);
 STATIC void    S_more_xnv(pTHX);
 STATIC void    S_more_xpv(pTHX);
+STATIC void    S_more_xpviv(pTHX);
+STATIC void    S_more_xpvnv(pTHX);
+STATIC void    S_more_xpvcv(pTHX);
+STATIC void    S_more_xpvav(pTHX);
+STATIC void    S_more_xpvhv(pTHX);
+STATIC void    S_more_xpvmg(pTHX);
+STATIC void    S_more_xpvlv(pTHX);
+STATIC void    S_more_xpvbm(pTHX);
 STATIC void    S_more_xrv(pTHX);
 STATIC XPVIV*  S_new_xiv(pTHX);
 STATIC XPVNV*  S_new_xnv(pTHX);
 STATIC XPV*    S_new_xpv(pTHX);
+STATIC XPV*    S_new_xpv(pTHX);
+STATIC XPVIV*  S_new_xpviv(pTHX);
+STATIC XPVNV*  S_new_xpvnv(pTHX);
+STATIC XPVCV*  S_new_xpvcv(pTHX);
+STATIC XPVAV*  S_new_xpvav(pTHX);
+STATIC XPVHV*  S_new_xpvhv(pTHX);
+STATIC XPVMG*  S_new_xpvmg(pTHX);
+STATIC XPVLV*  S_new_xpvlv(pTHX);
+STATIC XPVBM*  S_new_xpvbm(pTHX);
 STATIC XRV*    S_new_xrv(pTHX);
 STATIC void    S_del_xiv(pTHX_ XPVIV* p);
 STATIC void    S_del_xnv(pTHX_ XPVNV* p);
 STATIC void    S_del_xpv(pTHX_ XPV* p);
+STATIC void    S_del_xpviv(pTHX_ XPVIV* p);
+STATIC void    S_del_xpvnv(pTHX_ XPVNV* p);
+STATIC void    S_del_xpvcv(pTHX_ XPVCV* p);
+STATIC void    S_del_xpvav(pTHX_ XPVAV* p);
+STATIC void    S_del_xpvhv(pTHX_ XPVHV* p);
+STATIC void    S_del_xpvmg(pTHX_ XPVMG* p);
+STATIC void    S_del_xpvlv(pTHX_ XPVLV* p);
+STATIC void    S_del_xpvbm(pTHX_ XPVBM* p);
 STATIC void    S_del_xrv(pTHX_ XRV* p);
 STATIC void    S_sv_unglob(pTHX_ SV* sv);
 STATIC void    S_not_a_number(pTHX_ SV *sv);
@@ -937,7 +974,7 @@ STATIC char*        S_scan_heredoc(pTHX_ char *s);
 STATIC char*   S_scan_ident(pTHX_ char *s, char *send, char *dest, STRLEN destlen, I32 ck_uni);
 STATIC char*   S_scan_inputsymbol(pTHX_ char *start);
 STATIC char*   S_scan_pat(pTHX_ char *start, I32 type);
-STATIC char*   S_scan_str(pTHX_ char *start);
+STATIC char*   S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims);
 STATIC char*   S_scan_subst(pTHX_ char *start);
 STATIC char*   S_scan_trans(pTHX_ char *start);
 STATIC char*   S_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp);