acl/lib_acl/include/stdlib/acl_vstream_popen.h

35 lines
947 B
C

#ifndef ACL_VSTREAM_POPEN_INCLUDE_H
#define ACL_VSTREAM_POPEN_INCLUDE_H
#ifdef __cplusplus
extern "C" {
#endif
#include "acl_define.h"
#include "acl_vstream.h"
#ifdef ACL_UNIX
#define DUP2 dup2
#endif
ACL_API ACL_VSTREAM *acl_vstream_popen(int,...);
ACL_API int acl_vstream_pclose(ACL_VSTREAM *);
#define acl_vstream_ispipe(vp) ((vp)->pid != 0)
#define ACL_VSTREAM_POPEN_END 0 /* terminator */
#define ACL_VSTREAM_POPEN_COMMAND 1 /* command is string */
#define ACL_VSTREAM_POPEN_ARGV 2 /* command is array */
#define ACL_VSTREAM_POPEN_UID 3 /* privileges */
#define ACL_VSTREAM_POPEN_GID 4 /* privileges */
#define ACL_VSTREAM_POPEN_ENV 5 /* extra environment */
#define ACL_VSTREAM_POPEN_SHELL 6 /* alternative shell */
#define ACL_VSTREAM_POPEN_WAITPID_FN 7 /* child catcher, waitpid() compat. */
#define ACL_VSTREAM_POPEN_EXPORT 8 /* exportable environment */
#ifdef __cplusplus
}
#endif
#endif