summaryrefslogtreecommitdiff
path: root/include/libiberty.h
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2007-01-31 18:49:42 +0000
committerVladimir Prus <vladimir@codesourcery.com>2007-01-31 18:49:42 +0000
commit53d7966f2a986dbd964fb20d4b9a02e64e7819b1 (patch)
treec4722a4490983e21069486b80770d1f584a36f4e /include/libiberty.h
parent3c50d7b90e06fe57f391c314ff5239f22c7973cf (diff)
downloadbinutils-gdb-53d7966f2a986dbd964fb20d4b9a02e64e7819b1.tar.gz
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. (pex_run_in_environment): Add error checking for PEX_STDERR_TO_PIPE. Create a pipe for stderr if necessary. (pex_read_err): New. (pex_free): Close read_err. * pexecute.txh: Document changes. * functions.texi: Regenerated.
Diffstat (limited to 'include/libiberty.h')
-rw-r--r--include/libiberty.h21
1 files changed, 21 insertions, 0 deletions
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. */