UbixOS V2  2.0
inode.h
Go to the documentation of this file.
1 /*-
2  * Copyright (c) 2002-2018 The UbixOS Project.
3  * All rights reserved.
4  *
5  * This was developed by Christopher W. Olsen for the UbixOS Project.
6  *
7  * Redistribution and use in source and binary forms, with or without modification, are permitted
8  * provided that the following conditions are met:
9  *
10  * 1) Redistributions of source code must retain the above copyright notice, this list of
11  * conditions, the following disclaimer and the list of authors.
12  * 2) Redistributions in binary form must reproduce the above copyright notice, this list of
13  * conditions, the following disclaimer and the list of authors in the documentation and/or
14  * other materials provided with the distribution.
15  * 3) Neither the name of the UbixOS Project nor the names of its contributors may be used to
16  * endorse or promote products derived from this software without specific prior written
17  * permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
20  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
22  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
24  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
26  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 #ifndef _VFS_INODE_H
30 #define _VFS_INODE_H
31 
32 #include <sys/types.h>
33 #include <ubixos/wait.h>
34 
35 #include <fs/pipe_fs.h>
36 #include <fs/msdos_fs.h>
37 #include <ufs/ufs.h>
38 
39 struct inode {
41  unsigned long i_ino;
51  unsigned long i_blksize;
52  unsigned long i_blocks;
53  struct semaphore i_sem;
55  struct super_block * i_sb;
56  struct wait_queue * i_wait;
57  struct file_lock * i_flock;
58  struct vm_area_struct * i_mmap;
59  struct inode * i_next, *i_prev;
62  struct inode * i_mount;
63  struct socket * i_socket;
64  unsigned short i_count;
65  unsigned short i_flags;
66  unsigned char i_lock;
67  unsigned char i_dirt;
68  unsigned char i_pipe;
69  unsigned char i_seek;
70  unsigned char i_update;
71  union {
76  } u;
77 };
78 
79 
80 #endif
inode::i_sb
struct super_block * i_sb
Definition: inode.h:55
inode::i_blocks
unsigned long i_blocks
Definition: inode.h:52
inode::pipe_i
struct pipe_inode_info pipe_i
Definition: inode.h:72
inode::ufs1_i
struct ufs1_dinode ufs1_i
Definition: inode.h:74
inode::i_mount
struct inode * i_mount
Definition: inode.h:62
pipe_fs.h
__dev_t
__uint32_t __dev_t
Definition: _types.h:48
inode::i_update
unsigned char i_update
Definition: inode.h:70
inode::i_uid
uid_t i_uid
Definition: inode.h:44
inode::msdos_i
struct msdos_inode_info msdos_i
Definition: inode.h:73
inode::i_bound_to
struct inode * i_bound_to
Definition: inode.h:61
inode::i_hash_next
struct inode * i_hash_next
Definition: inode.h:60
gid_t
__gid_t gid_t
Definition: types.h:123
__mode_t
__uint16_t __mode_t
Definition: _types.h:49
semaphore
Definition: wait.h:39
super_block
Definition: vfs.h:107
inode::i_count
unsigned short i_count
Definition: inode.h:64
inode::i_dev
__dev_t i_dev
Definition: inode.h:40
inode::i_gid
gid_t i_gid
Definition: inode.h:45
types.h
inode::i_hash_prev
struct inode * i_hash_prev
Definition: inode.h:60
wait.h
inode::i_lock
unsigned char i_lock
Definition: inode.h:66
msdos_fs.h
pipe_inode_info
Definition: pipe_fs.h:32
inode
Definition: inode.h:39
inode::i_blksize
unsigned long i_blksize
Definition: inode.h:51
inode::u
union inode::@22 u
inode::i_dirt
unsigned char i_dirt
Definition: inode.h:67
inode::ufs2_i
struct ufs2_dinode ufs2_i
Definition: inode.h:75
msdos_inode_info
Definition: msdos_fs.h:58
inode::i_mtime
time_t i_mtime
Definition: inode.h:49
inode::i_prev
struct inode * i_prev
Definition: inode.h:59
inode::i_size
off_t i_size
Definition: inode.h:47
inode::i_flags
unsigned short i_flags
Definition: inode.h:65
inode::i_seek
unsigned char i_seek
Definition: inode.h:69
time_t
__time_t time_t
Definition: _timespec.h:7
inode_operations
Definition: vfs.h:73
ufs.h
inode::i_sem
struct semaphore i_sem
Definition: inode.h:53
inode::i_socket
struct socket * i_socket
Definition: inode.h:63
ufs1_dinode
Definition: ufs.h:130
inode::i_rdev
__dev_t i_rdev
Definition: inode.h:46
inode::i_mode
__mode_t i_mode
Definition: inode.h:42
ufs2_dinode
Definition: ufs.h:104
inode::i_atime
time_t i_atime
Definition: inode.h:48
__nlink_t
__uint16_t __nlink_t
Definition: _types.h:49
inode::i_op
struct inode_operations * i_op
Definition: inode.h:54
inode::i_ino
unsigned long i_ino
Definition: inode.h:41
inode::i_flock
struct file_lock * i_flock
Definition: inode.h:57
off_t
__int64_t off_t
Definition: types.h:119
uid_t
__uid_t uid_t
Definition: types.h:122
inode::i_nlink
__nlink_t i_nlink
Definition: inode.h:43
wait_queue
Definition: wait.h:34
inode::i_bound_by
struct inode * i_bound_by
Definition: inode.h:61
inode::i_ctime
time_t i_ctime
Definition: inode.h:50
inode::i_pipe
unsigned char i_pipe
Definition: inode.h:68
inode::i_wait
struct wait_queue * i_wait
Definition: inode.h:56
inode::i_mmap
struct vm_area_struct * i_mmap
Definition: inode.h:58
inode::i_next
struct inode * i_next
Definition: inode.h:59