20 lines
347 B
C
20 lines
347 B
C
#define __LIBRARY__
|
|
#include <unistd.h>
|
|
#include <stdarg.h>
|
|
|
|
int open(const char * filename, int flag, ...)
|
|
{
|
|
register int res;
|
|
va_list arg;
|
|
|
|
va_start(arg,flag);
|
|
__asm__("int $0x80"
|
|
:"=a" (res)
|
|
:"0" (__NR_open),"b" (filename),"c" (flag),
|
|
"d" (va_arg(arg,int)));
|
|
if (res>=0)
|
|
return res;
|
|
errno = -res;
|
|
return -1;
|
|
}
|