Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ archives(4) — Atari System V 1.1-06

Media Vault

Software Library

Restoration Projects

Artifacts Sought





   archives(4)                (Essential Utilities)                archives(4)


   NAME
         archives - device header file

   DESCRIPTION
         /* Magic numbers */

         #define CMNASC     0x070701/* Cpio Magic Number for -c header */
         #define CMNBIN     070707/* Cpio Magic Number for Binary header */
         #define CMNBBS     0143561/* Cpio Magic Number for Byte-Swap header */
         #define CMNCRC     0x070702/* Cpio Magic Number for CRC header */
         #define CMSASC     "070701"/* Cpio Magic String for -c header */
         #define CMSCHR     "070707"/* Cpio Magic String for odc header */
         #define CMSCRC     "070702"/* Cpio Magic String for CRC header */
         #define CMSLEN     6/* Cpio Magic String length */

         /* Various header and field lengths */

         #define CHRSZ    76/* -H odc size minus filename field */
         #define ASCSZ    110/* -c and CRC hdr size minus filename field */
         #define TARSZ    512/* TAR hdr size */

         #define HNAMLEN  256/* maximum filename length for binary and odc headers */
         #define EXPNLEN  1024/* maximum filename length for -c and CRC headers */
         #define HTIMLEN  2/* length of modification time field */
         #define HSIZLEN  2/* length of file size field */

         /* cpio binary header definition */

         struct hdrcpio {
           short               hmagic,/* magic number field */
                hdev;         /* file system of file */
           ushort              hino,/* inode of file */
                hmode,        /* modes of file */
                huid,         /* uid of file */
                hgid;         /* gid of file */
           short               hnlink,/* number of links to file */
                hrdev,        /* maj/min numbers for special files */
                hmtime[HTIMLEN],/* modification time of file */
                hnamesize,    /* length of filename */
                hfilesize[HSIZLEN];/* size of file */
           char hname[HNAMLEN];/* filename */
         } ;

         /* cpio -H odc header format */

         struct chdr {
           char cmagic[CMSLEN],
                cdev[6],
                cino[6],
                cmode[6],
                cuid[6],


   8/91                                                                 Page 1









   archives(4)                (Essential Utilities)                archives(4)


                cgid[6],
                cnlink[6],
                crdev[6],
                cmtime[11],
                cnamesz[6],
                cfilesz[11],
                cname[HNAMLEN];
         } ;

         /* -c and CRC header format */

         struct Expcpiohdr {
           char Emagic[CMSLEN],
                Eino[8],
                Emode[8],
                Euid[8],
                Egid[8],
                Enlink[8],
                Emtime[8],
                Efilesize[8],
                Emaj[8],
                Emin[8],
                Ermaj[8],
                Ermin[8],
                Enamesize[8],
                Echksum[8],
                Ename[EXPNLEN];
         } ;

         /* Tar header structure and format */

         #define TBLOCK 512/* length of tar header and data blocks */
         #define TNAMLEN100/* maximum length for tar file names */
         #define TMODLEN8/* length of mode field */
         #define TUIDLEN8/* length of uid field */
         #define TGIDLEN8/* length of gid field */
         #define TSIZLEN12/* length of size field */
         #define TTIMLEN12/* length of modification time field */
         #define TCRCLEN8/* length of header checksum field */

         /* tar header definition */

         union tblock {
           char dummy[TBLOCK];
           struct header {
              char tname[TNAMLEN];/* name of file */
              char tmode[TMODLEN];/* mode of file */
              char tuid[TUIDLEN];/* uid of file */
              char tgid[TGIDLEN];/* gid of file */
              char tsize[TSIZLEN];/* size of file in bytes */
              char tmtime[TTIMLEN];/* modification time of file */


   Page 2                                                                 8/91









   archives(4)                (Essential Utilities)                archives(4)


              char tchksum[TCRCLEN];/* checksum of header */
              char ttypeflag;    /* flag to indicate type of file */
              char tlinkname[TNAMLEN];/* file this file is linked with */
              char tmagic[6];    /* magic string always "ustar" */
              char tversion[2];  /* version strings always "00" */
              char tuname[32];   /* owner of file in ASCII */
              char tgname[32];   /* group of file in ASCII */
              char tdevmajor[8]; /* major number for special files */
              char tdevminor[8]; /* minor number for special files */
              char tprefix[155]; /* pathname prefix */
           } tbuf;
         };

         /* volcopy tape label format and structure */

         #define VMAGLEN 8
         #define VVOLLEN 6
         #define VFILLEN 464

         struct volcopylabel {
           char vmagic[VMAGLEN],
                vvolume[VVOLLEN],
                vreels,
                vreel;
           long vtime,
                         vlength,
                vdens,
                vreelblks,    /* u370 added field */
                vblksize,     /* u370 added field */
                vnblocks;     /* u370 added field */
           char vfill[VFILLEN];
           long voffset;      /* used with -e and -reel options */
           int  vtype;        /* does tape have nblocks field? */
         } ;



















   8/91                                                                 Page 3





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026