next up previous contents
Next: struktura block_device_operations Up: structury danych Previous: structury danych   Spis tresci

struktura file_operations

struct file_operations {
	struct module *owner;
	loff_t (*llseek) (struct file *, loff_t, int);
	ssize_t (*read) (struct file *, char *, size_t, loff_t *);
	ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
	int (*readdir) (struct file *, void *, filldir_t);
	unsigned int (*poll) (struct file *, struct poll_table_struct *);
	int (*ioctl) (struct inode *, struct file *,
                          unsigned int, unsigned long);
	int (*mmap) (struct file *, struct vm_area_struct *);
	int (*open) (struct inode *, struct file *);
	int (*flush) (struct file *);
	int (*release) (struct inode *, struct file *);
	int (*fsync) (struct file *, struct dentry *, int datasync);
	int (*fasync) (int, struct file *, int);
	int (*lock) (struct file *, int, struct file_lock *);
	ssize_t (*readv) (struct file *, const struct iovec *,
                          unsigned long, loff_t *);
	ssize_t (*writev) (struct file *, const struct iovec *,
                          unsigned long, loff_t *);
	ssize_t (*sendpage) (struct file *, struct page *, int,
                          size_t, loff_t *, int);
	unsigned long (*get_unmapped_area)(struct file *, unsigned long,
                          unsigned long, unsigned long, unsigned long);
};

Struktura używana do opisu operacji dostępu do zwykłych plików, oraz do dostępu do urządzeń znakowych. Zawiera wskażnik do struktury opisującej moduł dostarczający te właśnie funkcje dostępowe (owner). W przypadku urządzeń znakowych podczas otwieranie jest tylko pole open.



2001-12-18