This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl 5.002gamma: hints/linux.sh
[perl5.git] / proto.h
diff --git a/proto.h b/proto.h
index b132a01..d92ac1a 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -48,7 +48,9 @@ void  cv_undef _((CV* cv));
 #ifdef DEBUGGING
 void   cx_dump _((CONTEXT* cs));
 #endif
-void   cryptswitch_add _((cryptswitch_t funcp));
+SV *   filter_add _((filter_t funcp, SV *datasv));
+void   filter_del _((filter_t funcp));
+I32    filter_read _((int idx, SV *buffer, int maxlen));
 I32    cxinc _((void));
 void   deb _((char* pat,...)) __attribute__((format(printf,1,2)));
 void   deb_growlevel _((void));
@@ -78,7 +80,8 @@ OP*   do_kv _((void));
 I32    do_msgrcv _((SV** mark, SV** sp));
 I32    do_msgsnd _((SV** mark, SV** sp));
 #endif
-bool   do_open _((GV* gv, char* name, I32 len, FILE* supplied_fp));
+bool   do_open _((GV* gv, char* name, I32 len,
+                  int as_raw, int rawmode, int rawperm, FILE* supplied_fp));
 void   do_pipe _((SV* sv, GV* rgv, GV* wgv));
 bool   do_print _((SV* sv, FILE* fp));
 OP *   do_readline _((void));
@@ -93,6 +96,7 @@ long  do_tell _((GV* gv));
 I32    do_trans _((SV* sv, OP* arg));
 void   do_vecset _((SV* sv));
 void   do_vop _((I32 optype, SV* sv, SV* left, SV* right));
+I32    dowantarray _((void));
 void   dump_all _((void));
 void   dump_eval _((void));
 #ifdef DUMP_FDS  /* See util.c */
@@ -100,6 +104,7 @@ int dump_fds _((char* s));
 #endif
 void   dump_form _((GV* gv));
 void   dump_gv _((GV* gv));
+void   dump_mstats _((char* s));
 void   dump_op _((OP* arg));
 void   dump_pm _((PMOP* pm));
 void   dump_packsubs _((HV* stash));
@@ -187,9 +192,14 @@ int        magic_setvec    _((SV* sv, MAGIC* mg));
 int    magic_wipepack  _((SV* sv, MAGIC* mg));
 void   magicname _((char* sym, char* name, I32 namlen));
 int    main _((int argc, char** argv, char** env));
-#ifndef STANDARD_C
+#if !defined(STANDARD_C)
 Malloc_t       malloc _((MEM_SIZE nbytes));
 #endif
+#if defined(MYMALLOC) && defined(HIDEMYMALLOC)
+extern Malloc_t malloc _((MEM_SIZE nbytes));
+extern Malloc_t realloc _((Malloc_t, MEM_SIZE));
+extern Free_t   free _((Malloc_t));
+#endif
 void   markstack_grow _((void));
 char*  mess _((char* pat, va_list* args));
 int    mg_clear _((SV* sv));
@@ -202,18 +212,12 @@ void      mg_magical _((SV* sv));
 int    mg_set _((SV* sv));
 OP*    mod _((OP* op, I32 type));
 char*  moreswitches _((char* s));
-#ifdef MSTATS
-void   mstats _((char* s));
-#endif
 OP *   my _(( OP *));
 char*  my_bcopy _((char* from, char* to, I32 len));
 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
 char*  my_bzero _((char* loc, I32 len));
 #endif
 void   my_exit _((U32 status)) __attribute__((noreturn));
-#ifdef USE_MY_FMOD
-double my_fmod _((double x, double y));
-#endif
 I32    my_lstat _((void));
 #ifndef HAS_MEMCMP
 I32    my_memcmp _((unsigned char* s1, unsigned char* s2, I32 len));
@@ -230,7 +234,7 @@ long        my_ntohl _((long l));
 void   my_unexec _((void));
 OP*    newANONLIST _((OP* op));
 OP*    newANONHASH _((OP* op));
-OP*    newANONSUB _((I32 floor, OP* block));
+OP*    newANONSUB _((I32 floor, OP* proto, OP* block));
 OP*    newASSIGNOP _((I32 flags, OP* left, I32 optype, OP* right));
 OP*    newCONDOP _((I32 flags, OP* expr, OP* trueop, OP* falseop));
 void   newFORM _((I32 floor, OP* op, OP* block));
@@ -238,14 +242,13 @@ OP*       newFOROP _((I32 flags, char* label, line_t forline, OP* scalar, OP* expr, OP
 OP*    newLOGOP _((I32 optype, I32 flags, OP* left, OP* right));
 OP*    newLOOPEX _((I32 type, OP* label));
 OP*    newLOOPOP _((I32 flags, I32 debuggable, OP* expr, OP* block));
-OP*    newMETHOD _((OP* ref, OP* name));
 OP*    newNULLLIST _((void));
 OP*    newOP _((I32 optype, I32 flags));
 void   newPROG _((OP* op));
 OP*    newRANGE _((I32 flags, OP* left, OP* right));
 OP*    newSLICEOP _((I32 flags, OP* subscript, OP* list));
 OP*    newSTATEOP _((I32 flags, char* label, OP* o));
-CV*    newSUB _((I32 floor, OP* op, OP* block));
+CV*    newSUB _((I32 floor, OP* op, OP* proto, OP* block));
 CV*    newXS _((char *name, void (*subaddr)(CV* cv), char *filename));
 #ifdef DEPRECATED
 CV*    newXSUB _((char *name, I32 ix, I32 (*subaddr)(int,int,int), char *filename));
@@ -253,8 +256,7 @@ CV* newXSUB _((char *name, I32 ix, I32 (*subaddr)(int,int,int), char *filename))
 AV*    newAV _((void));
 OP*    newAVREF _((OP* o));
 OP*    newBINOP _((I32 type, I32 flags, OP* first, OP* last));
-OP*    newCVREF _((OP* o));
-OP*    newCVOP _((I32 type, I32 flags, CV* cv, OP* cont));
+OP*    newCVREF _((I32 flags, OP* o));
 OP*    newGVOP _((I32 type, I32 flags, GV* gv));
 GV*    newGVgen _((char *pack));
 OP*    newGVREF _((I32 type, OP* o));
@@ -300,20 +302,17 @@ I32       perl_call_argv _((char* subname, I32 flags, char** argv));
 I32    perl_call_method _((char* methname, I32 flags));
 I32    perl_call_pv _((char* subname, I32 flags));
 I32    perl_call_sv _((SV* sv, I32 flags));
-#ifdef DEPRECATED
-I32    perl_callargv _((char* subname, I32 sp, I32 gimme, char** argv));
-I32    perl_callpv _((char* subname, I32 sp, I32 gimme, I32 hasargs, I32 numargs));
-I32    perl_callsv _((SV* sv, I32 sp, I32 gimme, I32 hasargs, I32 numargs));
-#endif
 void   perl_construct _((PerlInterpreter* sv_interp));
 void   perl_destruct _((PerlInterpreter* sv_interp));
+I32    perl_eval_sv _((SV* sv, I32 flags));
 void   perl_free _((PerlInterpreter* sv_interp));
 SV*    perl_get_sv _((char* name, I32 create));
 AV*    perl_get_av _((char* name, I32 create));
 HV*    perl_get_hv _((char* name, I32 create));
 CV*    perl_get_cv _((char* name, I32 create));
 int    perl_parse _((PerlInterpreter* sv_interp, void(*xsinit)(void), int argc, char** argv, char** env));
-void   perl_requirepv _((char* pv));
+void   perl_require_pv _((char* pv));
+#define perl_requirepv perl_require_pv
 int    perl_run _((PerlInterpreter* sv_interp));
 void   pidgone _((int pid, int status));
 void   pmflag _((U16* pmfl, int ch));
@@ -324,12 +323,12 @@ void      pop_scope _((void));
 OP*    prepend_elem _((I32 optype, OP* head, OP* tail));
 void   push_return _((OP* op));
 void   push_scope _((void));
-regexp*        regcomp _((char* exp, char* xend, PMOP* pm));
+regexp*        pregcomp _((char* exp, char* xend, PMOP* pm));
 OP*    ref _((OP* op, I32 type));
 OP*    refkids _((OP* op, I32 type));
 void   regdump _((regexp* r));
-I32    regexec _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, I32 safebase));
-void   regfree _((struct regexp* r));
+I32    pregexec _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, I32 safebase));
+void   pregfree _((struct regexp* r));
 char*  regnext _((char* p));
 char*  regprop _((char* op));
 void   repeatcpy _((char* to, char* from, I32 len, I32 count));
@@ -390,6 +389,7 @@ char*       screaminstr _((SV* bigsv, SV* littlesv));
 #ifndef VMS
 I32    setenv_getix _((char* nam));
 #endif
+void   setdefout _((GV *gv));
 Signal_t sighandler _((int sig));
 SV**   stack_grow _((SV** sp, SV**p, int n));
 int    start_subparse _((void));
@@ -400,6 +400,7 @@ IV  sv_2iv _((SV* sv));
 SV*    sv_2mortal _((SV* sv));
 double sv_2nv _((SV* sv));
 char*  sv_2pv _((SV* sv, STRLEN* lp));
+void   sv_add_arena _((char* ptr, U32 size, U32 flags));
 int    sv_backoff _((SV* sv));
 SV*    sv_bless _((SV* sv, HV* stash));
 void   sv_catpv _((SV* sv, char* ptr));
@@ -414,6 +415,7 @@ void        sv_dec _((SV* sv));
 void   sv_dump _((SV* sv));
 I32    sv_eq _((SV* sv1, SV* sv2));
 void   sv_free _((SV* sv));
+void   sv_free_arenas _((void));
 char*  sv_gets _((SV* sv, FILE* fp, I32 append));
 #ifndef DOSISH
 char*  sv_grow _((SV* sv, I32 newlen));
@@ -451,8 +453,10 @@ void       sv_usepvn _((SV* sv, char* ptr, STRLEN len));
 void   taint_env _((void));
 void   taint_not _((char *s));
 void   taint_proper _((char* f, char* s));
+#ifdef UNLINK_ALL_VERSIONS
 I32    unlnk _((char* f));
-void   utilize _((int aver, OP* id, OP* arg));
+#endif
+void   utilize _((int aver, I32 floor, OP* id, OP* arg));
 I32    wait4pid _((int pid, int* statusp, int flags));
 void   warn _((char* pat,...)) __attribute__((format(printf,1,2)));
 void   watch _((char **addr));