From 7cf4c53d1ed645e185da310d27f3dcd627e4e42b Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Wed, 31 Jan 2007 18:40:34 +0000 Subject: libiberty.h (PEX_STDERR_TO_PIPE): New define. include/ * libiberty.h (PEX_STDERR_TO_PIPE): New define. (PEX_BINARY_ERROR): New define. (pex_read_err): New function. libiberty/ * pex-common.h (struct pex_obj): New fields stderr_pipe and read_err. * pex-common.c (pex_init_common): Initialize stderr_pipe. From-SVN: r121430 --- include/libiberty.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'include/libiberty.h') diff --git a/include/libiberty.h b/include/libiberty.h index 27291c98868..cc6cce3d220 100644 --- a/include/libiberty.h +++ b/include/libiberty.h @@ -400,6 +400,19 @@ extern struct pex_obj *pex_init (int flags, const char *pname, PEX_BINARY_INPUT. */ #define PEX_BINARY_OUTPUT 0x20 +/* Capture stderr to a pipe. The output can be read by + calling pex_read_err and reading from the returned + FILE object. This flag may be specified only for + the last program in a pipeline. + + This flag is supported only on Unix and Windows. */ +#define PEX_STDERR_TO_PIPE 0x40 + +/* Capture stderr in binary mode. This flag is ignored + on Unix. */ +#define PEX_BINARY_ERROR 0x80 + + /* Execute one program. Returns NULL on success. On error returns an error string (typically just the name of a system call); the error string is statically allocated. @@ -521,6 +534,14 @@ extern FILE *pex_input_pipe (struct pex_obj *obj, int binary); extern FILE *pex_read_output (struct pex_obj *, int binary); +/* Read the standard error of the last program to be executed. + pex_run can not be called after this. BINARY should be non-zero if + the file should be opened in binary mode; this is ignored on Unix. + Returns NULL on error. Don't call fclose on the returned FILE; it + will be closed by pex_free. */ + +extern FILE *pex_read_err (struct pex_obj *, int binary); + /* Return exit status of all programs in VECTOR. COUNT indicates the size of VECTOR. The status codes in the vector are in the order of the calls to pex_run. Returns 0 on error, 1 on success. */ -- cgit v1.2.3