version 1.1.2.4, 2013/12/05 15:13:57
|
version 1.6, 2020/06/19 23:07:20
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 | Copyright 2004 - 2020 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 48 SUCH DAMAGE.
|
Line 48 SUCH DAMAGE.
|
|
|
|
|
struct tagPIOPID { |
struct tagPIOPID { |
FILE *fp; | union { |
| FILE *fp; |
| int fd; |
| } f; |
pid_t pid; |
pid_t pid; |
int stat; |
int stat; |
|
|
Line 66 extern pio_pid_t pio_pidlist;
|
Line 69 extern pio_pid_t pio_pidlist;
|
* @command = command |
* @command = command |
* @type = type |
* @type = type |
* @ppid = return pid of child program |
* @ppid = return pid of child program |
|
* If value of *ppid is -1 when invoke routine then child will be session leader |
* return: NULL error or !=NULL open program |
* return: NULL error or !=NULL open program |
*/ |
*/ |
|
#ifdef POPEN_STREAM |
FILE *e_popen(const char *command, const char *type, pid_t *ppid); |
FILE *e_popen(const char *command, const char *type, pid_t *ppid); |
|
#else |
|
int e_popen(const char *command, const char *type, pid_t *ppid); |
|
#endif |
/* |
/* |
|
* e_popen2() - ELWIX replacement of standard popen with post close of chosen handles |
|
* |
|
* @command = command |
|
* @type = type |
|
* @ppid = return pid of child program |
|
* If value of *ppid is -1 when invoke routine then child will be session leader |
|
* @fds = file descriptor array for close when fork |
|
* @fdslen = fds number of descriptors |
|
* return: NULL error or !=NULL open program |
|
*/ |
|
#ifdef POPEN_STREAM |
|
FILE *e_popen2(const char *command, const char *type, pid_t *ppid, int *fds, size_t fdslen); |
|
#else |
|
int e_popen2(const char *command, const char *type, pid_t *ppid, int *fds, size_t fdslen); |
|
#endif |
|
/* |
* e_pclose() - ELWIX replacement of standard pclose |
* e_pclose() - ELWIX replacement of standard pclose |
* |
* |
* @iop = popen handle |
* @iop = popen handle |
* return: -1 error or !=-1 pid status |
* return: -1 error or !=-1 pid status |
*/ |
*/ |
|
#ifdef POPEN_STREAM |
int e_pclose(FILE *iop); |
int e_pclose(FILE *iop); |
|
#else |
|
int e_pclose(int iop); |
|
#endif |
|
|
/* |
/* |
* pio_pgetpid() - Get tagPIOPID structure from file handle |
* pio_pgetpid() - Get tagPIOPID structure from file handle |
Line 83 int e_pclose(FILE *iop);
|
Line 111 int e_pclose(FILE *iop);
|
* @iop = popen handle |
* @iop = popen handle |
* return: NULL error or !=NULL tagPIOPID structure |
* return: NULL error or !=NULL tagPIOPID structure |
*/ |
*/ |
struct tagPIOPID *pio_pgetpid(FILE * __restrict iop); | #ifdef POPEN_STREAM |
| struct tagPIOPID *pio_pgetpid(FILE *iop); |
| #else |
| struct tagPIOPID *pio_pgetpid(int iop); |
| #endif |
| /* |
| * pio_pchkpid() - Check exit status of child programs |
| * |
| * @pids = return tagPIOPID structures of exited programs, |
| * if !=NULL must call array_Destroy() |
| * return: -1 error or >-1 exited programs |
| */ |
| int pio_pchkpid(array_t ** __restrict pids); |
|
|
|
|
#endif |
#endif |