Index: vapi/posix.vapi
===================================================================
--- vapi/posix.vapi	(revisión: 2414)
+++ vapi/posix.vapi	(copia de trabajo)
@@ -24,8 +24,10 @@
 namespace Posix {
 	[CCode (cheader_filename = "assert.h")]
 	public void assert (bool expression);
-
+	
 	[CCode (cheader_filename = "ctype.h")]
+	public int digittoint (int c);
+	[CCode (cheader_filename = "ctype.h")]
 	public bool isalnum (int c);
 	[CCode (cheader_filename = "ctype.h")]
 	public bool isalpha (int c);
@@ -38,12 +40,24 @@
 	[CCode (cheader_filename = "ctype.h")]
 	public bool isgraph (int c);
 	[CCode (cheader_filename = "ctype.h")]
+	public bool ishexnumber (int c);
+	[CCode (cheader_filename = "ctype.h")]
+	public bool isideogram (int c);
+	[CCode (cheader_filename = "ctype.h")]
 	public bool islower (int c);
 	[CCode (cheader_filename = "ctype.h")]
+	public bool isnumber (int c);
+	[CCode (cheader_filename = "ctype.h")]
+	public bool isphonogram (int c);
+	[CCode (cheader_filename = "ctype.h")]
+	public bool isspecial (int c);
+	[CCode (cheader_filename = "ctype.h")]
 	public bool isprint (int c);
 	[CCode (cheader_filename = "ctype.h")]
 	public bool ispunct (int c);
 	[CCode (cheader_filename = "ctype.h")]
+	public bool isrune (int c);
+	[CCode (cheader_filename = "ctype.h")]
 	public bool isspace (int c);
 	[CCode (cheader_filename = "ctype.h")]
 	public bool isupper (int c);
@@ -55,7 +69,31 @@
 	public int tolower (int c);
 	[CCode (cheader_filename = "ctype.h")]
 	public int toupper (int c);
+	
+	[CCode (cheader_filename = "dirent.h")]
+	public struct DIR { }
 
+	[CCode (cheader_filename = "dirent.h")]
+	public struct dirent {
+		public ulong d_ino;
+		public unowned string d_name;
+	}
+	
+	[CCode (cheader_filename = "dirent.h")]
+	public int closedir (DIR dirp);
+	[CCode (cheader_filename = "dirent.h")]
+	public DIR opendir (string dirname);
+	[CCode (cheader_filename = "dirent.h")]
+	public dirent readdir (DIR dirp);
+	[CCode (cheader_filename = "dirent.h")]
+	public int readdir_r (DIR dirp, dirent entry, out dirent result);
+	[CCode (cheader_filename = "dirent.h")]
+	public void rewinddir (DIR dirp);
+	[CCode (cheader_filename = "dirent.h")]
+	public void seekdir (DIR dirp, long loc);
+	[CCode (cheader_filename = "dirent.h")]
+	public long telldir (DIR dirp);
+
 	[CCode (cheader_filename = "errno.h")]
 	public int errno;
 	[CCode (cheader_filename = "errno.h")]
@@ -260,18 +298,22 @@
 	[CCode (cheader_filename = "fcntl.h")]
 	public const int O_NONBLOCK;
 	[CCode (cheader_filename = "fcntl.h")]
+	public const int O_NDELAY;
+	[CCode (cheader_filename = "fcntl.h")]
 	public const int O_RSYNC;
 	[CCode (cheader_filename = "fcntl.h")]
 	public const int O_SYNC;
 	[CCode (cheader_filename = "fcntl.h")]
+	public const int O_ASYNC;
+	[CCode (cheader_filename = "fcntl.h")]
 	public const int O_ACCMODE;
 	[CCode (cheader_filename = "fcntl.h")]
 	public const int O_RDONLY;
 	[CCode (cheader_filename = "fcntl.h")]
+	public const int O_WRONLY;
+	[CCode (cheader_filename = "fcntl.h")]
 	public const int O_RDWR;
 	[CCode (cheader_filename = "fcntl.h")]
-	public const int O_WRONLY;
-	[CCode (cheader_filename = "fcntl.h")]
 	public const int POSIX_FADV_NORMAL;
 	[CCode (cheader_filename = "fcntl.h")]
 	public const int POSIX_FADV_SEQUENTIAL;
@@ -283,21 +325,79 @@
 	public const int POSIX_FADV_DONTNEED;
 	[CCode (cheader_filename = "fcntl.h")]
 	public const int POSIX_FADV_NOREUSE;
+	
 	[CCode (cheader_filename = "fcntl.h")]
+	public struct flock {
+		public short l_type;
+		public short l_whence;
+		public long l_start;
+		public long l_len;
+		public long l_pid;
+	}
+
+	[CCode (cheader_filename = "fcntl.h")]
 	public int creat (string path, int mode);
 	[CCode (cheader_filename = "fcntl.h")]
 	public int fcntl (int fd, int cmd, ...);
 	[CCode (cheader_filename = "fcntl.h")]
-	public int open (string path, int oflag);
+	public int open (string path, int oflag, ...);
 	[CCode (cheader_filename = "fcntl.h")]
 	public int posix_fadvice (int fd, long offset, long len, int advice);
 	[CCode (cheader_filename = "fcntl.h")]
 	public int posix_fallocate (int fd, long offset, long len);
-
+	
 	[CCode (cheader_filename = "string.h")]
+	public void* memccpy (void* s1, void* s2, int c, size_t n);
+	[CCode (cheader_filename = "string.h")]
+	public void* memchr (void* s, int c, size_t n);
+	[CCode (cheader_filename = "string.h")]
 	public int memcmp (void* s1, void* s2, size_t n);
 	[CCode (cheader_filename = "string.h")]
+	public void* memcpy (void* s1, void* s2, size_t n);
+	[CCode (cheader_filename = "string.h")]
+	public void* memmove (void* s1, void* s2, size_t n);
+	[CCode (cheader_filename = "string.h")]
+	public void* memset (void * s, int c, size_t n);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strcat (string s1, string s2);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strchr (string s, int c);
+	[CCode (cheader_filename = "string.h")]
+	public int strcmp (string s1, string s2);
+	[CCode (cheader_filename = "string.h")]
+	public int strcoll (string s1, string s2);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strcpy (string s1, string s2);
+	[CCode (cheader_filename = "string.h")]
+	public size_t strcspn (string s1, string s2);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strdup (string s1);
+	[CCode (cheader_filename = "string.h")]
 	public unowned string strerror (int errnum);
+	[CCode (cheader_filename = "string.h")]
+	public int* strerror_r (int errnum, string strerrbuf, size_t buflen);
+	[CCode (cheader_filename = "string.h")]
+	public size_t strlen (string s);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strncat(string s1, string s2, size_t n);
+	[CCode (cheader_filename = "string.h")]
+	public int strncmp (string s1, string s2, size_t n);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strncpy (string s1, string s2, size_t n);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strpbrk (string s1, string s2);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strrchr (string s, int c);
+	[CCode (cheader_filename = "string.h")]
+	public size_t strspn (string s1, string s2);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strstr (string s1, string s2);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strtok (string s1, string s2);
+	[CCode (cheader_filename = "string.h")]
+	public unowned string strtok_r (string s, string sep, out string lasts);
+	[CCode (cheader_filename = "string.h")]
+	public size_t strxfrm (string s1, string s2, size_t n);
 
 	[CCode (cheader_filename = "stropts.h")]
 	public const int I_PUSH;
@@ -417,10 +517,82 @@
 	public const int MORECTL;
 	[CCode (cheader_filename = "stropts.h")]
 	public const int MOREDATA;
+	
 	[CCode (cheader_filename = "stropts.h")]
+	public struct bandinfo {
+		public uchar bi_pri;
+		public int bi_flag;
+	}
+	
+	[CCode (cheader_filename = "stropts.h")]
+	public struct strbuf {
+		public int maxlen;
+		public int len;
+		public unowned string buf;
+	}
+	
+	[CCode (cheader_filename = "stropts.h")]
+	public struct strpeek {
+		public strbuf ctlbuf;
+		public strbuf databuf;
+		public uint flags;
+	}
+	
+	[CCode (cheader_filename = "stropts.h")]
+	public struct strfdinsert {
+		public strbuf ctlbuf;
+		public strbuf databuf;
+		public uint flags;
+		public int fildes;
+		public int offset;
+	}
+	
+	[CCode (cheader_filename = "stropts.h")]
+	public struct strioctl {
+		public int ic_cmd;
+		public int ic_timout;
+		public int ic_len;
+		public unowned string ic_dp;
+	}
+	
+	[CCode (cheader_filename = "stropts.h")]
+	public struct strrecvfd {
+		public int fda;
+		public long uid;
+		public long gid;
+	}
+	
+	[CCode (cheader_filename = "stropts.h")]
+	public struct str_mlist {
+		public unowned string l_name;
+	}
+	
+	[CCode (cheader_filename = "stropts.h")]
+	public struct str_list {
+		public int sl_nmods;
+		public str_mlist sl_modlist;
+	}
+	
+	[CCode (cheader_filename = "stropts.h")]
+	public int isastream (int fildes);
+	[CCode (cheader_filename = "stropts.h")]
+	public int getmsg (int fildes, strbuf ctlptr, strbuf dataptr, out int flagsp);
+	[CCode (cheader_filename = "stropts.h")]
+	public int getpmsg (int fildes, strbuf ctlbuf, strbuf dataptr, out int bandp, out int flagsp);
+	[CCode (cheader_filename = "stropts.h")]
 	public int ioctl (int fildes, int request, ...);
+	[CCode (cheader_filename = "stropts.h")]
+	public int putmsg (int fildes, strbuf ctlptr, strbuf dataptr, int flags);
+	[CCode (cheader_filename = "stropts.h")]
+	public int putpmsg (int fildes, strbuf ctlptr, strbuf dataptr, int band, int flags);
+	[CCode (cheader_filename = "stropts.h")]
+	public int fattach (int fildes, string path);
+	[CCode (cheader_filename = "stropts.h")]
+	public int fdetach (string path);
 
 	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SCM_RIGHTS;
+	[CCode (cheader_filename = "sys/socket.h")]
 	public const int SOCK_DGRAM;
 	[CCode (cheader_filename = "sys/socket.h")]
 	public const int SOCK_RAW;
@@ -429,21 +601,322 @@
 	[CCode (cheader_filename = "sys/socket.h")]
 	public const int SOCK_STREAM;
 	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SOL_SOCKET;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_ACCEPTCONN;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_BROADCAST;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_DEBUG;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_DONTROUTE;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_ERROR;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_KEEPALIVE;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_LINGER;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_OOBINLINE;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_RCVBUF;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_RCVLOWAT;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_RCVTIMEO;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_REUSEADDR;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_SNDBUF;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_SNDLOWAT;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_SNDTIMEO;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SO_TYPE;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int MSG_CTRUNC;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int MSG_DONTROUTE;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int MSG_EOR;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int MSG_OOB;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int MSG_PEEK;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int MSG_TRUNC;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int MSG_WAITALL;
+	[CCode (cheader_filename = "sys/socket.h")]
 	public const int AF_INET;
 	[CCode (cheader_filename = "sys/socket.h")]
 	public const int AF_INET6;
 	[CCode (cheader_filename = "sys/socket.h")]
 	public const int AF_UNIX;
 	[CCode (cheader_filename = "sys/socket.h")]
+	public const int AF_UNSPEC;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SHUT_RD;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SHUT_RDWR;
+	[CCode (cheader_filename = "sys/socket.h")]
+	public const int SHUT_WR;
+	
+	[CCode (cheader_filename = "sys/socket.h")]
+	public struct sockaddr {
+		public uint sa_family;
+		public void* sa_data;
+	}
+	
+	[CCode (cheader_filename = "sys/socket.h")]
+	public struct sockaddr_storage {
+		public uint ss_family;
+	}
+	
+	[CCode (cheader_filename = "sys/socket.h")]
+	public struct msghdr {
+		public void* msg_name;
+		public int msg_namelen;
+		public iovec msg_iov;
+		public int msg_iovlen;
+		public void* msg_control;
+		public int msg_controllen;
+		public int msg_flags;
+	}
+	
+	[CCode (cheader_filename = "sys/socket.h")]
+	public struct cmsghdr {
+		public int cmsg_len;
+		public int cmsg_level;
+		public int cmsg_type;
+	}
+	
+	[CCode (cheader_filename = "sys/socket.h")]
+	public struct linger {
+		public int l_onoff;
+		public int l_linger;
+	}
+	
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int accept (int socket, sockaddr address, out int address_len);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int bind (int socket, sockaddr address, int address_len);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int connect (int socket, sockaddr address, int address_len);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int getpeername (int socket, sockaddr address, out int address_len);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int getsockname (int socket, sockaddr address, out int address_len);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int getsockopt (int socket, int level, int option_name, void* option_value, out int option_len);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int listen (int socket, int backlog);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public ssize_t recv (int socket, void* buffer, size_t length, int flags);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public ssize_t recvfrom (int socket, void* buffer, size_t length, int flags, sockaddr address, out int address_len);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public ssize_t recvmsg (int socket, msghdr message, int flags);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public ssize_t send (int socket, void* buffer, size_t length, int flags);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public ssize_t sendmsg (int socket, msghdr message, int flags);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public ssize_t sendto (int socket, void* message, size_t length, int flags, sockaddr dest_addr, int dest_len);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int setsockopt (int socket, int level, int option_name, void* option_value, int option_len);
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int shutdown (int socket, int how);
+	[CCode (cheader_filename = "sys/socket.h")]
 	public int socket (int domain, int type, int protocol);
-
+	[CCode (cheader_filename = "sys/socket.h")]
+	public int sockatmark (int domain);
+	[CCode (cheader_filename = "sys/socket.h", array_length = false)]
+	public int socketpair (int domain, int type, int protocol, int[2] socket_vector);
+	
+	[CCode (cheader_filename = "sys/uio.h")]
+	public struct iovec {
+		public void* iov_base;
+		public size_t iov_len;
+	}
+	[CCode (cheader_filename = "sys/uio.h")]
+	public ssize_t readv (int fildes, iovec iov, int iovcnt);
+	[CCode (cheader_filename = "sys/uio.h")]
+	public ssize_t writev (int fildes, iovec iov, int iovcnt);
+	
 	[CCode (cheader_filename = "unistd.h")]
+	public const int F_OK;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int R_OK;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int W_OK;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int X_OK;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int SEEK_CUR;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int SEEK_END;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int SEEK_SET;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int F_LOCK;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int F_TEST;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int F_TLOCK;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int F_ULOCK;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int STDERR_FILENO;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int STDIN_FILENO;
+	[CCode (cheader_filename = "unistd.h")]
+	public const int STDOUT_FILENO;
+	
+	[CCode (cheader_filename = "unistd.h")]
+	public int access (string path, int amode);
+	[CCode (cheader_filename = "unistd.h")]
+	public uint alarm (uint seconds);
+	[CCode (cheader_filename = "unistd.h")]
+	public int chdir (string path);
+	[CCode (cheader_filename = "unistd.h")]
+	public int chown (string path, long owner, long group);
+	[CCode (cheader_filename = "unistd.h")]
 	public int close (int fd);
 	[CCode (cheader_filename = "unistd.h")]
+	public unowned string crypt (string key, string salt);
+	[CCode (cheader_filename = "unistd.h")]
+	public int dup (int fildes);
+	[CCode (cheader_filename = "unistd.h")]
+	public int dup2 (int fildes, int fildes2);
+	[CCode (cheader_filename = "unistd.h", array_length = false)]
+	public void encrypt ([CCode (array_length = false)] char[64] block, int edflag);
+	[CCode (cheader_filename = "unistd.h")]
 	public int execl (string path, params string[] arg);
 	[CCode (cheader_filename = "unistd.h")]
+	public int execle (string path, params string[] arg, params string[] env);
+	[CCode (cheader_filename = "unistd.h")]
+	public int execlp (string file, params string[] arg);
+	[CCode (cheader_filename = "unistd.h")]
+	public int execv (string path, params string[] arg);
+	[CCode (cheader_filename = "unistd.h")]
+	public int execve (string path, params string[] arg);
+	[CCode (cheader_filename = "unistd.h")]
+	public int fchdir (int fildes);
+	[CCode (cheader_filename = "unistd.h")]
+	public int fchown (int fildes, long owner, long group);
+	[CCode (cheader_filename = "unistd.h")]
+	public int fdatasync (int fildes);
+	[CCode (cheader_filename = "unistd.h")]
+	public long fork ();
+	[CCode (cheader_filename = "unistd.h")]
+	public int fsync (int fildes);
+	[CCode (cheader_filename = "unistd.h")]
+	public int ftruncate (int fildes, long length);
+	[CCode (cheader_filename = "unistd.h")]
+	public unowned string getcwd (string buf, size_t size);
+	[CCode (cheader_filename = "unistd.h")]
+	public long getegid ();
+	[CCode (cheader_filename = "unistd.h")]
+	public long geteuid ();
+	[CCode (cheader_filename = "unistd.h")]
+	public long getgid ();
+	[CCode (cheader_filename = "unistd.h")]
+	public int getgroups (int gidsetsize, [CCode (array_length = false)] long[] grouplist);
+	[CCode (cheader_filename = "unistd.h")]
+	public long gethostid ();
+	[CCode (cheader_filename = "unistd.h")]
+	public int gethostname (string name, size_t namelen);
+	[CCode (cheader_filename = "unistd.h")]
+	public unowned string getlogin ();
+	[CCode (cheader_filename = "unistd.h")]
+	public int getlogin_r (string name, size_t namesize);
+	[CCode (cheader_filename = "unistd.h")]
+	public long getpgid (long pid);
+	[CCode (cheader_filename = "unistd.h")]
+	public long getpgrp ();
+	[CCode (cheader_filename = "unistd.h")]
+	public long getpid ();
+	[CCode (cheader_filename = "unistd.h")]
+	public long getppid ();
+	[CCode (cheader_filename = "unistd.h")]
+	public long getsid ();
+	[CCode (cheader_filename = "unistd.h")]
+	public long getuid ();
+	[CCode (cheader_filename = "unistd.h")]
+	public unowned string getwd (string path_name);
+	[CCode (cheader_filename = "unistd.h")]
+	public bool isatty (int fildes);
+	[CCode (cheader_filename = "unistd.h")]
+	public int lchown (string path, long owner, long group);
+	[CCode (cheader_filename = "unistd.h")]
+	public int link (string path1, string path2);
+	[CCode (cheader_filename = "unistd.h")]
+	public int lockf (int fildes, int function, long size);
+	[CCode (cheader_filename = "unistd.h")]
+	public long lseek (int fildes, long offset, int whence);
+	[CCode (cheader_filename = "unistd.h")]
+	public int nice (int incr);
+	[CCode (cheader_filename = "unistd.h")]
+	public int pause ();
+	[CCode (cheader_filename = "unistd.h")]
+	public int pipe ([CCode (array_length = false)] int[2] fildes);
+	[CCode (cheader_filename = "unistd.h")]
+	public ssize_t pread (int fildes, void* buf, size_t nbyte, long offset);
+	[CCode (cheader_filename = "unistd.h")]
+	public ssize_t pwrite (int fildes, void* buf, size_t nbyte, long offset);
+	[CCode (cheader_filename = "unistd.h")]
 	public ssize_t read (int fd, void* buf, size_t count);
 	[CCode (cheader_filename = "unistd.h")]
+	public ssize_t readlink (string path, string buf, size_t bufsize);
+	[CCode (cheader_filename = "unistd.h")]
+	public int rmdir (string path);
+	[CCode (cheader_filename = "unistd.h")]
+	public int setegid (long egid);
+	[CCode (cheader_filename = "unistd.h")]
+	public int seteuid (long euid);
+	[CCode (cheader_filename = "unistd.h")]
+	public int setgid (long gid);
+	[CCode (cheader_filename = "unistd.h")]
+	public int setpgid (long pid, long pgid);
+	[CCode (cheader_filename = "unistd.h")]
+	public long setpgrp ();
+	[CCode (cheader_filename = "unistd.h")]
+	public int setregid (long rgid, long egid);
+	[CCode (cheader_filename = "unistd.h")]
+	public int setreuid (long ruid, long euid);
+	[CCode (cheader_filename = "unistd.h")]
+	public long setsid ();
+	[CCode (cheader_filename = "unistd.h")]
+	public int setuid (long uid);
+	[CCode (cheader_filename = "unistd.h")]
+	public uint sleep (uint seconds);
+	[CCode (cheader_filename = "unistd.h")]
+	public void swab (void* src, void* dest, ssize_t nbytes);
+	[CCode (cheader_filename = "unistd.h")]
+	public int symlink (string path1, string path2);
+	[CCode (cheader_filename = "unistd.h")]
+	public void sync ();
+	[CCode (cheader_filename = "unistd.h")]
+	public long tcgetpgrp (int fildes);
+	[CCode (cheader_filename = "unistd.h")]
+	public int tcsetpgrp (int fildes, long pgid_id);
+	[CCode (cheader_filename = "unistd.h")]
+	public int truncate (string path, long length);
+	[CCode (cheader_filename = "unistd.h")]
+	public unowned string ttyname (int fildes);
+	[CCode (cheader_filename = "unistd.h")]
+	public int ttyname_r (int fildes, string name, size_t namesize);
+	[CCode (cheader_filename = "unistd.h")]
+	public uint ualarm (uint seconds, uint interval);
+	[CCode (cheader_filename = "unistd.h")]
+	public int unlink (string path);
+	[CCode (cheader_filename = "unistd.h")]
+	public int usleep (uint seconds);
+	[CCode (cheader_filename = "unistd.h")]
+	public long vfork ();
+	[CCode (cheader_filename = "unistd.h")]
 	public ssize_t write (int fd, void* buf, size_t count);
 }
 
