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