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
+6 -6
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_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 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_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 // 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 // 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_open_attr(const char *path, const char *attribute, uint32 type, int openMode);
extern int fs_fopen_attr(int fd, const char *attribute); extern int fs_open_attr(int fd, const char *attribute, uint32 type, int openMode);
extern int fs_close_attr(int fd); extern int fs_close_attr(int fd);
extern DIR *fs_open_attr_dir(const char *path); extern DIR *fs_open_attr_dir(const char *path);
extern DIR *fs_fopen_attr_dir(int fd); extern DIR *fs_fopen_attr_dir(int fd);
extern int fs_close_attr_dir(DIR *dirp); extern int fs_close_attr_dir(DIR *dir);
extern struct dirent *fs_read_attr_dir(DIR *dirp); extern struct dirent *fs_read_attr_dir(DIR *dir);
extern void fs_rewind_attr_dir(DIR *dirp); extern void fs_rewind_attr_dir(DIR *dir);
#ifdef __cplusplus #ifdef __cplusplus
} }
+12 -6
View File
@@ -2,11 +2,12 @@
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
** Distributed under the terms of the NewOS License. ** Distributed under the terms of the NewOS License.
*/ */
#include <sys/types.h>
#ifndef _KERNEL_SYSCALLS_H #ifndef _KERNEL_SYSCALLS_H
#define _KERNEL_SYSCALLS_H #define _KERNEL_SYSCALLS_H
#include <sys/types.h>
enum { enum {
SYSCALL_NULL = 0, SYSCALL_NULL = 0,
SYSCALL_MOUNT, SYSCALL_MOUNT,
@@ -93,7 +94,7 @@ enum {
SYSCALL_OPEN_DIR_ENTRY_REF, SYSCALL_OPEN_DIR_ENTRY_REF,
SYSCALL_OPEN_DIR_NODE_REF, SYSCALL_OPEN_DIR_NODE_REF,
SYSCALL_CREATE_ENTRY_REF, SYSCALL_CREATE_ENTRY_REF,
SYSCALL_CREATE_DIR_ENTRY_REF, SYSCALL_CREATE_DIR_ENTRY_REF, /* 85 */
SYSCALL_CREATE_SYMLINK, SYSCALL_CREATE_SYMLINK,
SYSCALL_READ_LINK, SYSCALL_READ_LINK,
SYSCALL_GET_THREAD_INFO, SYSCALL_GET_THREAD_INFO,
@@ -103,11 +104,16 @@ enum {
SYSCALL_CREATE_LINK, SYSCALL_CREATE_LINK,
SYSCALL_REMOVE_DIR, SYSCALL_REMOVE_DIR,
SYSCALL_SEND_DATA, SYSCALL_SEND_DATA,
SYSCALL_RECEIVE_DATA, SYSCALL_RECEIVE_DATA, /* 95 */
SYSCALL_HAS_DATA, 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); int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_ret);
#endif #endif /* _KERNEL_SYSCALLS_H */