5.20.10 Instance registry, instance discovery, and interface discovery objects

Describes the following objects:

AttributeInfo

AttributeInfo members:

defval

Type: Value

Optional. Default value for optional attributes. If not specified, the default values are 0, false, empty string, empty object, empty array, or null for number, boolean, string, object, array, and value respectively. Must be missing for mandatory arguments.

descr

Type: String

Optional. Free-form description of the semantics and the structure of the argument. The format is the same as for the descr member in FunctionInfo.

enums

Type: EnumElementInfo[]

Optional. List of valid enum values if this attribute is an enum. The position of the EnumElementInfo has no semantics. EnumElementInfo objects always contain the value they describe.

optional

Type: Boolean

Optional. If present and True, this attribute is optional. If False or missing, this attribute is mandatory.

type

Type: String

Specifies the type of the attribute. Can be one of: Number, NumberU64, NumberS64, String, Boolean, Object, Array, or Value, or the name of a specified object format. Arrays are indicated by suffixing the type with [] (that is an array of NumberU64 would be NumberU64[]) and map-like objects are indicated by Map[<key-type>]value-type (that is Map[String]NumberU64). The map key type is always String.

CppInterfacePointer

CppInterfacePointer members:

pointer

Type: NumberU64

Host pointer of the C++ interface. This is a pointer to a class that supports runtime-type-information (RTTI). The pointer value is represented as a NumberU64.

The consumer of this pointer must use the meta-information provided in this object to do a minimal check that it is safe to use the pointer value in the current context.

Note:

The checks associated with typeidName, typeidHashCode, and sizeof are insufficient to guarantee that the producer and consumer have compatible class layouts but are better than not doing any check at all. The consumer must also use other means to ensure compatiblity with the producer, for example by being built into the same executable or set of executables.
typeidName

Type: String

The value of the expression typeid(*pointer).name() associated with pointer. This must be used by the consumer to verify that the producer and the consumer of the pointer have been compiled against the same source code using the same compiler.

typeidHashCode

Type: NumberU64

The value of the expression typeid(*pointer).hash_code() associated with pointer. This must be used by the consumer to verify that the producer and the consumer of the pointer have been compiled against the same source code using the same compiler.

sizeof

Type: NumberU64

The value of the expression sizeof(*pointer) associated with pointer. This must be used by the consumer to verify that the producer and the consumer of the pointer have been compiled against the same source code using the same compiler.

pid

Type: NumberU64

Process id associated with pointer. This must be used by the consumer to verify that the producer and the consumer of the pointer run in the same process. The pointer is only valid when used within the same process.

EnumElementInfo

EnumElementInfo members:

descr

Type: String

Optional. Free-form description of the semantics and the structure of the argument. The format is the same as for the descr member in FunctionInfo.

symbol

Type: String

Optional. Symbolic value, usually a C identifier, associated with a numeric value. This is mandatory for numeric values. This must not be present for enums of type String where the string value is the symbol's value.

value

Type: Value

Value of the enum element. This is usually either a String, NumberU64, or NumberS64 value. The type must match the type of the attribute this enum is associated with.

FunctionInfo

FunctionInfo members:

args

Type: Map[String]AttributeInfo

Object mapping the names of all arguments onto AttributeInfo objects. The AttributeInfo objects specify details of each formal argument like type, description, and enum values.

descr

Type: String

Free-form description of this function. Must start with a capital letter and end with a dot. Can contain multiple lines (separated by LF). If so, the first line is a summary and is separated from the detailed description by an empty line.

errors

Type: String[]

The names of error codes that this function might respond with. See String.

retval

Type: AttributeInfo

AttributeInfo object describing the return value (type, description).

FunctionSupportRequest

FunctionSupportRequest members:

args

Type: String[]

Optional. List of formal argument names to check for. At least the specified argument must be supported. More arguments can be supported. The default is not to check for any arguments, which is the same as an empty list.

name

Type: String

Name of a function to check for.

InstanceInfo

InstanceInfo members:

instId

Type: NumberU64

Opaque id uniquely identifying the instance.

instName

Type: String

Hierarchical instance name of the instance.

Non-ConfidentialPDF file icon PDF version101196_0100_03_en
Copyright © 2018, 2019 Arm Limited or its affiliates. All rights reserved.