Service de noyau de sonde ou kprobe

Objectif

Consigne les erreurs avec les chaînes de symptômes.

Bibliothèque (pour vérification)

Bibliothèque des services d'exécution.

Syntaxe

#include <sys/probe.h>
or
#include <sys/sysprobe.h>
int probe ( probe_p)
probe_t *probe_p
int kprobe (probe_p)
probe_t *probe_p

Descriptif

La sous-routine sonde consigne une entrée dans le journal des erreurs. L'entrée se compose d'une entrée de journal des erreurs telle que définie dans la sous-routine errlog et du fichier d'en-tête err_rec.h , ainsi que d'une chaîne de symptômes.

La sous-routine Sonde est appelée à partir d'une application, tandis que Sonde est appelée à partir des extensions Kernel et Kernel. Sonde et Sonde ont les mêmes interfaces, à l'exception des codes retour.

Les logiciels IBM doivent utiliser le fichier d'en-tête sys/sysprobe.h, tandis que les programmes IBM doivent inclure le fichiersys/probe.h En effet, les chaînes de symptôme IBM doivent être conformes à des règles différentes des chaînes nonIBM . Il indique également à toute application de support électronique s'il convient ou non d'acheminer la chaîne de symptômes vers la base de données Retain d' IBM.

Paramètres

Article Descriptif
Probe_p Est un pointeur vers la structure de données qui contient le pointeur et la longueur de l'enregistrement d'erreur, ainsi que les données de la sonde. L'enregistrement d'erreur est décrit sous la sous-routine errlog et défini dans err_rec.h.

Le premier mot de la structure est un nombre magique pour identifier cette version de la structure. Le nombre magique doit être défini surPROBE_MAGIC.

Remarque : PROBE_MAGICest différent entre probe.h et sysprobe.h pour distinguer une chaîne de symptômes IBM d'une chaîne nonIBM .

Les données de la sonde sont des indicateurs qui contrôlent la gestion des sondes, le nombre de mots clés de chaîne de symptômes, suivi d'un tableau constitué d'un élément pour chaque mot clé.

Indicateurs

Article Descriptif
SSNOSFIN Indique que cette chaîne de symptômes ne doit pas être transmise aux fonctions d'ouverture automatique du problème. Par exemple, SSNOSFIN doit être utilisé dans les données de symptômes utilisées à des fins de débogage.
Nsskwd Cela donne le nombre de mots clés spécifiés (c'est-à-dire), Le nombre d'éléments dans le tableau sskwds.
Sskwds Il s'agit d'un tableau de paires clé/valeur. Les mots clés et leurs valeurs se trouvent dans le tableau suivant. La valeur I/S indique si Mot clé et Valeur sont des informations d'information ou font partie de la chaîne de symptômes consignée. Le nombre entre parenthèses indique, le cas échéant, la longueur de chaîne maximale.
keyword          I/S   value   type   Description

SSKWD_LONGNAME   I     char *  (30)   Product's long name
SSKWD_OWNER      I     char *  (16)   Product's owner
SSKWD_PIDS       S     char *  (11)   product id.
(required for IBM symptom strings)
SSKWD_LVLS       S     char *  (5)    product level 
																			(required for IBM symptom strings)
SSKWD_APPLID     I     char *  (8)    application id.
SSKWD_PCSS       S     char *  (8)    probe id 
																			(required for all symptom strings)
SSKWD_DESC       I     char *  (80)   problem description
SSKWD_SEV        I     int            severity from 
																			1 (highest) to 4 (lowest).
																		  3 is the default.
SSKWD_AB         S     char *  (5)    abend code
SSKWD_ADRS       S     void *         address. If used at all, 
																			this should be a relative address.
SSKWD_DEVS       S     char *  (6)    Device type
SSKWD_FLDS       S     char *  (9)    arbitrary character string. 
																			This is usually a field name and
                                      the SSKWD_VALUE 
																			keyword specifies the value.
SSKWD_MS         S     char *  (11)   Message number
SSKWD_OPCS       S     char *  (8)    OP code
SSKWD_OVS        S     char *  (9)    overwritten storage
SSKWD_PRCS       S                    unsigned long return code
SSKWD_REGS       S     char *  (4)    Register name (e.g.) 
																			GR15 or LR unsigned long Value
SSKWD_VALU       S
SSKWD_RIDS       S     char *  (8)    resource or module id.
SSKWD_SIG        S .   int            Signal number
SSKWD_SN         S     char *  (7)    Serial Number
SSKWD_SRN        S     char *  (9)    Service Req. Number If specified,
																			and no error is logged,
                                      a hardware error is assumed.
SSKWD_WS         S     char *  (10)   Coded wait
Remarque: La valeur SSKWD_PCCS est toujours requise. Il s'agit de l'ID sonde. En outre, pour les chaînes de symptômes IBM , les mots clés SSKWD_PIDS et SSKWD_LVLS sont également requis

Si les zones Ecp ou Ecl de la structure Rec. Probe_rec sont0Alors aucun enregistrement de consignation des erreurs n'est transmis, et l'un des modèles par défaut pour les chaînes de symptômes est utilisé. Le modèle par défaut indiquant une erreur logicielle est utilisé sauf si le mot clé SSKWD_SRN est spécifié. Si c'est le cas, l'erreur est supposée être une erreur matérielle. Si vous ne souhaitez pas consigner votre propre erreur avec une chaîne de symptômes, que vous voulez une erreur matérielle et que vous ne souhaitez pas utiliser la valeur SSKWD_SRN , vous pouvez fournir un enregistrement du journal des erreurs à l'aide de l'identificateur d'erreur ERRID_HARDWARE_SYMPTÔME, voir le fichier /usr/include/sys/errids.h .

Valeurs de retour pour la sous-routine sonde

Article Descriptif
0 % Réussi
-1 Erreur. La variable errno est définie sur
EINVAL Indique un paramètre non valide
EDÉFAUT Indique une adresse non valide

Valeurs de retour pour kprobe Kernal Service

Article Descriptif
0 % Réussi
EINVAL Indique un paramètre non valide

Environnement d'exécution

Sonde est exécuté à partir de l'environnement d'application.

Sonde est exécuté à partir des extensions Kernel et Kernel. Actuellement, Sonde ne doit pas être appelé avec les interruptions désactivées.

Fichiers

Article Descriptif
/usr/include/sys/probe.h Contient la définition de paramètre.