ufs.h File Reference

#include <ubixos/types.h>
#include <vfs/vfs.h>
#include <sys/device.h>

Include dependency graph for ufs.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  csum
struct  csum_total
struct  dirent
struct  fs
struct  ufs1_dinode
struct  ufs2_dinode

Defines

#define blkoff(fs, loc)
#define cgbase(fs, c)   (((ufs2_daddr_t)(fs)->fs_fpg) * (c))
#define cgdmin(fs, c)   (cgstart(fs, c) + (fs)->fs_dblkno)
#define cgimin(fs, c)   (cgstart(fs, c) + (fs)->fs_iblkno)
#define cgsblock(fs, c)   (cgstart(fs, c) + (fs)->fs_sblkno)
#define cgstart(fs, c)
#define cgtod(fs, c)   (cgstart(fs, c) + (fs)->fs_cblkno)
#define dbtofsb(fs, b)   ((b) >> (fs)->fs_fsbtodb)
#define DEV_BSHIFT   9
#define DEV_BSIZE   (1<<DEV_BSHIFT)
#define DT_DIR   4
#define DT_REG   8
#define fragroundup(fs, size)
#define FS_UFS1_MAGIC   0x011954
#define FS_UFS2_MAGIC   0x19540119
#define fsbtodb(fs, b)   ((daddr_t)(b) << (fs)->fs_fsbtodb)
#define FSMAXSNAP   20
#define ino_to_cg(fs, x)   ((x) / (fs)->fs_ipg)
#define ino_to_fsba(fs, x)
#define ino_to_fsbo(fs, x)   ((x) % INOPB(fs))
#define lblkno(fs, loc)
#define MAXBSIZE   65536
#define MAXMNTLEN   468
#define MAXNAMLEN   255
#define MAXVOLLEN   32
#define NDADDR   12
#define NIADDR   3
#define NINDIR(fs)   ((fs)->fs_nindir)
#define NOCSPTRS   ((128 / sizeof(void *)) - 4)
#define NXADDR   2
#define ROOTINO   ((ino_t)2)
#define sblksize(fs, size, lbn)
#define SBLOCK_FLOPPY   0
#define SBLOCK_PIGGY   262144
#define SBLOCK_UFS1   8192
#define SBLOCK_UFS2   65536
#define SBLOCKSEARCH   { SBLOCK_UFS2, SBLOCK_UFS1, SBLOCK_FLOPPY, SBLOCK_PIGGY, -1 }
#define SBLOCKSIZE   8192

Typedefs

typedef __int64_t daddr_t
typedef int32_t ufs1_daddr_t
typedef int64_t ufs2_daddr_t
typedef int64_t ufs_lbn_t
typedef int64_t ufs_time_t

Functions

int ufs_init ()
int ufs_initialize ()


Define Documentation

#define blkoff ( fs,
loc   ) 

Value:

/* calculates (loc % fs->fs_bsize) */ \
        ((loc) & (fs)->fs_qbmask)

Definition at line 90 of file ufs.h.

Referenced by fsread().

#define cgbase ( fs,
 )     (((ufs2_daddr_t)(fs)->fs_fpg) * (c))

Definition at line 64 of file ufs.h.

#define cgdmin ( fs,
 )     (cgstart(fs, c) + (fs)->fs_dblkno)

Definition at line 65 of file ufs.h.

#define cgimin ( fs,
 )     (cgstart(fs, c) + (fs)->fs_iblkno)

Definition at line 66 of file ufs.h.

#define cgsblock ( fs,
 )     (cgstart(fs, c) + (fs)->fs_sblkno)

Definition at line 67 of file ufs.h.

#define cgstart ( fs,
 ) 

Value:

((fs)->fs_magic == FS_UFS2_MAGIC ? cgbase(fs, c) :               \
       (cgbase(fs, c) + (fs)->fs_old_cgoffset * ((c) & ~((fs)->fs_old_cgmask))))

Definition at line 69 of file ufs.h.

#define cgtod ( fs,
 )     (cgstart(fs, c) + (fs)->fs_cblkno)

Definition at line 68 of file ufs.h.

#define dbtofsb ( fs,
 )     ((b) >> (fs)->fs_fsbtodb)

Definition at line 75 of file ufs.h.

#define DEV_BSHIFT   9

Definition at line 42 of file ufs.h.

Referenced by fsread().

#define DEV_BSIZE   (1<<DEV_BSHIFT)

Definition at line 43 of file ufs.h.

Referenced by fsfind(), and fsread().

#define DT_DIR   4

Definition at line 41 of file ufs.h.

Referenced by lookup().

#define DT_REG   8

Definition at line 38 of file ufs.h.

Referenced by lookup().

#define fragroundup ( fs,
size   ) 

Value:

/* calculates roundup(size, fs->fs_fsize) */ \
        (((size) + (fs)->fs_qfmask) & (fs)->fs_fmask)

Definition at line 94 of file ufs.h.

#define FS_UFS1_MAGIC   0x011954

Definition at line 51 of file ufs.h.

Referenced by fsread().

#define FS_UFS2_MAGIC   0x19540119

Definition at line 52 of file ufs.h.

Referenced by fsread().

#define fsbtodb ( fs,
 )     ((daddr_t)(b) << (fs)->fs_fsbtodb)

Definition at line 74 of file ufs.h.

Referenced by fsread().

#define FSMAXSNAP   20

Definition at line 56 of file ufs.h.

#define ino_to_cg ( fs,
 )     ((x) / (fs)->fs_ipg)

Definition at line 83 of file ufs.h.

#define ino_to_fsba ( fs,
 ) 

Value:

((ufs2_daddr_t)(cgimin(fs, ino_to_cg(fs, x)) +                  \
            (blkstofrags((fs), (((x) % (fs)->fs_ipg) / INOPB(fs))))))

Definition at line 84 of file ufs.h.

#define ino_to_fsbo ( fs,
 )     ((x) % INOPB(fs))

Definition at line 87 of file ufs.h.

#define lblkno ( fs,
loc   ) 

Value:

/* calculates (loc / fs->fs_bsize) */ \
        ((loc) >> (fs)->fs_bshift)

Definition at line 92 of file ufs.h.

Referenced by fsread().

#define MAXBSIZE   65536

Definition at line 57 of file ufs.h.

Referenced by fsread().

#define MAXMNTLEN   468

Definition at line 53 of file ufs.h.

#define MAXNAMLEN   255

Definition at line 39 of file ufs.h.

Referenced by lookup().

#define MAXVOLLEN   32

Definition at line 54 of file ufs.h.

#define NDADDR   12

Definition at line 121 of file ufs.h.

Referenced by fsread().

#define NIADDR   3

Definition at line 122 of file ufs.h.

#define NINDIR ( fs   )     ((fs)->fs_nindir)

Definition at line 58 of file ufs.h.

Referenced by fsread().

#define NOCSPTRS   ((128 / sizeof(void *)) - 4)

Definition at line 55 of file ufs.h.

#define NXADDR   2

Definition at line 120 of file ufs.h.

#define ROOTINO   ((ino_t)2)

Definition at line 40 of file ufs.h.

Referenced by lookup().

#define sblksize ( fs,
size,
lbn   ) 

Value:

(((lbn) >= NDADDR || (size) >= ((lbn) + 1) << (fs)->fs_bshift) \
          ? (fs)->fs_bsize \
          : (fragroundup(fs, blkoff(fs, (size)))))

Definition at line 98 of file ufs.h.

Referenced by fsread().

#define SBLOCK_FLOPPY   0

Definition at line 44 of file ufs.h.

#define SBLOCK_PIGGY   262144

Definition at line 47 of file ufs.h.

#define SBLOCK_UFS1   8192

Definition at line 45 of file ufs.h.

#define SBLOCK_UFS2   65536

Definition at line 46 of file ufs.h.

#define SBLOCKSEARCH   { SBLOCK_UFS2, SBLOCK_UFS1, SBLOCK_FLOPPY, SBLOCK_PIGGY, -1 }

Definition at line 49 of file ufs.h.

#define SBLOCKSIZE   8192

Definition at line 48 of file ufs.h.


Typedef Documentation

typedef __int64_t daddr_t

Definition at line 110 of file ufs.h.

typedef int32_t ufs1_daddr_t

Definition at line 106 of file ufs.h.

typedef int64_t ufs2_daddr_t

Definition at line 107 of file ufs.h.

typedef int64_t ufs_lbn_t

Definition at line 108 of file ufs.h.

typedef int64_t ufs_time_t

Definition at line 109 of file ufs.h.


Function Documentation

int ufs_init (  ) 

Definition at line 314 of file ufs.c.

References kpanic(), NULL, ufs_initialize(), ufs_openFile(), ufs_readFile(), ufs_writeFile(), vfsRegisterFS(), and x1.

Here is the call graph for this function:

int ufs_initialize (  ) 

Referenced by ufs_init().


Generated on Fri Dec 15 11:22:14 2006 for UbixOS V2 by  doxygen 1.4.7