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