Subprocesses
[Utilities]

Subprocesses with pipable stdin, stdout and stderr. More...

Data Structures

struct  bg_subprocess_t
 Subprocess handle. More...

Functions

bg_subprocess_tbg_subprocess_create (const char *command, int do_stdin, int do_stdout, int do_stderr)
 Create a subprocess.
void bg_subprocess_kill (bg_subprocess_t *proc, int signal)
 Send a signal to a process.
int bg_subprocess_close (bg_subprocess_t *proc)
 Close a subprocess and free all associated memory.
int bg_subprocess_read_line (int fd, char **ret, int *ret_alloc, int timeout)
 Read a line from stdout or stderr of a process.
int bg_subprocess_read_data (int fd, uint8_t *ret, int len)
 Read data from stdout or stderr of a process.

Detailed Description

Subprocesses with pipable stdin, stdout and stderr.


Function Documentation

bg_subprocess_t* bg_subprocess_create ( const char *  command,
int  do_stdin,
int  do_stdout,
int  do_stderr 
)

Create a subprocess.

Parameters:
command Command, will be passed to /bin/sh
Parameters:
do_stdin 1 if stdin should be connected by a pipe, 0 else
Parameters:
do_stdout 1 if stdout should be connected by a pipe, 0 else
Parameters:
do_stderr 1 if stderr should be connected by a pipe, 0 else
A new handle with the runnig child program or NULL
void bg_subprocess_kill ( bg_subprocess_t proc,
int  signal 
)

Send a signal to a process.

Parameters:
proc A subprocess
Parameters:
signal Which signal to send
Types for signal are the same as in <signal.h>
int bg_subprocess_close ( bg_subprocess_t proc  ) 

Close a subprocess and free all associated memory.

Parameters:
proc A subprocess
Returns:
The return code of the program
int bg_subprocess_read_line ( int  fd,
char **  ret,
int *  ret_alloc,
int  timeout 
)

Read a line from stdout or stderr of a process.

Parameters:
fd The filesecriptor
Parameters:
ret String (will be realloced)
Parameters:
ret_alloc Allocated size of the string (will be changed with each realloc)
Parameters:
timeout Timeout in milliseconds
Returns:
1 if a line could be read, 0 else
int bg_subprocess_read_data ( int  fd,
uint8_t *  ret,
int  len 
)

Read data from stdout or stderr of a process.

Parameters:
fd The filesecriptor
Parameters:
ret Pointer to allocated memory, where the data will be placed
Parameters:
len How many bytes to read
Returns:
The number of bytes read
If the return value is smaller than the number of bytes you requested, you can assume, that the process finished and won't send more data.
Generated on Sat Jan 28 06:53:19 2012 for gmerlin by  doxygen 1.6.3