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:
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user