Standard Label Format for Tapes


Contents

About this document
C definition of the standard label format

About this document

This document contains a C definition of the standard label format for tapes. Programming assistance is not provided in creating programs which make use of this information.

Standard label tapes are 3 records (blocks) of 80 bytes (one line of EBCDIC text) in one write as a file or image on tape. These records are VOL1, HDR1 and HDR2.


C definition of the standard label format

/*
 * Lengths of VOL1 header fields.
 */
#define VOL1_LABID	3	/* Label Identifier (VOL)			*/
#define VOL1_LABNO	1	/* Label Number (1)				*/
#define VOL1_VOLID	6	/* Volume Identifier ("a" characters)	*/
#define VOL1_ACCES	1	/* Accessibility ("a" chars, " " = all)	*/
#define VOL1_RSVD1	26	/* Reserved for Future Standardization	*/
#define VOL1_OWNID	14	/* Owner Identifier ("a" characters)	*/
#define VOL1_RSVD2	28	/* Reserved for Future Standardization	*/
#define VOL1_LABSV	1	/* Label-Standard Version (1, 2, 3)		*/
/*
 * Lengths of HDR1, EOF1, and EOV1 header fields.
 */
#define HDR1_LABID	3	/* Label Identifier (HDR, EOF, EOV)		*/
#define HDR1_LABNO	1	/* Label Number (1)				*/
#define HDR1_FILID	17	/* File Identifier ("a" characters)		*/
#define HDR1_FSTID	6	/* File-Set Identifier ("a" chars)		*/
#define HDR1_FSCNO	4	/* File Section Number ("n" chars)		*/
#define HDR1_FSQNO	4	/* File Sequence Number ("n" chars)		*/
#define HDR1_GENNO	4	/* Generation Number ("n" characters)	*/
#define HDR1_GNVNO	2	/* Generation Version Number ("n" chars)	*/
#define HDR1_CRDAT	6	/* Creation Date (" yyddd") ("n" chars)	*/
#define HDR1_EXDAT	6	/* Expiration Date (" yyddd")			*/
#define HDR1_ACCES	1	/* Accessibility ("a" char, " " = all)	*/
#define HDR1_BLKCT	6	/* Block Count ("n" chars)			*/
#define HDR1_SYSCD	13	/* System Code ("a" characters)		*/
#define HDR1_RSVD1	7	/* Reserved for Future Standardization	*/
/*
 * Lengths of HDR2, EOF2, and EOV2 header fields.
 */
#define HDR2_LABID	3	/* Label Identifier (HDR, EOF, EOV)		*/
#define HDR2_LABNO	1	/* Label Number (2)				*/
#define HDR2_RCFMT	1	/* Record Format (F, D)				*/
#define HDR2_BLKLN	5	/* Block Length ("n" characters)		*/
#define HDR2_RECLN	5	/* Record Length ("n" characters)		*/
#define HDR2_RSVD1	35	/* Reserved for System Use			*/
#define HDR2_BOFFL	2	/* Buffer-Offset Length ("n" chars)		*/
#define HDR2_RSVD2	28	/* Reserved for Future Standardization	*/
/*
 * VOL1 label structure.
 */
struct vol1_label {
	char labid[VOL1_LABID];
	char labno;
	char volid[VOL1_VOLID];
	char acces;
	char rsvd1[VOL1_RSVD1];
	char ownid[VOL1_OWNID];
	char rsvd2[VOL1_RSVD2];
	char labsv;
};
/*
 * HDR1, EOF1, EOV1 label structure.
 */
struct hdr1_label {
	char labid[HDR1_LABID];
	char labno;
	char filid[HDR1_FILID];
	char fstid[HDR1_FSTID];
	char fscno[HDR1_FSCNO];
	char fsqno[HDR1_FSQNO];
	char genno[HDR1_GENNO];
	char gnvno[HDR1_GNVNO];
	char crdat[HDR1_CRDAT];
	char exdat[HDR1_EXDAT];
	char acces;
	char blkct[HDR1_BLKCT];
	char syscd[HDR1_SYSCD];
	char rsvd1[HDR1_RSVD1];
};
/*
 * HDR2, EOF2, EOV2 label structure.
 */
struct hdr2_label {
	char labid[HDR2_LABID];
	char labno;
	char rcfmt;
	char blkln[HDR2_BLKLN];
	char recln[HDR2_RECLN];
	char rsvd1[HDR2_RSVD1];
	char boffl[HDR2_BOFFL];
	char rsvd2[HDR2_RSVD2];
};



[ Doc Ref: 92783865413670     Publish Date: Jun. 21, 2000     4FAX Ref: 4306 ]