diff options
Diffstat (limited to 'include/linux/file.h')
-rw-r--r-- | include/linux/file.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/include/linux/file.h b/include/linux/file.h new file mode 100644 index 00000000000..5555508fd51 --- /dev/null +++ b/include/linux/file.h @@ -0,0 +1,42 @@ +/* + * Wrapper functions for accessing the file_struct fd array. + */ + +#ifndef __LINUX_FILE_H +#define __LINUX_FILE_H + +#include <linux/compiler.h> +#include <linux/types.h> +#include <linux/posix_types.h> + +struct file; + +extern void __fput(struct file *); +extern void fput(struct file *); +extern void drop_file_write_access(struct file *file); + +struct file_operations; +struct vfsmount; +struct dentry; +struct path; +extern struct file *alloc_file(struct path *, fmode_t mode, + const struct file_operations *fop); + +static inline void fput_light(struct file *file, int fput_needed) +{ + if (unlikely(fput_needed)) + fput(file); +} + +extern struct file *fget(unsigned int fd); +extern struct file *fget_light(unsigned int fd, int *fput_needed); +extern void set_close_on_exec(unsigned int fd, int flag); +extern void put_filp(struct file *); +extern int alloc_fd(unsigned start, unsigned flags); +extern int get_unused_fd(void); +#define get_unused_fd_flags(flags) alloc_fd(0, (flags)) +extern void put_unused_fd(unsigned int fd); + +extern void fd_install(unsigned int fd, struct file *file); + +#endif /* __LINUX_FILE_H */ |