Service de noyau devswqry

Objectif

Vérifie l'état d'une entrée de commutateur d'unité dans la table des commutateurs d'unité.

Syntaxe

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/device.h> 

int devswqry ( devno,  status,  dsdptr)
dev_t devno;
uint *status;
caddr_t *dsdptr;

Paramètres

Tableau 1. Paramètres
Article Descriptif
Devno Indique le Numéros d'unités principaux et mineurs de l'unité à interroger.
status Pointe vers le statut de l'entrée d'unité spécifiée dans la table des commutateurs d'unité. Ce paramètre est transmis par référence.
Dsdptr Pointe vers les informations dépendantes de l'unité pour l'entrée d'unité spécifiée dans la table de commutation d'unité. Ce paramètre est transmis par référence.

Descriptif

Ledevswqry Le service noyau renvoie l'état d'une entrée de périphérique spécifiée dans la table de commutation de périphériques. L'entrée de la table à interroger est déterminée par la majeure partie du numéro de périphérique spécifié dans le Devno paramètre. Le statut de l'entrée est renvoyé dans le statut paramètre transmis par référence lors de l’appel. Si ce pointeur est nul à l'entrée dans ledevswqry service, le statut n'est pas renvoyé à l'appelant.

Ledevswqry Le service renvoie également l'adresse des informations dépendant du périphérique pour l'entrée de périphérique spécifiée dans la table de commutation de périphérique. Cette adresse est tirée dud_dsdptr champ pour la saisie et renvoyé dans le dsdptr paramètre, qui est passé par référence. Si ce pointeur est nul à l'entrée dans ledevswqry service, le service ne renvoie pas l'adresse dud_dsdptr champ à l’appelant.

Indicateurs de paramètres d'état

Le paramètre Statut comprend un ensemble d'indicateurs pouvant indiquer les conditions suivantes:

Tableau 2. Indicateurs de paramètres d'état
Article Descriptif
DSW_BLOCK L'entrée de commutateur d'unité est définie par un pilote de périphérique bloc. Cet indicateur est défini lorsque le pilote de périphérique a unddstrategy point d'accès .
DSW_CONFIG Le pilote de périphérique dans cette entrée de commutateur de périphérique fournit un point d’entrée pour la configuration.
DSW_COND_UPDATE Un ou plusieurs points d'entrée de commutateur d'unité prennent en charge la mise à jour conditionnelle lorsque vous utilisez le service de noyau devswchg .
DSW_CREAD Le pilote de périphérique dans cette entrée de commutateur de périphérique fournit une routine pour la lecture de caractères ou la saisie brute. Cet indicateur est défini lorsque le pilote de périphérique a unddread point d'accès .
DSW_CWRITE Le pilote de périphérique de cette entrée de commutateur d'unité fournit une routine pour les écritures de caractères ou la sortie brute. Cet indicateur est défini lorsque le pilote de périphérique a unddwrite point d'accès .
DSW_DEFINED L'entrée de commutateur d'unité est définie.
DSW_DUMP Le pilote de périphérique défini par cette entrée de commutateur de périphérique offre la possibilité de prendre en charge un ou plusieurs de ses périphériques en tant que cibles pour un vidage du noyau. Cet indicateur est défini lorsque le pilote de périphérique a fourni undddump point d'accès .
DSW_MPX L'entrée de commutateur d'unité est définie par un pilote de périphérique multiplexé. Cet indicateur est défini lorsque le pilote de périphérique a unddmpx point d'accès .
DSW_OPENED L'entrée de commutateur d'unité est en cours d'utilisation et l'unité est en attente. Cet indicateur est défini lorsque le pilote de périphérique a au moins une ouverture en attente.
DSW_SELECT Le pilote de périphérique dans cette entrée de commutateur de périphérique fournit une routine pour gérer leselect oupoll sous-programmes. Cet indicateur est défini lorsque le pilote de périphérique a fourni unddselect point d'accès .
DSW_TCPATH Le pilote de périphérique de cette entrée de commutateur d'unité prend en charge les périphériques qui sont considérés comme étant dans le chemin de calcul sécurisé et fournissent une prise en charge pour la fonction de révocation. Cet indicateur est défini lorsque le pilote de périphérique a fourni unddrevoke point d'accès .
DSW_TTY L'entrée de commutateur d'unité est utilisée par un pilote de périphérique tty. Cet indicateur est activé lorsque le pointeur vers led_ttys la structure n'est pas un caractère nul.
DSW_UNDEFINED L'entrée de commutateur d'unité n'est pas définie.

Le statut Le paramètre est réglé surDSW_UNDEFINED indicateur lorsqu’une entrée de changement de périphérique n’est pas utilisée. C'est le cas si l'une des deux suivantes est vraie:

  • L'entrée n'a jamais été utilisée. (Aucun appel préalable audevswadd le service a été effectué.)
  • L'entrée a été utilisée mais a ensuite été supprimée. (Un appel audevswadd service a été émis, suivi d'un appel audevswdel service.)

Aucun autre indicateur n'est activé lorsque leDSW_UNDEFINED le drapeau est défini.

Remarque: Le paramètre Statut doit être un caractère nul s'il est appelé à partir de l'environnement Interruption .

Environnement d'exécution

Ledevswqry Le service du noyau peut être appelé depuis le processus ou interrompre environnement.

Valeurs renvoyées

Tableau 3. Valeurs renvoyées
Article Descriptif
0 % Indique une opération réussie.
EINVAL Indique que la partie principale du numéro d'unité du paramètre Devno dépasse le nombre maximal autorisé d'entrées de commutateur d'unité.