/* ------------------------------------------------------------------------- */ /* */ /* Copyright (c) 2003 The Open Group */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining a */ /* copy of this software (the "Software"), to deal in the Software without */ /* restriction, including without limitation the rights to use, copy, */ /* modify, merge, publish, distribute, sublicense, and/or sell copies of */ /* the Software, and to permit persons to whom the Software is furnished */ /* to do so, subject to the following conditions: */ /* */ /* The above copyright notice and this permission notice shall be included */ /* in all copies or substantial portions of the Software. */ /* */ /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS */ /* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT */ /* OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR */ /* THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* */ /* ------------------------------------------------------------------------- */ /* */ /* File revision information */ /* */ /* $Source: /tang_cvs/arm4/sdk4/c/include/arm4dyn.h,v $ */ /* $Revision: 1.2 $ */ /* $Date: 2003/12/03 13:55:14 $ */ /* */ /* ------------------------------------------------------------------------- */ #ifndef ARM4DYN_H_INCLUDED #define ARM4DYN_H_INCLUDED #ifndef ARM4_H_INCLUDED #error "don't include arm4dyn.h directly, use arm4.h instead!" #endif #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* API function pointer types for registering metadata */ typedef arm_error_t (ARM4_API_CALL* arm_register_application_t)( const arm_char_t *app_name, const arm_id_t *input_app_id, const arm_int32_t flags, const arm_buffer4_t *buffer4, arm_id_t *output_app_id); typedef arm_error_t (ARM4_API_CALL* arm_destroy_application_t)( const arm_id_t *app_id, const arm_int32_t flags, const arm_buffer4_t *buffer4); typedef arm_error_t (ARM4_API_CALL* arm_register_transaction_t)( const arm_id_t *app_id, const arm_char_t *tran_name, const arm_id_t *input_tran_id, const arm_int32_t flags, const arm_buffer4_t *buffer4, arm_id_t *output_tran_id); typedef arm_error_t (ARM4_API_CALL* arm_register_metric_t)( const arm_id_t *app_id, const arm_char_t *metric_name, const arm_metric_format_t metric_format, const arm_metric_usage_t metric_usage, const arm_char_t *metric_unit, const arm_id_t *input_metric_id, const arm_int32_t flags, const arm_buffer4_t *buffer4, arm_id_t *output_metric_id); /* API function pointer types for application instances */ typedef arm_error_t (ARM4_API_CALL* arm_start_application_t)( const arm_id_t *app_id, const arm_char_t *app_group, const arm_char_t *app_instance, const arm_int32_t flags, const arm_buffer4_t *buffer4, arm_app_start_handle_t *app_handle); typedef arm_error_t (ARM4_API_CALL* arm_stop_application_t)( const arm_app_start_handle_t app_handle, const arm_int32_t flags, const arm_buffer4_t *buffer4); /* API function pointer types for transaction instances */ typedef arm_error_t (ARM4_API_CALL* arm_start_transaction_t)( const arm_app_start_handle_t app_handle, const arm_id_t *tran_id, const arm_correlator_t *parent_correlator, const arm_int32_t flags, const arm_buffer4_t *buffer4, arm_tran_start_handle_t *tran_handle, arm_correlator_t *current_correlator); typedef arm_error_t (ARM4_API_CALL* arm_stop_transaction_t)( const arm_tran_start_handle_t tran_handle, const arm_tran_status_t tran_status, const arm_int32_t flags, const arm_buffer4_t *buffer4); typedef arm_error_t (ARM4_API_CALL* arm_update_transaction_t)( const arm_tran_start_handle_t tran_handle, const arm_int32_t flags, const arm_buffer4_t *buffer4); typedef arm_error_t (ARM4_API_CALL* arm_discard_transaction_t)( const arm_tran_start_handle_t tran_handle, const arm_int32_t flags, const arm_buffer4_t *buffer4); typedef arm_error_t (ARM4_API_CALL* arm_block_transaction_t)( const arm_tran_start_handle_t tran_handle, const arm_int32_t flags, const arm_buffer4_t *buffer4, arm_tran_block_handle_t *block_handle); typedef arm_error_t (ARM4_API_CALL* arm_unblock_transaction_t)( const arm_tran_start_handle_t tran_handle, const arm_tran_block_handle_t block_handle, const arm_int32_t flags, const arm_buffer4_t *buffer4); /* API function pointer types for thread support */ typedef arm_error_t (ARM4_API_CALL* arm_bind_thread_t)( const arm_tran_start_handle_t tran_handle, const arm_int32_t flags, const arm_buffer4_t *buffer4); typedef arm_error_t (ARM4_API_CALL* arm_unbind_thread_t)( const arm_tran_start_handle_t tran_handle, const arm_int32_t flags, const arm_buffer4_t *buffer4); /* API function pointer types for reporting transaction data */ typedef arm_error_t (ARM4_API_CALL* arm_report_transaction_t)( const arm_app_start_handle_t app_handle, const arm_id_t *tran_id, const arm_tran_status_t tran_status, const arm_response_time_t response_time, const arm_stop_time_t stop_time, const arm_correlator_t *parent_correlator, const arm_correlator_t *current_correlator, const arm_int32_t flags, const arm_buffer4_t *buffer4); /* API function pointer types for correlators */ typedef arm_error_t (ARM4_API_CALL* arm_generate_correlator_t)( const arm_app_start_handle_t app_handle, const arm_id_t *tran_id, const arm_correlator_t *parent_correlator, const arm_int32_t flags, const arm_buffer4_t *buffer4, arm_correlator_t *current_correlator); typedef arm_error_t (ARM4_API_CALL* arm_get_correlator_length_t)( const arm_correlator_t *correlator, arm_correlator_length_t *length); typedef arm_error_t (ARM4_API_CALL* arm_get_correlator_flags_t)( const arm_correlator_t *correlator, const arm_int32_t corr_flag_num, arm_boolean_t *flag); /* miscellaneous API function pointer types */ typedef arm_error_t (ARM4_API_CALL* arm_get_arrival_time_t)( arm_arrival_time_t *opaque_time); typedef arm_error_t (ARM4_API_CALL* arm_get_error_message_t)( const arm_charset_t charset, const arm_error_t code, arm_message_buffer_t msg); typedef arm_error_t (ARM4_API_CALL* arm_is_charset_supported_t)( const arm_charset_t charset, arm_boolean_t *supported); #ifdef __cplusplus } #endif /* __cplusplus */ #endif