Commit | Line | Data |
76e3520e |
1 | /* |
2 | |
f7a92b15 |
3 | ipproc.h |
4 | Interface for perl process functions |
76e3520e |
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 |
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 |
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 |
51 | #endif |
52 | }; |
53 | |
54 | #endif /* __Inc__IPerlProc___ */ |
55 | |