Added the null syscall and a userapp that exploits it.
[akaros.git] / inc / lib.h
index 31aa564..ea29bb4 100644 (file)
--- a/inc/lib.h
+++ b/inc/lib.h
 // libos.c or entry.S
 extern char *binaryname;
 extern volatile env_t *env;
-extern volatile env_t envs[NENV];
+// will need to change these types when we have real structs
+// seems like they need to be either arrays [] or functions () for it to work
+extern volatile uint8_t (COUNT(PGSIZE * UINFO_PAGES) procinfo)[];
+extern volatile uint8_t (COUNT(PGSIZE * UDATA_PAGES) procdata)[];
+extern syscall_front_ring_t sysfrontring;
 extern volatile page_t pages[];
 void   exit(void);
 
@@ -30,7 +34,9 @@ void  exit(void);
 char*  readline(const char *buf);
 
 // syscall.c
-void   sys_cputs(const char *string, size_t len);
+void sys_null();
+void sys_cputs(const char *string, size_t len);
+void sys_cputs_async(const char *string, size_t len);
 int    sys_cgetc(void);
 envid_t        sys_getenvid(void);
 int    sys_env_destroy(envid_t);