kolibrios_syscalls/
lib.rs1#![no_std]
2#![cfg(any(target_arch = "x86", doc))]
3
4mod raw;
5pub use raw::*;
6
7#[macro_export]
42macro_rules! syscall {
43 ($eax:expr) => {
44 $crate::syscall1(
45 $eax as u32,
46 )
47 };
48
49
50 ($eax:expr, $ebx:expr) => {
51 $crate::syscall2(
52 $eax as u32,
53 $ebx as u32,
54 )
55 };
56
57 ($eax:expr, $ebx:expr, $ecx:expr) => {
58 $crate::syscall3(
59 $eax as u32,
60 $ebx as u32,
61 $ecx as u32,
62 )
63 };
64
65
66 ($eax:expr, $ebx:expr, $ecx:expr, $edx:expr) => {
67 $crate::syscall4(
68 $eax as u32,
69 $ebx as u32,
70 $ecx as u32,
71 $edx as u32,
72 )
73 };
74
75
76 ($eax:expr, $ebx:expr, $ecx:expr, $edx:expr, $esi:expr) => {
77
78 $crate::syscall5(
79 $eax as u32,
80 $ebx as u32,
81 $ecx as u32,
82 $edx as u32,
83 $esi as u32,
84 )
85 };
86
87 ($eax:expr, $ebx:expr, $ecx:expr, $edx:expr, $esi:expr, $edi:expr) => {
88 $crate::syscall6(
89 $eax as u32,
90 $ebx as u32,
91 $ecx as u32,
92 $edx as u32,
93 $esi as u32,
94 $edi as u32,
95 )
96 };
97
98 ($eax:expr, $ebx:expr, $ecx:expr, $edx:expr, $esi:expr, $edi:expr, $ebp:expr) => {
99 $crate::syscall7(
100 $eax as u32,
101 $ebx as u32,
102 $ecx as u32,
103 $edx as u32,
104 $esi as u32,
105 $edi as u32,
106 $ebp as u32,
107 )
108 };
109
110}