--- parser3/src/include/pa_exec.h 2003/01/28 11:18:01 1.11.2.1 +++ parser3/src/include/pa_exec.h 2003/03/05 11:08:26 1.11.2.6 @@ -1,28 +1,33 @@ /** @file Parser: program executing for different OS-es decls. - Copyright (c) 2000,2001, 2003 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2000,2001-2003 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ #ifndef PA_EXEC_H #define PA_EXEC_H -static const char* IDENT_EXEC_H="$Date: 2003/01/28 11:18:01 $"; +static const char* IDENT_EXEC_H="$Date: 2003/03/05 11:08:26 $"; #include "pa_string.h" #include "pa_hash.h" #include "pa_array.h" #include "pa_value.h" -typedef Hash HashStringString; +typedef Hash HashStringString; -/// @return exit code -int pa_exec(Pool& pool, +struct PA_exec_result { + int status; ///< exit code + StringPtr out; + StringPtr err; +}; + +PA_exec_result pa_exec(Pool& pool, bool forced_allow, ///< allow execution regardles of --disable-execs - ConstStringPtr file_spec, - const HashStringString& env, ///< 0 | Hash of String - const Array& argv, ///< 0 | Array of command line arguments - ConstStringPtr in, StringPtr out, StringPtr err); + StringPtr file_spec, + const HashStringString* env, ///< 0 | Hash of String + const ArrayString& argv, ///< 0 | Array of command line arguments + String& in); #endif