[Libsysio-commit] gmdev: libsysio/drivers/incore fs_incore.c
Brought to you by:
lward
From: Ruth K. <rk...@us...> - 2004-04-27 22:55:49
|
Update of /cvsroot/libsysio/libsysio/drivers/incore In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29858/incore Modified Files: Tag: gmdev fs_incore.c Log Message: merge head changes into gmdev branch Index: fs_incore.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/drivers/incore/fs_incore.c,v retrieving revision 1.16.2.1 retrieving revision 1.16.2.2 diff -u -w -b -B -p -r1.16.2.1 -r1.16.2.2 --- fs_incore.c 4 Mar 2004 18:08:06 -0000 1.16.2.1 +++ fs_incore.c 27 Apr 2004 22:55:36 -0000 1.16.2.2 @@ -144,6 +144,8 @@ static int _sysio_incore_dirop_unlink(st static int _sysio_incore_dirop_rename(struct pnode *old, struct pnode *new); static int _sysio_incore_filop_read(struct inode *ino, struct ioctx *ioctx); static int _sysio_incore_filop_write(struct inode *ino, struct ioctx *ioctx); +static _SYSIO_OFF_T _sysio_incore_filop_pos(struct inode *ino, + _SYSIO_OFF_T off); static int _sysio_incore_filop_iodone(struct ioctx *ioctx); static int _sysio_incore_filop_fcntl(struct inode *ino, int cmd, va_list ap); static int _sysio_incore_inop_sync(struct inode *ino); @@ -157,36 +159,35 @@ static int _sysio_incore_inop_statvfs(st struct intnl_statvfs *buf); #endif static void _sysio_incore_inop_gone(struct inode *ino); -static int _sysio_incore_e_isdir(void); -static int _sysio_incore_e_inval(void); -static int _sysio_incore_e_nosys(void); -static void _sysio_incore_illop(void); #define _sysio_incore_dirop_symlink \ - (int (*)(struct pnode *, const char *))_sysio_incore_e_nosys + (int (*)(struct pnode *, const char *))_sysio_do_enosys #define _sysio_incore_dirop_readlink \ - (int (*)(struct pnode *, char *, size_t))_sysio_incore_e_inval + (int (*)(struct pnode *, char *, size_t))_sysio_do_einval #define _sysio_incore_dirop_read \ (int (*)(struct inode *, \ - struct ioctx *))_sysio_incore_e_isdir + struct ioctx *))_sysio_do_eisdir #define _sysio_incore_dirop_write \ (int (*)(struct inode *, \ - struct ioctx *))_sysio_incore_e_isdir + struct ioctx *))_sysio_do_eisdir +#define _sysio_incore_dirop_pos \ + (_SYSIO_OFF_T (*)(struct inode *, \ + _SYSIO_OFF_T))_sysio_do_eisdir #define _sysio_incore_dirop_iodone \ - (int (*)(struct ioctx *))_sysio_incore_illop + (int (*)(struct ioctx *))_sysio_do_illop #define _sysio_incore_dirop_fcntl \ - (int (*)(struct inode *, int, va_list))_sysio_incore_e_isdir + (int (*)(struct inode *, int, va_list))_sysio_do_eisdir #define _sysio_incore_dirop_ioctl \ (int (*)(struct inode *, \ unsigned long int, \ - va_list))_sysio_incore_e_isdir + va_list))_sysio_do_eisdir #define _sysio_incore_inop_mmap \ (void *(*)(struct inode *, \ void *, \ size_t, \ int, \ int, \ - _SYSIO_OFF_T))_sysio_incore_illop + _SYSIO_OFF_T))_sysio_do_illop static struct inode_ops _sysio_incore_dir_ops = { _sysio_incore_dirop_lookup, @@ -204,6 +205,7 @@ static struct inode_ops _sysio_incore_di _sysio_incore_dirop_rename, _sysio_incore_dirop_read, _sysio_incore_dirop_write, + _sysio_incore_dirop_pos, _sysio_incore_dirop_iodone, _sysio_incore_dirop_fcntl, _sysio_incore_inop_sync, @@ -221,28 +223,28 @@ static struct inode_ops _sysio_incore_di (int (*)(struct pnode *, \ struct inode **, \ struct intent *, \ - const char *))_sysio_incore_illop + const char *))_sysio_do_illop #define _sysio_incore_filop_getdirentries \ (ssize_t (*)(struct inode *, \ char *, \ size_t, \ - _SYSIO_OFF_T *))_sysio_incore_illop + _SYSIO_OFF_T *))_sysio_do_illop #define _sysio_incore_filop_mkdir \ - (int (*)(struct pnode *, mode_t))_sysio_incore_illop + (int (*)(struct pnode *, mode_t))_sysio_do_illop #define _sysio_incore_filop_rmdir \ - (int (*)(struct pnode *))_sysio_incore_illop + (int (*)(struct pnode *))_sysio_do_illop #define _sysio_incore_filop_symlink \ - (int (*)(struct pnode *, const char *))_sysio_incore_illop + (int (*)(struct pnode *, const char *))_sysio_do_illop #define _sysio_incore_symlinkop_readlink \ - (int (*)(struct pnode *, char *, size_t))_sysio_incore_illop + (int (*)(struct pnode *, char *, size_t))_sysio_do_illop #define _sysio_incore_filop_link \ - (int (*)(struct pnode *old, struct pnode *new))_sysio_incore_illop + (int (*)(struct pnode *old, struct pnode *new))_sysio_do_illop #define _sysio_incore_filop_unlink \ - (int (*)(struct pnode *pno))_sysio_incore_illop + (int (*)(struct pnode *pno))_sysio_do_illop #define _sysio_incore_filop_rename \ - (int (*)(struct pnode *old, struct pnode *new))_sysio_incore_illop + (int (*)(struct pnode *old, struct pnode *new))_sysio_do_illop #define _sysio_incore_filop_mknod \ - (int (*)(struct pnode *pno, mode_t, dev_t))_sysio_incore_illop + (int (*)(struct pnode *pno, mode_t, dev_t))_sysio_do_illop static struct inode_ops _sysio_incore_file_ops = { _sysio_incore_filop_lookup, @@ -260,6 +262,7 @@ static struct inode_ops _sysio_incore_fi _sysio_incore_filop_rename, _sysio_incore_filop_read, _sysio_incore_filop_write, + _sysio_incore_filop_pos, _sysio_incore_filop_iodone, _sysio_incore_filop_fcntl, _sysio_incore_inop_sync, @@ -289,6 +292,7 @@ static struct inode_ops _sysio_incore_de _sysio_incore_filop_rename, _sysio_nodev_inop_read, _sysio_nodev_inop_write, + _sysio_nodev_inop_pos, _sysio_nodev_inop_iodone, _sysio_incore_filop_fcntl, _sysio_incore_inop_sync, @@ -1559,6 +1563,13 @@ _sysio_incore_filop_write(struct inode * ioctx); } +static _SYSIO_OFF_T +_sysio_incore_filop_pos(struct inode *ino __IS_UNUSED, _SYSIO_OFF_T off) +{ + + return off; +} + static int _sysio_incore_filop_iodone(struct ioctx *iocp __IS_UNUSED) { @@ -1690,34 +1701,3 @@ _sysio_incore_inop_gone(struct inode *in incore_i_destroy(icino); } - -static int -_sysio_incore_e_isdir(void) -{ - - return -EISDIR; -} - -static int -_sysio_incore_e_inval(void) -{ - - return -EINVAL; -} - -static int -_sysio_incore_e_nosys(void) -{ - - return -ENOSYS; -} - -static void -_sysio_incore_illop(void) -{ - - /* - * Uh-oh! Goodbye Bruce. - */ - abort(); -} |