man Pages(4): File Formats
  Suchtext Nur in diesem Buch
Dieses Buch im PDF-Format herunterladen

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 VMAGLEN8
#define VVOLLEN6
#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? * /
} ;