USBD_ENUMERATE_EINHEIT
Zweck
Ruft eine Liste der logischen USB-Einheiten (ohne Hubs) ab, die mit einem Host-Controller verbunden sind.
Syntax
int ioctl (file, USBD_ENUMERATE_DEVICE, arg)
Parameter
| Element | Beschreibung |
|---|---|
| Datei | Dateideskriptor, der beim Öffnen der USBD-Gerätedatei abgerufen wird. |
| Arg | Adresse der USBENUM -Struktur, die an einer 4-Byte-Grenze ausgerichtet ist. |
Beschreibung
Diese ioctl-Operation gibt eine Beschreibung jeder logischen USB-Einheit zurück, die an die angegebenen Host-Controller ohne Hubs angeschlossen ist. Die Beschreibung wird in Form einer usb_device_t -Struktur zurückgegeben. Das Array der zurückgegebenen Strukturen ist in eine USBENUM -Struktur eingebunden, deren Länge vom Aufrufenden angegeben wird. Wenn diese Funktion gestartet wird, müssen die Felder devno und buffSize in der Struktur USBENUM initialisiert werden. Das Feld devno muss den 32 -Bit- devno -Wert des Host-Controllers enthalten, der aufgezählt werden soll, während das Feld buffSize die Anzahl Byte angeben muss, die zum Puffern des zurückgegebenen Arrays von usb_device_t -Strukturen verfügbar sind. Wenn der Bereich zu klein ist, wird die Anzahl der zurückgegebenen Strukturen abgeschnitten, damit sie dem verfügbaren Speicherplatz entspricht. Der Aufrufende kann diese Bedingung erkennen, indem er feststellt, dass die Anzahl der zurückgegebenen usb_device_t -Strukturen kleiner als die Anzahl der erkannten logischen Einheiten ist.
Ausführungsumgebung
Diese Funktion kann nur von der Benutzerprozessumgebung aufgerufen werden.
Rückgabewerte
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg. |
| -1 | Fehler. Überprüfen Sie den Wert für errno auf bestimmte Fehlerursachen. |