This source file includes following definitions.
- chrdev_open
1
2
3
4
5
6
7
8
9
10
11
12 #include <linux/errno.h>
13 #include <linux/sched.h>
14 #include <linux/iso_fs.h>
15 #include <linux/tty.h>
16 #include <linux/stat.h>
17 #include <linux/fcntl.h>
18
19
20
21
22 static int chrdev_open(struct inode * inode, struct file * filp)
23 {
24 int i;
25
26 i = MAJOR(inode->i_rdev);
27 if (i >= MAX_CHRDEV || !chrdev_fops[i])
28 return -ENODEV;
29 filp->f_op = chrdev_fops[i];
30 if (filp->f_op->open)
31 return filp->f_op->open(inode,filp);
32 return 0;
33 }
34
35
36
37
38
39
40 static struct file_operations def_chr_fops = {
41 NULL,
42 NULL,
43 NULL,
44 NULL,
45 NULL,
46 NULL,
47 NULL,
48 chrdev_open,
49 NULL,
50 };
51
52 struct inode_operations isofs_chrdev_inode_operations = {
53 &def_chr_fops,
54 NULL,
55 NULL,
56 NULL,
57 NULL,
58 NULL,
59 NULL,
60 NULL,
61 NULL,
62 NULL,
63 NULL,
64 NULL,
65 isofs_bmap,
66 NULL,
67 NULL
68 };
69