/*
- * $Id: isofs_vnops.c,v 1.5 1993/07/19 13:40:10 cgd Exp $
+ * $Id: isofs_vnops.c,v 1.3 1993/11/25 01:32:31 wollman Exp $
*/
#include "param.h"
#include "systm.h"
* Nothing to do.
*/
/* ARGSUSED */
+int
isofs_open(vp, mode, cred, p)
struct vnode *vp;
int mode;
* Update the times on the inode on writeable file systems.
*/
/* ARGSUSED */
+int
isofs_close(vp, fflag, cred, p)
struct vnode *vp;
int fflag;
* The mode is shifted to select the owner/group/other fields. The
* super user is granted all permissions.
*/
+int
isofs_access(vp, mode, cred, p)
struct vnode *vp;
register int mode;
}
/* ARGSUSED */
+int
isofs_getattr(vp, vap, cred, p)
struct vnode *vp;
register struct vattr *vap;
* Vnode op for reading.
*/
/* ARGSUSED */
+int
isofs_read(vp, uio, ioflag, cred)
struct vnode *vp;
register struct uio *uio;
}
/* ARGSUSED */
+int
isofs_ioctl(vp, com, data, fflag, cred, p)
struct vnode *vp;
int com;
}
/* ARGSUSED */
+int
isofs_select(vp, which, fflags, cred, p)
struct vnode *vp;
int which, fflags;
* NB Currently unsupported.
*/
/* ARGSUSED */
+int
isofs_mmap(vp, fflags, cred, p)
struct vnode *vp;
int fflags;
* Nothing to do, so just return.
*/
/* ARGSUSED */
+int
isofs_seek(vp, oldoff, newoff, cred)
struct vnode *vp;
off_t oldoff, newoff;
/*
* Vnode op for readdir
*/
+int
isofs_readdir(vp, uio, cred, eofflagp)
struct vnode *vp;
register struct uio *uio;
*
*/
switch (ep->name[0]) {
- case 0:
- dirent.d_name[0] = '.';
- dirent.d_namlen = 1;
+ case 0:
+ dirent.d_name[0] = '.';
+ dirent.d_namlen = 1;
+ break;
+ case 1:
+ dirent.d_name[0] = '.';
+ dirent.d_name[1] = '.';
+ dirent.d_namlen = 2;
+ break;
+ default:
+ switch ( imp->iso_ftype ) {
+ case ISO_FTYPE_RRIP:
+ isofs_rrip_getname( ep, dirent.d_name, &dirent.d_namlen );
break;
- case 1:
- dirent.d_name[0] = '.';
- dirent.d_name[1] = '.';
- dirent.d_namlen = 2;
+ case ISO_FTYPE_9660:
+ {
+ int namelen = dirent.d_namlen;
+ isofntrans(ep->name, dirent.d_namlen,
+ dirent.d_name, &namelen);
+ dirent.d_namlen = namelen;
break;
+ }
default:
- switch ( imp->iso_ftype ) {
- case ISO_FTYPE_RRIP:
- isofs_rrip_getname( ep, dirent.d_name, &dirent.d_namlen );
- break;
- case ISO_FTYPE_9660:
- isofntrans(ep->name, dirent.d_namlen, dirent.d_name, &dirent.d_namlen);
- break;
- default:
- break;
- }
break;
+ }
+ break;
}
dirent.d_name[dirent.d_namlen] = 0;
* done. If a buffer has been saved in anticipation of a CREATE, delete it.
*/
/* ARGSUSED */
+int
isofs_abortop(ndp)
struct nameidata *ndp;
{
/*
* Lock an inode.
*/
+int
isofs_lock(vp)
struct vnode *vp;
{
/*
* Unlock an inode.
*/
+int
isofs_unlock(vp)
struct vnode *vp;
{
/*
* Check for a locked inode.
*/
+int
isofs_islocked(vp)
struct vnode *vp;
{
* then call the device strategy routine.
*/
+int
isofs_strategy(bp)
register struct buf *bp;
{
/*
* Print out the contents of an inode.
*/
+void
isofs_print(vp)
struct vnode *vp;
{