38 lines
		
	
	
		
			677 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			677 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _LINUX_CDEV_H
 | 
						|
#define _LINUX_CDEV_H
 | 
						|
 | 
						|
#include <linux/kobject.h>
 | 
						|
#include <linux/kdev_t.h>
 | 
						|
#include <linux/list.h>
 | 
						|
 | 
						|
struct file_operations;
 | 
						|
struct inode;
 | 
						|
struct module;
 | 
						|
 | 
						|
struct cdev {
 | 
						|
	struct kobject kobj;
 | 
						|
	struct module *owner;
 | 
						|
	const struct file_operations *ops;
 | 
						|
	struct list_head list;
 | 
						|
	dev_t dev;
 | 
						|
	unsigned int count;
 | 
						|
};
 | 
						|
 | 
						|
void cdev_init(struct cdev *, const struct file_operations *);
 | 
						|
 | 
						|
struct cdev *cdev_alloc(void);
 | 
						|
 | 
						|
void cdev_put(struct cdev *p);
 | 
						|
 | 
						|
int cdev_add(struct cdev *, dev_t, unsigned);
 | 
						|
 | 
						|
void cdev_del(struct cdev *);
 | 
						|
 | 
						|
int cdev_index(struct inode *inode);
 | 
						|
 | 
						|
void cd_forget(struct inode *);
 | 
						|
 | 
						|
extern struct backing_dev_info directly_mappable_cdev_bdi;
 | 
						|
 | 
						|
#endif
 |