Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#ifndef _LINUX_CDEV_H
2#define _LINUX_CDEV_H
3
4#include <linux/kobject.h>
5#include <linux/kdev_t.h>
6#include <linux/list.h>
7#include <linux/device.h>
8
9struct file_operations;
10struct inode;
11struct module;
12
13struct cdev {
14 struct kobject kobj;
15 struct module *owner;
16 const struct file_operations *ops;
17 struct list_head list;
18 dev_t dev;
19 unsigned int count;
20};
21
22void cdev_init(struct cdev *, const struct file_operations *);
23
24struct cdev *cdev_alloc(void);
25
26void cdev_put(struct cdev *p);
27
28int cdev_add(struct cdev *, dev_t, unsigned);
29
30void cdev_set_parent(struct cdev *p, struct kobject *kobj);
31int cdev_device_add(struct cdev *cdev, struct device *dev);
32void cdev_device_del(struct cdev *cdev, struct device *dev);
33
34void cdev_del(struct cdev *);
35
36void cd_forget(struct inode *);
37
38#endif