This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Re: 5.004_65 uninitialized variable regexec.c (2)
[perl5.git] / ipproc.h
CommitLineData
76e3520e
GS
1/*
2
f7a92b15
DL
3 ipproc.h
4 Interface for perl process functions
76e3520e
GS
5
6*/
7
8#ifndef __Inc__IPerlProc___
9#define __Inc__IPerlProc___
10
11#ifndef Sighandler_t
12typedef Signal_t (*Sighandler_t) _((int));
13#endif
14#ifndef jmp_buf
15#include <setjmp.h>
16#endif
17
18class IPerlProc
19{
20public:
f7a92b15
DL
21 virtual void Abort(void) = 0;
22 virtual void Exit(int status) = 0;
23 virtual void _Exit(int status) = 0;
24 virtual int Execl(const char *cmdname, const char *arg0, const char *arg1, const char *arg2, const char *arg3) = 0;
25 virtual int Execv(const char *cmdname, const char *const *argv) = 0;
26 virtual int Execvp(const char *cmdname, const char *const *argv) = 0;
27 virtual uid_t Getuid(void) = 0;
28 virtual uid_t Geteuid(void) = 0;
29 virtual gid_t Getgid(void) = 0;
30 virtual gid_t Getegid(void) = 0;
31 virtual char *Getlogin(void) = 0;
32 virtual int Kill(int pid, int sig) = 0;
33 virtual int Killpg(int pid, int sig) = 0;
34 virtual int PauseProc(void) = 0;
35 virtual PerlIO* Popen(const char *command, const char *mode) = 0;
36 virtual int Pclose(PerlIO *stream) = 0;
37 virtual int Pipe(int *phandles) = 0;
38 virtual int Setuid(uid_t uid) = 0;
39 virtual int Setgid(gid_t gid) = 0;
40 virtual int Sleep(unsigned int) = 0;
41 virtual int Times(struct tms *timebuf) = 0;
42 virtual int Wait(int *status) = 0;
43 virtual Sighandler_t Signal(int sig, Sighandler_t subcode) = 0;
76e3520e 44#ifdef WIN32
f7a92b15
DL
45 virtual void GetSysMsg(char*& msg, DWORD& dwLen, DWORD dwErr) = 0;
46 virtual void FreeBuf(char* msg) = 0;
47 virtual BOOL DoCmd(char *cmd) = 0;
48 virtual int Spawn(char*cmds) = 0;
49 virtual int Spawnvp(int mode, const char *cmdname, const char *const *argv) = 0;
50 virtual int ASpawn(void *vreally, void **vmark, void **vsp) = 0;
76e3520e
GS
51#endif
52};
53
54#endif /* __Inc__IPerlProc___ */
55