ArgListValues attribute for different agents versions

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.