xref: /netbsd-src/external/gpl2/gettext/dist/gettext-tools/gnulib-lib/csharpexec.h (revision 946379e7b37692fc43f68eb0d1c10daa0a7f3b6c)
1*946379e7Schristos /* Execute a C# program.
2*946379e7Schristos    Copyright (C) 2003 Free Software Foundation, Inc.
3*946379e7Schristos    Written by Bruno Haible <bruno@clisp.org>, 2003.
4*946379e7Schristos 
5*946379e7Schristos    This program is free software; you can redistribute it and/or modify
6*946379e7Schristos    it under the terms of the GNU General Public License as published by
7*946379e7Schristos    the Free Software Foundation; either version 2, or (at your option)
8*946379e7Schristos    any later version.
9*946379e7Schristos 
10*946379e7Schristos    This program is distributed in the hope that it will be useful,
11*946379e7Schristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
12*946379e7Schristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13*946379e7Schristos    GNU General Public License for more details.
14*946379e7Schristos 
15*946379e7Schristos    You should have received a copy of the GNU General Public License
16*946379e7Schristos    along with this program; if not, write to the Free Software Foundation,
17*946379e7Schristos    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
18*946379e7Schristos 
19*946379e7Schristos #ifndef _CSHARPEXEC_H
20*946379e7Schristos #define _CSHARPEXEC_H
21*946379e7Schristos 
22*946379e7Schristos #include <stdbool.h>
23*946379e7Schristos 
24*946379e7Schristos typedef bool execute_fn (const char *progname,
25*946379e7Schristos 			 const char *prog_path, char **prog_argv,
26*946379e7Schristos 			 void *private_data);
27*946379e7Schristos 
28*946379e7Schristos /* Execute a C# program.
29*946379e7Schristos    assembly_path is the assembly's pathname (= program name with .exe).
30*946379e7Schristos    libdirs is a list of directories to be searched for libraries.
31*946379e7Schristos    args is a NULL terminated list of arguments to be passed to the program.
32*946379e7Schristos    If verbose, the command to be executed will be printed.
33*946379e7Schristos    Then the command is passed to the execute function together with the
34*946379e7Schristos    private_data argument.  This function returns false if OK, true on error.
35*946379e7Schristos    Return false if OK, true on error.
36*946379e7Schristos    If quiet, error messages will not be printed.  */
37*946379e7Schristos extern bool execute_csharp_program (const char *assembly_path,
38*946379e7Schristos 				    const char * const *libdirs,
39*946379e7Schristos 				    unsigned int libdirs_count,
40*946379e7Schristos 				    const char * const *args,
41*946379e7Schristos 				    bool verbose, bool quiet,
42*946379e7Schristos 				    execute_fn *executer, void *private_data);
43*946379e7Schristos 
44*946379e7Schristos #endif /* _CSHARPEXEC_H */
45