Addfrub

Finalidad

Concluye un objetivo de unidad sustituible localmente (FRU).

Sintaxis


#include                <diag/da.h>
int addfrub ( fptr )
struct fru_bucket *fptr;

Descripción

La subrutina addfrub asocia una FRU con el dispositivo que se está probando actualmente. La clase de objeto TMInput identifica el dispositivo que se está probando actualmente.

Parámetros

Parámetro Descripción
fptr Puntero a una estructura de tipo fru_bucket, que se define de la forma siguiente:

struct fru_bucket  {
          char   dname[NAMESIZE];
          short  ftype;
          short  sn;
          short  rcode;
          short  rmsg;
          struct {
                   int   conf;
                   char  fname[NAMESIZE];
                   char  floc[LOCSIZE];
                   short fmsg;
                   char  fru_flag;
                   char  fru_exempt;
                 } frus[MAXFRUS];
};
dname Nombra el dispositivo que se está probando.
tipof Indica el tipo de grupo de FRU que se está añadiendo al sistema. Se definen los valores siguientes:
FRUB1
Las FRU incluyen el recurso que ha fallado, su padre y los cables necesarios para conectar el recurso a su padre.
FRUB2
Este grupo de FRU es similar al grupo de FRU FRUB1, pero no incluye el recurso padre.
SN Número de origen de la anomalía. El número de origen normalmente se establece en el campo led de la clase de objeto PdDV mediante la subrutina insert_frub . Si la subrutina sn establecida por la subrutina insert_frub no es el valor deseado, la subrutina de llamada debe establecer sn en el valor deseado después de la subrutina insert_frub y antes de la subrutina addfrub .
códigor Código de razón asociado a la anomalía.
Nota: Un número de solicitud de servicio tiene el formato siguiente:

SSS - RRR

donde SSS es el sn y RRR es el rcode.

Algunos dispositivos pueden utilizar una nomenclatura diferente para sus números de solicitud de servicio. Para este caso especial, el parámetro sn indica cómo se debe formatear el valor rcode . Si sn = 0, rcode se interpreta como decimal. Si sn = -1, rcode se interpreta como un número hexadecimal de 4 dígitos.

Si sn = -2, se busca un atributo Errorcode en la clase de objeto DAVars. Esto permite la visualización de códigos de error hexadecimales de 8 dígitos. La aplicación de diagnóstico es responsable de configurar un objeto DAVars similar al siguiente:

DAVars:

dname: <device name under test>
vname: Error_code           "Error_code is an ascii string"
vtype: DIAG_STRING          "Literal value"
val: <8 digit hex character string> 

Consulte la subrutina getdavar/putdavar para obtener más información.

msj Número de mensaje del texto que describe el código de razón. El número establecido del texto está predefinido por el campo PSet en la clase de objeto Recursos de diagnóstico predefinidos .
CONF Indica si una FRU es válida. Un valor de 0 indica una FRU no válida. No se visualizan otras FRU una vez que se ha encontrado una FRU no válida en el grupo de FRU.

Sin embargo, si fname contiene la serie REF-CODE, los valores fmsg y conf se utilizan para crear el código de referencia de 8 dígitos.

NArch Nombra la FRU.

Se deben especificar los parámetros floc y fmsg , si fname no está representado en la clase de objeto Dispositivos personalizados . De lo contrario, deben establecerse en 0.

floc Ubicación de fname.
msj Número de mensaje del texto que describe fname. El número de conjunto está predefinido por el descriptor PSet en la clase de objeto Recursos de diagnóstico predefinidos .
distintivo_frutal Distintivo utilizado por las aplicaciones de diagnóstico (DA) al determinar qué FRU utilizar en la estructura frus[]. Se definen los valores siguientes:
NOT_IN_DB
La FRU no está representada en la base de datos de configuración.
NOMBRE_D
frus[].fname debe ser el nombre del dispositivo que se está probando.
Parent_Name
frus[].fname debe ser el nombre del padre del dispositivo que se está probando.
NOMBRE_HIJO
frus[].fname debe ser el nombre del hijo del dispositivo que se está probando.
UBICACIÓN_NO_FRU_FRUTAL
El nombre de FRU se dejará en blanco y el código de ubicación de FRU se establecerá en la ubicación del dispositivo en pruebas (dname).
fru_exento Indica que la FRU designada no se absorberá como resultado de la integración de chip/FRU. Se definen los valores siguientes:
EXENTO
La FRU no se puede integrar (por ejemplo, fusible, cable, pantallas, etc.) Este valor debe ser el valor más utilizado y debe utilizarse junto con el campo fru_flag . Son ejemplos de estas operaciones:

FRU                  fru_flag         fru_exempt
----                 --------         ----------
Device being tested  DA_NAME          EXEMPT
Parent of device     PARENT_NAME      EXEMPT
CABLE                NOT_IN_DB        EXEMPT
NO exento
FRU se puede integrar (generalmente, cualquier conjunto de chips específico).
Nota: Los DA no tienen que devolver MAXFRU frus. El controlador de diagnósticos procesa frus[] desde 0..MAXFRU-1, mientras que conf>0.

Valor de retorno

Al finalizar correctamente, se devuelve un valor de 0. Si la subrutina addfrub no tiene éxito, se devuelve el valor -1.