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

⟦71109cd9d⟧ TextFile

    Length: 1672 (0x688)
    Types: TextFile
    Notes: UNIX file
    Names: »ino.h«

Derivation

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

TextFile

/*
 * Disk inode.
 */
#ifndef	INO_H
#define	INO_H
#include <types.h>

/*
 * Structure of inode as it appears on disk.
 */
struct dinode {
	unsigned short di_mode;		/* Mode */
	short	di_nlink;		/* Link count */
	short	di_uid;		/* User id of owner */
	short	di_gid;		/* Group id of owner */
	size_t	di_size;		/* Size of file in bytes */
	union {
		char	di_addb[40];	/* Disk block addresses */
		dev_t	di_rdev;	/* Device */
		struct {		/* Pipes */
			char	dp_addp[30];
			short	dp_pnc;
			short	dp_prx;
			short	dp_pwx;
		}	di_p;
	}	di_a;
	time_t	di_atime;		/* Last access time */
	time_t	di_mtime;		/* Last modify time */
	time_t	di_ctime;		/* Last creation time */
};

/*
 * Compatibility.
 */
#define	di_addr	di_a.di_addb
#define di_addp	di_p.dp_addp
#define di_pnc	di_p.dp_pnc
#define di_prx	di_p.dp_prx
#define di_pwx	di_p.dp_pwx

/*
 * Miscellaneous manifests.
 */
#define	NBN	128			/* Number of indirects per block */
#define L2NBN	7			/* Log2(NBN) */
#define ND	10			/* Number of direct blocks */
#define NI	3			/* Number of indirect blocks */
#define NADDR	13			/* Total number of addresses */

/*
 * Modes.
 */
#define	IFMT	0170000			/* Type */
#define IFDIR	0040000			/* Directory */
#define IFCHR	0020000			/* Character special file */
#define	IFBLK	0060000			/* Block special file */
#define IFREG	0100000			/* Regular file */
#define IFMPC	0030000			/* Multiplexed character special */
#define IFMPB	0070000			/* Multiplexed block special */
#define IFPIPE	0010000			/* Pipe */
#define ISUID	0004000			/* Set user id on execution */
#define ISGID	0002000			/* Set group id on execution */
#define ISVTXT	0001000			/* Save swapped text even after use */

#endif