[asperl] fix up missing patches from AS patch#2
Gurusamy Sarathy [Fri, 30 Jan 1998 21:23:15 +0000 (21:23 +0000)]
p4raw-id: //depot/asperl@449

perldir.h
perlenv.h
perllio.h
perlmem.h
perlproc.h
perlsock.h
pp_ctl.c
proto.h

index 45b3ba6..1bc4b8a 100644 (file)
--- a/perldir.h
+++ b/perldir.h
@@ -2,6 +2,18 @@
 #define H_PERLDIR 1
 
 #ifdef PERL_OBJECT
+
+#include "ipdir.h"
+
+#define PerlDir_mkdir(name, mode) piDir->MKdir((name), (mode), ErrorNo())
+#define PerlDir_chdir(name) piDir->Chdir((name), ErrorNo())
+#define PerlDir_rmdir(name) piDir->Rmdir((name), ErrorNo())
+#define PerlDir_close(dir) piDir->Close((dir), ErrorNo())
+#define PerlDir_open(name) piDir->Open((name), ErrorNo())
+#define PerlDir_read(dir) piDir->Read((dir), ErrorNo())
+#define PerlDir_rewind(dir) piDir->Rewind((dir), ErrorNo())
+#define PerlDir_seek(dir, loc) piDir->Seek((dir), (loc), ErrorNo())
+#define PerlDir_tell(dir) piDir->Tell((dir), ErrorNo())
 #else
 #define PerlDir_mkdir(name, mode) mkdir((name), (mode))
 #define PerlDir_chdir(name) chdir((name))
index 49319c6..6f4211e 100644 (file)
--- a/perlenv.h
+++ b/perlenv.h
@@ -2,6 +2,12 @@
 #define H_PERLENV 1
 
 #ifdef PERL_OBJECT
+
+#include "ipenv.h"
+
+#define PerlEnv_putenv(str) piENV->Putenv((str), ErrorNo())
+#define PerlEnv_getenv(str) piENV->Getenv((str), ErrorNo())
+#define PerlEnv_lib_path       piENV->LibPath
 #else
 #define PerlEnv_putenv(str) putenv((str))
 #define PerlEnv_getenv(str) getenv((str))
index c756aaf..0b0f591 100644 (file)
--- a/perllio.h
+++ b/perllio.h
@@ -2,6 +2,33 @@
 #define H_PERLLIO 1
 
 #ifdef PERL_OBJECT
+
+#include "iplio.h"
+
+#define PerlLIO_access(file, mode) piLIO->Access((file), (mode), ErrorNo())
+#define PerlLIO_chmod(file, mode) piLIO->Chmod((file), (mode), ErrorNo())
+#define PerlLIO_chsize(fd, size) piLIO->Chsize((fd), (size), ErrorNo())
+#define PerlLIO_close(fd) piLIO->Close((fd), ErrorNo())
+#define PerlLIO_dup(fd) piLIO->Dup((fd), ErrorNo())
+#define PerlLIO_dup2(fd1, fd2) piLIO->Dup2((fd1), (fd2), ErrorNo())
+#define PerlLIO_flock(fd, op) piLIO->Flock((fd), (op), ErrorNo())
+#define PerlLIO_fstat(fd, buf) piLIO->FStat((fd), (buf), ErrorNo())
+#define PerlLIO_ioctl(fd, u, buf) piLIO->IOCtl((fd), (u), (buf), ErrorNo())
+#define PerlLIO_isatty(fd) piLIO->Isatty((fd), ErrorNo())
+#define PerlLIO_lseek(fd, offset, mode) piLIO->Lseek((fd), (offset), (mode), ErrorNo())
+#define PerlLIO_lstat(name, buf) piLIO->Lstat((name), (buf), ErrorNo())
+#define PerlLIO_mktemp(file) piLIO->Mktemp((file), ErrorNo())
+#define PerlLIO_open(file, flag) piLIO->Open((file), (flag), ErrorNo())
+#define PerlLIO_open3(file, flag, perm) piLIO->Open((file), (flag), (perm), ErrorNo())
+#define PerlLIO_read(fd, buf, count) piLIO->Read((fd), (buf), (count), ErrorNo())
+#define PerlLIO_rename(oldname, newname) piLIO->Rename((oldname), (newname), ErrorNo())
+#define PerlLIO_setmode(fd, mode) piLIO->Setmode((fd), (mode), ErrorNo())
+#define PerlLIO_stat(name, buf) piLIO->STat((name), (buf), ErrorNo())
+#define PerlLIO_tmpnam(str) piLIO->Tmpnam((str), ErrorNo())
+#define PerlLIO_umask(mode) piLIO->Umask((mode), ErrorNo())
+#define PerlLIO_unlink(file) piLIO->Unlink((file), ErrorNo())
+#define PerlLIO_utime(file, time) piLIO->Utime((file), (time), ErrorNo())
+#define PerlLIO_write(fd, buf, count) piLIO->Write((fd), (buf), (count), ErrorNo())
 #else
 #define PerlLIO_access(file, mode) access((file), (mode))
 #define PerlLIO_chmod(file, mode) chmod((file), (mode))
@@ -9,7 +36,9 @@
 #define PerlLIO_close(fd) close((fd))
 #define PerlLIO_dup(fd) dup((fd))
 #define PerlLIO_dup2(fd1, fd2) dup2((fd1), (fd2))
+#define PerlLIO_flock(fd, op) FLOCK((fd), (op))
 #define PerlLIO_fstat(fd, buf) Fstat((fd), (buf))
+#define PerlLIO_ioctl(fd, u, buf) ioctl((fd), (u), (buf))
 #define PerlLIO_isatty(fd) isatty((fd))
 #define PerlLIO_lseek(fd, offset, mode) lseek((fd), (offset), (mode))
 #define PerlLIO_lstat(name, buf) lstat((name), (buf))
index 78b8676..5c2efdb 100644 (file)
--- a/perlmem.h
+++ b/perlmem.h
@@ -2,6 +2,12 @@
 #define H_PERLMEM 1
 
 #ifdef PERL_OBJECT
+
+#include "ipmem.h"
+
+#define PerlMem_malloc(size) piMem->Malloc((size))
+#define PerlMem_realloc(buf, size) piMem->Realloc((buf), (size))
+#define PerlMem_free(buf) piMem->Free((buf))
 #else
 #define PerlMem_malloc(size) malloc((size))
 #define PerlMem_realloc(buf, size) realloc((buf), (size))
index 40218c2..8e58c22 100644 (file)
@@ -2,6 +2,42 @@
 #define H_PERLPROC 1
 
 #ifdef PERL_OBJECT
+
+#include "ipproc.h"
+
+#define PerlProc_abort() piProc->Abort()
+#define PerlProc_exit(s) piProc->Exit((s))
+#define PerlProc__exit(s) piProc->_Exit((s))
+#define PerlProc_execl(c, w, x, y, z) piProc->Execl((c), (w), (x), (y), (z))
+#define PerlProc_execv(c, a) piProc->Execv((c), (a))
+#define PerlProc_execvp(c, a) piProc->Execvp((c), (a))
+#define PerlProc_getuid() piProc->Getuid()
+#define PerlProc_geteuid() piProc->Geteuid()
+#define PerlProc_getgid() piProc->Getgid()
+#define PerlProc_getegid() piProc->Getegid()
+#define PerlProc_getlogin() piProc->Getlogin()
+#define PerlProc_kill(i, a) piProc->Kill((i), (a))
+#define PerlProc_killpg(i, a) piProc->Killpg((i), (a))
+#define PerlProc_pause() piProc->PauseProc()
+#define PerlProc_popen(c, m) piProc->Popen((c), (m))
+#define PerlProc_pclose(f) piProc->Pclose((f))
+#define PerlProc_pipe(fd) piProc->Pipe((fd))
+#define PerlProc_setuid(u) piProc->Setuid((u))
+#define PerlProc_setgid(g) piProc->Setgid((g))
+#define PerlProc_sleep(t) piProc->Sleep((t))
+#define PerlProc_times(t) piProc->Times((t))
+#define PerlProc_wait(t) piProc->Wait((t))
+#define PerlProc_setjmp(b, n) Sigsetjmp((b), (n))
+#define PerlProc_longjmp(b, n) Siglongjmp((b), (n))
+#define PerlProc_signal(n, h) piProc->Signal((n), (h))
+#ifdef WIN32
+#define PerlProc_GetSysMsg(s,l,e) piProc->GetSysMsg((s), (l), (e))
+#define PerlProc_FreeBuf(s) piProc->FreeBuf((s))
+#define PerlProc_Cmd(s) piProc->DoCmd((s))
+#define do_spawn(s) piProc->Spawn((s))
+#define do_spawnvp(m, c, a) piProc->Spawnvp((m), (c), (a))
+#define PerlProc_aspawn(m, c, a) piProc->ASpawn((m), (c), (a))
+#endif
 #else
 #define PerlProc_abort() abort()
 #define PerlProc_exit(s) exit((s))
 #define PerlProc_execl(c, w, x, y, z) execl((c), (w), (x), (y), (z))
 #define PerlProc_execv(c, a) execv((c), (a))
 #define PerlProc_execvp(c, a) execvp((c), (a))
+#define PerlProc_getuid() getuid()
+#define PerlProc_geteuid() geteuid()
+#define PerlProc_getgid() getgid()
+#define PerlProc_getegid() getegid()
+#define PerlProc_getlogin() getlogin()
 #define PerlProc_kill(i, a) kill((i), (a))
 #define PerlProc_killpg(i, a) killpg((i), (a))
+#define PerlProc_pause() Pause()
 #define PerlProc_popen(c, m) my_popen((c), (m))
 #define PerlProc_pclose(f) my_pclose((f))
 #define PerlProc_pipe(fd) pipe((fd))
+#define PerlProc_setuid(u) setuid((u))
+#define PerlProc_setgid(g) setgid((g))
+#define PerlProc_sleep(t) sleep((t))
+#define PerlProc_times(t) times((t))
+#define PerlProc_wait(t) wait((t))
 #define PerlProc_setjmp(b, n) Sigsetjmp((b), (n))
 #define PerlProc_longjmp(b, n) Siglongjmp((b), (n))
 #define PerlProc_signal(n, h) signal((n), (h))
index 5c83082..d1ae265 100644 (file)
@@ -2,36 +2,95 @@
 #define H_PERLSOCK 1
 
 #ifdef PERL_OBJECT
+
+#include "ipsock.h"
+
+#define PerlSock_htonl(x) piSock->Htonl(x)
+#define PerlSock_htons(x) piSock->Htons(x)
+#define PerlSock_ntohl(x) piSock->Ntohl(x)
+#define PerlSock_ntohs(x) piSock->Ntohs(x)
+#define PerlSock_accept(s, a, l) piSock->Accept(s, a, l, ErrorNo())
+#define PerlSock_bind(s, n, l) piSock->Bind(s, n, l, ErrorNo())
+#define PerlSock_connect(s, n, l) piSock->Connect(s, n, l, ErrorNo())
+#define PerlSock_endhostent() piSock->Endhostent(ErrorNo())
+#define PerlSock_endnetent() piSock->Endnetent(ErrorNo())
+#define PerlSock_endprotoent() piSock->Endprotoent(ErrorNo())
+#define PerlSock_endservent() piSock->Endservent(ErrorNo())
+#define PerlSock_gethostbyaddr(a, l, t) piSock->Gethostbyaddr(a, l, t, ErrorNo())
+#define PerlSock_gethostbyname(n) piSock->Gethostbyname(n, ErrorNo())
+#define PerlSock_gethostent() piSock->Gethostent(ErrorNo())
+#define PerlSock_gethostname(n, l) piSock->Gethostname(n, l, ErrorNo())
+#define PerlSock_getnetbyaddr(n, t) piSock->Getnetbyaddr(n, t, ErrorNo())
+#define PerlSock_getnetbyname(c) piSock->Getnetbyname(c, ErrorNo())
+#define PerlSock_getnetent() piSock->Getnetent(ErrorNo())
+#define PerlSock_getpeername(s, n, l) piSock->Getpeername(s, n, l, ErrorNo())
+#define PerlSock_getprotobyname(n) piSock->Getprotobyname(n, ErrorNo())
+#define PerlSock_getprotobynumber(n) piSock->Getprotobynumber(n, ErrorNo())
+#define PerlSock_getprotoent() piSock->Getprotoent(ErrorNo())
+#define PerlSock_getservbyname(n, p) piSock->Getservbyname(n, p, ErrorNo())
+#define PerlSock_getservbyport(port, p) piSock->Getservbyport(port, p, ErrorNo())
+#define PerlSock_getservent() piSock->Getservent(ErrorNo())
+#define PerlSock_getsockname(s, n, l) piSock->Getsockname(s, n, l, ErrorNo())
+#define PerlSock_getsockopt(s, l, n, v, i) piSock->Getsockopt(s, l, n, v, i, ErrorNo())
+#define PerlSock_inet_addr(c) piSock->InetAddr(c, ErrorNo())
+#define PerlSock_inet_ntoa(i) piSock->InetNtoa(i, ErrorNo())
+#define PerlSock_listen(s, b) piSock->Listen(s, b, ErrorNo())
+#define PerlSock_recvfrom(s, b, l, f, from, fromlen) piSock->Recvfrom(s, b, l, f, from, fromlen, ErrorNo())
+#define PerlSock_select(n, r, w, e, t) piSock->Select(n, (char*)r, (char*)w, (char*)e, t, ErrorNo())
+#define PerlSock_send(s, b, l, f) piSock->Send(s, b, l, f, ErrorNo())
+#define PerlSock_sendto(s, b, l, f, t, tlen) piSock->Sendto(s, b, l, f, t, tlen, ErrorNo())
+#define PerlSock_sethostent(f) piSock->Sethostent(f, ErrorNo())
+#define PerlSock_setnetent(f) piSock->Setnetent(f, ErrorNo())
+#define PerlSock_setprotoent(f) piSock->Setprotoent(f, ErrorNo())
+#define PerlSock_setservent(f) piSock->Setservent(f, ErrorNo())
+#define PerlSock_setsockopt(s, l, n, v, len) piSock->Setsockopt(s, l, n, v, len, ErrorNo())
+#define PerlSock_shutdown(s, h) piSock->Shutdown(s, h, ErrorNo())
+#define PerlSock_socket(a, t, p) piSock->Socket(a, t, p, ErrorNo())
+#define PerlSock_socketpair(a, t, p, f) piSock->Socketpair(a, t, p, f, ErrorNo())
 #else
-#define PerlSock_htonl(x) htonl((x))
-#define PerlSock_htons(x) htons((x))
-#define PerlSock_ntohl(x) ntohl((x))
-#define PerlSock_ntohs(x) ntohs((x))
-#define PerlSock_accept(s, a, l) accept((s), (a), (l))
-#define PerlSock_bind(s, n, l) bind((s), (n), (l))
-#define PerlSock_connect(s, n, l) connect((s), (n), (l))
-#define PerlSock_gethostbyaddr(a, l, t) gethostbyaddr((a), (l), (t))
-#define PerlSock_gethostbyname(n) gethostbyname((n))
+#define PerlSock_htonl(x) htonl(x)
+#define PerlSock_htons(x) htons(x)
+#define PerlSock_ntohl(x) ntohl(x)
+#define PerlSock_ntohs(x) ntohs(x)
+#define PerlSock_accept(s, a, l) accept(s, a, l)
+#define PerlSock_bind(s, n, l) bind(s, n, l)
+#define PerlSock_connect(s, n, l) connect(s, n, l)
+#define PerlSock_endhostent() endhostent()
+#define PerlSock_endnetent() endnetent()
+#define PerlSock_endprotoent() endprotoent()
+#define PerlSock_endservent() endservent()
+#define PerlSock_gethostbyaddr(a, l, t) gethostbyaddr(a, l, t)
+#define PerlSock_gethostbyname(n) gethostbyname(n)
 #define PerlSock_gethostent() gethostent()
-#define PerlSock_gethostname(n, l) gethostname((n), (l))
-#define PerlSock_getpeername(s, n, l) getpeername((s), (n), (l))
-#define PerlSock_getprotobyname(n) getprotobyname((n))
-#define PerlSock_getprotobynumber(n) getprotobynumber((n))
+#define PerlSock_gethostname(n, l) gethostname(n, l)
+#define PerlSock_getnetbyaddr(n, t) getnetbyaddr(n, t)
+#define PerlSock_getnetbyname(c) getnetbyname(c)
+#define PerlSock_getnetent() getnetent()
+#define PerlSock_getpeername(s, n, l) getpeername(s, n, l)
+#define PerlSock_getprotobyname(n) getprotobyname(n)
+#define PerlSock_getprotobynumber(n) getprotobynumber(n)
 #define PerlSock_getprotoent() getprotoent()
-#define PerlSock_getservbyname(n, p) getservbyname((n), (p))
-#define PerlSock_getservbyport(port, p) getservbyport((port), (p))
+#define PerlSock_getservbyname(n, p) getservbyname(n, p)
+#define PerlSock_getservbyport(port, p) getservbyport(port, p)
 #define PerlSock_getservent() getservent()
-#define PerlSock_getsockname(s, n, l) getsockname((s), (n), (l))
-#define PerlSock_getsockopt(s, l, n, v, i) getsockopt((s), (l), (n), (v), (i))
-#define PerlSock_listen(s, b) listen((s), (b))
-#define PerlSock_recvfrom(s, b, l, f, from, fromlen) recvfrom((s), (b), (l), (f), (from), (fromlen))
-#define PerlSock_select(n, r, w, e, t) select((n), (r), (w), (e), (t))
-#define PerlSock_send(s, b, l, f) send((s), (b), (l), (f))
-#define PerlSock_sendto(s, b, l, f, t, tlen) sendto((s), (b), (l), (f), (t), (tlen))
-#define PerlSock_setsockopt(s, l, n, v, len) setsockopt((s), (l), (n), (v), (len))
-#define PerlSock_shutdown(s, h) shutdown((s), (h))
-#define PerlSock_socket(a, t, p) socket((a), (t), (p))
-#define PerlSock_socketpair(a, t, p, f) socketpair((a), (t), (p), (f))
+#define PerlSock_getsockname(s, n, l) getsockname(s, n, l)
+#define PerlSock_getsockopt(s, l, n, v, i) getsockopt(s, l, n, v, i)
+#define PerlSock_inet_addr(c) inet_addr(c)
+#define PerlSock_inet_ntoa(i) inet_ntoa(i)
+#define PerlSock_listen(s, b) listen(s, b)
+#define PerlSock_recvfrom(s, b, l, f, from, fromlen) recvfrom(s, b, l, f, from, fromlen)
+#define PerlSock_select(n, r, w, e, t) select(n, r, w, e, t)
+#define PerlSock_send(s, b, l, f) send(s, b, l, f)
+#define PerlSock_sendto(s, b, l, f, t, tlen) sendto(s, b, l, f, t, tlen)
+#define PerlSock_sethostent(f) sethostent(f)
+#define PerlSock_setnetent(f) setnetent(f)
+#define PerlSock_setprotoent(f) setprotoent(f)
+#define PerlSock_setservent(f) setservent(f)
+#define PerlSock_setsockopt(s, l, n, v, len) setsockopt(s, l, n, v, len)
+#define PerlSock_shutdown(s, h) shutdown(s, h)
+#define PerlSock_socket(a, t, p) socket(a, t, p)
+#define PerlSock_socketpair(a, t, p, f) socketpair(a, t, p, f)
 #endif /* PERL_OBJECT */
 
 #endif /* Include guard */
+
index f6afaac..1d17642 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1658,7 +1658,7 @@ PP(pp_redo)
 
 static OP* lastgotoprobe;
 
-static OP *
+STATIC OP *
 dofindlabel(OP *o, char *label, OP **opstack, OP **oplimit)
 {
     OP *kid;
@@ -1784,7 +1784,7 @@ PP(pp_goto)
                }
                else {
                    stack_sp--;         /* There is no cv arg. */
-                   (void)(*CvXSUB(cv))(cv);
+                   (void)(*CvXSUB(cv))(THIS_ cv);
                }
                LEAVE;
                return pop_return();
@@ -1986,7 +1986,7 @@ PP(pp_goto)
                if (op->op_type == OP_ENTERITER)
                    DIE("Can't \"goto\" into the middle of a foreach loop",
                        label);
-               (*op->op_ppaddr)(ARGS);
+               (CALLOP->op_ppaddr)(ARGS);
            }
            op = oldop;
        }
@@ -2074,7 +2074,7 @@ PP(pp_cswitch)
 
 /* Eval. */
 
-static void
+STATIC void
 save_lines(AV *array, SV *sv)
 {
     register char *s = SvPVX(sv);
@@ -2098,7 +2098,7 @@ save_lines(AV *array, SV *sv)
     }
 }
 
-static OP *
+STATIC OP *
 docatch(OP *o)
 {
     dTHR;
@@ -2127,7 +2127,7 @@ docatch(OP *o)
        restartop = 0;
        /* FALL THROUGH */
     case 0:
-        runops();
+        CALLRUNOPS();
        break;
     }
     JMPENV_POP;
@@ -2190,7 +2190,7 @@ sv_compile_2op(SV *sv, OP** startop, char *code, AV** avp)
 }
 
 /* With USE_THREADS, eval_owner must be held on entry to doeval */
-static OP *
+STATIC OP *
 doeval(int gimme, OP** startop)
 {
     dSP;
@@ -2739,7 +2739,7 @@ PP(pp_leavetry)
     RETURN;
 }
 
-static void
+STATIC void
 doparseform(SV *sv)
 {
     STRLEN len;
diff --git a/proto.h b/proto.h
index 2835d34..740a23e 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -499,44 +499,54 @@ VIRTUAL char*     screaminstr _((SV* bigsv, SV* littlesv, I32 start_shift, I32 end_s
 #ifndef VMS
 VIRTUAL I32    setenv_getix _((char* nam));
 #endif
-VIRTUAL int    magic_setdefelem _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setenv    _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setfm     _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setisa    _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setglob   _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setmglob  _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setnkeys  _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setpack   _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setpos    _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setsig    _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setsubstr _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_settaint  _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setuvar   _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_setvec    _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_set_all_env _((SV* sv, MAGIC* mg));
-VIRTUAL U32    magic_sizepack  _((SV* sv, MAGIC* mg));
-VIRTUAL int    magic_wipepack  _((SV* sv, MAGIC* mg));
-VIRTUAL void   magicname _((char* sym, char* name, I32 namlen));
-VIRTUAL int    main _((int argc, char** argv, char** env));
-VIRTUAL void   markstack_grow _((void));
+VIRTUAL void   setdefout _((GV* gv));
+VIRTUAL char*  sharepvn _((char* sv, I32 len, U32 hash));
+VIRTUAL HEK*   share_hek _((char* sv, I32 len, U32 hash));
+VIRTUAL Signal_t sighandler _((int sig));
+VIRTUAL SV**   stack_grow _((SV** sp, SV**p, int n));
+VIRTUAL I32    start_subparse _((I32 is_format, U32 flags));
+VIRTUAL void   sub_crush_depth _((CV* cv));
+VIRTUAL bool   sv_2bool _((SV* sv));
+VIRTUAL CV*    sv_2cv _((SV* sv, HV** st, GV** gvp, I32 lref));
+VIRTUAL IO*    sv_2io _((SV* sv));
+VIRTUAL IV     sv_2iv _((SV* sv));
+VIRTUAL SV*    sv_2mortal _((SV* sv));
+VIRTUAL double sv_2nv _((SV* sv));
+VIRTUAL char*  sv_2pv _((SV* sv, STRLEN* lp));
+VIRTUAL UV     sv_2uv _((SV* sv));
+VIRTUAL IV     sv_iv _((SV* sv));
+VIRTUAL UV     sv_uv _((SV* sv));
+VIRTUAL double sv_nv _((SV* sv));
+VIRTUAL char * sv_pvn _((SV *, STRLEN *));
+VIRTUAL I32    sv_true _((SV *));
+VIRTUAL void   sv_add_arena _((char* ptr, U32 size, U32 flags));
+VIRTUAL int    sv_backoff _((SV* sv));
+VIRTUAL SV*    sv_bless _((SV* sv, HV* stash));
+VIRTUAL void   sv_catpvf _((SV* sv, const char* pat, ...));
+VIRTUAL void   sv_catpv _((SV* sv, char* ptr));
+VIRTUAL void   sv_catpvn _((SV* sv, char* ptr, STRLEN len));
+VIRTUAL void   sv_catsv _((SV* dsv, SV* ssv));
+VIRTUAL void   sv_chop _((SV* sv, char* ptr));
+VIRTUAL void   sv_clean_all _((void));
+VIRTUAL void   sv_clean_objs _((void));
+VIRTUAL void   sv_clear _((SV* sv));
+VIRTUAL I32    sv_cmp _((SV* sv1, SV* sv2));
+VIRTUAL I32    sv_cmp_locale _((SV* sv1, SV* sv2));
 #ifdef USE_LOCALE_COLLATE
-VIRTUAL char*  mem_collxfrm _((const char* s, STRLEN len, STRLEN* xlen));
+VIRTUAL char*  sv_collxfrm _((SV* sv, STRLEN* nxp));
 #endif
-VIRTUAL char*  mess _((const char* pat, va_list* args));
-VIRTUAL int    mg_clear _((SV* sv));
-VIRTUAL int    mg_copy _((SV* , SV* , char* , I32));
-VIRTUAL MAGIC* mg_find _((SV* sv, int type));
-VIRTUAL int    mg_free _((SV* sv));
-VIRTUAL int    mg_get _((SV* sv));
-VIRTUAL U32    mg_len _((SV* sv));
-VIRTUAL void   mg_magical _((SV* sv));
-VIRTUAL int    mg_set _((SV* sv));
-VIRTUAL I32    mg_size _((SV* sv));
-VIRTUAL OP*    mod _((OP* o, I32 type));
-VIRTUAL char*  moreswitches _((char* s));
-VIRTUAL OP*    my _((OP* o));
-#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
-VIRTUAL char*  my_bcopy _((char* from, char* to, I32 len));
+VIRTUAL OP*    sv_compile_2op _((SV* sv, OP** startp, char* code, AV** avp));
+VIRTUAL void   sv_dec _((SV* sv));
+VIRTUAL void   sv_dump _((SV* sv));
+VIRTUAL bool   sv_derived_from _((SV* sv, char* name));
+VIRTUAL I32    sv_eq _((SV* sv1, SV* sv2));
+VIRTUAL void   sv_free _((SV* sv));
+VIRTUAL void   sv_free_arenas _((void));
+VIRTUAL char*  sv_gets _((SV* sv, PerlIO* fp, I32 append));
+#ifndef DOSISH
+VIRTUAL char*  sv_grow _((SV* sv, I32 newlen));
+#else
+VIRTUAL char*  sv_grow _((SV* sv, unsigned long newlen));
 #endif
 VIRTUAL void   sv_inc _((SV* sv));
 VIRTUAL void   sv_insert _((SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen));
@@ -586,42 +596,27 @@ VIRTUAL I32       unlnk _((char* f));
 #ifdef USE_THREADS
 VIRTUAL void   unlock_condpair _((void* svv));
 #endif
-VIRTUAL void   my_unexec _((void));
-VIRTUAL OP*    newANONLIST _((OP* o));
-VIRTUAL OP*    newANONHASH _((OP* o));
-VIRTUAL OP*    newANONSUB _((I32 floor, OP* proto, OP* block));
-VIRTUAL OP*    newASSIGNOP _((I32 flags, OP* left, I32 optype, OP* right));
-VIRTUAL OP*    newCONDOP _((I32 flags, OP* expr, OP* trueop, OP* falseop));
-VIRTUAL void   newFORM _((I32 floor, OP* o, OP* block));
-VIRTUAL OP*    newFOROP _((I32 flags, char* label, line_t forline, OP* scalar, OP* expr, OP*block, OP*cont));
-VIRTUAL OP*    newLOGOP _((I32 optype, I32 flags, OP* left, OP* right));
-VIRTUAL OP*    newLOOPEX _((I32 type, OP* label));
-VIRTUAL OP*    newLOOPOP _((I32 flags, I32 debuggable, OP* expr, OP* block));
-VIRTUAL OP*    newNULLLIST _((void));
-VIRTUAL OP*    newOP _((I32 optype, I32 flags));
-VIRTUAL void   newPROG _((OP* o));
-VIRTUAL OP*    newRANGE _((I32 flags, OP* left, OP* right));
-VIRTUAL OP*    newSLICEOP _((I32 flags, OP* subscript, OP* list));
-VIRTUAL OP*    newSTATEOP _((I32 flags, char* label, OP* o));
-VIRTUAL CV*    newSUB _((I32 floor, OP* o, OP* proto, OP* block));
-VIRTUAL CV*    newXS _((char* name, void (*subaddr)(CV* cv), char* filename));
-VIRTUAL AV*    newAV _((void));
-VIRTUAL OP*    newAVREF _((OP* o));
-VIRTUAL OP*    newBINOP _((I32 type, I32 flags, OP* first, OP* last));
-VIRTUAL OP*    newCVREF _((I32 flags, OP* o));
-VIRTUAL OP*    newGVOP _((I32 type, I32 flags, GV* gv));
-VIRTUAL GV*    newGVgen _((char* pack));
-VIRTUAL OP*    newGVREF _((I32 type, OP* o));
-VIRTUAL OP*    newHVREF _((OP* o));
-VIRTUAL HV*    newHV _((void));
-VIRTUAL IO*    newIO _((void));
-VIRTUAL OP*    newLISTOP _((I32 type, I32 flags, OP* first, OP* last));
-VIRTUAL OP*    newPMOP _((I32 type, I32 flags));
-VIRTUAL OP*    newPVOP _((I32 type, I32 flags, char* pv));
-VIRTUAL SV*    newRV _((SV* ref));
-#if !defined(__GNUC__) && (defined(CRIPPLED_CC) || defined(USE_THREADS))
-VIRTUAL SV*    newRV_noinc _((SV *));
+VIRTUAL void   unsharepvn _((char* sv, I32 len, U32 hash));
+VIRTUAL void   unshare_hek _((HEK* hek));
+VIRTUAL void   utilize _((int aver, I32 floor, OP* version, OP* id, OP* arg));
+VIRTUAL void   vivify_defelem _((SV* sv));
+VIRTUAL void   vivify_ref _((SV* sv, U32 to_what));
+VIRTUAL I32    wait4pid _((int pid, int* statusp, int flags));
+VIRTUAL void   warn _((const char* pat,...));
+VIRTUAL void   watch _((char** addr));
+VIRTUAL I32    whichsig _((char* sig));
+VIRTUAL int    yyerror _((char* s));
+VIRTUAL int    yylex _((void));
+VIRTUAL int    yyparse _((void));
+VIRTUAL int    yywarn _((char* s));
+
+#ifndef MYMALLOC
+VIRTUAL Malloc_t safemalloc _((MEM_SIZE nbytes));
+VIRTUAL Malloc_t safecalloc _((MEM_SIZE elements, MEM_SIZE size));
+VIRTUAL Malloc_t saferealloc _((Malloc_t where, MEM_SIZE nbytes));
+VIRTUAL Free_t   safefree _((Malloc_t where));
 #endif
+
 #ifdef LEAKTEST
 VIRTUAL Malloc_t safexmalloc _((I32 x, MEM_SIZE size));
 VIRTUAL Malloc_t safexcalloc _((I32 x, MEM_SIZE elements, MEM_SIZE size));