28struct pipe_inode_info;
38#define MKDEV(ma, mi) (((unsigned int)(ma) << 20) | ((unsigned int)(mi)))
39#define MAJOR(dev) ((unsigned int)(dev) >> 20)
40#define MINOR(dev) ((unsigned int)(dev) & 0xFFFFFu)
130 "fs.h: f_op->mmap is pinned at 96 (drm_prime.c:798 calls it)");
131_Static_assert(__builtin_offsetof(
struct file_operations, get_unmapped_area) == 152,
132 "fs.h: f_op->get_unmapped_area is pinned at 152 (drm_gem.c:1353 calls it)");
200_Static_assert(
sizeof(
struct inode) == 560,
201 "fs.h: struct inode is pinned to 560B (linux-7.2.6 arm64)");
202_Static_assert(__builtin_offsetof(
struct inode,
i_cdev) == 528,
203 "fs.h: i_cdev is pinned at 528 (the module resolves its port from it)");
273_Static_assert(
sizeof(
struct device) == 800,
274 "fs.h: struct device is pinned to 800B (linux-7.2.6 arm64)");
276 "fs.h: kobj_name is pinned at 0 (device_create writes it)");
277_Static_assert(__builtin_offsetof(
struct device,
devt) == 708,
278 "fs.h: devt is pinned at 708 (the module's device_destroy reads it)");
281#define DCL_MAX_ERRNO 4095
282static inline int dcl_is_err(
const void* ptr) {
287#define ERR_PTR(err) ((void*)(long)(err))
288#define PTR_ERR(ptr) ((long)(ptr))
289#define IS_ERR(ptr) dcl_is_err(ptr)
310static inline void replace_fops(
struct file* filp,
uint64_t size_t
Definition stdint.h:104
unsigned int uintptr_t
Definition stdint.h:94
struct drm_crtc struct drm_plane struct drm_plane const struct drm_crtc_funcs const char * name
Definition drm_crtc.h:1242
#define DCL_MAX_ERRNO
Definition fs.h:281
unsigned int __poll_t
Definition fs.h:50
void unregister_chrdev_region(unsigned int from, unsigned int count)
int register_chrdev_region(unsigned int from, unsigned int count, const char *name)
unsigned int fop_flags_t
Definition fs.h:49
unsigned int count
Definition fs.h:216
unsigned int dev
Definition fs.h:215
unsigned char list[16]
Definition fs.h:214
const struct file_operations * ops
Definition fs.h:213
unsigned char kobj[64]
Definition fs.h:211
void * owner
Definition fs.h:212
const struct device_type * type
Definition fs.h:262
struct device * parent
Definition fs.h:260
unsigned int devt
Definition fs.h:269
unsigned char kobj[64]
Definition fs.h:258
const struct attribute_group ** groups
Definition fs.h:265
unsigned char _tail[88]
Definition fs.h:270
void(* release)(struct device *)
Definition fs.h:264
struct device_node * of_node
Definition fs.h:267
unsigned char _pad[4]
Definition fs.h:268
unsigned char _mid[584]
Definition fs.h:266
const char * kobj_name
Definition fs.h:257
void * driver_data
Definition fs.h:263
void * llseek
Definition fs.h:71
unsigned long(* get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long)
Definition fs.h:105
void * flock
Definition fs.h:107
void * unlocked_ioctl
Definition fs.h:79
void * check_flags
Definition fs.h:106
fop_flags_t fop_flags
Definition fs.h:69
void * mmap_prepare
Definition fs.h:119
void * splice_eof
Definition fs.h:110
void * compat_ioctl
Definition fs.h:80
void * uring_cmd_iopoll
Definition fs.h:118
int(* fasync)(int, struct file *, int)
Definition fs.h:103
void * splice_write
Definition fs.h:108
int(* open)(struct inode *, struct file *)
Definition fs.h:99
struct module * owner
Definition fs.h:68
void * lock
Definition fs.h:104
void * remap_file_range
Definition fs.h:115
void * iopoll
Definition fs.h:76
long(* write)(struct file *, const char *, size_t, long long *)
Definition fs.h:73
void * iterate_shared
Definition fs.h:77
void * fallocate
Definition fs.h:112
void * show_fdinfo
Definition fs.h:113
void * setlease
Definition fs.h:111
void * uring_cmd
Definition fs.h:117
long(* read)(struct file *, char *, size_t, long long *)
Definition fs.h:72
void * write_iter
Definition fs.h:75
int(* mmap)(struct file *, struct vm_area_struct *)
Definition fs.h:98
void * splice_read
Definition fs.h:109
void * read_iter
Definition fs.h:74
void * flush
Definition fs.h:100
unsigned int _pad_flags
Definition fs.h:70
__poll_t(* poll)(struct file *, struct poll_table_struct *)
Definition fs.h:78
void * copy_file_range
Definition fs.h:114
void * fsync
Definition fs.h:102
void * fadvise
Definition fs.h:116
int(* release)(struct inode *, struct file *)
Definition fs.h:101
void * f_owner
Definition fs.h:152
unsigned int f_iocb_flags
Definition fs.h:150
void * private_data
Definition fs.h:147
unsigned char _pos_lock[16]
Definition fs.h:154
int f_lock
Definition fs.h:143
unsigned char _tail[176 - 104]
Definition fs.h:156
const struct file_operations * f_op
Definition fs.h:145
unsigned int f_mode
Definition fs.h:144
void * f_path
Definition fs.h:153
long long f_pos
Definition fs.h:155
void * f_inode
Definition fs.h:148
unsigned int f_flags
Definition fs.h:149
void * f_cred
Definition fs.h:151
void * f_mapping
Definition fs.h:146
unsigned int i_rdev
Definition fs.h:185
unsigned char _mid[440]
Definition fs.h:187
unsigned char _head[76]
Definition fs.h:184
unsigned char _tail[24]
Definition fs.h:189
struct address_space * i_mapping
Definition fs.h:186
struct cdev * i_cdev
Definition fs.h:188
unsigned int _key
Definition fs.h:54
void(* _qproc)(struct file *, void *wait_queue_head, struct poll_table_struct *)
Definition fs.h:53