1/*
2 * Copyright 2005-2011, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef REMAPPED_FUNCTIONS_H
6#define REMAPPED_FUNCTIONS_H
7
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13int		_haiku_build_fchmod(int fd, mode_t mode);
14int		_haiku_build_fchmodat(int fd, const char* path, mode_t mode, int flag);
15int		_haiku_build_fstat(int fd, struct stat* st);
16int		_haiku_build_fstatat(int fd, const char* path, struct stat* st,
17			int flag);
18int		_haiku_build_mkdirat(int fd, const char* path, mode_t mode);
19int		_haiku_build_mkfifoat(int fd, const char* path, mode_t mode);
20int		_haiku_build_utimensat(int fd, const char* path,
21			const struct timespec times[2], int flag);
22int		_haiku_build_futimens(int fd, const struct timespec times[2]);
23int		_haiku_build_faccessat(int fd, const char* path, int accessMode,
24			int flag);
25int		_haiku_build_fchdir(int fd);
26int		_haiku_build_close(int fd);
27int		_haiku_build_dup(int fd);
28int		_haiku_build_dup2(int fd1, int fd2);
29int		_haiku_build_linkat(int toFD, const char* toPath, int pathFD,
30			const char* path, int flag);
31int		_haiku_build_unlinkat(int fd, const char* path, int flag);
32ssize_t	_haiku_build_readlinkat(int fd, const char* path, char* buffer,
33			size_t bufferSize);
34int		_haiku_build_symlinkat(const char* toPath, int fd,
35			const char* symlinkPath);
36int		_haiku_build_ftruncate(int fd, off_t newSize);
37int		_haiku_build_fchown(int fd, uid_t owner, gid_t group);
38int		_haiku_build_fchownat(int fd, const char* path, uid_t owner,
39			gid_t group, int flag);
40int		_haiku_build_mknodat(int fd, const char* name, mode_t mode, dev_t dev);
41int		_haiku_build_creat(const char* path, mode_t mode);
42int		_haiku_build_open(const char* path, int openMode, mode_t permissions);
43int		_haiku_build_openat(int fd, const char* path, int openMode,
44			mode_t permissions);
45int		_haiku_build_fcntl(int fd, int op, int argument);
46int		_haiku_build_renameat(int fromFD, const char* from, int toFD,
47			const char* to);
48
49#ifdef HAIKU_HOST_PLATFORM_HAIKU
50
51ssize_t	_haiku_build_fs_read_attr(int fd, const char *attribute, uint32 type,
52					off_t pos, void *buffer, size_t readBytes);
53ssize_t	_haiku_build_fs_write_attr(int fd, const char *attribute, uint32 type,
54					off_t pos, const void *buffer, size_t readBytes);
55int		_haiku_build_fs_remove_attr(int fd, const char *attribute);
56int		_haiku_build_fs_stat_attr(int fd, const char *attribute,
57					struct attr_info *attrInfo);
58
59int		_haiku_build_fs_open_attr(const char *path, const char *attribute,
60					uint32 type, int openMode);
61int		_haiku_build_fs_fopen_attr(int fd, const char *attribute, uint32 type,
62					int openMode);
63int		_haiku_build_fs_close_attr(int fd);
64
65void	*_haiku_build_fs_open_attr_dir(const char *path);
66void	*_haiku_build_fs_lopen_attr_dir(const char *path);
67void	*_haiku_build_fs_fopen_attr_dir(int fd);
68int		_haiku_build_fs_close_attr_dir(void *dir);
69void	*_haiku_build_fs_read_attr_dir(void *dir);
70void	_haiku_build_fs_rewind_attr_dir(void *dir);
71
72#endif
73
74#ifdef __cplusplus
75} // extern "C"
76#endif
77
78
79#endif	// REMAPPED_FUNCTIONS_H
80