| .TH filter_create_fd 3 "12 July 2007" "ClearSilver" "util/filter.h" |
| |
| .de Ss |
| .sp |
| .ft CW |
| .nf |
| .. |
| .de Se |
| .fi |
| .ft P |
| .sp |
| .. |
| .SH NAME |
| filter_create_fd - Create a sub process and return the |
| requested pipes |
| .SH SYNOPSIS |
| .Ss |
| #include <util/filter.h> |
| .Se |
| .Ss |
| NEOERR *filter_create_fd(const char *cmd, int *fdin, int *fdout, int *fderr, |
| pid_t *pid); |
| |
| .Se |
| |
| .SH ARGUMENTS |
| cmd -> the sub command to execute. Will be executed with |
| .br |
| /bin/sh -c |
| .br |
| fdin -> pointer to return the stdin pipe, or NULL if you don't |
| .br |
| want the stdin pipe |
| .br |
| fdout -> pointer to return the stdout pipe, or NULL if you don't |
| .br |
| want the stdout pipe |
| .br |
| fderr -> pointer to return the stderr pipe, or NULL if you don't |
| .br |
| want the stderr pipe |
| |
| .SH DESCRIPTION |
| filter_create_fd and filter_create_fp are what popen |
| |
| been: a mechanism to create sub processes |
| and have pipes to all their input/output. The concept |
| was taken from mutt, though python has something similar |
| with popen3/popen4. You control which pipes the |
| function returns by the fdin/fdout/fderr arguments. A |
| NULL value means "don't create a pipe", a pointer to an |
| int will cause the pipes to be created and the value |
| of the file descriptor stored in the int. You will have |
| to close(2) the file descriptors yourself. |
| |
| .SH "RETURN VALUE" |
| fdin -> the stdin file descriptor of the sub process |
| .br |
| fdout -> the stdout file descriptor of the sub process |
| .br |
| fderr -> the stderr file descriptor of the sub process |
| .br |
| pid -> the pid of the sub process |
| |
| .SH "SEE ALSO" |
| .BR filter_wait "(3), "filter_create_fp "(3), "filter_create_fd |