2
0
mirror of https://github.com/lm-sensors/lm-sensors synced 2025-09-05 16:55:45 +00:00
Files
lm-sensors/doc/kernel/file_operations
Frodo Looijaard 687f8e5fff Some kernel documentation I have written the past time.
Nothing really special, but here is the simplest place to keep it, especially
as others may need it too.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@152 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-10 00:58:51 +00:00

92 lines
3.3 KiB
Plaintext

This file documents the changes in struct file_operations throughout the 2.1
kernel series.
Kernels 2.0.x:
struct file_operations {
int (*lseek) (struct inode *, struct file *, off_t, int);
int (*read) (struct inode *, struct file *, char *, int);
int (*write) (struct inode *, struct file *, const char *, int);
int (*readdir) (struct inode *, struct file *, void *, filldir_t);
int (*select) (struct inode *, struct file *, int, select_table *);
int (*ioctl) (struct inode *, struct file *, unsigned int,
unsigned long);
int (*mmap) (struct inode *, struct file *, struct vm_area_struct *);
int (*open) (struct inode *, struct file *);
void (*release) (struct inode *, struct file *);
int (*fsync) (struct inode *, struct file *);
int (*fasync) (struct inode *, struct file *, int);
int (*check_media_change) (kdev_t dev);
int (*revalidate) (kdev_t dev);
};
Kernel 2.1.0:
- int (*lseek) (struct inode *, struct file *, off_t, int);
+ long long (*llseek) (struct inode *, struct file *, long long, int);
- int (*read) (struct inode *, struct file *, char *, int);
+ long (*read) (struct inode *, struct file *, char *, unsigned long);
- int (*write) (struct inode *, struct file *, const char *, int);
+ long (*write) (struct inode *, struct file *, const char *, unsigned lon
Kernel 2.1.23:
- int (*select) (struct inode *, struct file *, int, select_table *);
+ unsigned int (*poll) (struct file *, poll_table *);
[The lock field is added behind the revalidate field]
+ int (*lock) (struct inode *, struct file *, int, struct file_lock *);
Kernel 2.1.31:
- void (*release) (struct inode *, struct file *);
+ int (*release) (struct inode *, struct file *);
Kernel 2.1.55:
- int (*readdir) (struct inode *, struct file *, void *, filldir_t);
+ int (*readdir) (struct file *, void *, filldir_t);
Kernel 2.1.56:
- long long (*llseek) (struct inode *, struct file *, long long, int);
+ long long (*llseek) (struct file *, long long, int);
- int (*mmap) (struct inode *, struct file *, struct vm_area_struct *);
+ int (*mmap) (struct file *, struct vm_area_struct *);
- int (*fsync) (struct inode *, struct file *);
+ int (*fsync) (struct file *, struct dentry *);
- int (*fasync) (struct inode *, struct file *, int);
+ int (*fasync) (struct file *, int);
- int (*lock) (struct inode *, struct file *, int, struct file_lock *);
+ int (*lock) (struct file *, int, struct file_lock *);
Kernel 2.1.70:
- long long (*llseek) (struct file *, long long, int);
+ loff_t (*llseek) (struct file *, loff_t, int);
- long (*read) (struct inode *, struct file *, char *, unsigned long);
+ ssize_t (*read) (struct file *, char *, size_t, loff_t *);
- long (*write) (struct inode *, struct file *, const char *,
unsigned long);
+ ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
Kernel 2.1.72:
- unsigned int (*poll) (struct file *, poll_table *);
+ unsigned int (*poll) (struct file *, struct poll_table_struct *);
Kernel 2.1.118:
[The flush field is added behind the open field -- stupid...]
+ int (*flush) (struct file *);
Last kernel checked: 2.2.0-pre4.