[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    archives(4) manual page Table of Contents

Name

archives - device header

Description


/* Magic numbers */

#define CMN_ASC    0x070701    /* Cpio Magic Number for -c header */
#define CMN_BIN    070707    /* Cpio Magic Number for Binary header */
#define CMN_BBS    0143561    /* Cpio Magic Number for Byte-Swap header */
#define CMN_CRC    0x070702    /* Cpio Magic Number for CRC header */
#define CMS_ASC    "070701"    /* Cpio Magic String for -c header */
#define CMS_CHR    "070707"    /* Cpio Magic String for odc header */
#define CMS_CRC    "070702"    /* Cpio Magic String for CRC header */
#define CMS_LEN    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 hdr_cpio {
    short    h_magic,    /* magic number field */
        h_dev;    /* file system of file */
    ushort    h_ino,    /* inode of file */
        h_mode,    /* modes of file */
        h_uid,    /* uid of file */
        h_gid;    /* gid of file */
    short    h_nlink,    /* number of links to file */
        h_rdev,    /* maj/min numbers for special files */
        h_mtime[HTIMLEN],    /* modification time of file */
        h_namesize,    /* length of filename */
        h_filesize[HSIZLEN];    /* size of file */
    char    h_name[HNAMLEN];    /* filename */
} ;

/* cpio -H odc header format */

struct c_hdr {
    char    c_magic[CMS_LEN],
        c_dev[6],
        c_ino[6],
        c_mode[6],
        c_uid[6],
        c_gid[6],
        c_nlink[6],
        c_rdev[6],
        c_mtime[11],
        c_namesz[6],
        c_filesz[11],
        c_name[HNAMLEN];
} ;

/* -c and CRC header format */

struct Exp_cpio_hdr {
    char    E_magic[CMS_LEN],
        E_ino[8],
        E_mode[8],
        E_uid[8],
        E_gid[8],
        E_nlink[8],
        E_mtime[8],
        E_filesize[8],
        E_maj[8],
        E_min[8],
        E_rmaj[8],
        E_rmin[8],
        E_namesize[8],
        E_chksum[8],
        E_name[EXPNLEN];
} ;

/* Tar header structure and format */
#define TBLOCK    512    /* length of tar header and data blocks */
#define TNAMLEN    100    /* maximum length for tar file names */
#define TMODLEN    8    /* length of mode field */
#define TUIDLEN    8    /* length of uid field */
#define TGIDLEN    8    /* length of gid field */
#define TSIZLEN    12    /* length of size field */
#define TTIMLEN    12    /* length of modification time field */
#define TCRCLEN    8    /* length of header checksum field */

/* tar header definition */

union tblock {
    char dummy[TBLOCK];
    struct header {
        char    t_name[TNAMLEN];    /* name of file */
        char    t_mode[TMODLEN];    /* mode of file */
        char    t_uid[TUIDLEN];    /* uid of file */
        char    t_gid[TGIDLEN];    /* gid of file */
        char    t_size[TSIZLEN];    /* size of file in bytes */
        char    t_mtime[TTIMLEN];    /* modification time of file */
        char    t_chksum[TCRCLEN];    /* checksum of header */
        char    t_typeflag;    /* flag to indicate type of file */
        char    t_linkname[TNAMLEN];    /* file this file is linked with */
        char    t_magic[6];    /* magic string always "ustar" */
        char    t_version[2];    /* version strings always "00" */
        char    t_uname[32];    /* owner of file in ASCII */
        char    t_gname[32];    /* group of file in ASCII */
        char    t_devmajor[8];    /* major number for special files */
        char    t_devminor[8];    /* minor number for special files */
        char    t_prefix[155];    /* pathname prefix */
    } tbuf;
};

/* volcopy tape label format and structure */

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

struct volcopy_label {
    char    v_magic[VMAGLEN],
        v_volume[VVOLLEN],
        v_reels,
        v_reel;
    long    v_time,
        v_length,
        v_dens,
        v_reelblks,    /* u370 added field */
        v_blksize,    /* u370 added field */
        v_nblocks;    /* u370 added field */
    char    v_fill[VFILLEN];
    long    v_offset;    /* used with -e and -reel options */
    int    v_type;        /* does tape have nblocks field? */
} ;


Table of Contents