Sous-routine de configuration de l'unité loadext
Objectif
Charge ou décharge des extensions de noyau, ou des requêtes pour les extensions de noyau dans le noyau.
Syntaxe
Paramètres
| Article | Descriptif |
|---|---|
| Nom_symbolique | Indique le nom de l'extension de noyau à charger, à décharger ou à interroger. |
| load | Indique si la sous-routine Poste de chargement doit charger l'extension de noyau. |
| requête | Indique si une requête de l'extension de noyau doit être exécutée. |
Descriptif
Le sous-programme de configuration de l'unité Poste de chargement permet de charger ou de décharger les extensions de noyau. Il peut également être utilisé pour obtenir l'identificateur du module de noyau (kmid) d'un fichier objet précédemment chargé. Le nom d'extension de noyau transmis dans le paramètre Nom_symbolique est soit le nom de base du fichier objet, soit contient des informations sur le chemin d'accès au répertoire. Si le nom de chemin d'extension de noyau fourni dans le paramètre Nom_symbolique n'a pas de valeur ./ (point, barre oblique), ../ double-point, barre oblique) ou / (barre oblique), puis la sous-routine loadext concatène le fichier /usr/lib/drivers et le nom de base transmis dans le paramètre dd_name pour obtenir un nom de chemin absolu. Sinon, le nom de chemin indiqué dans le paramètre Nom_symbolique est utilisé sans modification.
Si le paramètre Charge a la valeur True, l'extension de noyau spécifiée et son Kmid sont chargés. Si le fichier objet spécifié a déjà été chargé dans le noyau, son nombre de chargement est incrémenté et une nouvelle copie n'est pas chargée.
Si le paramètre Charge a une valeur False, l'action prise dépend de la valeur du paramètre Requête . Si Requête est False, la routine Poste de chargement demande un déchargement de l'extension de noyau spécifiée. Cela permet au noyau de décrémenter le nombre de chargement associé au fichier objet. Si le nombre de chargement et le nombre d'utilisations du fichier objet deviennent 0, le noyau décharge le fichier objet. Si le paramètre Requête est True, le sous-programme Poste de chargement interroge le noyau pour le kmid du fichier d'objets spécifié. Ce kmid est ensuite renvoyé à l'appelant.
Si les paramètres Charge et Requête ont une valeur True, la fonction de chargement est exécutée.
Attention: Le chargement et le déchargement répétés des extensions de noyau peuvent provoquer une fuite de mémoire.
Fichiers
| Article | Descriptif |
|---|---|
| /usr/lib/libcfg.a | Archive des sous-programmes de configuration des unités. |
Valeurs renvoyées
Une fois l'exécution terminée, la sous-routine Poste de chargement renvoie le kmid. Si une erreur se produit ou si le fichier objet interrogé n'est pas chargé, la routine renvoie une valeur nulle.