/* | |
* linux/lib/open.c | |
* | |
* Copyright (C) 1991, 1992 Linus Torvalds | |
*/ | |
#define __LIBRARY__ | |
#include <linux/unistd.h> | |
#include <stdarg.h> | |
int open(const char * filename, int flag, ...) | |
{ | |
register int res; | |
va_list arg; | |
va_start(arg,flag); | |
__asm__("movl %2,%%ebx\n\t" | |
"int $0x80" | |
:"=a" (res) | |
:"0" (__NR_open),"g" ((long)(filename)),"c" (flag), | |
"d" (va_arg(arg,int))); | |
if (res>=0) | |
return res; | |
errno = -res; | |
return -1; | |
} |