1 /*
2 * linux/lib/open.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 */
6
7 #define __LIBRARY__
8 #include <linux/unistd.h>
9 #include <stdarg.h>
10
11 int open(const char * filename, int flag, ...)
/* ![[previous]](../icons/n_left.png)
![[next]](../icons/n_right.png)
![[first]](../icons/n_first.png)
![[last]](../icons/n_last.png)
![[top]](../icons/top.png)
![[bottom]](../icons/bottom.png)
![[index]](../icons/index.png)
*/
12 {
13 register int res;
14 va_list arg;
15
16 va_start(arg,flag);
17 __asm__("movl %2,%%ebx\n\t"
18 "int $0x80"
19 :"=a" (res)
20 :"0" (__NR_open),"g" ((long)(filename)),"c" (flag),
21 "d" (va_arg(arg,int)));
22 if (res>=0)
23 return res;
24 errno = -res;
25 return -1;
26 }