|  | /* | 
|  | * This file is part of the UCB release of Plan 9. It is subject to the license | 
|  | * terms in the LICENSE file found in the top-level directory of this | 
|  | * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No | 
|  | * part of the UCB release of Plan 9, including this file, may be copied, | 
|  | * modified, propagated, or distributed except according to the terms contained | 
|  | * in the LICENSE file. | 
|  | */ | 
|  | /* posix */ | 
|  | #include <sys/types.h> | 
|  | #include <unistd.h> | 
|  | #include <stdlib.h> | 
|  | #include <errno.h> | 
|  |  | 
|  | /* bsd extensions */ | 
|  | #include <sys/uio.h> | 
|  | #include <sys/socket.h> | 
|  |  | 
|  | #include <sys/plan9_helpers.h> | 
|  |  | 
|  | /* Create two new sockets, of type TYPE in domain DOMAIN and using | 
|  | protocol PROTOCOL, which are connected to each other, and put file | 
|  | descriptors for them in FDS[0] and FDS[1].  If PROTOCOL is zero, | 
|  | one will be chosen automatically.  Returns 0 on success, -1 for errors.  */ | 
|  | int socketpair(int domain, int type, int protocol, int *sv) | 
|  | { | 
|  | switch (domain) { | 
|  | case PF_UNIX: | 
|  | return pipe(sv); | 
|  | default: | 
|  | errno = EOPNOTSUPP; | 
|  | return -1; | 
|  | } | 
|  | } |