Subrutina getattr Device Configuration

Finalidad

Devuelve los valores actuales de un objeto de atributo.

Biblioteca

Biblioteca de Object Data Manager (libodm.a)

Sintaxis

#include <cf.h>
#include <sys/cfgodm.h>
#include <sys/cfgdb.h>
struct CuAt *getattr (devname, attrname, getall, how_many)
char *  devname;
char *  attrname;
int  getall;
int *  how_many;

Parámetros

Elemento Descripción
devName Especifica el nombre lógico del dispositivo.
attrname Especifica el nombre de atributo.
getall Especifica un distintivo booleano que, cuando se establece en True, indica que se debe devolver una lista de atributos a la rutina de llamada.
cómo_muchos Apunta a cuántos atributos ha encontrado la subrutina getattr .

Descripción

La subrutina de configuración de dispositivo getattr devuelve el valor actual de un objeto de atributo o una lista de valores actuales de objetos de atributo de la clase de objeto Atributo personalizado (CuAt) o la clase de objeto Atributo predefinido (PdAt). La subrutina de configuración de dispositivo getattr consulta la clase de objetoCuAt para el objeto de atributo que coincide con el nombre lógico de dispositivo y el nombre de atributo. Es responsabilidad de la aplicación bloqueo el Clases de objeto Configuración de dispositivo.

La subrutina getattr asigna memoria para las estructuras de clase de objeto CuAt que se devuelven. Esta memoria se libera automáticamente cuando la aplicación sale. Sin embargo, la aplicación debe liberar esta memoria si invoca getattr varias veces y se ejecuta durante mucho tiempo.

Para obtener un solo atributo, el parámetro getall debe establecerse en False. Si el objeto existe en la clase de objeto CuAt , se devuelve un puntero a esta estructura a la rutina de llamada.

Sin embargo, si no se encuentra el objeto, la subrutina getattr presupone que el atributo toma el valor predeterminado que se encuentra en la clase de objeto PdAt. En este caso, se consulta la clase de objeto PdAt para obtener la información de atributo. Si se encuentra esta información, los valores de atributo relevantes (es decir, el valor predeterminado, la información de distintivo y el índice NLS) se copian en una estructura CuAt . Esta estructura se devuelve a la rutina de llamada. De lo contrario, se devuelve un puntero nulo que indica un error.

Para obtener todos los atributos personalizados para el nombre de dispositivo, el parámetro getall debe establecerse en True. En este caso, se ignora el parámetro attrname . Se consultan las clases de objeto PdAt y CuAt y se devuelve una lista de estructuras CuAt . Los objetos PdAt se copian en estructuras CuAt para que se pueda devolver una lista.

Nota: La subrutina de configuración del dispositivo getattr fallará a menos que llame por primera vez a la subrutina initialize .

Valores de retorno

Al finalizar correctamente, la subrutina getattr devuelve un puntero a una lista de estructuras CuAt . Si la operación no es satisfactoria, se devuelve un puntero nulo.

Archivos

Elemento Descripción
/usr/lib/libcfg.a Archivado de subrutinas de configuración de dispositivos.