// AUTOGENERATED by scripts/genGnoKernel.py — DO NOT EDIT.
// GNO kernel toolset $03 wrappers, callable from C.
// Convention: each K* returns the kernel result (or -1 on error);
// the last argument is `int *errno` and gets the kernel's errno.
//
// These are LOW-LEVEL primitives — libc routines in libcGno.c
// wrap them into POSIX-named fork/exec/wait/etc.
#ifndef GNO_KERNEL_H
#define GNO_KERNEL_H

#include <stdint.h>

extern int Kgetpid(void);  // 0x0903
extern int Kkill(int a0, int a1, void * a2);  // 0x0A03
extern int Kfork(void * a0, void * a1);  // 0x0B03
extern int Kgetppid(void * a0);  // 0x4003
extern int Kwait(void * a0, void * a1);  // 0x1703
extern int K_execve(void * a0, void * a1, void * a2);  // 0x1D03
extern unsigned long Ksignal(int a0, void * a1, void * a2);  // 0x1603
extern unsigned long Kalarm(void * a0, void * a1);  // 0x1E03
extern unsigned long Kalarm10(void * a0, void * a1);  // 0x4203
extern int Ksigpause(void * a0, void * a1);  // 0x2103
extern unsigned long Ksigsetmask(void * a0, void * a1);  // 0x1B03
extern unsigned long Ksigblock(void * a0, void * a1);  // 0x1C03
extern int Kscreate(int a0, void * a1);  // 0x0F03
extern int Kswait(int a0, void * a1);  // 0x0D03
extern int Kssignal(int a0, void * a1);  // 0x0E03
extern int Kdup(int a0, void * a1);  // 0x2203
extern int Kdup2(int a0, int a1, void * a2);  // 0x2303
extern int Kpipe(void * a0, void * a1);  // 0x2403
extern int Kioctl(int a0, void * a1, void * a2, void * a3);  // 0x2603
extern int Kstat(void * a0, void * a1, void * a2);  // 0x2703
extern int Kfstat(int a0, void * a1, void * a2);  // 0x2803
extern int Klstat(void * a0, void * a1, void * a2);  // 0x2903
extern int Kgetuid(void * a0);  // 0x2A03
extern int Kgetgid(void * a0);  // 0x2B03
extern int Kgeteuid(void * a0);  // 0x2C03
extern int Kgetegid(void * a0);  // 0x2D03
extern int Ksetuid(int a0, void * a1);  // 0x2E03
extern int Ksetgid(int a0, void * a1);  // 0x2F03
extern int Ktcnewpgrp(int a0, void * a1);  // 0x1803
extern int Ksettpgrp(int a0, void * a1);  // 0x1903
extern int Ktctpgrp(int a0, int a1, void * a2);  // 0x1A03
extern int K_getpgrp(int a0, void * a1);  // 0x2503
extern int Ksetpgrp(int a0, int a1, void * a2);  // 0x3403
extern int Kkvm_open(void * a0);  // 0x1103
extern int Kkvm_close(void * a0, void * a1);  // 0x1203
extern unsigned long Ktimes(void * a0, void * a1);  // 0x3503
extern void KSetGNOQuitRec(int a0, void * a1, int a2, void * a3);  // 0x4103

#endif
