fix some unistd functions
[nestedvm.git] / src / org / ibex / nestedvm / support_aux.c
index 51251e7..244ae16 100644 (file)
 #include <sys/sysctl.h>
 #include <sys/utsname.h>
 #include <paths.h>
+#include <ctype.h>
+#include <pwd.h>
+#include <grp.h>
+#include <stdarg.h>
 
 #include <nestedvm/socket.h>
 
@@ -81,7 +85,7 @@ REENT_WRAPPER0(vfork)
 REENT_WRAPPER1(chroot,const char *)
 REENT_WRAPPER3(mknod,const char *,mode_t,dev_t)
 REENT_WRAPPER2(ftruncate,int,off_t)
-REENT_WRAPPER1(usleep,unsigned int)
+REENT_WRAPPER1R(usleep,unsigned int,unsigned int)
 REENT_WRAPPER2(mkfifo,const char *, mode_t)
 REENT_WRAPPER3(klogctl,int,char*,int)
 REENT_WRAPPER2R(realpath,char *,const char *,char *)
@@ -113,6 +117,7 @@ REENT_WRAPPER1(setgid,gid_t)
 REENT_WRAPPER1(setegid,gid_t)
 REENT_WRAPPER2(setgroups,int,const gid_t *)
 REENT_WRAPPER0R(setsid,pid_t)
+REENT_WRAPPER1(fsync,int)
 
 extern int __execve_r(struct _reent *ptr, const char *path, char *const argv[], char *const envp[]);
 int _execve(const char *path, char *const argv[], char *const envp[]) {
@@ -162,12 +167,8 @@ int _sysctl_r(struct _reent *ptr, int *name, int namelen, void *oldp, size_t *ol
     }
 }
 
-void sync() {
+int sync() {
     /* do nothing*/
-}
-
-int fsync(int fd) {
-    /* do nothing */
     return 0;
 }
 
@@ -517,6 +518,11 @@ int vasprintf(char **ret, const char *fmt, va_list ap) {
     }
 }
 
+// FIXME: This needs to be in a header
+char *getlogin() {
+    return getenv("USER");
+}
+
 
 /*
  * Other People's Code