/*
 * pipe.c
 */


#include<sys/types.h>
#include<sys/stat.h>

#include<callgate.h>
#include<errno.h>
#include<string.h>
#include<stdio.h>
#include<fcntl.h>
#include<time.h>


int pipe(int filedes[2])
{
	char path[20];
	int fd[2];


	/* パイプ用ファイル名の作成。 */
	sprintf(path,"%x%x",getuid(),clock());

	if((fd[0]=open(path,O_RDONLY|O_CREAT|O_DEL,S_IRWXU|S_IRWXG))==-1)return -1;
	if((fd[1]=open(path,O_WRONLY|O_DEL))==-1)
	{
		close(fd[0]);
		return -1;
	}

	filedes=fd;

	return 0;
}
