rfio_popen(3)

rfio_popen3

Start a process and open a pipe to it

Usage

#include <sys/types.h>
#include "rfio_api.h"

FILE *rfio_popen (const char *command, const char *type);

int rfio_pclose (FILE *fs);

Overview

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.

Examples

	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.

Releases

Unchanged in 5 releases since Debian 6.0 (Squeeze).

  1. 6.0–10

Author

LCG Grid Deployment Team

From libdpm-dev 1.10.0-2+b3 in Debian 10 (Buster). Parsed by carta from the page's man source.