Skip to content

struct file_operations

Purpose

struct file_operations defines how a character device responds to user-space file operations.

Common Callbacks

static const struct file_operations mydev_fops = {
    .owner = THIS_MODULE,
    .open = mydev_open,
    .read = mydev_read,
    .write = mydev_write,
    .poll = mydev_poll,
    .unlocked_ioctl = mydev_ioctl,
    .fasync = mydev_fasync,
    .release = mydev_release,
};

Common Fields

Field Purpose
.open Initialize per-open state
.read Copy data or events to user space
.write Accept user-space commands or data
.poll Report readiness to poll / epoll
.unlocked_ioctl Handle control commands
.fasync Register async signal notification
.release Cleanup per-open state