Previous section.

Systems Management: Application Response Measurement (ARM) API
Copyright © 1998 The Open Group


arm_update - show the progress of a long transaction, or provide extra information about a transaction, or provide a larger opaque application private buffer.




Function arm_update() is an optional call, used for the following purposes:


start_handle (int32)

The unique handle from the arm_start() call that marked the start of this transaction instance. The start_handle must be passed in each arm_update() call. Many transaction instances may be executing at the same time from this and other applications, so this handle is essential to identify which transaction instance is being updated. If start_handle is less than zero, this arm_update() call will be treated as a NULL operation, and a negative ERROR_STATUS returned.

flags (int32)=0

Reserved for future use. It must be set to zero.

data (char*)

A pointer to a buffer with additional data that can optionally be passed. If no additional data is passed, this parameter should be set to zero (0).

There are two possible buffer formats:

If the Format field contains the value 1, then application-defined metrics as defined in arm_getid() can be passed. The correlator field is not used in the arm_update() call.

If the Format field contains the value 2, then a status message up to 1020 bytes in length may be passed in.

See Format of Data Buffer in arm_start/arm_update/arm_stop for description of the format of the data buffer in arm_start(), arm_update(), and arm_stop().

data_size (int32)

The length in bytes of the buffer pointed to by data. If data is set to zero (0), data_size should also be set to zero.



Contains a zero if successful and a negative value if an error occurred.


If the value returned in ERROR_STATUS is less than zero, an error occurred in communicating with the measurement agent. The most likely cause is passing an invalid value for start_handle. The error should be logged so corrective action can be taken.


status = arm_update (my_handle,         /* transaction handle         */
                     0,                 /* reserved for future use    */
                     my_buffer_ptr,     /* data description           */
                     my_buffer_length); /* length of data description */ 

Why not acquire a nicely bound hard copy?
Click here to return to the publication details or order a copy of this publication.

Contents Next section Index