HP Integrated Lights-Out 4 Manuel d'utilisation
Page 245

•
Le paramètre range contient une plage inclusive (au format hexadécimal) désignant
l'emplacement utilisé pour l'écriture des données.
•
Le paramètre data contient une chaîne hexadécimale correspondant aux données à écrire.
Le script doit transformer le paramètre file en un chemin relatif à ses répertoires de travail. Cela
peut nécessiter l'ajout du préfixe « ../ » ou la transformation d'une URL d'alias en chemin réel sur
le système de fichiers. Le script exige l'accès en écriture au fichier cible. Les fichiers image de
disquette doivent disposer des autorisations appropriées.
Exemple :
#!/usr/bin/perl
use CGI;
use Fcntl;
#
# Le préfixe est utilisé pour accéder du répertoire de travail courant vers
# l'emplacement du fichier image que vous essayez d'écrire
#
my ($prefix) = "c:/inetpub/wwwroot";
my ($start, $end, $len, $decode);
my $q = new CGI(); # Get CGI data
my $file = $q->param('file'); # File to be written
my $range = $q->param('range'); # Byte range to be written
my $data = $q->param('data'); # Data to be written
#
# Change le nom du fichier de manière appropriée
#
$file = $prefix . "/" . $file;
#
# Décode la plage
#
if ($range =~ m/([0-9A-Fa-f]+)-([0-9A-Fa-f]+)/) {
$start = hex($1);
$end = hex($2);
$len = $end - $start + 1;
}
#
# Décode les données (il s'agit d'une chaîne hexa de grande taille)
#
$decode = pack("H*", $data);
#
# Écrit les données dans le fichier cible
#
sysopen(F, $file, O_RDWR);
binmode(F);
sysseek(F, $start, SEEK_SET);
syswrite(F, $decode, $len);
close(F);
print "Content-Length: 0\r\n";
print "\r\n";
Utilisation de la fonction iLO Virtual Media 245