vnode_if.c
来自「基于组件方式开发操作系统的OSKIT源代码」· C语言 代码 · 共 806 行 · 第 1/2 页
C
806 行
VOPARG_OFFSETOF(struct vop_readdir_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_readdir_desc = { 0, "vop_readdir", 0, vop_readdir_vp_offsets, VDESC_NO_OFFSET, VOPARG_OFFSETOF(struct vop_readdir_args, a_cred), VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_readlink_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_readlink_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_readlink_desc = { 0, "vop_readlink", 0, vop_readlink_vp_offsets, VDESC_NO_OFFSET, VOPARG_OFFSETOF(struct vop_readlink_args, a_cred), VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_abortop_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_abortop_args,a_dvp), VDESC_NO_OFFSET};struct vnodeop_desc vop_abortop_desc = { 0, "vop_abortop", 0, vop_abortop_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VOPARG_OFFSETOF(struct vop_abortop_args, a_cnp), NULL,};int vop_inactive_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_inactive_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_inactive_desc = { 0, "vop_inactive", 0, vop_inactive_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_reclaim_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_reclaim_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_reclaim_desc = { 0, "vop_reclaim", 0, vop_reclaim_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_lock_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_lock_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_lock_desc = { 0, "vop_lock", 0, vop_lock_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_unlock_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_unlock_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_unlock_desc = { 0, "vop_unlock", 0, vop_unlock_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_bmap_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_bmap_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_bmap_desc = { 0, "vop_bmap", 0, vop_bmap_vp_offsets, VOPARG_OFFSETOF(struct vop_bmap_args, a_vpp), VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_print_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_print_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_print_desc = { 0, "vop_print", 0, vop_print_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_islocked_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_islocked_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_islocked_desc = { 0, "vop_islocked", 0, vop_islocked_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_pathconf_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_pathconf_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_pathconf_desc = { 0, "vop_pathconf", 0, vop_pathconf_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_advlock_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_advlock_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_advlock_desc = { 0, "vop_advlock", 0, vop_advlock_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_blkatoff_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_blkatoff_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_blkatoff_desc = { 0, "vop_blkatoff", 0, vop_blkatoff_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_valloc_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_valloc_args,a_pvp), VDESC_NO_OFFSET};struct vnodeop_desc vop_valloc_desc = { 0, "vop_valloc", 0, vop_valloc_vp_offsets, VOPARG_OFFSETOF(struct vop_valloc_args, a_vpp), VOPARG_OFFSETOF(struct vop_valloc_args, a_cred), VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_reallocblks_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_reallocblks_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_reallocblks_desc = { 0, "vop_reallocblks", 0, vop_reallocblks_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_vfree_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_vfree_args,a_pvp), VDESC_NO_OFFSET};struct vnodeop_desc vop_vfree_desc = { 0, "vop_vfree", 0, vop_vfree_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_truncate_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_truncate_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_truncate_desc = { 0, "vop_truncate", 0, vop_truncate_vp_offsets, VDESC_NO_OFFSET, VOPARG_OFFSETOF(struct vop_truncate_args, a_cred), VOPARG_OFFSETOF(struct vop_truncate_args, a_p), VDESC_NO_OFFSET, NULL,};int vop_update_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_update_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_update_desc = { 0, "vop_update", 0, vop_update_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_lease_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_lease_args,a_vp), VDESC_NO_OFFSET};struct vnodeop_desc vop_lease_desc = { 0, "vop_lease", 0, vop_lease_vp_offsets, VDESC_NO_OFFSET, VOPARG_OFFSETOF(struct vop_lease_args, a_cred), VOPARG_OFFSETOF(struct vop_lease_args, a_p), VDESC_NO_OFFSET, NULL,};int vop_whiteout_vp_offsets[] = { VOPARG_OFFSETOF(struct vop_whiteout_args,a_dvp), VDESC_NO_OFFSET};struct vnodeop_desc vop_whiteout_desc = { 0, "vop_whiteout", 0, vop_whiteout_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VOPARG_OFFSETOF(struct vop_whiteout_args, a_cnp), NULL,};/* Special cases: */int vop_strategy_vp_offsets[] = { VDESC_NO_OFFSET};struct vnodeop_desc vop_strategy_desc = { 0, "vop_strategy", 0, vop_strategy_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};int vop_bwrite_vp_offsets[] = { VDESC_NO_OFFSET};struct vnodeop_desc vop_bwrite_desc = { 0, "vop_bwrite", 0, vop_bwrite_vp_offsets, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, VDESC_NO_OFFSET, NULL,};/* End of special cases. */struct vnodeop_desc *vfs_op_descs[] = { &vop_default_desc, /* MUST BE FIRST */ &vop_strategy_desc, /* XXX: SPECIAL CASE */ &vop_bwrite_desc, /* XXX: SPECIAL CASE */ &vop_lookup_desc, &vop_create_desc, &vop_mknod_desc, &vop_open_desc, &vop_close_desc, &vop_access_desc, &vop_getattr_desc, &vop_setattr_desc, &vop_read_desc, &vop_write_desc, &vop_ioctl_desc, &vop_select_desc, &vop_mmap_desc, &vop_fsync_desc, &vop_seek_desc, &vop_remove_desc, &vop_link_desc, &vop_rename_desc, &vop_mkdir_desc, &vop_rmdir_desc, &vop_symlink_desc, &vop_readdir_desc, &vop_readlink_desc, &vop_abortop_desc, &vop_inactive_desc, &vop_reclaim_desc, &vop_lock_desc, &vop_unlock_desc, &vop_bmap_desc, &vop_print_desc, &vop_islocked_desc, &vop_pathconf_desc, &vop_advlock_desc, &vop_blkatoff_desc, &vop_valloc_desc, &vop_reallocblks_desc, &vop_vfree_desc, &vop_truncate_desc, &vop_update_desc, &vop_lease_desc, &vop_whiteout_desc, NULL};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?