Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bstr_object_set_attributes(3) — BASEstar Open Server 3.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

bstr_object_set_attributes(3)  —  Subroutines

Name

bstr_object_set_attributes − Modifies the value of one or more attributes of the specified object. 

Syntax

bstr_t_status  bstr_object_set_attributes (
                                  bstr_t_reference   ∗object,
                                  bstr_t_sequence    ∗attributes,
                                  bstr_t_rcb         ∗control);

 

Description

  The bstr_object_set_attributes procedure updates the value of one or more attributes of the object indicated by object. Each element of the attributes sequence specifies the name of an attribute and its new value.  In a VODB configuration, you can only modify a subset of the attributes of the object classes listed in the table below. In addition, you must ensure that the new values are consistent with the current attribute values of the object in question. 

Class Identifier Modifiable Attributes
ACTIVITY nodes, domains, vmds, recovery_policy, startup_priority, shutdown_priority, startup_timeout, shutdown_timeout, start_enabled
ACTOR startup_priority, shutdown_priority, recovery_policy, start_enabled
DATA_POINT producer, update_policy, access_policy, default_value
DEVICE_DATA_POINT producer, update_policy, access_policy
NODE physical_name
PROGRAM image, parameters
TIMER time_state, interval, condition, distribution

In a PODB configuration, you can modify any attribute of any object definition.  However, if the object definition affected by the bstr_object_set_attributes procedure is referred to by another object, BASEstar Open restricts the attribute values that you can modify. 

The table below specifies (for each class) the attributes that you cannot modify if the object is referenced by another object. 

Class Identifier NON-modifiable Attributes
DOMAIN None
TIMER None
STRUCTURE_DATATYPE members, datatype
ARRAY_DATATYPE base_data_type, variable_length, size
DATA_POINT datatype
DEVICE_DATA_POINT datatype, external_behaviour
MAPPED_DATA_POINT mapped_data_point, datatype, mapping_path
DATA_POINT_SET None
TRIGGER None
FILTER expression
ENBOX None
EVENT parameter_types
EVENT_SET None
PORT None
PACKET input_parameter_types and output_parameter_types
NODE None
ACTOR None
PROGRAM program_kind
ACTIVITY None
VMD model, vendor, revision, extension_parameters
UNNAMED_VARIABLE datatype
NAMED_VARIABLE datatype
PROTOCOL_PROFILE None
VMD_EXTENSION_PARAMETER application_profile_id
MESSAGE None
POLLING_SET None

Arguments

object
access: read
The reference to an object whose attributes are to be updated. You cannot specify the reference to a datatype object.

attributes
access: read
The address of a sequence. Each element in the sequence contains the name of an attribute and the value to be assigned to it. The BASEstar Open Reference Guide lists the public attributes for each BASEstar Open class; that is, the attributes whose values can be updated using the bstr_object_set_attributes procedure. 

Each specified element of the sequence carries the value to be assigned to an attribute of the object that you are creating. The attribute value can be an immediate value, a reference to another object or an address to a nested sequence. As a result, the relevant fields to be set in each bstr_t_sequence_element are as follows:

•type.  Specifies the sequence element type, according to the type of attribute value being specified, as follows:

•BSTR_C_VALUE, for an immediate value

•BSTR_C_REFERENCE, for a reference to another object

•BSTR_C_SEQUENCE, for a nested sequence. 

 

•attribute_name. A constant that identifies an attribute of the object that you are creating. 

•size. Specifies the size of the value buffer (that is, the size of the attribute value). 

•value. Specifies the address of the buffer containing the value of an attribute. Depending on the value specified in the type field, enter one of the following addresses:

•BSTR_C_VALUE. Address of a buffer containing the attribute value. The allocated buffer must be consistent with the attribute value type. 

•BSTR_C_REFERENCE. Address of a bstr_t_reference variable which contains a reference to another object. 

•BSTR_C_SEQUENCE. Address of a bstr_t_sequence variable which specifies the address of a nested sequence. 

control
access: read
Address of an optional request control block.

Return Values

BSTR_S_ABORTED Operation aborted
BSTR_S_ATTR_NOT_MODIFIABLE An attempt to update an attribute not modifiable
BSTR_S_BAD_DATA_ELEMENTS Bad data elements
BSTR_S_BAD_PARAMETER Bad parameter value
BSTR_S_BAD_REFERENCE Bad reference
BSTR_S_BAD_SEQUENCE Bad sequence
BSTR_S_COMMUNICATION_ERROR Communication error
BSTR_S_COM_PC_SIZE_MISMATCH Number of bytes requested does not match the number of bytes returned
BSTR_S_FINISH Request aborted by bstr_finish
BSTR_S_INTERNAL_ERROR Internal error
BSTR_S_INTR Operation interrupted
BSTR_S_INVALID_OPERATION Invalid operation
BSTR_S_INVALID_RCB Invalid Request Control Block
BSTR_S_NORMAL Normal successful completion
BSTR_S_NOT_IMPLEMENTED Not yet implemented
BSTR_S_NOT_INITIALIZED BASEstar Open not initialized
BSTR_S_NO_MEMORY Insufficient virtual memory
BSTR_S_OBJECT_NOT_FOUND Object not found
BSTR_S_REFERENCE_IN_USE Reference already in use
BSTR_S_TIMEOUT Timeout expired
BSTR_S_TOO_MANY_REQUESTS Too many pending requests

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026