RFIO_POPEN
Section: Rfio Library Functions (3)
Updated: $Date: 2008/09/24 11:25:01 $
Index
Return to Main Contents
NAME
rfio_popen, rfio_pclose - start a process and open a pipe to it
SYNOPSIS
#include <sys/types.h>
#include "rfio_api.h"
FILE *rfio_popen (const char *command, const char *type);
int rfio_pclose (FILE *fs);
DESCRIPTION
rfio_popen
starts a process and opens a pipe to it.
command
is a pointer to a string specifying the shell command to be executed.
type
is a mode indicator for the pipe. One of the characters "r" or "w".
rfio_pclose
waits for the forked process to terminate and returns the exit status of the
command.
EXAMPLE
int c;
FILE *rf;
rf = rfio_popen (command, "r");
if (rf == NULL) {
rfio_perror ("rfio_popen");
exit (1);
}
while ((c = rfio_pread (buf, 1, sizeof(buf), rf)) > 0) {
...
}
c = rfio_pclose (rf);
RETURN VALUE
This routine returns NULL if the operation failed or a non-NULL pointer to a FILE structure if the operation was successful. If it fails, serrno variable is set appropriately.
ERRORS
- ENOMEM
-
Not enough memory.
- EINVAL
-
The mode provided is invalid.
- ECONNRESET
-
Connection reset by peer
- ETIMEDOUT
-
Connection timed out
- ECONNREFUSED
-
Connection refused
- EHOSTUNREACH
-
No route to host
- SENOSHOST
-
Host unknown.
- SENOSSERV
-
Service unknown.
- SEUMSG2LONG
-
Command string too long.
- SECOMERR
-
Communication error.
SEE ALSO
rfio_pread(3),
rfio_pwrite(3)
AUTHOR
LCG Grid Deployment Team