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.