Removes extra Ivy annotation
[akaros.git] / user / parlib / include / parlib.h
index 11b8ace..6cd8c50 100644 (file)
@@ -14,6 +14,7 @@
 #include <ros/syscall.h>
 #include <ros/procinfo.h>
 #include <ros/procdata.h>
+#include <signal.h>
 #include <stdint.h>
 #include <errno.h>
 #include <ros_debug.h>
@@ -35,14 +36,15 @@ size_t      sys_getpcoreid(void);
 int         sys_getpid(void);
 int         sys_proc_destroy(int pid, int exitcode);
 void        sys_yield(bool being_nice);
-int         sys_proc_create(char *path, size_t path_l, char *argv[], char *envp[]);
+int         sys_proc_create(char *path, size_t path_l, char *argv[],
+                            char *envp[], int flags);
 int         sys_proc_run(int pid);
-ssize_t     sys_shared_page_alloc(void *COUNT(PGSIZE) *addr, pid_t p2, 
+ssize_t     sys_shared_page_alloc(void **addr, pid_t p2, 
                                   int p1_flags, int p2_flags);
-ssize_t     sys_shared_page_free(void *COUNT(PGSIZE) addr, pid_t p2);
+ssize_t     sys_shared_page_free(void *addr, pid_t p2);
 void        sys_reboot();
-void *COUNT(length) sys_mmap(void *SNT addr, size_t length, int prot, int flags,
-                             int fd, size_t offset);
+void           *sys_mmap(void *addr, size_t length, int prot, int flags,
+                      int fd, size_t offset);
 int                    sys_provision(int pid, unsigned int res_type, long res_val);
 int         sys_notify(int pid, unsigned int ev_type, struct event_msg *u_msg);
 int         sys_self_notify(uint32_t vcoreid, unsigned int ev_type,
@@ -54,10 +56,22 @@ int         sys_change_vcore(uint32_t vcoreid, bool enable_my_notif);
 int         sys_change_to_m(void);
 int         sys_poke_ksched(int pid, unsigned int res_type);
 int         sys_abort_sysc(struct syscall *sysc);
+int         sys_abort_sysc_fd(int fd);
 
 long           syscall_async(struct syscall *sysc, unsigned long num, ...);
 
-void           init_posix_signals(void);       /* in signal.c */
+/* Posix signal related stuff */
+struct sigdata {
+       struct user_context u_ctx;
+       struct ancillary_state as;
+       struct siginfo info;
+       void *stack;
+};
+void init_posix_signals(void);
+struct sigdata *alloc_sigdata();
+void free_sigdata(struct sigdata *sigdata);
+void trigger_posix_signal(int sig_nr, struct siginfo *info, void *aux);
+
 #ifdef __cplusplus
 }
 #endif