4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This program and the accompanying materials are licensed and made available under
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the terms and conditions of the BSD License that accompanies this distribution.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/* access function */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define X_OK 0x01 /* test for execute or search permission */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint rename(const char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/* Functions implemented for compatibility. */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint getopt(int, char * const [], const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern char *optarg; /* getopt(3) external variables */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncchar *getpass(const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncunsigned int sleep(unsigned int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync /** Gets the current working directory.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The getcwd() function shall place an absolute pathname of the current
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync working directory in the array pointed to by buf, and return buf. The
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync pathname copied to the array shall contain no components that are
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync symbolic links. The size argument is the size in bytes of the character
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync array pointed to by the buf argument.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in,out] Buf The buffer to fill.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] BufSize The number of bytes in buffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval NULL The function failed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval NULL Buf was NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval NULL Size was 0.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return buf The function completed successfully. See errno for info.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync /** Change the current working directory.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The chdir() function shall cause the directory named by the pathname
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync pointed to by the path argument to become the current working directory;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync that is, the starting point for path searches for pathnames not beginning
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] Path The new path to set.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @todo Add non-shell CWD changing.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/** Determine accessibility of a file.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The access() function checks the file, named by the pathname pointed to by
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Path argument, for accessibility according to the bit pattern contained
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The value of Mode is either the bitwise-inclusive OR of the access
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync permissions to be checked (R_OK, W_OK, X_OK) or the existence test (F_OK).
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Path ends in '/' or '\\', the target must be a directory, otherwise it doesn't matter.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync A file is executable if it is NOT a directory and it ends in ".efi".
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] Path Path or name of the file to be checked.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] Mode Access permissions to check for.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval 0 Successful completion.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval -1 File is not accessible with the given Mode. The error condition
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync is indicated by errno. Values of errno specific to the access
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync function include: EACCES, ENOENT, ENOTDIR, ENAMETOOLONG
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Networking
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/* Stub functions implemented for porting ease.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync These functions always fail or return NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// For Future implementation
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint syscall(int, ...);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#if 0 // The following functions are not implemented
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync__dead void _exit(int) __attribute__((__noreturn__));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncunsigned int alarm(unsigned int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint execl(const char *, const char *, ...);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint execle(const char *, const char *, ...);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint execlp(const char *, const char *, ...);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint execv(const char *, char * const *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint execve(const char *, char * const *, char * const *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint execvp(const char *, char * const *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynclong fpathconf(int, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint link(const char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynclong pathconf(const char *, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint chroot(const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint encrypt(char *, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint brk(void *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncssize_t readlink(const char * __restrict, char * __restrict, size_t);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint symlink(const char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Implementation-defined extensions
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint acct(const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint des_cipher(const char *, char *, long, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint des_setkey(const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint exect(const char *, char * const *, char * const *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint getgrouplist(const char *, gid_t, gid_t *, int *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint getgroupmembership(const char *, gid_t, gid_t *, int, int *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint getsubopt(char **, char * const *, char **);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint iruserok(uint32_t, int, const char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint nfssvc(int, void *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncvoid psignal(unsigned int, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint rcmd(char **, int, const char *, const char *, const char *, int *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint revoke(const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint ruserok(const char *, int, const char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint setlogin(const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncvoid *setmode(const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint swapctl(int, void *, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint undelete(const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint rcmd_af(char **, int, const char *, const char *, const char *, int *, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint rresvport_af(int *, int);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncint iruserok_sa(const void *, int, int, const char *, const char *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#endif /* Unimplemented functions. */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#endif /* !_UNISTD_H_ */