HP Integrated Lights-Out 4 Manual del usuario

Página 249

Advertising
background image

El parámetro range (intervalo) contiene un intervalo inclusivo (hexadecimal) que designa
dónde se deben escribir los datos.

El parámetro data (datos) contiene una cadena hexadecimal que representa los datos que
se escribirán.

La secuencia de comandos de la aplicación auxiliar debe transformar el parámetro file (archivo)
en una ruta relativa a su directorio funcional. Esto podría incluir la prefijación con “../,” o la
transformación de una ruta URL con seudónimo en la ruta verdadera en el sistema de archivos.
La secuencia de comandos de la aplicación auxiliar requiere acceso de escritura en el archivo
de destino. Los disquetes de archivos de imagen deben tener los permisos adecuados.

Ejemplo:

#!/usr/bin/perl

use CGI;
use Fcntl;

#
# Se usa el prefijo para llegar desde el directorio de trabajo actual a la ubicación
# del archivo de imagen en el que intenta escribir
#
my ($prefix) = "c:/inetpub/wwwroot";
my ($start, $end, $len, $decode);

my $q = new CGI(); # Obtener datos CGI

my $file = $q->param('file'); # Archivo que se escribirá
my $range = $q->param('range'); # Rango de bytes que se escribirá
my $data = $q->param('data'); # Datos que se escribirán

#
# Cambiar el nombre del archivo adecuadamente
#
$file = $prefix . "/" . $file;

#
# Decode the range
#
if ($range =~ m/([0-9A-Fa-f]+)-([0-9A-Fa-f]+)/) {
$start = hex($1);
$end = hex($2);
$len = $end - $start + 1;
}

#
# Descodificar los datos (es una cadena hexadecimal grande)
#
$decode = pack("H*", $data);

#
# Grabar en el archivo de destino
#
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";

Uso de iLO Virtual Media 249

Advertising