====== 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