4 Interface for perl process functions
8 #ifndef __Inc__IPerlProc___
9 #define __Inc__IPerlProc___
12 typedef Signal_t (*Sighandler_t) _((int));
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;
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;
54 #endif /* __Inc__IPerlProc___ */