DataMuseum.dk

Presents historical artifacts from the history of:

Regnecentalen RC-900

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

See our Wiki for more about Regnecentalen RC-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦5539042a4⟧ TextFile

    Length: 4215 (0x1077)
    Types: TextFile
    Notes: UNIX file
    Names: »ivlab.h«

Derivation

└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦a6ab2eb36⟧ UNIX Filesystem
    └─⟦this⟧ »kc/new/usr/include/sys/ivlab.h« 

TextFile


/*	Copyright (c) 1984 AT&T	*/
/*	  All Rights Reserved  	*/

/*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*/
/*	The copyright notice above does not evidence any   	*/
/*	actual or intended publication of such source code.	*/

#ident "@(#)ivlab.h	1.2"

/*
 *	iRMX 86 Volume Label Definitions for UNIX.
 *
 * This is used to keep a UNIX Volume close enough to RMX 86 to
 * allow use of various RMX 86 technology (ie, PROM bootstrap drivers).
 *
 */

union   v_part {
	struct  {
		ushort  v_part_st;
		ushort  v_part_sz;
		ushort  v_part_sid;
		} vp_std;               /* standard partition def */
	struct  {
		ushort  v_sanity_l;     /* sanity to verify label (low half) */
		ushort  v_sanity_h;     /* high half of sanity */
		ushort  v_version;      /* label version number */
		} vp_sanity;            /* used for v_prt[1] */
	struct  {
		ushort  v_pd_sect_l;    /* low half of absolute sector number
					   of beginning of pdinfo structure */
		ushort  v_pd_sect_h;    /* high half of sector number */
		ushort  v_pd_len;       /* # of bytes in pdinfo block */
		} vp_pdinfo;            /* used for v_prt[2] */
};

#define VP_SANITY(ptr) ((((union v_part *)(ptr))->vp_sanity.v_sanity_h << 16)\
		       | (((union v_part *)(ptr))->vp_sanity.v_sanity_l))
#define VP_PD_SECT(ptr) ((((union v_part *)(ptr))->vp_pdinfo.v_pd_sect_h << 16)\
			| (((union v_part *)(ptr))->vp_pdinfo.v_pd_sect_l))
#define SET_VP_SANITY(ptr,val) ((union v_part *)(ptr))->vp_sanity.v_sanity_h\
				= (ulong)val >> 16;\
			       ((union v_part *)(ptr))->vp_sanity.v_sanity_l\
				= val & 0xffff;
#define SET_VP_PD_SECT(ptr,val) ((union v_part *)(ptr))->vp_pdinfo.v_pd_sect_h\
				 = (ulong)val >> 16;\
				((union v_part *)(ptr))->vp_pdinfo.v_pd_sect_l\
				  = val &0xffff;

struct	ivlab {
	char    v_name[10];     /* volume name, blank padded */
	char    v_flags;        /* flags byte -- see below */
	char    v_fdriver;      /* file-driver number */
	ushort  v_gran;         /* volume-gran (bytes) */
	ushort  v_size_l;       /* size (bytes) of volume (low) */
	ushort  v_size_h;       /* size (bytes) of volume (low) */
	ushort  v_maxfnode;     /* max fnode # (0 on UNIX) */
	ushort  v_stfnode_l;    /* start of fnodes (2 in UNIX)(low)*/
	ushort  v_stfnode_h;    /* start of fnodes (2 in UNIX)(high)*/
	ushort  v_szfnode;      /* size of fnode (32 in UNIX) */
	ushort  v_rfnode;       /* root fnode (2 in UNIX) */
	ushort  v_devgran;      /* sector size (bytes) */
	ushort  v_intl;         /* interleave; 0 ==> unknown */
	ushort  v_trskew;       /* track skew; 0 ==> none */
	ushort  v_sysid;        /* OS id for OS that formatted vol. */
	char    v_sysname[12];  /* OS name (as above), blank filled */
	char    v_dspecial[8];  /* device-special info (a drtab entry) */
	char    v_reserved[22]; /*      reserved for future use */
	ushort  v_fsdelta;      /* start of root filesystem on boot */
	long    v_fsofset;      /* start of ram filesystem on boot */
	long    v_ramfsloc;     /* location of start of ram disk.  */
	long    v_ramfssiz;     /* size of ram file system */
	ushort  v_filler;
	union v_part  v_prt[4]; /* four partitions */
	char    v_partno[10];   /* part number for IQC */
};

#define VLAB_SECT       0L      /* sector # of volume label on disk */
#define VLAB_START      384     /* byte # of volume label */
#define VLAB_FLOFF      10      /* flags field offset (for boot) */
#define VLAB_FSDOFF     78      /* fsdelta field offset (for boot ) */
#define VLAB_VALID      0xdeadfeeb  /* magic number for label sanity */
#define VP_SANITY_IDX   1       /* v_prt index for sanity stuff */
#define VP_PDINFO_IDX   2       /* v_prt index for pdinfo stuff */

/*
 * Flags byte definitions.
 */

#define VF_AUTO         0x01    /* 1 ==> byte is valid */
#define VF_DENSITY      0x02    /* 0 = FM, 1 = MFM */
#define VF_SIDES        0x04    /* 1 = double-sided */
#define VF_MINI         0x08    /* 0 = 8", 1 = 5.25" */
#define VF_NOT_FLOPPY   0x10    /* 0 = flop track 0 is 128 SD, 1 = not flop */

/*
 * Misc. other defintions.
 */

#define UNIX_FD         6       /* UNIX "file-driver" number;   */
				/* just to be different from RMX86 */
#define UNIX_SID        0x0040  /* UNIX "system-id" (as above) */