fcntl.c 431 字节
Newer Older
R
Rich Felker 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include <fcntl.h>
#include <unistd.h>
#include <stdarg.h>
#include "syscall.h"
#include "libc.h"

int fcntl(int fd, int cmd, ...)
{
	long arg;
	va_list ap;
	va_start(ap, cmd);
	arg = va_arg(ap, long);
	va_end(ap);
	if (cmd == F_SETFL) arg |= O_LARGEFILE;
R
Rich Felker 已提交
15
	if (cmd == F_SETLKW) return syscall_cp(SYS_fcntl, fd, cmd, arg);
R
Rich Felker 已提交
16
	if (cmd == F_GETOWN) return __syscall(SYS_fcntl, fd, cmd, arg);
R
Rich Felker 已提交
17
	return syscall(SYS_fcntl, fd, cmd, arg);
R
Rich Felker 已提交
18
}