OrionLibC
Barry Importing existing Orion LibC 03048a9 (3 years, 2 months ago)
#include <sys/syscall.h>
#include <errno.h>
/* Duplicate an open file descriptor */
int
dup(int oldfd)
{
int ret;
asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_DUP),
"c" (1), "S" (&oldfd));
if (ret >= 0)
return ret;
errno = -ret;
return -1;
}
/* Duplicate an open file descriptor to a specified file descriptor */
int
dup2(int oldfd, int newfd)
{
int ret;
asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_DUP2),
"c" (2), "S" (&oldfd));
if (ret >= 0)
return ret;
errno = -ret;
return -1;
}