cd9660_vnops.c (76160) | cd9660_vnops.c (76167) |
---|---|
1/*- 2 * Copyright (c) 1994 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley 6 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension 7 * Support code is derived from software contributed to Berkeley 8 * by Atsushi Murai (amurai@spec.co.jp). --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95 | 1/*- 2 * Copyright (c) 1994 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley 6 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension 7 * Support code is derived from software contributed to Berkeley 8 * by Atsushi Murai (amurai@spec.co.jp). --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95 |
39 * $FreeBSD: head/sys/fs/cd9660/cd9660_vnops.c 76160 2001-04-30 21:23:05Z phk $ | 39 * $FreeBSD: head/sys/fs/cd9660/cd9660_vnops.c 76167 2001-05-01 08:34:45Z phk $ |
40 */ 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/namei.h> 45#include <sys/kernel.h> 46#include <sys/stat.h> 47#include <sys/bio.h> --- 23 unchanged lines hidden (view full) --- 71struct isoreaddir; 72static int iso_uiodir __P((struct isoreaddir *idp, struct dirent *dp, 73 off_t off)); 74static int iso_shipdir __P((struct isoreaddir *idp)); 75static int cd9660_readdir __P((struct vop_readdir_args *)); 76static int cd9660_readlink __P((struct vop_readlink_args *ap)); 77static int cd9660_strategy __P((struct vop_strategy_args *)); 78static int cd9660_print __P((struct vop_print_args *)); | 40 */ 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/namei.h> 45#include <sys/kernel.h> 46#include <sys/stat.h> 47#include <sys/bio.h> --- 23 unchanged lines hidden (view full) --- 71struct isoreaddir; 72static int iso_uiodir __P((struct isoreaddir *idp, struct dirent *dp, 73 off_t off)); 74static int iso_shipdir __P((struct isoreaddir *idp)); 75static int cd9660_readdir __P((struct vop_readdir_args *)); 76static int cd9660_readlink __P((struct vop_readlink_args *ap)); 77static int cd9660_strategy __P((struct vop_strategy_args *)); 78static int cd9660_print __P((struct vop_print_args *)); |
79static int cd9660_getpages __P((struct vop_getpages_args *)); 80static int cd9660_putpages __P((struct vop_putpages_args *)); | |
81 82/* 83 * Setattr call. Only allowed for block and character special devices. 84 */ 85int 86cd9660_setattr(ap) 87 struct vop_setattr_args /* { 88 struct vnodeop_desc *a_desc; --- 692 unchanged lines hidden (view full) --- 781 return (0); 782 default: 783 return (EINVAL); 784 } 785 /* NOTREACHED */ 786} 787 788/* | 79 80/* 81 * Setattr call. Only allowed for block and character special devices. 82 */ 83int 84cd9660_setattr(ap) 85 struct vop_setattr_args /* { 86 struct vnodeop_desc *a_desc; --- 692 unchanged lines hidden (view full) --- 779 return (0); 780 default: 781 return (EINVAL); 782 } 783 /* NOTREACHED */ 784} 785 786/* |
789 * get page routine 790 * 791 * XXX By default, wimp out... note that a_offset is ignored (and always 792 * XXX has been). 793 */ 794int 795cd9660_getpages(ap) 796 struct vop_getpages_args *ap; 797{ 798 return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count, 799 ap->a_reqpage); 800} 801 802/* 803 * put page routine 804 * 805 * XXX By default, wimp out... note that a_offset is ignored (and always 806 * XXX has been). 807 */ 808int 809cd9660_putpages(ap) 810 struct vop_putpages_args *ap; 811{ 812 return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count, 813 ap->a_sync, ap->a_rtvals); 814} 815 816/* | |
817 * Global vfs data structures for cd9660 818 */ 819vop_t **cd9660_vnodeop_p; 820static struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = { 821 { &vop_default_desc, (vop_t *) vop_defaultop }, 822 { &vop_access_desc, (vop_t *) cd9660_access }, 823 { &vop_bmap_desc, (vop_t *) cd9660_bmap }, 824 { &vop_cachedlookup_desc, (vop_t *) cd9660_lookup }, --- 7 unchanged lines hidden (view full) --- 832 { &vop_print_desc, (vop_t *) cd9660_print }, 833 { &vop_read_desc, (vop_t *) cd9660_read }, 834 { &vop_readdir_desc, (vop_t *) cd9660_readdir }, 835 { &vop_readlink_desc, (vop_t *) cd9660_readlink }, 836 { &vop_reclaim_desc, (vop_t *) cd9660_reclaim }, 837 { &vop_setattr_desc, (vop_t *) cd9660_setattr }, 838 { &vop_strategy_desc, (vop_t *) cd9660_strategy }, 839 { &vop_unlock_desc, (vop_t *) vop_stdunlock }, | 787 * Global vfs data structures for cd9660 788 */ 789vop_t **cd9660_vnodeop_p; 790static struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = { 791 { &vop_default_desc, (vop_t *) vop_defaultop }, 792 { &vop_access_desc, (vop_t *) cd9660_access }, 793 { &vop_bmap_desc, (vop_t *) cd9660_bmap }, 794 { &vop_cachedlookup_desc, (vop_t *) cd9660_lookup }, --- 7 unchanged lines hidden (view full) --- 802 { &vop_print_desc, (vop_t *) cd9660_print }, 803 { &vop_read_desc, (vop_t *) cd9660_read }, 804 { &vop_readdir_desc, (vop_t *) cd9660_readdir }, 805 { &vop_readlink_desc, (vop_t *) cd9660_readlink }, 806 { &vop_reclaim_desc, (vop_t *) cd9660_reclaim }, 807 { &vop_setattr_desc, (vop_t *) cd9660_setattr }, 808 { &vop_strategy_desc, (vop_t *) cd9660_strategy }, 809 { &vop_unlock_desc, (vop_t *) vop_stdunlock }, |
840 { &vop_getpages_desc, (vop_t *) cd9660_getpages }, 841 { &vop_putpages_desc, (vop_t *) cd9660_putpages }, | |
842 { NULL, NULL } 843}; 844static struct vnodeopv_desc cd9660_vnodeop_opv_desc = 845 { &cd9660_vnodeop_p, cd9660_vnodeop_entries }; 846VNODEOP_SET(cd9660_vnodeop_opv_desc); 847 848/* 849 * Special device vnode ops --- 37 unchanged lines hidden --- | 810 { NULL, NULL } 811}; 812static struct vnodeopv_desc cd9660_vnodeop_opv_desc = 813 { &cd9660_vnodeop_p, cd9660_vnodeop_entries }; 814VNODEOP_SET(cd9660_vnodeop_opv_desc); 815 816/* 817 * Special device vnode ops --- 37 unchanged lines hidden --- |