Main Page | Modules | Data Structures | File List | Data Fields | Related Pages

exec.h

00001 /* 00002 * exec.h 00003 * 00004 * Copyright (C) 2003 Bastian Blank <waldi@debian.org> 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00019 * 00020 * $Id: exec.h 15891 2004-05-20 17:12:32Z joeyh $ 00021 */ 00022 00023 #ifndef DEBIAN_INSTALLER__EXEC_H 00024 #define DEBIAN_INSTALLER__EXEC_H 00025 00026 #include <debian-installer/types.h> 00027 00028 #include <sys/types.h> 00029 #include <sys/wait.h> 00030 #include <unistd.h> 00031 00037 di_io_handler 00041 di_exec_io_log; 00042 di_process_handler 00048 di_exec_prepare_chdir, 00054 di_exec_prepare_chroot; 00055 00071 int di_exec_full (const char *path, const char *const argv[], di_io_handler *stdout_handler, di_io_handler *stderr_handler, void *io_user_data, di_process_handler *parent_prepare_handler, void *parent_prepare_user_data, di_process_handler *child_prepare_handler, void *child_prepare_user_data); 00072 00081 static inline int di_exec (const char *path, const char *const argv[]) 00082 { 00083 return di_exec_full (path, argv, NULL, NULL, NULL, NULL, NULL, NULL, NULL); 00084 } 00085 00100 int di_exec_shell_full (const char *const cmd, di_io_handler *stdout_handler, di_io_handler *stderr_handler, void *io_user_data, di_process_handler *parent_prepare_handler, void *parent_prepare_user_data, di_process_handler *child_prepare_handler, void *child_prepare_user_data); 00101 00109 static inline int di_exec_shell (const char *const cmd) 00110 { 00111 return di_exec_shell_full (cmd, NULL, NULL, NULL, NULL, NULL, NULL, NULL); 00112 } 00113 00121 inline static int di_exec_shell_log (const char *const cmd) 00122 { 00123 return di_exec_shell_full (cmd, di_exec_io_log, NULL, NULL, NULL, NULL, NULL, NULL); 00124 } 00125 00131 int di_exec_mangle_status (int status); 00132 00137 inline static int di_execlog (const char *const cmd) __attribute__ ((deprecated)); 00138 inline static int di_execlog (const char *const cmd) 00139 { 00140 return di_exec_shell_log (cmd); 00141 } 00142 00144 #endif

Generated on Tue Jun 15 13:13:53 2004 for libdebian-installer by doxygen 1.3.7