Added prototypes for the sys_/user_ attribute calls.
Changed the file_descriptor structure (more status_t, name removed). Changed "extern inline" to "static inline" in thread.h/arch_thread.h as those also work with -O0 -g. Added prototypes for [arch_cpu_]user_strlcpy(). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1454 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -41,6 +41,7 @@ void arch_cpu_global_TLB_invalidate(void);
|
|||||||
int arch_cpu_user_memcpy(void *to, const void *from, size_t size, addr *fault_handler);
|
int arch_cpu_user_memcpy(void *to, const void *from, size_t size, addr *fault_handler);
|
||||||
int arch_cpu_user_strcpy(char *to, const char *from, addr *fault_handler);
|
int arch_cpu_user_strcpy(char *to, const char *from, addr *fault_handler);
|
||||||
int arch_cpu_user_strncpy(char *to, const char *from, size_t size, addr *fault_handler);
|
int arch_cpu_user_strncpy(char *to, const char *from, size_t size, addr *fault_handler);
|
||||||
|
int arch_cpu_user_strlcpy(char *to, const char *from, size_t size, addr *fault_handler);
|
||||||
int arch_cpu_user_memset(void *s, char c, size_t count, addr *fault_handler);
|
int arch_cpu_user_memset(void *s, char c, size_t count, addr *fault_handler);
|
||||||
|
|
||||||
void arch_cpu_idle(void);
|
void arch_cpu_idle(void);
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ void arch_thread_dump_info(void *info);
|
|||||||
void arch_thread_enter_uspace(addr entry, void *args, addr ustack_top);
|
void arch_thread_enter_uspace(addr entry, void *args, addr ustack_top);
|
||||||
void arch_thread_switch_kstack_and_call(struct thread *t, addr new_kstack, void (*func)(void *), void *arg);
|
void arch_thread_switch_kstack_and_call(struct thread *t, addr new_kstack, void (*func)(void *), void *arg);
|
||||||
|
|
||||||
struct thread *arch_thread_get_current_thread(void);
|
//struct thread *arch_thread_get_current_thread(void);
|
||||||
void arch_thread_set_current_thread(struct thread *t);
|
//void arch_thread_set_current_thread(struct thread *t);
|
||||||
|
|
||||||
// for any inline overrides
|
// for any inline overrides
|
||||||
#include <arch_thread.h>
|
#include <arch_thread.h>
|
||||||
|
|||||||
@@ -16,13 +16,18 @@ void i386_push_iframe(struct thread *t, struct iframe *frame);
|
|||||||
void i386_pop_iframe(struct thread *t);
|
void i386_pop_iframe(struct thread *t);
|
||||||
|
|
||||||
|
|
||||||
extern inline struct thread *arch_thread_get_current_thread(void) {
|
static
|
||||||
|
inline struct thread *
|
||||||
|
arch_thread_get_current_thread(void)
|
||||||
|
{
|
||||||
struct thread *t;
|
struct thread *t;
|
||||||
read_dr3(t);
|
read_dr3(t);
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern inline void arch_thread_set_current_thread(struct thread *t) {
|
static inline void
|
||||||
|
arch_thread_set_current_thread(struct thread *t)
|
||||||
|
{
|
||||||
write_dr3(t);
|
write_dr3(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,16 +27,15 @@ struct io_context {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct fd_ops {
|
struct fd_ops {
|
||||||
char *fs_name; // can be removed, it's not used anywhere
|
|
||||||
ssize_t (*fd_read) (struct file_descriptor *, off_t pos, void *buffer, size_t *length);
|
ssize_t (*fd_read) (struct file_descriptor *, off_t pos, void *buffer, size_t *length);
|
||||||
ssize_t (*fd_write)(struct file_descriptor *, off_t pos, const void *buffer, size_t *length);
|
ssize_t (*fd_write)(struct file_descriptor *, off_t pos, const void *buffer, size_t *length);
|
||||||
off_t (*fd_seek)(struct file_descriptor *, off_t pos, int seekType);
|
off_t (*fd_seek)(struct file_descriptor *, off_t pos, int seekType);
|
||||||
int (*fd_ioctl)(struct file_descriptor *, ulong op, void *buffer, size_t length);
|
status_t (*fd_ioctl)(struct file_descriptor *, ulong op, void *buffer, size_t length);
|
||||||
// int (*fd_poll)(struct file_descriptor *, int);
|
// 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_read_dir)(struct file_descriptor *,struct dirent *buffer,size_t bufferSize,uint32 *_count);
|
||||||
status_t (*fd_rewind_dir)(struct file_descriptor *);
|
status_t (*fd_rewind_dir)(struct file_descriptor *);
|
||||||
int (*fd_stat)(struct file_descriptor *, struct stat *);
|
status_t (*fd_stat)(struct file_descriptor *, struct stat *);
|
||||||
int (*fd_close)(struct file_descriptor *);
|
status_t (*fd_close)(struct file_descriptor *);
|
||||||
void (*fd_free)(struct file_descriptor *);
|
void (*fd_free)(struct file_descriptor *);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -80,6 +80,12 @@ int sys_rename(const char *oldpath, const char *newpath);
|
|||||||
int sys_access(const char *path, int mode);
|
int sys_access(const char *path, int mode);
|
||||||
int sys_read_stat(const char *path, bool traverseLink, struct stat *stat);
|
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_write_stat(int fd, const char *path, bool traverseLink, 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);
|
int sys_getcwd(char *buffer, size_t size);
|
||||||
int sys_setcwd(int fd, const char *path);
|
int sys_setcwd(int fd, const char *path);
|
||||||
|
|
||||||
@@ -108,6 +114,12 @@ int user_rename(const char *oldpath, const char *newpath);
|
|||||||
int user_access(const char *path, int mode);
|
int user_access(const char *path, int mode);
|
||||||
int user_read_stat(const char *path, bool traverseLink, struct stat *stat);
|
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_write_stat(int fd, const char *path, bool traverseLink, 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);
|
int user_getcwd(char *buffer, size_t size);
|
||||||
int user_setcwd(int fd, const char *path);
|
int user_setcwd(int fd, const char *path);
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ int vm_put_physical_page(addr vaddr);
|
|||||||
int user_memcpy(void *to, const void *from, size_t size);
|
int user_memcpy(void *to, const void *from, size_t size);
|
||||||
int user_strcpy(char *to, const char *from);
|
int user_strcpy(char *to, const char *from);
|
||||||
int user_strncpy(char *to, const char *from, size_t size);
|
int user_strncpy(char *to, const char *from, size_t size);
|
||||||
|
int user_strlcpy(char *to, const char *from, size_t size);
|
||||||
int user_memset(void *s, char c, size_t count);
|
int user_memset(void *s, char c, size_t count);
|
||||||
|
|
||||||
region_id user_vm_create_anonymous_region(char *uname, void **uaddress, int addr_type,
|
region_id user_vm_create_anonymous_region(char *uname, void **uaddress, int addr_type,
|
||||||
|
|||||||
Reference in New Issue
Block a user