]> git.proxmox.com Git - mirror_edk2.git/blame - StdLib/Include/unistd.h
StdLib: Improve robustness of stat() and make basename() a public function.
[mirror_edk2.git] / StdLib / Include / unistd.h
CommitLineData
53e1e5c6 1/** @file\r
2\r
3 Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
4 This program and the accompanying materials are licensed and made available under\r
5 the terms and conditions of the BSD License that accompanies this distribution.\r
6 The full text of the license may be found at\r
7 http://opensource.org/licenses/bsd-license.\r
8\r
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11\r
12**/\r
13#ifndef _UNISTD_H_\r
14#define _UNISTD_H_\r
15\r
16//#include <machine/ansi.h>\r
17//#include <machine/int_types.h>\r
18//#include <sys/featuretest.h>\r
19//#include <sys/types.h>\r
20#include <sys/unistd.h>\r
21#include <sys/EfiSysCall.h>\r
22\r
23#define F_ULOCK 0\r
24#define F_LOCK 1\r
25#define F_TLOCK 2\r
26#define F_TEST 3\r
27\r
28\r
29__BEGIN_DECLS\r
d7ce7006 30int dup(int);\r
53e1e5c6 31int rename(const char *, const char *);\r
32\r
d7ce7006 33/* Functions implemented for compatibility. */\r
34int getopt(int, char * const [], const char *);\r
35extern char *optarg; /* getopt(3) external variables */\r
36extern int optind;\r
37pid_t getpgrp(void);\r
38pid_t tcgetpgrp(int);\r
39char *getpass(const char *);\r
5252c292 40int usleep(useconds_t);\r
41unsigned int sleep(unsigned int);\r
41b152c5 42char *basename(char *path);\r
d7ce7006 43\r
53e1e5c6 44// Networking\r
45long gethostid(void);\r
46int gethostname(char *, size_t);\r
47int getdomainname(char *, size_t);\r
48int setdomainname(const char *, size_t);\r
49int sethostid(long);\r
50int sethostname(const char *, size_t);\r
51\r
d7ce7006 52/* Stub functions implemented for porting ease.\r
53 These functions always fail or return NULL.\r
54*/\r
55__aconst char *getlogin(void);\r
56pid_t fork(void);\r
57uid_t getuid(void);\r
58\r
53e1e5c6 59// For Future implementation\r
53e1e5c6 60ssize_t pread(int, void *, size_t, off_t);\r
61ssize_t pwrite(int, const void *, size_t, off_t);\r
62int syscall(int, ...);\r
53e1e5c6 63\r
d7ce7006 64#if 0 // The following functions are not implemented\r
65__dead void _exit(int) __attribute__((__noreturn__));\r
53e1e5c6 66unsigned int alarm(unsigned int);\r
67int chown(const char *, uid_t, gid_t);\r
68size_t confstr(int, char *, size_t);\r
69int execl(const char *, const char *, ...);\r
70int execle(const char *, const char *, ...);\r
71int execlp(const char *, const char *, ...);\r
72int execv(const char *, char * const *);\r
73int execve(const char *, char * const *, char * const *);\r
74int execvp(const char *, char * const *);\r
75long fpathconf(int, int);\r
76gid_t getegid(void);\r
77uid_t geteuid(void);\r
78gid_t getgid(void);\r
79int getgroups(int, gid_t []);\r
53e1e5c6 80pid_t getpid(void);\r
81pid_t getppid(void);\r
53e1e5c6 82int link(const char *, const char *);\r
83long pathconf(const char *, int);\r
84int pause(void);\r
85int pipe(int *);\r
86int setgid(gid_t);\r
87int setpgid(pid_t, pid_t);\r
88pid_t setsid(void);\r
89int setuid(uid_t);\r
53e1e5c6 90long sysconf(int);\r
d7ce7006 91\r
53e1e5c6 92int tcsetpgrp(int, pid_t);\r
93__aconst char *ttyname(int);\r
94\r
53e1e5c6 95extern int opterr;\r
53e1e5c6 96extern int optopt;\r
d7ce7006 97extern int optreset;\r
98extern char *suboptarg;\r
53e1e5c6 99\r
100int setegid(gid_t);\r
101int seteuid(uid_t);\r
102int fdatasync(int);\r
103int fsync(int);\r
104int ttyname_r(int, char *, size_t);\r
105int chroot(const char *);\r
106int nice(int);\r
107__aconst char *crypt(const char *, const char *);\r
108int encrypt(char *, int);\r
53e1e5c6 109pid_t getsid(pid_t);\r
110\r
111#ifndef intptr_t\r
112typedef __intptr_t intptr_t;\r
113#define intptr_t __intptr_t\r
114#endif\r
115\r
116int brk(void *);\r
117int fchdir(int);\r
118int fchown(int, uid_t, gid_t);\r
119int getdtablesize(void);\r
120__pure int getpagesize(void); /* legacy */\r
121pid_t getpgid(pid_t);\r
122int lchown(const char *, uid_t, gid_t);\r
123int lockf(int, int, off_t);\r
124ssize_t readlink(const char * __restrict, char * __restrict, size_t);\r
125void *sbrk(intptr_t);\r
126int setregid(gid_t, gid_t);\r
127int setreuid(uid_t, uid_t);\r
128void swab(const void *, void *, size_t);\r
129int symlink(const char *, const char *);\r
130void sync(void);\r
131useconds_t ualarm(useconds_t, useconds_t);\r
53e1e5c6 132pid_t vfork(void) __RENAME(__vfork14);\r
133\r
134/*\r
135 * Implementation-defined extensions\r
136 */\r
137int acct(const char *);\r
138int closefrom(int);\r
139int des_cipher(const char *, char *, long, int);\r
140int des_setkey(const char *);\r
141void endusershell(void);\r
142int exect(const char *, char * const *, char * const *);\r
143int fchroot(int);\r
144int fsync_range(int, int, off_t, off_t);\r
145int getgrouplist(const char *, gid_t, gid_t *, int *);\r
146int getgroupmembership(const char *, gid_t, gid_t *, int, int *);\r
147mode_t getmode(const void *, mode_t);\r
148int getsubopt(char **, char * const *, char **);\r
149__aconst char *getusershell(void);\r
150int initgroups(const char *, gid_t);\r
151int iruserok(uint32_t, int, const char *, const char *);\r
152int issetugid(void);\r
153int nfssvc(int, void *);\r
154int profil(char *, size_t, u_long, u_int);\r
155void psignal(unsigned int, const char *);\r
156int rcmd(char **, int, const char *, const char *, const char *, int *);\r
157int revoke(const char *);\r
158int rresvport(int *);\r
159int ruserok(const char *, int, const char *, const char *);\r
160int setgroups(int, const gid_t *);\r
161int setlogin(const char *);\r
162void *setmode(const char *);\r
163int setrgid(gid_t);\r
164int setruid(uid_t);\r
165void setusershell(void);\r
166void strmode(mode_t, char *);\r
167__aconst char *strsignal(int);\r
168int swapctl(int, void *, int);\r
169quad_t __syscall(quad_t, ...);\r
170int undelete(const char *);\r
171int rcmd_af(char **, int, const char *, const char *, const char *, int *, int);\r
172int rresvport_af(int *, int);\r
173int iruserok_sa(const void *, int, int, const char *, const char *);\r
d7ce7006 174#endif /* Unimplemented functions. */\r
53e1e5c6 175\r
176__END_DECLS\r
177\r
178#endif /* !_UNISTD_H_ */\r