Added syscalls for the attribute VFS calls.

Made some subtle changes to fs_attr.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1546 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2002-10-16 16:17:28 +00:00
parent f6fabd1b6d
commit b67f11173f
2 changed files with 22 additions and 16 deletions

View File

@ -24,19 +24,19 @@ extern "C" {
extern ssize_t fs_read_attr(int fd, const char *attribute, uint32 type, off_t pos, void *buffer, size_t readBytes);
extern ssize_t fs_write_attr(int fd, const char *attribute, uint32 type, off_t pos, const void *buffer, size_t readBytes);
extern int fs_remove_attr(int fd, const char *attribute);
extern int fs_stat_attr(int fd, const char *name, struct attr_info *attrInfo);
extern int fs_stat_attr(int fd, const char *attribute, struct attr_info *attrInfo);
// ToDo: the following three functions are not part of the R5 API, and
// are only preliminary - they may change or be removed at any point
extern int fs_open_attr(const char *path, const char *attribute);
extern int fs_fopen_attr(int fd, const char *attribute);
//extern int fs_open_attr(const char *path, const char *attribute, uint32 type, int openMode);
extern int fs_open_attr(int fd, const char *attribute, uint32 type, int openMode);
extern int fs_close_attr(int fd);
extern DIR *fs_open_attr_dir(const char *path);
extern DIR *fs_fopen_attr_dir(int fd);
extern int fs_close_attr_dir(DIR *dirp);
extern struct dirent *fs_read_attr_dir(DIR *dirp);
extern void fs_rewind_attr_dir(DIR *dirp);
extern int fs_close_attr_dir(DIR *dir);
extern struct dirent *fs_read_attr_dir(DIR *dir);
extern void fs_rewind_attr_dir(DIR *dir);
#ifdef __cplusplus
}

View File

@ -2,11 +2,12 @@
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
** Distributed under the terms of the NewOS License.
*/
#include <sys/types.h>
#ifndef _KERNEL_SYSCALLS_H
#define _KERNEL_SYSCALLS_H
#include <sys/types.h>
enum {
SYSCALL_NULL = 0,
SYSCALL_MOUNT,
@ -69,7 +70,7 @@ enum {
SYSCALL_SEM_GET_SEM_INFO,
SYSCALL_SEM_GET_NEXT_SEM_INFO,
SYSCALL_SEM_SET_SEM_OWNER,
SYSCALL_FDDUP, /* 60 */
SYSCALL_FDDUP, /* 60 */
SYSCALL_FDDUP2,
SYSCALL_GET_PROC_TABLE,
SYSCALL_GETRLIMIT,
@ -78,7 +79,7 @@ enum {
SYSCALL_ATOMIC_AND,
SYSCALL_ATOMIC_OR,
SYSCALL_ATOMIC_SET,
SYSCALL_TEST_AND_SET, /* 70 */
SYSCALL_TEST_AND_SET, /* 70 */
SYSCALL_SYSCTL,
SYSCALL_SOCKET,
SYSCALL_ACCESS,
@ -88,26 +89,31 @@ enum {
SYSCALL_OPEN_DIR,
SYSCALL_CREATE_DIR,
SYSCALL_SETENV,
SYSCALL_GETENV, /* 80 */
SYSCALL_GETENV, /* 80 */
SYSCALL_OPEN_ENTRY_REF,
SYSCALL_OPEN_DIR_ENTRY_REF,
SYSCALL_OPEN_DIR_NODE_REF,
SYSCALL_CREATE_ENTRY_REF,
SYSCALL_CREATE_DIR_ENTRY_REF,
SYSCALL_CREATE_DIR_ENTRY_REF, /* 85 */
SYSCALL_CREATE_SYMLINK,
SYSCALL_READ_LINK,
SYSCALL_GET_THREAD_INFO,
SYSCALL_GET_NEXT_THREAD_INFO,
SYSCALL_GET_TEAM_INFO, /* 90 */
SYSCALL_GET_TEAM_INFO, /* 90 */
SYSCALL_GET_NEXT_TEAM_INFO,
SYSCALL_CREATE_LINK,
SYSCALL_REMOVE_DIR,
SYSCALL_SEND_DATA,
SYSCALL_RECEIVE_DATA,
SYSCALL_RECEIVE_DATA, /* 95 */
SYSCALL_HAS_DATA,
SYSCALL_OPEN_ATTR_DIR,
SYSCALL_CREATE_ATTR,
SYSCALL_OPEN_ATTR,
SYSCALL_WRITE_ATTR_STAT, /* 100 */
SYSCALL_REMOVE_ATTR,
SYSCALL_RENAME_ATTR,
};
int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_ret);
#endif
#endif /* _KERNEL_SYSCALLS_H */