NAME

arm_stop_application - stop application

SYNOPSIS

#include <arm4.h>

arm_error_t
arm_stop_application(

 const arm_app_start_handle_t 
app_handle

 const arm_int32_t 
flags,

 const arm_buffer4_t *
buffer4);

DESCRIPTION

arm_stop_application() indicates that the application instance has finished making ARM calls. It typically means that the instance is ending, such as just prior to the process exiting or a thread that represents an application instance terminating.
  For any transactions that are still in-process [arm_start_transaction() executed without a matching arm_stop_transaction()], an implicit arm_discard_transaction() is executed.

If the arm_start_application() used the system address sub-buffer to indicate that the ARM calls would be about an application instance on a different system, arm_stop_application() indicates that no more calls about that application instance and its transactions will be made.

After executing arm_stop_application(), no further calls should be made for this application, including calls for transactions created by this application, until a new instance "session" is started using arm_start_application(). Data from any other calls that are made will be ignored. This function is the equivalent of the ARM 2.0 function arm_end().

app_handle is a handle returned in an out parameter from an arm_start_application() call in the same process.

buffer4 is a pointer to the user data buffer, if any. If the pointer is null, there is no buffer. No sub-buffer types are currently valid with this function call, so the pointer should be null (ARM_BUF4_NONE).
  flags contains 32-bit flags. No values are currently defined. The field should be zero (ARM_FLAG_NONE).

RETURN VALUE

On success, the function returns ARM_SUCCESS. A non-zero value indicates an error.

ERRORS

If the return code is negative, an error occurred. If the return code is not negative, an error may or may not have occurred - the determination of what is an error and whether an error code is returned is at the discretion of the ARM implementation. The application can test the return code if it wants to provide its own error logging.

The following errors are recognized by this implementation, but may not be portable to other implementations:

ARM_FAILURE_INTERNAL_ERROR
An internal error has occurred that prevented the operation from completing. Check your system log for more details.

CONFORMING TO

ARM Issue 4.0 C Language Bindings, Version 2

EXAMPLE

None.

SEE ALSO

arm_discard_transaction(3), arm_start_application(3), arm_start_transaction(3), arm_stop_transaction(3)