Fichier spécial mpqn

Objectif

Permet d'accéder aux adaptateurs multiprotocole via Gestionnaire de périphériques MPQP (Multiprotocol Quad Port).

Descriptif

Le fichier spécial de caractères /dev/mpqn permet d'accéder au gestionnaire de périphériques MPQP dans le but de fournir un accès à un réseau synchrone. Le gestionnaire d'unités MPQP prend en charge plusieurs adaptateurs.

Usage Considerations

Lors de l'accès au gestionnaire de périphériques MPQP, les éléments suivants doivent être pris en compte:

Initialisation et arrêt du pilote

Le gestionnaire de périphériques peut être chargé et déchargé. Le gestionnaire prend en charge les appels de configuration pour s'initialiser et s'arrêter lui-même.

Prise en charge des fichiers spéciaux

Les appels autres que les appels de sous-routine ouvrir et fermer sont traités en relation avec le mode dans lequel le gestionnaire de périphériques fonctionne.

Prise en charge des sous-programmes

Le gestionnaire de périphériques MPQP prend en charge les sous-routines ouvrir, fermer, lecture, écritureet ioctl de la manière suivante:

  • Les sous-routines ouvrir et fermer

    Le gestionnaire d'unités prend en charge le fichier spécial /dev/mpqn en tant que fichier spécial multiplex de caractères. Le fichier spécial doit être ouvert en lecture et en écriture (O_RDWR). Il n'y a aucune considération particulière pour la fermeture du fichier spécial. Le nom de fichier spécial utilisé dans un appel ouvrir dépend de la manière dont l'unité doit être ouverte. Les types de noms de fichiers spéciaux sont les suivants:

    Article Descriptif
    /dev/mpq n Démarre le gestionnaire d'unités pour le port sélectionné.
    /dev/mpq n /D Démarre le gestionnaire de périphériques en mode diagnostic pour le port sélectionné.
  • La sous-routine lecture

    Peut prendre la forme d'un appel de sous-routine lecture, readx, Fichier readvou readvx . Pour cet appel, le gestionnaire de périphériques copie les données dans la mémoire tampon spécifiée par l'appelant.

  • La sous-routine écriture

    Peut prendre la forme d'un appel de sous-routine écriture, writex, Writevou Writevx . Pour cet appel, le gestionnaire de périphériques copie les données utilisateur dans une mémoire tampon et transmet les données sur le réseau local.

  • La sous-routine ioctl
    Article Descriptif
    DEMARRAGE DE l'E-S Démarre une session et enregistre un ID réseau.
    CIO_HALT Arrête une session et supprime un ID réseau.
    CIO_REQUETE Renvoie les valeurs de compteur RAS en cours. Ces valeurs sont définies dans le fichier /usr/include/sys/comio.h .
    CIO_GET_STAT Renvoie le statut en cours de l'adaptateur et du gestionnaire de périphériques.
    MP_START_AR Place le port MPQP en mode de réponse automatique.
    MP_STOP_AR Permet au port MPQP de quitter le mode de réponse automatique.
    MP_CHG_PARMS Permet au DLC de modifier certains paramètres de profil après le démarrage de l'unité MPQP.
    MP_SET_DELAY Définit la valeur de NDELAY (RETARD).

Codes d'erreur

Les codes d'erreur suivants peuvent être renvoyés lors de l'accès au gestionnaire d'unités via le fichier spécial /dev/mpqn :

Article Descriptif
ECHRNG Indique que le numéro de canal est hors plage.
FEAGA Indique que le nombre maximal d'accès directs à la mémoire a été atteint, de sorte que le gestionnaire ne peut pas obtenir de mémoire pour les structures de contrôle interne.
EBUSY Indique l'un des éléments suivants:
  • L'état du port est incorrect.
  • Le port doit être configuré, mais il n'est pas ouvert ou démarré.
  • L'état du port n'est pas ouvert pour le démarrage d'une opération ioctl.
  • Le port n'est pas démarré ou n'est pas à l'état de transfert de données.
EIO Indique que le gestionnaire n'a pas pu mettre en file d'attente la demande auprès de l'adaptateur.
VALEUR EFAULT Indique que le service de copie intermémoire a échoué.
EINTR Indique que le sommeil a été interrompu par un signal.
EINVAL Indique l'un des éléments suivants:
  • Le port n'est pas configuré correctement.
  • Le gestionnaire n'a pas pu configurer de structures pour l'écriture.
  • Le port n'est pas valide.
  • Une opération de sélection a été appelée par un processus de noyau.
  • Le paramètre de liaison physique indiqué n'est pas valide pour ce port.
  • La lecture a été appelée par un processus de noyau.
ENOMEM Indique l'un des éléments suivants:
  • Aucun cluster mbuf ou mbuf n'est disponible.
  • La longueur totale des données est supérieure à une page.
  • Il n'y a pas de mémoire pour les structures internes.
NOMSG Indique que le pointeur de file d'attente d'état est null et qu'il n'y a pas d'entrée.
ENOTREADY Indique que l'état du port dans la définition de la structure d'unité (DDS) n'est pas en mode de transfert de données ou que l'arrêt implicite du port a échoué.
ENXIO Indique l'un des éléments suivants:
  • Le démarrage du port n'a pas abouti.
  • Un numéro d'adaptateur non valide a été indiqué.
  • Le numéro de canal n'est pas autorisé.
  • L'adaptateur est déjà ouvert en mode diagnostic.
  • Le pointeur de bloc de contrôle d'accès (ACB) de l'adaptateur est null ou n'existe pas.
  • L'enregistrement du gestionnaire d'interruptions a échoué.
  • Le port n'existe pas ou son état n'est pas correct.
  • Le numéro d'adaptateur est hors plage.

La rubrique du gestionnaire de périphériques de communication définit les erreurs spécifiques renvoyées lors de chaque appel de sous-programme.