--- /dev/null
+/** @file\r
+\r
+ Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials are licensed and made available under\r
+ the terms and conditions of the BSD License that accompanies this distribution.\r
+ The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+#ifndef _UNISTD_H_\r
+#define _UNISTD_H_\r
+\r
+//#include <machine/ansi.h>\r
+//#include <machine/int_types.h>\r
+//#include <sys/featuretest.h>\r
+//#include <sys/types.h>\r
+#include <sys/unistd.h>\r
+#include <sys/EfiSysCall.h>\r
+\r
+#define F_ULOCK 0\r
+#define F_LOCK 1\r
+#define F_TLOCK 2\r
+#define F_TEST 3\r
+\r
+\r
+__BEGIN_DECLS\r
+int rename(const char *, const char *);\r
+\r
+// Networking\r
+long gethostid(void);\r
+int gethostname(char *, size_t);\r
+int getdomainname(char *, size_t);\r
+int setdomainname(const char *, size_t);\r
+int sethostid(long);\r
+int sethostname(const char *, size_t);\r
+\r
+// For Future implementation\r
+__dead void _exit(int) __attribute__((__noreturn__));\r
+ssize_t pread(int, void *, size_t, off_t);\r
+ssize_t pwrite(int, const void *, size_t, off_t);\r
+int syscall(int, ...);\r
+int dup(int);\r
+pid_t fork(void);\r
+\r
+// The following *nix functions are not implemented\r
+unsigned int alarm(unsigned int);\r
+int chown(const char *, uid_t, gid_t);\r
+size_t confstr(int, char *, size_t);\r
+int execl(const char *, const char *, ...);\r
+int execle(const char *, const char *, ...);\r
+int execlp(const char *, const char *, ...);\r
+int execv(const char *, char * const *);\r
+int execve(const char *, char * const *, char * const *);\r
+int execvp(const char *, char * const *);\r
+long fpathconf(int, int);\r
+gid_t getegid(void);\r
+uid_t geteuid(void);\r
+gid_t getgid(void);\r
+int getgroups(int, gid_t []);\r
+__aconst char *getlogin(void);\r
+pid_t getpgrp(void);\r
+pid_t getpid(void);\r
+pid_t getppid(void);\r
+uid_t getuid(void);\r
+int link(const char *, const char *);\r
+long pathconf(const char *, int);\r
+int pause(void);\r
+int pipe(int *);\r
+int setgid(gid_t);\r
+int setpgid(pid_t, pid_t);\r
+pid_t setsid(void);\r
+int setuid(uid_t);\r
+unsigned int sleep(unsigned int);\r
+long sysconf(int);\r
+pid_t tcgetpgrp(int);\r
+int tcsetpgrp(int, pid_t);\r
+__aconst char *ttyname(int);\r
+\r
+int getopt(int, char * const [], const char *);\r
+\r
+extern char *optarg; /* getopt(3) external variables */\r
+extern int opterr;\r
+extern int optind;\r
+extern int optopt;\r
+extern int optreset; /* getopt(3) external variable */\r
+extern char *suboptarg; /* getsubopt(3) external variable */\r
+\r
+int setegid(gid_t);\r
+int seteuid(uid_t);\r
+int fdatasync(int);\r
+int fsync(int);\r
+int ttyname_r(int, char *, size_t);\r
+int chroot(const char *);\r
+int nice(int);\r
+__aconst char *crypt(const char *, const char *);\r
+int encrypt(char *, int);\r
+char *getpass(const char *);\r
+pid_t getsid(pid_t);\r
+\r
+#ifndef intptr_t\r
+typedef __intptr_t intptr_t;\r
+#define intptr_t __intptr_t\r
+#endif\r
+\r
+int brk(void *);\r
+int fchdir(int);\r
+int fchown(int, uid_t, gid_t);\r
+int getdtablesize(void);\r
+__pure int getpagesize(void); /* legacy */\r
+pid_t getpgid(pid_t);\r
+int lchown(const char *, uid_t, gid_t);\r
+int lockf(int, int, off_t);\r
+ssize_t readlink(const char * __restrict, char * __restrict, size_t);\r
+void *sbrk(intptr_t);\r
+int setregid(gid_t, gid_t);\r
+int setreuid(uid_t, uid_t);\r
+void swab(const void *, void *, size_t);\r
+int symlink(const char *, const char *);\r
+void sync(void);\r
+useconds_t ualarm(useconds_t, useconds_t);\r
+int usleep(useconds_t);\r
+pid_t vfork(void) __RENAME(__vfork14);\r
+\r
+/*\r
+ * Implementation-defined extensions\r
+ */\r
+int acct(const char *);\r
+int closefrom(int);\r
+int des_cipher(const char *, char *, long, int);\r
+int des_setkey(const char *);\r
+void endusershell(void);\r
+int exect(const char *, char * const *, char * const *);\r
+int fchroot(int);\r
+int fsync_range(int, int, off_t, off_t);\r
+int getgrouplist(const char *, gid_t, gid_t *, int *);\r
+int getgroupmembership(const char *, gid_t, gid_t *, int, int *);\r
+mode_t getmode(const void *, mode_t);\r
+int getsubopt(char **, char * const *, char **);\r
+__aconst char *getusershell(void);\r
+int initgroups(const char *, gid_t);\r
+int iruserok(uint32_t, int, const char *, const char *);\r
+int issetugid(void);\r
+int nfssvc(int, void *);\r
+int profil(char *, size_t, u_long, u_int);\r
+void psignal(unsigned int, const char *);\r
+int rcmd(char **, int, const char *, const char *, const char *, int *);\r
+int revoke(const char *);\r
+int rresvport(int *);\r
+int ruserok(const char *, int, const char *, const char *);\r
+int setgroups(int, const gid_t *);\r
+int setlogin(const char *);\r
+void *setmode(const char *);\r
+int setrgid(gid_t);\r
+int setruid(uid_t);\r
+void setusershell(void);\r
+void strmode(mode_t, char *);\r
+__aconst char *strsignal(int);\r
+int swapctl(int, void *, int);\r
+quad_t __syscall(quad_t, ...);\r
+int undelete(const char *);\r
+int rcmd_af(char **, int, const char *, const char *, const char *, int *, int);\r
+int rresvport_af(int *, int);\r
+int iruserok_sa(const void *, int, int, const char *, const char *);\r
+\r
+__END_DECLS\r
+\r
+#endif /* !_UNISTD_H_ */\r