diff --git a/cpu/msp430_common/include/unistd.h b/cpu/msp430_common/include/unistd.h
index 234c89bb142f3663c0ddae85c7c8da355dcac69e..39049c605f99363fea73bd8982ad8d8b2bca8de7 100644
--- a/cpu/msp430_common/include/unistd.h
+++ b/cpu/msp430_common/include/unistd.h
@@ -1,4 +1,5 @@
 /*
+ * Copyright (C) 2016 Eistec AB
  * Copyright (C) 2015 Kaspar Schleiser <kaspar@schleiser.de>
  *
  * This file is subject to the terms and conditions of the GNU Lesser
@@ -9,23 +10,98 @@
 #ifndef UNISTD_H
 #define UNISTD_H
 
+#include <stddef.h>
 #include <stdint.h>
+#include <sys/types.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#include "msp430_types.h"
+#define STDIN_FILENO    0       /* standard input file descriptor */
+#define STDOUT_FILENO   1       /* standard output file descriptor */
+#define STDERR_FILENO   2       /* standard error file descriptor */
 
-#define STDIN_FILENO    0   ///< stdin file descriptor
-#define STDOUT_FILENO   1   ///< stdout file descriptor
-#define STDERR_FILENO   2   ///< stderr file descriptor
+#define F_OK            0
+#define R_OK            4
+#define W_OK            2
+#define X_OK            1
 
-int close(int fildes);
+#define SEEK_SET        0
+#define SEEK_CUR        1
+#define SEEK_END        2
 
-typedef uint32_t useconds_t;
-int usleep(useconds_t usec);
-unsigned int sleep(unsigned int seconds);
+int          access(const char *, int);
+unsigned     alarm(unsigned);
+int          chdir(const char *);
+int          chown(const char *, uid_t, gid_t);
+int          close(int);
+size_t       confstr(int, char *, size_t);
+int          dup(int);
+int          dup2(int, int);
+void         _exit(int);
+int          execl(const char *, const char *, ...);
+int          execle(const char *, const char *, ...);
+int          execlp(const char *, const char *, ...);
+int          execv(const char *, char *const []);
+int          execve(const char *, char *const [], char *const []);
+int          execvp(const char *, char *const []);
+int          faccessat(int, const char *, int, int);
+int          fchdir(int);
+int          fchown(int, uid_t, gid_t);
+int          fchownat(int, const char *, uid_t, gid_t, int);
+int          fexecve(int, char *const [], char *const []);
+pid_t        fork(void);
+long         fpathconf(int, int);
+int          ftruncate(int, off_t);
+char        *getcwd(char *, size_t);
+gid_t        getegid(void);
+uid_t        geteuid(void);
+gid_t        getgid(void);
+int          getgroups(int, gid_t []);
+int          gethostname(char *, size_t);
+char        *getlogin(void);
+int          getlogin_r(char *, size_t);
+int          getopt(int, char * const [], const char *);
+pid_t        getpgid(pid_t);
+pid_t        getpgrp(void);
+pid_t        getpid(void);
+pid_t        getppid(void);
+pid_t        getsid(pid_t);
+uid_t        getuid(void);
+int          isatty(int);
+int          lchown(const char *, uid_t, gid_t);
+int          link(const char *, const char *);
+int          linkat(int, const char *, int, const char *, int);
+off_t        lseek(int, off_t, int);
+long         pathconf(const char *, int);
+int          pause(void);
+int          pipe(int [2]);
+ssize_t      pread(int, void *, size_t, off_t);
+ssize_t      pwrite(int, const void *, size_t, off_t);
+ssize_t      read(int, void *, size_t);
+ssize_t      readlink(const char *restrict, char *restrict, size_t);
+ssize_t      readlinkat(int, const char *restrict, char *restrict, size_t);
+int          rmdir(const char *);
+int          setegid(gid_t);
+int          seteuid(uid_t);
+int          setgid(gid_t);
+int          setpgid(pid_t, pid_t);
+pid_t        setsid(void);
+int          setuid(uid_t);
+unsigned     sleep(unsigned);
+int          symlink(const char *, const char *);
+int          symlinkat(const char *, int, const char *);
+long         sysconf(int);
+pid_t        tcgetpgrp(int);
+int          tcsetpgrp(int, pid_t);
+int          truncate(const char *, off_t);
+char        *ttyname(int);
+int          ttyname_r(int, char *, size_t);
+int          unlink(const char *);
+int          unlinkat(int, const char *, int);
+int          usleep(useconds_t);
+ssize_t      write(int, const void *, size_t);
 
 #ifdef __cplusplus
 }