Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <errno.h>
2
#include "lib.h"
3
#include "sys9.h"
4
 
5
int
6
pipe(int fildes[2])
7
{
8
	Fdinfo *fi;
9
	int i;
10
 
11
	if(!fildes){
12
		errno = EFAULT;
13
		return -1;
14
	}
15
	if(_PIPE(fildes) < 0)
16
		_syserrno();
17
	else
18
	if(fildes[0] < 0 || fildes[0]>=OPEN_MAX ||
19
	   fildes[1] < 0 || fildes[1]>=OPEN_MAX) {
20
		errno = EMFILE;
21
		return -1;
22
	}
23
	for(i = 0; i <=1; i++) {
24
		fi = &_fdinfo[fildes[i]];
25
		fi->flags = FD_ISOPEN;
26
		fi->oflags = O_RDWR;
27
		fi->uid = 0;	/* none */
28
		fi->gid = 0;
29
	}
30
	return 0;
31
}