--- parser3/src/include/pa_exec.h 2002/03/25 11:55:26 1.8 +++ parser3/src/include/pa_exec.h 2024/11/04 03:53:25 1.26 @@ -1,25 +1,34 @@ /** @file Parser: program executing for different OS-es decls. - Copyright (c) 2000,2001, 2002 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexandr Petrosian (http://paf.design.ru) - - $Id: pa_exec.h,v 1.8 2002/03/25 11:55:26 paf Exp $ + Copyright (c) 2000-2024 Art. Lebedev Studio (http://www.artlebedev.com) + Authors: Konstantin Morshnev , Alexandr Petrosian */ #ifndef PA_EXEC_H #define PA_EXEC_H +#define IDENT_PA_EXEC_H "$Id: pa_exec.h,v 1.26 2024/11/04 03:53:25 moko Exp $" + #include "pa_string.h" #include "pa_hash.h" #include "pa_array.h" +#include "pa_value.h" +#include "pa_charset.h" + +struct PA_exec_result { + int status; ///< exit code + File_read_result out; + String& err; + + PA_exec_result(): status(0), out(), err(*new String) {} +}; -/// @return exit code -int pa_exec( +PA_exec_result pa_exec( bool forced_allow, ///< allow execution regardles of --disable-execs const String& file_spec, - const Hash *env, ///< 0 | Hash of String - const Array *argv, ///< 0 | Array of command line arguments - const String& in, String& out, String& err); + const HashStringString* env, ///< 0 | Hash of String + const ArrayString& argv, ///< 0 | Array of command line arguments + String::C in); #endif