cregit-Linux how code gets into the kernel

Release 4.7 include/linux/file.h

Directory: include/linux
/*
 * 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(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 mortonandrew 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 viroal viro2388.46%150.00%
linus torvaldslinus 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 viroal viro35100.00%2100.00%
Total35100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
al viroal 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 viroal 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 viroal 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 viroal 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 viroal viro27262.67%1137.93%
harvey harrisonharvey harrison4410.14%13.45%
linus torvaldslinus torvalds317.14%310.34%
andrew mortonandrew morton286.45%13.45%
dave hansendave hansen276.22%13.45%
pre-gitpre-git245.53%827.59%
ulrich drepperulrich drepper30.69%13.45%
eric dumazeteric dumazet20.46%13.45%
dave jonesdave jones20.46%13.45%
christoph lameterchristoph lameter10.23%13.45%
Total434100.00%29100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}