Lines Matching full:file
19 #include <linux/file.h>
226 * "struct file" needs to be available at the right moment. in close_pdeo()
235 struct file *file; in close_pdeo() local
241 file = pdeo->file; in close_pdeo()
242 pde->proc_ops->proc_release(file_inode(file), file); in close_pdeo()
275 static loff_t proc_reg_llseek(struct file *file, loff_t offset, int whence) in proc_reg_llseek() argument
277 struct proc_dir_entry *pde = PDE(file_inode(file)); in proc_reg_llseek()
281 return pde->proc_ops->proc_lseek(file, offset, whence); in proc_reg_llseek()
283 rv = pde->proc_ops->proc_lseek(file, offset, whence); in proc_reg_llseek()
304 static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t cou… in pde_read() argument
310 return read(file, buf, count, ppos); in pde_read()
314 static ssize_t proc_reg_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) in proc_reg_read() argument
316 struct proc_dir_entry *pde = PDE(file_inode(file)); in proc_reg_read()
320 return pde_read(pde, file, buf, count, ppos); in proc_reg_read()
322 rv = pde_read(pde, file, buf, count, ppos); in proc_reg_read()
328 static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, siz… in pde_write() argument
334 return write(file, buf, count, ppos); in pde_write()
338 static ssize_t proc_reg_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) in proc_reg_write() argument
340 struct proc_dir_entry *pde = PDE(file_inode(file)); in proc_reg_write()
344 return pde_write(pde, file, buf, count, ppos); in proc_reg_write()
346 rv = pde_write(pde, file, buf, count, ppos); in proc_reg_write()
352 static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *p… in pde_poll() argument
358 return poll(file, pts); in pde_poll()
362 static __poll_t proc_reg_poll(struct file *file, struct poll_table_struct *pts) in proc_reg_poll() argument
364 struct proc_dir_entry *pde = PDE(file_inode(file)); in proc_reg_poll()
368 return pde_poll(pde, file, pts); in proc_reg_poll()
370 rv = pde_poll(pde, file, pts); in proc_reg_poll()
376 static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned lon… in pde_ioctl() argument
382 return ioctl(file, cmd, arg); in pde_ioctl()
386 static long proc_reg_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg) in proc_reg_unlocked_ioctl() argument
388 struct proc_dir_entry *pde = PDE(file_inode(file)); in proc_reg_unlocked_ioctl()
392 return pde_ioctl(pde, file, cmd, arg); in proc_reg_unlocked_ioctl()
394 rv = pde_ioctl(pde, file, cmd, arg); in proc_reg_unlocked_ioctl()
401 static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsig… in pde_compat_ioctl() argument
407 return compat_ioctl(file, cmd, arg); in pde_compat_ioctl()
411 static long proc_reg_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) in proc_reg_compat_ioctl() argument
413 struct proc_dir_entry *pde = PDE(file_inode(file)); in proc_reg_compat_ioctl()
416 return pde_compat_ioctl(pde, file, cmd, arg); in proc_reg_compat_ioctl()
418 rv = pde_compat_ioctl(pde, file, cmd, arg); in proc_reg_compat_ioctl()
425 static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma) in pde_mmap() argument
431 return mmap(file, vma); in pde_mmap()
435 static int proc_reg_mmap(struct file *file, struct vm_area_struct *vma) in proc_reg_mmap() argument
437 struct proc_dir_entry *pde = PDE(file_inode(file)); in proc_reg_mmap()
441 return pde_mmap(pde, file, vma); in proc_reg_mmap()
443 rv = pde_mmap(pde, file, vma); in proc_reg_mmap()
450 pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr, in pde_get_unmapped_area() argument
462 return get_area(file, orig_addr, len, pgoff, flags); in pde_get_unmapped_area()
467 proc_reg_get_unmapped_area(struct file *file, unsigned long orig_addr, in proc_reg_get_unmapped_area() argument
471 struct proc_dir_entry *pde = PDE(file_inode(file)); in proc_reg_get_unmapped_area()
475 return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags); in proc_reg_get_unmapped_area()
477 rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags); in proc_reg_get_unmapped_area()
483 static int proc_reg_open(struct inode *inode, struct file *file) in proc_reg_open() argument
492 file->f_mode &= ~FMODE_LSEEK; in proc_reg_open()
497 rv = open(inode, file); in proc_reg_open()
507 * 2) rmmod isn't blocked by opening file in /proc and sitting on in proc_reg_open()
510 * Save every "struct file" with custom ->release hook. in proc_reg_open()
526 rv = open(inode, file); in proc_reg_open()
531 pdeo->file = file; in proc_reg_open()
546 static int proc_reg_release(struct inode *inode, struct file *file) in proc_reg_release() argument
556 return release(inode, file); in proc_reg_release()
563 if (pdeo->file == file) { in proc_reg_release()