1 use super::error::{Error, Result};
2 
syscall0(mut a: usize) -> Result<usize>3 pub unsafe fn syscall0(mut a: usize) -> Result<usize> {
4     llvm_asm!("int 0x80"
5         : "={eax}"(a)
6         : "{eax}"(a)
7         : "memory"
8         : "intel", "volatile");
9 
10     Error::demux(a)
11 }
12 
syscall1(mut a: usize, b: usize) -> Result<usize>13 pub unsafe fn syscall1(mut a: usize, b: usize) -> Result<usize> {
14     llvm_asm!("int 0x80"
15         : "={eax}"(a)
16         : "{eax}"(a), "{ebx}"(b)
17         : "memory"
18         : "intel", "volatile");
19 
20     Error::demux(a)
21 }
22 
syscall2(mut a: usize, b: usize, c: usize) -> Result<usize>23 pub unsafe fn syscall2(mut a: usize, b: usize, c: usize) -> Result<usize> {
24     llvm_asm!("int 0x80"
25         : "={eax}"(a)
26         : "{eax}"(a), "{ebx}"(b), "{ecx}"(c)
27         : "memory"
28         : "intel", "volatile");
29 
30     Error::demux(a)
31 }
32 
syscall3(mut a: usize, b: usize, c: usize, d: usize) -> Result<usize>33 pub unsafe fn syscall3(mut a: usize, b: usize, c: usize, d: usize) -> Result<usize> {
34     llvm_asm!("int 0x80"
35         : "={eax}"(a)
36         : "{eax}"(a), "{ebx}"(b), "{ecx}"(c), "{edx}"(d)
37         : "memory"
38         : "intel", "volatile");
39 
40     Error::demux(a)
41 }
42 
syscall4(mut a: usize, b: usize, c: usize, d: usize, e: usize) -> Result<usize>43 pub unsafe fn syscall4(mut a: usize, b: usize, c: usize, d: usize, e: usize) -> Result<usize> {
44     llvm_asm!("int 0x80"
45         : "={eax}"(a)
46         : "{eax}"(a), "{ebx}"(b), "{ecx}"(c), "{edx}"(d), "{esi}"(e)
47         : "memory"
48         : "intel", "volatile");
49 
50     Error::demux(a)
51 }
52 
syscall5(mut a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) -> Result<usize>53 pub unsafe fn syscall5(mut a: usize, b: usize, c: usize, d: usize, e: usize, f: usize)
54                        -> Result<usize> {
55     llvm_asm!("int 0x80"
56         : "={eax}"(a)
57         : "{eax}"(a), "{ebx}"(b), "{ecx}"(c), "{edx}"(d), "{esi}"(e), "{edi}"(f)
58         : "memory"
59         : "intel", "volatile");
60 
61     Error::demux(a)
62 }
63