Rev | Line | |
---|
[9] | 1 | /* This is the filp table. It is an intermediary between file descriptors and
|
---|
| 2 | * inodes. A slot is free if filp_count == 0.
|
---|
| 3 | */
|
---|
| 4 |
|
---|
| 5 | EXTERN struct filp {
|
---|
| 6 | mode_t filp_mode; /* RW bits, telling how file is opened */
|
---|
| 7 | int filp_flags; /* flags from open and fcntl */
|
---|
| 8 | int filp_count; /* how many file descriptors share this slot?*/
|
---|
| 9 | struct inode *filp_ino; /* pointer to the inode */
|
---|
| 10 | off_t filp_pos; /* file position */
|
---|
| 11 |
|
---|
| 12 | /* the following fields are for select() and are owned by the generic
|
---|
| 13 | * select() code (i.e., fd-type-specific select() code can't touch these).
|
---|
| 14 | */
|
---|
| 15 | int filp_selectors; /* select()ing processes blocking on this fd */
|
---|
| 16 | int filp_select_ops; /* interested in these SEL_* operations */
|
---|
| 17 |
|
---|
| 18 | /* following are for fd-type-specific select() */
|
---|
| 19 | int filp_pipe_select_ops;
|
---|
| 20 | } filp[NR_FILPS];
|
---|
| 21 |
|
---|
| 22 | #define FILP_CLOSED 0 /* filp_mode: associated device closed */
|
---|
| 23 |
|
---|
| 24 | #define NIL_FILP (struct filp *) 0 /* indicates absence of a filp slot */
|
---|
Note:
See
TracBrowser
for help on using the repository browser.