view src/impl/fs_impl.h @ 330:e34fb61f280a

remove static data gear declaration fs_impl
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 09 Feb 2020 19:08:50 +0900
parents 98902fad1e2e
children e64c8734a802
line wrap: on
line source

typedef struct fs_impl <Impl, Isa> impl fs {
    __code allocinode(Type* fs_impl, uint dev, struct superblock* sb, __code next(...));
    __code allocinode_loop(Type* fs_impl, uint inum, uint dev, short type, struct superblock* sb, struct buf* bp, struct dinode* dip, __code next(...));
    __code allocinode_loopcheck(Type* fs_impl, uint inum, uint dev, struct superblock* sb, struct buf* bp, struct dinode* dip, __code next(...));
    __code allocinode_noloop(Type* fs_impl, uint inum, uint dev, short type, struct superblock* sb, struct buf* bp, struct dinode* dip, __code next(int ret, ...));
    __code lockinode1(Type* fs_impl, struct inode* ip, struct buf* bp, struct dinode* dip, __code next(...));
    __code lockinode2(Type* fs_impl, struct inode* ip, struct buf* bp, struct dinode* dip, __code next(...));
    __code lockinode_sleepcheck(Type* fs_impl, struct inode* ip, __code next(...));
    __code iput_check(Type* fs_impl, struct inode* ip, __code next(...));
    __code iput_inode_nolink(Type* fs_impl, struct inode* ip, __code next(...));
    __code readi_check_diskinode(Type* fs_impl,struct inode* ip, char* dst, uint n, __code next(int ret, ...));
    __code readi_loopcheck(Type* fs_impl, uint tot, uint m, char* dst, uint off, uint n, __code next(...));
    __code readi_loop(Type* fs_impl, struct inode* ip, struct buf* bp, uint tot, uint m, char* dst, uint off, uint n, __code next(...));
    __code readi_noloop(Type* fs_impl, uint n, __code next(int ret, ...));
    __code writei_check_diskinode(Type* fs_impl,struct inode* ip, char* src, uint n, __code next(int ret, ...));
    __code writei_loopcheck(Type* fs_impl, uint tot, uint m, char* src, uint off, uint n, __code next(...));
    __code writei_loop(Type* fs_impl, struct inode* ip, struct buf* bp, uint tot, uint m, char* src, uint off, uint n, __code next(...));
    __code writei_noloop(Type* fs_impl, struct inode* ip, uint n, uint off, __code next(int ret, ...));
    __code dirlookup_loopcheck(Type* fs_impl, struct inode* dp, char* name, uint off, uint* poff, dirent* de, __code next(...));
    __code dirlookup_loop(Type* fs_impl, struct inode* dp, char* name, uint off, uint inum, uint* poff, dirent* de, __code next(int ret, ...));
    __code dirlookup_noloop(Type* fs_impl, __code next(int ret, ...));
    __code dirlink_namecheck(Type* fs_impl, struct inode* ip, __code next(int ret, ...));
    __code dirlink_loopcheck(Type* fs_impl, struct dirent* de, struct inode* dp, uint off, __code next(...));
    __code dirlink_loop(Type* fs_impl, struct dirent* de, struct inode* dp, uint off, uint inum, __code next(...));
    __code dirlink_noloop(Type* fs_impl, struct dirent* de, struct inode* dp, uint off, uint inum, char* name, __code next(int ret, ...));

    __code next(...);
    __code next2(...);
} fs_impl;