21#error syscall-stubs.h requires SERVICE to be defined
24#error syscall-stubs.h requires SERVICE_ERROR to be defined
27#error syscall-stubs.h requires SERVICE_INIT to be defined
30typedef long (*syscall_caller_t)(
long service,
long function,
long* error,
long p1,
long p2,
31 long p3,
long p4,
long p5,
long p6);
33static syscall_caller_t __hosted_syscall = (syscall_caller_t)0x399000;
35static long syscall6(
long function,
long p1,
long p2,
long p3,
long p4,
long p5,
long p6) {
38 long result = __hosted_syscall(SERVICE, function, &error, p1, p2, p3, p4, p5, p6);
40 SERVICE_ERROR = error;
45static long syscall6_err(
long function,
long p1,
long p2,
long p3,
long p4,
long p5,
long p6,
48 return __hosted_syscall(SERVICE, function, err, p1, p2, p3, p4, p5, p6);
51static long syscall6_for_service_err(
long service,
long function,
long p1,
long p2,
long p3,
52 long p4,
long p5,
long p6,
long* err) {
53 return __hosted_syscall(service, function, err, p1, p2, p3, p4, p5, p6);
56static long syscall0(
long function) {
57 return syscall6(function, 0, 0, 0, 0, 0, 0);
60static long syscall1(
long function,
long p1) {
61 return syscall6(function, p1, 0, 0, 0, 0, 0);
64static long syscall2(
long function,
long p1,
long p2) {
65 return syscall6(function, p1, p2, 0, 0, 0, 0);
68static long syscall3(
long function,
long p1,
long p2,
long p3) {
69 return syscall6(function, p1, p2, p3, 0, 0, 0);
72static long syscall4(
long function,
long p1,
long p2,
long p3,
long p4) {
73 return syscall6(function, p1, p2, p3, p4, 0, 0);
76static long syscall5(
long function,
long p1,
long p2,
long p3,
long p4,
long p5) {
77 return syscall6(function, p1, p2, p3, p4, p5, 0);