diff options
author | Srikant Patnaik | 2015-01-11 12:28:04 +0530 |
---|---|---|
committer | Srikant Patnaik | 2015-01-11 12:28:04 +0530 |
commit | 871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch) | |
tree | 8718f573808810c2a1e8cb8fb6ac469093ca2784 /ANDROID_3.4.5/include/linux/fdtable.h | |
parent | 9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff) | |
download | FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2 FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip |
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized.
Changes are basically to make it look like kernel structure.
Diffstat (limited to 'ANDROID_3.4.5/include/linux/fdtable.h')
-rw-r--r-- | ANDROID_3.4.5/include/linux/fdtable.h | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/ANDROID_3.4.5/include/linux/fdtable.h b/ANDROID_3.4.5/include/linux/fdtable.h deleted file mode 100644 index 158a41ee..00000000 --- a/ANDROID_3.4.5/include/linux/fdtable.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - * descriptor table internals; you almost certainly want file.h instead. - */ - -#ifndef __LINUX_FDTABLE_H -#define __LINUX_FDTABLE_H - -#include <linux/posix_types.h> -#include <linux/compiler.h> -#include <linux/spinlock.h> -#include <linux/rcupdate.h> -#include <linux/types.h> -#include <linux/init.h> -#include <linux/fs.h> - -#include <linux/atomic.h> - -/* - * The default fd array needs to be at least BITS_PER_LONG, - * as this is the granularity returned by copy_fdset(). - */ -#define NR_OPEN_DEFAULT BITS_PER_LONG - -struct fdtable { - unsigned int max_fds; - struct file __rcu **fd; /* current fd array */ - unsigned long *close_on_exec; - unsigned long *open_fds; - struct rcu_head rcu; - struct fdtable *next; -}; - -static inline void __set_close_on_exec(int fd, struct fdtable *fdt) -{ - __set_bit(fd, fdt->close_on_exec); -} - -static inline void __clear_close_on_exec(int fd, struct fdtable *fdt) -{ - __clear_bit(fd, fdt->close_on_exec); -} - -static inline bool close_on_exec(int fd, const struct fdtable *fdt) -{ - return test_bit(fd, fdt->close_on_exec); -} - -static inline void __set_open_fd(int fd, struct fdtable *fdt) -{ - __set_bit(fd, fdt->open_fds); -} - -static inline void __clear_open_fd(int fd, struct fdtable *fdt) -{ - __clear_bit(fd, fdt->open_fds); -} - -static inline bool fd_is_open(int fd, const struct fdtable *fdt) -{ - return test_bit(fd, fdt->open_fds); -} - -/* - * Open file table structure - */ -struct files_struct { - /* - * read mostly part - */ - atomic_t count; - struct fdtable __rcu *fdt; - struct fdtable fdtab; - /* - * written part on a separate cache line in SMP - */ - spinlock_t file_lock ____cacheline_aligned_in_smp; - int next_fd; - unsigned long close_on_exec_init[1]; - unsigned long open_fds_init[1]; - struct file __rcu * fd_array[NR_OPEN_DEFAULT]; -}; - -#define rcu_dereference_check_fdtable(files, fdtfd) \ - (rcu_dereference_check((fdtfd), \ - lockdep_is_held(&(files)->file_lock) || \ - atomic_read(&(files)->count) == 1 || \ - rcu_my_thread_group_empty())) - -#define files_fdtable(files) \ - (rcu_dereference_check_fdtable((files), (files)->fdt)) - -struct file_operations; -struct vfsmount; -struct dentry; - -extern int expand_files(struct files_struct *, int nr); -extern void free_fdtable_rcu(struct rcu_head *rcu); -extern void __init files_defer_init(void); - -static inline void free_fdtable(struct fdtable *fdt) -{ - call_rcu(&fdt->rcu, free_fdtable_rcu); -} - -static inline struct file * fcheck_files(struct files_struct *files, unsigned int fd) -{ - struct file * file = NULL; - struct fdtable *fdt = files_fdtable(files); - - if (fd < fdt->max_fds) - file = rcu_dereference_check_fdtable(files, fdt->fd[fd]); - return file; -} - -/* - * Check whether the specified fd has an open file. - */ -#define fcheck(fd) fcheck_files(current->files, fd) - -struct task_struct; - -struct files_struct *get_files_struct(struct task_struct *); -void put_files_struct(struct files_struct *fs); -void reset_files_struct(struct files_struct *); -int unshare_files(struct files_struct **); -struct files_struct *dup_fd(struct files_struct *, int *); - -extern struct kmem_cache *files_cachep; - -#endif /* __LINUX_FDTABLE_H */ |