4 extern void syscall_interrupt(void);
5 extern int syscall(int);
8 struct syscall_params
{
14 extern struct syscall_params
*scp
;
16 #define _syscall0(type,name) \
20 __asm__ volatile ("int $0x80" \
22 : "0" (__NR_##name)); \
24 return (type) __res; \
28 #define _syscall1(type,name,atype,a) \
32 __asm__ volatile ("int $0x80" \
34 : "0" (__NR_##name),"b" ((long)(a))); \
36 return (type) __res; \
40 #define _syscall2(type,name,atype,a,btype,b) \
41 type name(atype a,btype b) \
44 __asm__ volatile ("int $0x80" \
46 : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \
48 return (type) __res; \
52 #define _syscall3(type,name,atype,a,btype,b,ctype,c) \
53 type name(atype a,btype b,ctype c) \
56 __asm__ volatile ("int $0x80" \
58 : "a" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \
60 return (type) __res; \
64 #endif /* syscall.h */