From b67f11173f803f79ad22964641803b68512ee28e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 16 Oct 2002 16:17:28 +0000 Subject: [PATCH] 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 --- headers/os/kernel/fs_attr.h | 12 ++++++------ headers/private/kernel/ksyscalls.h | 26 ++++++++++++++++---------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/headers/os/kernel/fs_attr.h b/headers/os/kernel/fs_attr.h index 546593a4b4..8885590b86 100644 --- a/headers/os/kernel/fs_attr.h +++ b/headers/os/kernel/fs_attr.h @@ -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 } diff --git a/headers/private/kernel/ksyscalls.h b/headers/private/kernel/ksyscalls.h index 1c028d81b7..f68486caf2 100755 --- a/headers/private/kernel/ksyscalls.h +++ b/headers/private/kernel/ksyscalls.h @@ -2,11 +2,12 @@ ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. ** Distributed under the terms of the NewOS License. */ - -#include #ifndef _KERNEL_SYSCALLS_H #define _KERNEL_SYSCALLS_H +#include + + 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 */