Exec functions

Functions

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)
static int di_exec (const char *path, const char *const argv[])
int di_exec_env_full (const char *path, const char *const argv[], const char *const envp[], 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)
static int di_exec_env (const char *path, const char *const argv[], const char *const envp[])
int di_exec_path_full (const char *file, 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)
static int di_exec_path (const char *file, const char *const argv[])
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)
static int di_exec_shell (const char *const cmd)
static int di_exec_shell_log (const char *const cmd)
int di_exec_mangle_status (int status)
static int di_execlog (const char *const cmd) __attribute__((deprecated))

Variables

di_io_handler di_exec_io_log
di_process_handler di_exec_prepare_chdir
di_process_handler di_exec_prepare_chroot

Detailed Description


Function Documentation

static int di_exec ( const char *  path,
const char *const   argv[] 
) [inline, static]

execv like call

Parameters:
path executable with path
argv NULL-terminated area of char pointer
Returns:
status or error

References di_exec_full().

00082 {
00083   return di_exec_full (path, argv, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
00084 }

static int di_exec_env ( const char *  path,
const char *const   argv[],
const char *const   envp[] 
) [inline, static]

execve like call

Parameters:
path executable with path
argv NULL-terminated area of char pointer
envp NULL-terminated area of char pointer
Returns:
status or error

References di_exec_env_full().

00114 {
00115   return di_exec_env_full (path, argv, envp, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
00116 }

int di_exec_env_full ( const char *  path,
const char *const   argv[],
const char *const   envp[],
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 
)

execve like call

Parameters:
path executable with path
argv NULL-terminated area of char pointer
envp NULL-terminated area of char pointer
stdout_handler di_io_handler which gets stdout (and to stderr if stderr_handler is NULL)
stderr_handler di_io_handler which gets stderr
io_user_data user_data for di_io_handler
parent_prepare_handler di_process_handler which is called after the fork in the parent
parent_prepare_user_data user_data for parent_prepare_handler
child_prepare_handler di_process_handler which is called after the fork in the child
child_prepare_user_data user_data for child_prepare_handler
Returns:
status or error

Referenced by di_exec_env().

00237 {
00238   return internal_di_exec (path, false, argv, envp, stdout_handler, stderr_handler, io_user_data, parent_prepare_handler, parent_prepare_user_data, child_prepare_handler, child_prepare_user_data);
00239 }

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 
)

execv like call

Parameters:
path executable with path
argv NULL-terminated area of char pointer
stdout_handler di_io_handler which gets stdout (and to stderr if stderr_handler is NULL)
stderr_handler di_io_handler which gets stderr
io_user_data user_data for di_io_handler
parent_prepare_handler di_process_handler which is called after the fork in the parent
parent_prepare_user_data user_data for parent_prepare_handler
child_prepare_handler di_process_handler which is called after the fork in the child
child_prepare_user_data user_data for child_prepare_handler
Returns:
status or error

Referenced by di_exec().

00232 {
00233   return internal_di_exec (path, false, argv, NULL, stdout_handler, stderr_handler, io_user_data, parent_prepare_handler, parent_prepare_user_data, child_prepare_handler, child_prepare_user_data);
00234 }

int di_exec_mangle_status ( int  status  ) 

mangle status like sh does it: * if signaled: 128 + signal * else return code

00277 {
00278   if (WIFEXITED (status))
00279     return WEXITSTATUS (status);
00280   if (WIFSIGNALED (status))
00281     return 128 + WTERMSIG (status);
00282   if (WIFSTOPPED (status))
00283     return 128 + WSTOPSIG (status);
00284   return status;
00285 }

static int di_exec_path ( const char *  file,
const char *const   argv[] 
) [inline, static]

execvp like call

Parameters:
file executable
argv NULL-terminated area of char pointer
Returns:
status or error

References di_exec_path_full().

00144 {
00145   return di_exec_path_full (file, argv, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
00146 }

int di_exec_path_full ( const char *  file,
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 
)

execvp like call

Parameters:
file executable
argv NULL-terminated area of char pointer
stdout_handler di_io_handler which gets stdout (and to stderr if stderr_handler is NULL)
stderr_handler di_io_handler which gets stderr
io_user_data user_data for di_io_handler
parent_prepare_handler di_process_handler which is called after the fork in the parent
parent_prepare_user_data user_data for parent_prepare_handler
child_prepare_handler di_process_handler which is called after the fork in the child
child_prepare_user_data user_data for child_prepare_handler
Returns:
status or error

Referenced by di_exec_path().

00242 {
00243   return internal_di_exec (file, true, argv, NULL, stdout_handler, stderr_handler, io_user_data, parent_prepare_handler, parent_prepare_user_data, child_prepare_handler, child_prepare_user_data);
00244 }

static int di_exec_shell ( const char *const   cmd  )  [inline, static]

system like call

Parameters:
cmd command
Returns:
status or error

References di_exec_shell_full().

00172 {
00173   return di_exec_shell_full (cmd, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
00174 }

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 
)

system like call

Parameters:
cmd command
stdout_handler di_io_handler which gets stdout
stderr_handler di_io_handler which gets stderr
io_user_data user_data for di_io_handler
parent_prepare_handler di_process_handler which is called after the fork in the parent
parent_prepare_user_data user_data for parent_prepare_handler
child_prepare_handler di_process_handler which is called after the fork in the child
child_prepare_user_data user_data for child_prepare_handler
Returns:
status or error

Referenced by di_exec_shell(), and di_exec_shell_log().

00247 {
00248   const char *const argv[] = { "sh", "-c", cmd, NULL };
00249   return internal_di_exec ("/bin/sh", false, argv, NULL, stdout_handler, stderr_handler, io_user_data, parent_prepare_handler, parent_prepare_user_data, child_prepare_handler, child_prepare_user_data); 
00250 }

static int di_exec_shell_log ( const char *const   cmd  )  [inline, static]

system like call with output via log

Parameters:
cmd command
Returns:
status or error

References di_exec_io_log, and di_exec_shell_full().

Referenced by di_execlog().

00184 {
00185   return di_exec_shell_full (cmd, di_exec_io_log, NULL, NULL, NULL, NULL, NULL, NULL);
00186 }

static int di_execlog ( const char *const   cmd  )  [inline, static]
Deprecated:
Alias of di_exec_shell_log

References di_exec_shell_log().

00201 {
00202   return di_exec_shell_log (cmd);
00203 }


Variable Documentation

logs the output

Referenced by di_exec_shell_log().

chdir to user_data

Parameters:
user_data path

chroot to user_data

Parameters:
user_data path
Generated on Tue Apr 13 12:07:06 2010 for libdebian-installer by  doxygen 1.6.3