# -*- perl -*-
#
# $Id: TarHeader.pm,v 1.1 1997/12/20 20:41:56 ejb Exp $
# $Source: /home/ejb/source/perl/modules/RCS/TarHeader.pm,v $
# $Author: ejb $
#

package TarHeader;

require 5.000;
use strict;

my $package = "TarHeader";

# Field names
my $f_name = "name";
my $f_mode = "mode";
my $f_uid = "uid";
my $f_gid = "gid";
my $f_size = "size";
my $f_mtime = "mtime";
my $f_typeflag = "typeflag";
my $f_linkname = "linkname";

# Static Variables

# Routines

sub new
{
    my $class = shift;
    my $rep = +{$package => {"name" => $_[0],
			     "mode" => $_[1],
			     "uid" => $_[2],
			     "gid" => $_[3],
			     "size" => $_[4],
			     "mtime" => $_[5],
			     "typeflag" => $_[6],
			     "linkname" => $_[7],
			 }
	    };
		
    bless $rep, $class;
}

sub name
{
    my $rep = shift;
    $rep->{$package}{$f_name};
}

sub mode
{
    my $rep = shift;
    $rep->{$package}{$f_mode};
}

sub uid
{
    my $rep = shift;
    $rep->{$package}{$f_uid};
}

sub gid
{
    my $rep = shift;
    $rep->{$package}{$f_gid};
}

sub size
{
    my $rep = shift;
    $rep->{$package}{$f_size};
}

sub mtime
{
    my $rep = shift;
    $rep->{$package}{$f_mtime};
}

sub typeflag
{
    my $rep = shift;
    $rep->{$package}{$f_typeflag};
}

sub linkname
{
    my $rep = shift;
    $rep->{$package}{$f_linkname};
}

sub unparse
{
    my $rep = shift;
    for ("name", "mode", "uid", "gid", "size", "mtime", "typeflag", "linkname")
    {
	print "$_ => ", $rep->{$package}{$_}, "\n";
    }
}

1;

#
# End of TarHeader
#
