USBD_ENUMERATE_DEVICE

Objectif

Extrait une liste de périphériques logiques USB (à l'exception des concentrateurs) connectés à un contrôleur hôte.

Syntaxe

int ioctl (file, USBD_ENUMERATE_DEVICE, arg)

Paramètres

Article Descriptif
Fichier Descripteur de fichier obtenu lors de l'ouverture du fichier spécial USBD.
arg Adresse de la structure USBENUM alignée sur une limite de 4 octets.

Descriptif

Cette opération ioctl renvoie une description de chaque unité USB logique connectée aux contrôleurs hôtes spécifiés sans concentrateur. La description est renvoyée sous la forme d'une structure usb_device_t . Le tableau des structures renvoyées est encapsulé dans une structure USBENUM dont la longueur est spécifiée par l'appelant. Lorsque cette fonction est démarrée, les zones devno et buffSize de la structure USBENUM doivent être initialisées. La zone devno doit contenir la valeur devno 32 bits du contrôleur d'hôte à énumérer, tandis que la zone buffSize doit indiquer le nombre d'octets disponibles pour la mise en mémoire tampon du tableau de structures usb_device_t renvoyé. Si la zone est trop petite, le nombre de structures renvoyées est tronqué pour correspondre à l'espace disponible. L'appelant peut détecter cette condition en notant que le nombre de structures usb_device_t renvoyées est inférieur au nombre de périphériques logiques reconnus.

Environnement d'exécution

Cette fonction peut être appelée à partir de l'environnement de processus utilisateur uniquement.

Valeurs de retour

Valeur Descriptif
0 L'opération a abouti.
-1 Incident. Recherchez dans la valeur errno des causes d'échec spécifiques.