diff --git a/System/Jakt/OS.HC b/System/Jakt/OS.HC index 88cd0cc..b8b6e0c 100644 --- a/System/Jakt/OS.HC +++ b/System/Jakt/OS.HC @@ -9,20 +9,13 @@ U0 _Z8os_blinkPKc() POP_SYSV_REGS } -U64 @os_call(U8* function_name, U64 arg) +U64 @os_call(U64 addr, U64 val) { - if (!function_name) + if (!addr || !val) return NULL; - if (!StrLen(function_name)) - return NULL; - CHash* h = HashFind(function_name, Fs->hash_table, Fs->hash_table->mask); - if (!h) - return NULL; - if (h->type & HTT_FUN == HTT_FUN) { - CallInd(h(CHashFun*)->exe_addr, arg); - } else { - return NULL; - } + U64 (*func)(U64 arg); + func = addr; + return func(val); } U0 _Z7os_callmm()