Skip to content

Commit

Permalink
Add the libc glue and headers definitions for the *at() syscalls.
Browse files Browse the repository at this point in the history
Based on the submission by rdivacky,
	sponsored by Google Summer of Code 2007
Reviewed by:	rwatson, rdivacky
Tested by:	pho
  • Loading branch information
kostikbel committed Mar 31, 2008
1 parent f2296b5 commit ba2983e
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 0 deletions.
3 changes: 3 additions & 0 deletions include/stdio.h
Original file line number Diff line number Diff line change
Expand Up @@ -449,5 +449,8 @@ extern int __isthreaded;
#define putchar_unlocked(x) putc_unlocked(x, stdout)
#endif

#if __BSD_VISIBLE
int renameat(int, const char *, int, const char *);
#endif
__END_DECLS
#endif /* !_STDIO_H_ */
11 changes: 11 additions & 0 deletions include/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,17 @@ void *valloc(size_t); /* obsoleted by malloc() */
extern int optreset; /* getopt(3) external variable */
#endif
#endif /* __BSD_VISIBLE */

#if __BSD_VISIBLE
int faccessat(int, const char *, int);
int fchmodat(int, const char *, mode_t, int);
int fchownat(int, const char *, uid_t, gid_t, int);
int fexecve(int, char *const [], char *const []);
int linkat(int, const char *, int, const char *, int);
ssize_t readlinkat(int, const char *, char *, size_t);
int symlinkat(const char *, int, const char *);
int unlinkat(int, const char *, int);
#endif /* __BSD_VISIBLE */
__END_DECLS

#endif /* !_UNISTD_H_ */
18 changes: 18 additions & 0 deletions lib/libc/sys/Symbol.map
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,24 @@ FBSD_1.0 {
truncate;
};

FBSD_1.1 {
faccessat;
fchmodat;
fchownat;
fexecve;
fstatat;
futimesat;
linkat;
mkdirat;
mkfifoat;
mknodat;
openat;
readlinkat;
renameat;
symlinkat;
unlinkat;
};

FBSDprivate_1.0 {
___acl_aclcheck_fd;
__sys___acl_aclcheck_fd;
Expand Down
1 change: 1 addition & 0 deletions sys/sys/fcntl.h
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,7 @@ __BEGIN_DECLS
int open(const char *, int, ...);
int creat(const char *, mode_t);
int fcntl(int, int, ...);
int openat(int, const char *, int, ...);
#if __BSD_VISIBLE
int flock(int, int);
#endif
Expand Down
6 changes: 6 additions & 0 deletions sys/sys/stat.h
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,12 @@ int mknod(const char *, mode_t, dev_t);
#endif
int stat(const char * __restrict, struct stat * __restrict);
mode_t umask(mode_t);
#if __BSD_VISIBLE
int fstatat(int, const char *, struct stat *, int);
int mkdirat(int, const char *, mode_t);
int mkfifoat(int, const char *, mode_t);
int mknodat(int, const char *, mode_t, dev_t);
#endif
__END_DECLS
#endif /* !_KERNEL */

Expand Down
1 change: 1 addition & 0 deletions sys/sys/time.h
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@ int lutimes(const char *, const struct timeval *);
int setitimer(int, const struct itimerval *, struct itimerval *);
int settimeofday(const struct timeval *, const struct timezone *);
int utimes(const char *, const struct timeval *);
int futimesat(int, const char *, const struct timeval [2]);
__END_DECLS

#endif /* !_KERNEL */
Expand Down

0 comments on commit ba2983e

Please sign in to comment.