Sous-routine wlm_key2class
Objectif
Extrait un nom de classe d'une clé.
Bibliothèque
Bibliothèque Workload Manager (libwlm.a)
Syntaxe
#include < sys/wlm.h
Int wlm_key2class (struct wlm_args *Args, wlm_key_t Clé, void *Ctx)
Descriptif
La sous-routine wlm_key2class extrait un nom de classe à partir d'une clé 64 bits calculée à l'aide de la sous-routine wlm_class2key . La traduction de clé à classe est effectuée en passant par les fichiers de configuration WLM pour la configuration nommée dans la structure Wlm_args pointé par des args (ou tous les fichiers de configuration WLM, si aucun nom de configuration n'est donné), et en traduisant tous les noms de classe sur une clé 64 bits jusqu'à ce que la clé correspondante soit trouvée.
Ce processus prend du temps et WLM offre les sous-routines Wlm_initkey et Wlm_endkey pour les applications ayant besoin de convertir plusieurs clés 64 bits en noms de classe. Ces sous-routines peuvent être utilisées conjointement avec le sous-programme wlm_key2class pour accélérer les recherches.
La sous-routine Wlm_initkey alloue un bloc de mémoire, calcule les clés correspondant aux noms de classe dans la ou les configurations dans la portée, stocke les noms avec les clés correspondantes dans la mémoire tampon et renvoie son adresse. Cette adresse est transmise à la sous-routine wlm_key2class à l'aide de l'argument Ctx , de sorte que wlm_key2class n'a besoin que de rechercher dans la mémoire tampon.
Une fois que toutes les clés ont été converties en noms de classe, l'application doit appeler Wlm_endkey pour libérer la mémoire tampon. Sinon, pour une application qui ne convertit qu'une seule clé, il est possible d'appeler wlm_key2class directement à l'aide d'un pointeur null dans l'argument Ctx . Cela entraîne l'appel interne de la sous-routine wlm_key2class à Wlm_initkey et Wlm_endkey.
La méthode d'extraction des noms de classe via les fichiers de configuration WLM implique que si une classe a été supprimée entre le moment où le nom de classe a été converti en clé et l'appel à la sous-routine wlm_key2class , le nom correspondant à la clé est introuvable et la sous-routine wlm_key2class renvoie une erreur.
Paramètres
| Article | Descriptif |
|---|---|
| -args | Pointeur vers une structure Wlm_args :
|
| -ctx | Le gestionnaire de contexte renvoyé par Wlm_initkeyou un pointeur NULL dans le cas contraire. |
| -clé | La clé de recherche. |
Valeurs renvoyées
Lorsque l'opération wlm_key2class aboutit, le nom de la première classe correspondant à la valeur de la clé est renvoyé dans la sous-zone de nom de la structure Wlm_args pointé par Args.
Codes d'erreur
Si la sous-routine wlm_key2class échoue, l'un des codes d'erreur suivants est renvoyé:
| Article | Descriptif |
|---|---|
| WLM_BADVERS | Numéro de version incorrect. |
| WLM_NOT_INITED | Appel manquant à Wlm_init. |
| WLM_NOMEM | Mémoire insuffisante. |
| WLM_NOCLASS | Aucune classe correspondant à la clé n'a été trouvée. |
| WLM_EFAULT | Argument Ctx ou Args non valide. |