DataMuseum.dk

Presents historical artifacts from the history of:

Commodore CBM-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Commodore CBM-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦93fefef7c⟧ TextFile

    Length: 1457 (0x5b1)
    Types: TextFile
    Notes: UNIX file
    Names: »filsys.h«

Derivation

└─⟦eafc30061⟧ Bits:30001199 Commodore 900 hard disk image
    └─⟦8281d0872⟧ UNIX V7 Filesystem
        └─ ⟦294235107⟧ »vol3.fd« UNIX V7 Filesystem
            └─ ⟦this⟧ »usr/include/filsys.h« 
            └─ ⟦this⟧ »usr/include/sys/filsys.h« 
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code
    └─⟦2d53db1df⟧ UNIX V7 Filesystem
        └─ ⟦this⟧ »include/filsys.h« 
        └─ ⟦this⟧ »include/sys/filsys.h« 
└─⟦eafc30061⟧ Bits:30001199 Commodore 900 hard disk image
    └─⟦5ec4c54f2⟧ UNIX V7 Filesystem
        └─ ⟦this⟧ »usr/include/filsys.h« 
        └─ ⟦this⟧ »usr/include/sys/filsys.h« 

TextFile

/*
 * Super block.
 */
#ifndef	 FILSYS_H
#define  FILSYS_H
#include <types.h>
#include <fblk.h>

/*
 * Size definitions.
 */
#define NICINOD	100			/* Number of free in core inodes */
#define BSIZE	512			/* Block size */
#define INOPB	8			/* Number of inodes per block */
#define BOOTBI	0			/* Boot block index */
#define SUPERI	1			/* Super block index */
#define INODEI	2			/* Inode block index */
#define BADFIN	1			/* Bad block inode number */
#define ROOTIN	2			/* Root inode number */

/*
 * Super block.
 */
struct filsys {
	unsigned short s_isize;		/* Firt block not in inode list */
	daddr_t	 s_fsize;		/* Size of entire volume */
	short	 s_nfree;		/* Number of addresses in s_free */
	daddr_t	 s_free[NICFREE];	/* Free block list */
	short	 s_ninode;		/* Number of inodes in s_inode */
	ino_t	 s_inode[NICINOD];	/* Free inode list */
	char	 s_flock;		/* Not used */
	char	 s_ilock;		/* Not used */
	char	 s_fmod;		/* Super block modified flag */
	char	 s_ronly;		/* Mounted read only flag */
	time_t	 s_time;		/* Last super block update */
	daddr_t	 s_tfree;		/* Total free blocks */
	ino_t	 s_tinode;		/* Total free inodes */
	short	 s_m;			/* Interleave factor */
	short	 s_n;			/* Interleave factor */
	char	 s_fname[6];		/* File system name */
	char	 s_fpack[6];		/* File system pack name */
	long	 s_unique;		/* Unique number */
};

/*
 * Functions.
 */
#define iblockn(ino)	(INODEI+(ino-1)/INOPB)
#define iblocko(ino)	((ino-1)%INOPB)

#endif