cregit-Linux how code gets into the kernel

Release 4.15 include/linux/file.h

Directory: include/linux
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * 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 *);

struct file_operations;
struct vfsmount;
struct dentry;
struct path;
extern struct file *alloc_file(const struct path *, fmode_t mode,
	const struct file_operations *fop);


static inline void fput_light(struct file *file, int fput_needed) { if (fput_needed) fput(file); }

Contributors

PersonTokensPropCommitsCommitProp
Andrew Morton24100.00%1100.00%
Total24100.00%1100.00%

struct fd { struct file *file; unsigned int flags; }; #define FDPUT_FPUT 1 #define FDPUT_POS_UNLOCK 2
static inline void fdput(struct fd fd) { if (fd.flags & FDPUT_FPUT) fput(fd.file); }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro2388.46%150.00%
Linus Torvalds311.54%150.00%
Total26100.00%2100.00%

extern struct file *fget(unsigned int fd); extern struct file *fget_raw(unsigned int fd); extern unsigned long __fdget(unsigned int fd); extern unsigned long __fdget_raw(unsigned int fd); extern unsigned long __fdget_pos(unsigned int fd); extern void __f_unlock_pos(struct file *);
static inline struct fd __to_fd(unsigned long v) { return (struct fd){(struct file *)(v & ~3),v & 3}; }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro35100.00%2100.00%
Total35100.00%2100.00%


static inline struct fd fdget(unsigned int fd) { return __to_fd(__fdget(fd)); }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro21100.00%2100.00%
Total21100.00%2100.00%


static inline struct fd fdget_raw(unsigned int fd) { return __to_fd(__fdget_raw(fd)); }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro21100.00%2100.00%
Total21100.00%2100.00%


static inline struct fd fdget_pos(int fd) { return __to_fd(__fdget_pos(fd)); }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro20100.00%1100.00%
Total20100.00%1100.00%


static inline void fdput_pos(struct fd f) { if (f.flags & FDPUT_POS_UNLOCK) __f_unlock_pos(f.file); fdput(f); }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro31100.00%1100.00%
Total31100.00%1100.00%

extern int f_dupfd(unsigned int from, struct file *file, unsigned flags); extern int replace_fd(unsigned fd, struct file *file, unsigned flags); extern void set_close_on_exec(unsigned int fd, int flag); extern bool get_close_on_exec(unsigned int fd); extern void put_filp(struct file *); extern int get_unused_fd_flags(unsigned flags); extern void put_unused_fd(unsigned int fd); extern void fd_install(unsigned int fd, struct file *file); extern void flush_delayed_fput(void); extern void __fput_sync(struct file *); #endif /* __LINUX_FILE_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Al Viro27362.61%1238.71%
Harvey Harrison4410.09%13.23%
Linus Torvalds317.11%39.68%
Andrew Morton286.42%13.23%
Dave Hansen276.19%13.23%
Linus Torvalds (pre-git)245.50%825.81%
Ulrich Drepper30.69%13.23%
Dave Jones20.46%13.23%
Eric Dumazet20.46%13.23%
Greg Kroah-Hartman10.23%13.23%
Christoph Lameter10.23%13.23%
Total436100.00%31100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.