]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/miscfs/routefs/routefs_ops.c
xnu-6153.61.1.tar.gz
[apple/xnu.git] / bsd / miscfs / routefs / routefs_ops.c
index d066326e11785528e413a9338706d48b7f382100..664ae0e16607a62eceed8a66ff9fb912f4d9d0c7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Apple Inc. All rights reserved.
+ * Copyright (c) 2019 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  *
@@ -487,7 +487,7 @@ out:
        return error;
 }
 
-struct vfsops routefs_vfsops = {
+const struct vfsops routefs_vfsops = {
        .vfs_mount = routefs_mount,
        .vfs_start = routefs_start,
        .vfs_unmount = routefs_unmount,
@@ -518,47 +518,48 @@ routefserr_setlabel(__unused struct vnop_setlabel_args * args)
 
 /* The following ops are used by directories and symlinks */
 int(**routefs_vnodeop_p)(void *);
-static struct vnodeopv_entry_desc routefs_vnodeop_entries[] = {
-       { &vnop_default_desc, (VOPFUNC)vn_default_error },
-       { &vnop_lookup_desc, (VOPFUNC)routefserr_lookup },      /* lookup */
-       { &vnop_create_desc, (VOPFUNC)err_create },     /* create */
-       { &vnop_whiteout_desc, (VOPFUNC)err_whiteout },         /* whiteout */
-       { &vnop_mknod_desc, (VOPFUNC)err_mknod },       /* mknod */
-       { &vnop_open_desc, (VOPFUNC)err_open },                 /* open */
-       { &vnop_close_desc, (VOPFUNC)err_close },       /* close */
-       { &vnop_getattr_desc, (VOPFUNC)err_getattr },           /* getattr */
-       { &vnop_setattr_desc, (VOPFUNC)err_setattr },           /* setattr */
-       { &vnop_read_desc, (VOPFUNC)err_read },         /* read */
-       { &vnop_write_desc, (VOPFUNC)err_write },       /* write */
-       { &vnop_ioctl_desc, (VOPFUNC)err_ioctl },       /* ioctl */
-       { &vnop_select_desc, (VOPFUNC)err_select },     /* select */
-       { &vnop_revoke_desc, (VOPFUNC)err_revoke },     /* revoke */
-       { &vnop_mmap_desc, (VOPFUNC)err_mmap },                 /* mmap */
-       { &vnop_fsync_desc, (VOPFUNC)nop_fsync },       /* fsync */
-       { &vnop_remove_desc, (VOPFUNC)err_remove }, /* remove */
-       { &vnop_link_desc, (VOPFUNC)err_link },         /* link */
-       { &vnop_rename_desc, (VOPFUNC)err_rename },     /* rename */
-       { &vnop_mkdir_desc, (VOPFUNC)err_mkdir },       /* mkdir */
-       { &vnop_rmdir_desc, (VOPFUNC)err_rmdir },       /* rmdir */
-       { &vnop_symlink_desc, (VOPFUNC)err_symlink },           /* symlink */
-       { &vnop_readdir_desc, (VOPFUNC)err_readdir },           /* readdir */
-       { &vnop_readlink_desc, (VOPFUNC)err_readlink }, /* readlink */
-       { &vnop_inactive_desc, (VOPFUNC)err_inactive }, /* inactive */
-       { &vnop_reclaim_desc, (VOPFUNC)err_reclaim },           /* reclaim */
-       { &vnop_strategy_desc, (VOPFUNC)err_strategy },         /* strategy */
-       { &vnop_pathconf_desc, (VOPFUNC)err_pathconf }, /* pathconf */
-       { &vnop_advlock_desc, (VOPFUNC)err_advlock },           /* advlock */
-       { &vnop_bwrite_desc, (VOPFUNC)err_bwrite },
-       { &vnop_pagein_desc, (VOPFUNC)err_pagein },     /* Pagein */
-       { &vnop_pageout_desc, (VOPFUNC)err_pageout },           /* Pageout */
-       { &vnop_copyfile_desc, (VOPFUNC)err_copyfile },         /* Copyfile */
-       { &vnop_blktooff_desc, (VOPFUNC)err_blktooff },         /* blktooff */
-       { &vnop_offtoblk_desc, (VOPFUNC)err_offtoblk },         /* offtoblk */
-       { &vnop_blockmap_desc, (VOPFUNC)err_blockmap },         /* blockmap */
+static const struct vnodeopv_entry_desc routefs_vnodeop_entries[] = {
+       { .opve_op = &vnop_default_desc, .opve_impl = (VOPFUNC)vn_default_error },
+       { .opve_op = &vnop_lookup_desc, .opve_impl = (VOPFUNC)routefserr_lookup },      /* lookup */
+       { .opve_op = &vnop_create_desc, .opve_impl = (VOPFUNC)err_create },     /* create */
+       { .opve_op = &vnop_whiteout_desc, .opve_impl = (VOPFUNC)err_whiteout },         /* whiteout */
+       { .opve_op = &vnop_mknod_desc, .opve_impl = (VOPFUNC)err_mknod },       /* mknod */
+       { .opve_op = &vnop_open_desc, .opve_impl = (VOPFUNC)err_open },                 /* open */
+       { .opve_op = &vnop_close_desc, .opve_impl = (VOPFUNC)err_close },       /* close */
+       { .opve_op = &vnop_getattr_desc, .opve_impl = (VOPFUNC)err_getattr },           /* getattr */
+       { .opve_op = &vnop_setattr_desc, .opve_impl = (VOPFUNC)err_setattr },           /* setattr */
+       { .opve_op = &vnop_read_desc, .opve_impl = (VOPFUNC)err_read },         /* read */
+       { .opve_op = &vnop_write_desc, .opve_impl = (VOPFUNC)err_write },       /* write */
+       { .opve_op = &vnop_ioctl_desc, .opve_impl = (VOPFUNC)err_ioctl },       /* ioctl */
+       { .opve_op = &vnop_select_desc, .opve_impl = (VOPFUNC)err_select },     /* select */
+       { .opve_op = &vnop_revoke_desc, .opve_impl = (VOPFUNC)err_revoke },     /* revoke */
+       { .opve_op = &vnop_mmap_desc, .opve_impl = (VOPFUNC)err_mmap },                 /* mmap */
+       { .opve_op = &vnop_fsync_desc, .opve_impl = (VOPFUNC)nop_fsync },       /* fsync */
+       { .opve_op = &vnop_remove_desc, .opve_impl = (VOPFUNC)err_remove }, /* remove */
+       { .opve_op = &vnop_link_desc, .opve_impl = (VOPFUNC)err_link },         /* link */
+       { .opve_op = &vnop_rename_desc, .opve_impl = (VOPFUNC)err_rename },     /* rename */
+       { .opve_op = &vnop_mkdir_desc, .opve_impl = (VOPFUNC)err_mkdir },       /* mkdir */
+       { .opve_op = &vnop_rmdir_desc, .opve_impl = (VOPFUNC)err_rmdir },       /* rmdir */
+       { .opve_op = &vnop_symlink_desc, .opve_impl = (VOPFUNC)err_symlink },           /* symlink */
+       { .opve_op = &vnop_readdir_desc, .opve_impl = (VOPFUNC)err_readdir },           /* readdir */
+       { .opve_op = &vnop_readlink_desc, .opve_impl = (VOPFUNC)err_readlink }, /* readlink */
+       { .opve_op = &vnop_inactive_desc, .opve_impl = (VOPFUNC)err_inactive }, /* inactive */
+       { .opve_op = &vnop_reclaim_desc, .opve_impl = (VOPFUNC)err_reclaim },           /* reclaim */
+       { .opve_op = &vnop_strategy_desc, .opve_impl = (VOPFUNC)err_strategy },         /* strategy */
+       { .opve_op = &vnop_pathconf_desc, .opve_impl = (VOPFUNC)err_pathconf }, /* pathconf */
+       { .opve_op = &vnop_advlock_desc, .opve_impl = (VOPFUNC)err_advlock },           /* advlock */
+       { .opve_op = &vnop_bwrite_desc, .opve_impl = (VOPFUNC)err_bwrite },
+       { .opve_op = &vnop_pagein_desc, .opve_impl = (VOPFUNC)err_pagein },     /* Pagein */
+       { .opve_op = &vnop_pageout_desc, .opve_impl = (VOPFUNC)err_pageout },           /* Pageout */
+       { .opve_op = &vnop_copyfile_desc, .opve_impl = (VOPFUNC)err_copyfile },         /* Copyfile */
+       { .opve_op = &vnop_blktooff_desc, .opve_impl = (VOPFUNC)err_blktooff },         /* blktooff */
+       { .opve_op = &vnop_offtoblk_desc, .opve_impl = (VOPFUNC)err_offtoblk },         /* offtoblk */
+       { .opve_op = &vnop_blockmap_desc, .opve_impl = (VOPFUNC)err_blockmap },         /* blockmap */
 #if CONFIG_MACF
-       { &vnop_setlabel_desc, (VOPFUNC)routefserr_setlabel },   /* setlabel */
+       { .opve_op = &vnop_setlabel_desc, .opve_impl = (VOPFUNC)routefserr_setlabel },   /* setlabel */
 #endif
-       { (struct vnodeop_desc*)NULL, (int (*)(void *))NULL }
+       { .opve_op = (struct vnodeop_desc*)NULL, .opve_impl = (int (*)(void *))NULL }
 };
-struct vnodeopv_desc routefs_vnodeop_opv_desc =
-{ &routefs_vnodeop_p, routefs_vnodeop_entries };
+
+const struct vnodeopv_desc routefs_vnodeop_opv_desc =
+{ .opv_desc_vector_p = &routefs_vnodeop_p, .opv_desc_ops = routefs_vnodeop_entries };