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