====== LoxBerry::Storage::get_usbstorage ======
==== @usbstorage = LoxBerry::Storage::get_usbstorage(SIZE, BOOL readwriteonly); ====
Die Funktion get_usbstorages liest alle erreichbaren USB-Storage-Geräte, die an den LoxBerry angeschlossen sind, ein und liefert einen Array zurück, der auch direkt in HTML::Template verwendet werden kann. \\
Innerhalb eines Plugins wäre es denkbar, einige (große) Datenmengen oder häufige Schreibzugriffe auf einen externen Datenträger auszulagern oder von dort aus Daten, z. B. MP3-Dateien, einzulesen.
Der zurückgegebene Array kann direkt in HTML::Template benutzt werden.
==== Parameter ====
|Parameter |Funktion |
|(optional)\\ \\ size |Erlaubte Werte: MB|GB|H. Legt fest, in welcher Einheit die Variablen USBSTORAGE_USED und USBSTORAGE_AVAILABLE zurückgegeben werden. Standard ist kB für "Kilobytes", MB steht für "Megabytes", GB für "Gigabytes". Bei H ("Human Readable") wird die Einheit selbstständig gewählt und die entsprechende Einheit dem Wert angefügt.|
|(optional)\\ \\ readwriteonly|Ist der zweite Parameter = 1, werden nur Devices ausgegeben, auf die sowohl Lese- als auch Schreibberechtigung besteht. Andernfalls werden alle Devices, also auch diejenigen, die nur read-only sind, ausgegeben. |
==== Variablen ====
|Hash-Variable pro Array-Zeile|Inhalt |
|USBSTORAGE_NO |Fortlaufende Nummer |
|USBSTORAGE_DEVICE |Device-Name des USB-Datenträgers |
|USBSTORAGE_BLOCKDEVICE |Block-Device des USB-Datenträgers, z. B. /dev/sda1 |
|USBSTORAGE_TYPE |Typ des Filesystems, z. B. vfat |
|USBSTORAGE_STATE |Read-/Write-Status des Shares, kann '''%%Readonly%%''' oder '''%%Writable%%''' sein. |
|USBSTORAGE_USED |Verwendeter Speicherplatz, entspricht der Ausgabe von "df" |
|USBSTORAGE_AVAILABLE |Freier Speicherplatz, entspricht der Ausgabe von "df" |
|USBSTORAGE_SIZE |Gesamtkapazität (Größe) des Datenträgers (//ab LB 1.2.1//) |
|USBSTORAGE_USEDPERCENT |Belegter Speicherplatz in Prozent, entspricht der Ausgabe von "df" (aus Legacy-Gründen wird dieser Wert auch beim Schlüssel USBSTORAGE_CAPACITY ausgegeben)|
|USBSTORAGE_DEVICEPATH |Voller Pfad zum Mount-Verzeichnis des USB-Devices |
===== Verwendung =====
use LoxBerry::Storage;
use LoxBerry::Web;
my @usbdevices = LoxBerry::Storage::get_usbstorage();
print STDERR "USB Devices:\n";
foreach my $usbdevice (@usbdevices) {
print STDERR "$usbdevice->{USBSTORAGE_NO} $usbdevice->{USBSTORAGE_DEVICE} $usbdevice->{USBSTORAGE_DEVICEPATH}\n";
}
$htmltemplate->param('USBDEVICES' => \@usbdevices);
# Access a single element
print STDERR "Single element: " . $usbdevices[0]->{USBSTORAGE_DEVICE} . "\n";
\\
Verwendung mit HTML::Template