Commit | Line | Data |
---|---|---|
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 | |
12 | typedef Signal_t (*Sighandler_t) _((int)); | |
13 | #endif | |
14 | #ifndef jmp_buf | |
15 | #include <setjmp.h> | |
16 | #endif | |
17 | ||
18 | class IPerlProc | |
19 | { | |
20 | public: | |
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 |