package hostdata; # new sub new { my $class = shift; my $self = {}; $self->{'name'} = undef; $self->{'ipaddr'} = undef; $self->{'ether'} = undef; $self->{'aliases'} = {}; $self->{'ngmember'} = 0; $self->{'ngnumber'} = 0; $self->{'ngnum2'} = 0; $self->{'domain'} = undef; $self->{'yp'} = 0; $self->{'netgroups'} = {}; $self->{'comment'} = undef; $self->{'patch'} = undef; $self->{'segment'} = undef; $self->{'user'} = undef; $self->{'sysadm'} = undef; $self->{'os'} = undef; $self->{'arpwatch_exclude'} = undef; $self->{'serial'} = undef; $self->{'hostid'} = undef; $self->{'arch'} = undef; $self->{'typeno'} = undef; $self->{'inventory'} = undef; $self->{'location'} = undef; $self->{'full_name_first'} = 0; $self->{'dhcp-class'} = undef; $self->{'expires'} = undef; bless($self,$class); return $self; } sub set_dhcp_class { my $self = shift; my $cl = shift; $self->{'dhcp-class'} = $cl; } sub get_dhcp_class { my $self = shift; my $back = undef; if(exists($self->{'dhcp-class'})) { $back = $self->{'dhcp-class'}; } return $back; } sub set_expiration { my $self = shift; my $e = shift; $self->{'expires'} = $e; } sub get_expiration { my $self = shift; my $back = undef; if(exists($self->{'expires'})) { $back = $self->{'expires'}; } return $back; } sub set_name { my $self = shift; my $name = shift; $self->{'name'} = $name; } sub get_name { my $self = shift; my $back = ''; if(exists($self->{'name'})) { $back = $self->{'name'}; } else { } return $back; } sub set_ipaddr { my $self = shift; my $ipaddr = shift; $self->{'ipaddr'} = $ipaddr; } sub get_ipaddr { my $self = shift; my $back = ''; if(exists($self->{'ipaddr'})) { $back = $self->{'ipaddr'}; } return $back; } sub set_ether { my $self = shift; my $ether = shift; $self->{'ether'} = $ether; } sub get_ether { my $self = shift; my $back = ''; if(exists($self->{'ether'})) { $back = $self->{'ether'}; } return $back; } sub set_alias { my $self = shift; my $name = shift; my $al = $self->{'aliases'}; if(!(exists($al->{"$name"}))) { $al->{"$name"} = 1; } } sub set_aliases { my $self = shift; my $line = shift; my $name = ""; $line =~ s/^\s*//g; chomp $line; while($line =~ /\S+/o) { if($line =~ /(\S+)\s+(\S.*)/o) { $name = $1; $line = $2; $self->set_alias($name); } else { $self->set_alias($line); $line = ""; } } } sub get_aliases { my $self = shift; my $back = $self->{'aliases'}; return $back; } sub set_ng_member { my $self = shift; my $val = shift; $self->{'ngmember'} = $val; } sub get_ng_member { my $self = shift; my $back = $self->{'ngmember'}; return $back; } sub set_ng_number { my $self = shift; my $num = shift; $self->{'ngnumber'} = $num; } sub get_ng_number { my $self = shift; my $back = $self->{'ngnumber'}; return $back; } sub set_ng_num2 { my $self = shift; my $num = shift; $self->{'ngnum2'} = $num; } sub get_ng_num2 { my $self = shift; my $back = $self->{'ngnum2'}; return $back; } sub set_domainname { my $self = shift; my $name = shift; $self->{'domain'} = $name; } sub get_domainname { my $self = shift; my $back = $self->{'domain'}; return $back; } sub set_yp { my $self = shift; my $val = shift; $self->{'yp'} = $val; } sub get_yp { my $self = shift; my $back = $self->{'yp'}; return $back; } sub set_comment { my $self = shift; my $comm = shift; $self->{'comment'} = $comm; } sub get_comment { my $self = shift; my $back = $self->{'comment'}; return $back; } sub set_patch { my $self = shift; my $comm = shift; $self->{'patch'} = $comm; } sub get_patch { my $self = shift; my $back = $self->{'patch'}; return $back; } sub set_segment { my $self = shift; my $comm = shift; $self->{'segment'} = $comm; } sub get_segment { my $self = shift; my $back = $self->{'segment'}; return $back; } sub set_user { my $self = shift; my $comm = shift; $self->{'user'} = $comm; } sub get_user { my $self = shift; my $back = $self->{'user'}; return $back; } sub set_sysadm { my $self = shift; my $comm = shift; $self->{'sysadm'} = $comm; } sub get_sysadm { my $self = shift; my $back = $self->{'sysadm'}; return $back; } sub set_os { my $self = shift; my $comm = shift; $self->{'os'} = $comm; } sub get_os { my $self = shift; my $back = $self->{'os'}; return $back; } sub set_arpwatch_exclude { my $self = shift; my $comm = shift; $self->{'arpwatch_exclude'} = $comm; } sub get_arpwatch_exclude { my $self = shift; my $back = $self->{'arpwatch_exclude'}; return $back; } sub set_serial { my $self = shift; my $comm = shift; $self->{'serial'} = $comm; } sub get_serial { my $self = shift; my $back = $self->{'serial'}; return $back; } sub set_hostid { my $self = shift; my $comm = shift; $self->{'hostid'} = $comm; } sub get_hostid { my $self = shift; my $back = $self->{'hostid'}; return $back; } sub set_arch { my $self = shift; my $comm = shift; $self->{'arch'} = $comm; } sub get_arch { my $self = shift; my $back = $self->{'arch'}; return $back; } sub set_typeno { my $self = shift; my $comm = shift; $self->{'typeno'} = $comm; } sub get_typeno { my $self = shift; my $back = $self->{'typeno'}; return $back; } sub set_inventory { my $self = shift; my $comm = shift; $self->{'inventory'} = $comm; } sub get_inventory { my $self = shift; my $back = $self->{'inventory'}; return $back; } sub set_ndexclude { my $self = shift; my $comm = shift; $self->{'ndexclude'} = $comm; } sub set_full_name_first { my $self = shift; my $val = shift; $self->{'full_name_first'} = $val; } sub get_full_name_first { my $self = shift; my $back = 0; if(exists($self->{'full_name_first'})) { $back = $self->{'full_name_first'}; } return $back; } sub get_ndexclude { my $self = shift; my $back = $self->{'ndexclude'}; return $back; } sub set_location { my $self = shift; my $comm = shift; $self->{'location'} = $comm; } sub get_location { my $self = shift; my $back = $self->{'location'}; return $back; } sub set_direct_netgroup { my $self = shift; my $name = shift; $ngref = $self->{'netgroups'}; $ngref->{"$name"} = 1; } sub get_netgroups { my $self = shift; my $back = $self->{'netgroups'}; return $back; } 1;