ArgListValues attribute for agents registered as V40 and earlier

For agents registered as V40 and earlier, the ArgListValues attribute is an ordered list of attribute values. The attribute values are listed in the same order as in the ArgList attribute.

For example, if Type "Foo" is defined in the file types.cf as:

Type Foo (

str Name

int IntAttr

str StringAttr

str VectorAttr[]

str AssocAttr{}

static str ArgList[] = { IntAttr, StringAttr,

VectorAttr, AssocAttr }

)

And if a resource "Bar" is defined in the file main.cf as:

Foo Bar (

IntAttr = 100

StringAttr = "Oracle"

VectorAttr = { "vol1", "vol2", "vol3" }

AssocAttr = { "disk1" = "1024", "disk2" = "512" }

)

Then, for V50 and later, the parameter attr_val is:

attr_val[0] = "IntAttr"

attr_val[1] = "1" // Number of components in

// IntAttr attr value

attr_val[2] = "100" // Value of IntAttr

attr_val[3] = "StringAttr"

attr_val[4] = "1" // Number of components in

// StringAttr attr value

attr_val[5] = "Oracle" // Value of StringAttr

attr_val[6] = "VectorAttr"

attr_val[7] = "3" // Number of components in

// VectorAttr attr value

attr_val[8] = "vol1"

attr_val[9] = "vol2"

attr_val[10] = "vol3"

attr_val[11] = "AssocAttr"

attr_val[12] = "4" // Number of components in

// AssocAttr attr value

attr_val[13] = "disk1"

attr_val[14] = "1024"

attr_val[15] = "disk2"

attr_val[16] = "512"

attr_val[17] = NULL // Last element

Or, for V40 and earlier, the parameter attr_val is:

attr_val[0] ===> "100" // Value of IntAttr, the first

// ArgList attribute.

attr_val[1] ===> "Oracle" // Value of StringAttr.

attr_val[2] ===> "3" // Number of components in

// VectorAttr.

attr_val[3] ===> "vol1"

attr_val[4] ===> "vol2"

attr_val[5] ===> "vol3"

attr_val[6] ===> "4" // Number of components in

// AssocAttr.

attr_val[7] ===> "disk1"

attr_val[8] ===> "1024"

attr_val[9] ===> "disk2"

attr_val[10]===> "512"

attr_val[11]===> NULL // Last element.