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

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
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
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
00208 {
00209   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);
00210 }

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
00203 {
00204   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);
00205 }

int di_exec_mangle_status ( int  status  ) 

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

00248 {
00249   if (WIFEXITED (status))
00250     return WEXITSTATUS (status);
00251   if (WIFSIGNALED (status))
00252     return 128 + WTERMSIG (status);
00253   if (WIFSTOPPED (status))
00254     return 128 + WSTOPSIG (status);
00255   return status;
00256 }

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
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
00213 {
00214   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);
00215 }

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

system like call

Parameters:
cmd command
Returns:
status or error
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
00218 {
00219   const char *const argv[] = { "sh", "-c", cmd, NULL };
00220   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); 
00221 }

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
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
00201 {
00202   return di_exec_shell_log (cmd);
00203 }


Variable Documentation

di_io_handler di_exec_io_log

logs the output

di_process_handler di_exec_prepare_chdir

chdir to user_data

Parameters:
user_data path

di_process_handler di_exec_prepare_chroot

chroot to user_data

Parameters:
user_data path


Generated on Sat Sep 29 08:45:16 2007 for libdebian-installer by  doxygen 1.5.1