Plan 9 from User Space's /usr/local/plan9/src/lib9/pipe.c

#include <u.h>
#define NOPLAN9DEFINES
#include <libc.h>
#include <sys/socket.h>

/*
 * We use socketpair to get a two-way pipe.
 * The pipe still doesn't preserve message boundaries.
 * Worse, it cannot be reopened via /dev/fd/NNN on Linux.
 */
int
p9pipe(int fd[2])
{
	return socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
}

Space Glenda

Copyright © 2005 Lucent Technologies, Russ Cox, MIT.
See license for details.