|
My Kernel v0.1.0
|

Data Structures | |
| struct | vnode_operations |
| Vector table for operations performed on a single virtual node. More... | |
| struct | vnode |
| represents a single virtual node More... | |
Enumerations | |
| enum | vnode_type { VNODE_FIFO = S_IFIFO , VNODE_CHARDEVICE = S_IFCHR , VNODE_DIRECTORY = S_IFDIR , VNODE_BLOCKDEVICE = S_IFBLK , VNODE_FILE = S_IFREG , VNODE_SYMLINK = S_IFLNK , VNODE_SOCKET = S_IFSOCK } |
| The different existing types of vnodes. More... | |
Functions | |
| vnode_t * | vfs_vnode_acquire (vnode_t *, bool *) |
| Increment the refcount of a vnode. More... | |
| vnode_t * | vfs_vnode_release (vnode_t *) |
| Decrease the refcount of a vnode. More... | |
| bool | vfs_vnode_check_creds (const struct vnode *, const struct user_creds *, int oflags) |
| Check if a process has the right to access a vnode based on its credentials. More... | |
| enum typedef enum vnode_type vnode_type |
Similarily to any other synchronization mechanism, you must call vfs_vnode_release once you are done using this node
| vnode | The referenced vnode | |
| [out] | new | Set to true if a new vnode was created (optional) |
| bool vfs_vnode_check_creds | ( | const struct vnode * | vnode, |
| const struct user_creds * | creds, | ||
| int | oflags | ||
| ) |
This function should be called while holding both the vnode's and the process' locks.
| vnode | The vnode to access |
| creds | The user credentials used by the accessor |
| oflags | The flag combination used when opening the vnode |
true if the vnode can be accessed.