|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2049 (0x801) Types: TextFile Notes: UNIX file Names: »filsys.h«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code └─⟦2d53db1df⟧ UNIX Filesystem └─⟦this⟧ »sys/h/filsys.h«
/* (-lgl * The information contained herein is a trade secret of Mark Williams * Company, and is confidential information. It is provided under a * license agreement, and may be copied or disclosed only under the * terms of that agreement. Any reproduction or disclosure of this * material without the express written authorization of Mark Williams * Company or persuant to the license agreement is unlawful. * * COHERENT Version 0.7.3 * Copyright (c) 1982, 1983, 1984. * An unpublished work by Mark Williams Company, Chicago. * All rights reserved. -lgl) */ /* * 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