From 8e5ca65bc98f599f4cb9eb85c9d66d04f9205a13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 17 Oct 2002 03:04:19 +0000 Subject: [PATCH] Added a new write_stat() call to the file descriptor operations. Renamed sys_read_stat() to sys_read_path_stat() - sys_read_stat() is now the fd operation. Removed the sys_write_attr_stat() call because it is no longer needed. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1554 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/kernel/fd.h | 3 ++- headers/private/kernel/ksyscalls.h | 8 ++++---- headers/private/kernel/vfs.h | 16 ++++++++-------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/headers/private/kernel/fd.h b/headers/private/kernel/fd.h index a1faf6ceee..2179bc819a 100644 --- a/headers/private/kernel/fd.h +++ b/headers/private/kernel/fd.h @@ -34,7 +34,8 @@ struct fd_ops { // int (*fd_poll)(struct file_descriptor *, int); status_t (*fd_read_dir)(struct file_descriptor *,struct dirent *buffer,size_t bufferSize,uint32 *_count); status_t (*fd_rewind_dir)(struct file_descriptor *); - status_t (*fd_stat)(struct file_descriptor *, struct stat *); + status_t (*fd_read_stat)(struct file_descriptor *, struct stat *); + status_t (*fd_write_stat)(struct file_descriptor *, const struct stat *, int statMask); status_t (*fd_close)(struct file_descriptor *); void (*fd_free)(struct file_descriptor *); }; diff --git a/headers/private/kernel/ksyscalls.h b/headers/private/kernel/ksyscalls.h index f68486caf2..0d53e585f3 100755 --- a/headers/private/kernel/ksyscalls.h +++ b/headers/private/kernel/ksyscalls.h @@ -23,8 +23,8 @@ enum { SYSCALL_CREATE, SYSCALL_UNLINK, SYSCALL_RENAME, - SYSCALL_READ_STAT, - SYSCALL_WRITE_STAT, + SYSCALL_READ_PATH_STAT, + SYSCALL_WRITE_PATH_STAT, SYSCALL_SYSTEM_TIME, SYSCALL_SNOOZE, SYSCALL_SEM_CREATE, @@ -83,7 +83,7 @@ enum { SYSCALL_SYSCTL, SYSCALL_SOCKET, SYSCALL_ACCESS, - SYSCALL_READ_STAT_FD, + SYSCALL_READ_STAT, SYSCALL_READ_DIR, SYSCALL_REWIND_DIR, SYSCALL_OPEN_DIR, @@ -109,7 +109,7 @@ enum { SYSCALL_OPEN_ATTR_DIR, SYSCALL_CREATE_ATTR, SYSCALL_OPEN_ATTR, - SYSCALL_WRITE_ATTR_STAT, /* 100 */ + SYSCALL_WRITE_STAT, /* 100 */ SYSCALL_REMOVE_ATTR, SYSCALL_RENAME_ATTR, }; diff --git a/headers/private/kernel/vfs.h b/headers/private/kernel/vfs.h index e8e5562bd7..8ed80e1810 100755 --- a/headers/private/kernel/vfs.h +++ b/headers/private/kernel/vfs.h @@ -78,12 +78,11 @@ int sys_create_link(const char *path, const char *toPath); int sys_unlink(const char *path); int sys_rename(const char *oldpath, const char *newpath); int sys_access(const char *path, int mode); -int sys_read_stat(const char *path, bool traverseLink, struct stat *stat); -int sys_write_stat(int fd, const char *path, bool traverseLink, struct stat *stat, int statMask); +int sys_read_path_stat(const char *path, bool traverseLink, struct stat *stat); +int sys_write_path_stat(const char *path, bool traverseLink, const struct stat *stat, int statMask); int sys_open_attr_dir(int fd, const char *path); int sys_create_attr(int fd, const char *name, uint32 type, int openMode); int sys_open_attr(int fd, const char *name, int openMode); -int sys_write_attr_stat(int fd, const struct stat *stat, int statMask); int sys_remove_attr(int fd, const char *name); int sys_rename_attr(int fromFile, const char *fromName, int toFile, const char *toName); int sys_getcwd(char *buffer, size_t size); @@ -112,12 +111,11 @@ int user_create_link(const char *path, const char *toPath); int user_unlink(const char *path); int user_rename(const char *oldpath, const char *newpath); int user_access(const char *path, int mode); -int user_read_stat(const char *path, bool traverseLink, struct stat *stat); -int user_write_stat(int fd, const char *path, bool traverseLink, struct stat *stat, int statMask); +int user_read_path_stat(const char *path, bool traverseLink, struct stat *stat); +int user_write_path_stat(const char *path, bool traverseLink, const struct stat *stat, int statMask); int user_open_attr_dir(int fd, const char *path); int user_create_attr(int fd, const char *name, uint32 type, int openMode); int user_open_attr(int fd, const char *name, int openMode); -int user_write_attr_stat(int fd, const struct stat *stat, int statMask); int user_remove_attr(int fd, const char *name); int user_rename_attr(int fromFile, const char *fromName, int toFile, const char *toName); int user_getcwd(char *buffer, size_t size); @@ -129,7 +127,8 @@ extern ssize_t sys_write(int fd, off_t pos, const void *buffer, size_t bufferSiz extern int sys_ioctl(int fd, ulong cmd, void *data, size_t length); extern ssize_t sys_read_dir(int fd, struct dirent *buffer, size_t bufferSize, uint32 maxCount); extern status_t sys_rewind_dir(int fd); -extern int sys_fstat(int fd, struct stat *); +extern int sys_read_stat(int fd, struct stat *stat); +extern int sys_write_stat(int fd, const struct stat *stat, int statMask); extern int sys_close(int fd); extern int sys_dup(int fd); extern int sys_dup2(int ofd, int nfd); @@ -140,7 +139,8 @@ extern ssize_t user_write(int fd, off_t pos, const void *buffer, size_t bufferSi extern int user_ioctl(int fd, ulong cmd, void *data, size_t length); extern ssize_t user_read_dir(int fd, struct dirent *buffer, size_t bufferSize, uint32 maxCount); extern status_t user_rewind_dir(int fd); -extern int user_fstat(int fd, struct stat *); +extern int user_read_stat(int fd, struct stat *stat); +extern int user_write_stat(int fd, const struct stat *stat, int statMask); extern int user_close(int fd); extern int user_dup(int fd); extern int user_dup2(int ofd, int nfd);