arm4agent.h
Go to the documentation of this file.
00001 /* ------------------------------------------------------------------------- */ 00002 /* */ 00003 /* Copyright (c) 2004-2007 The Open Group */ 00004 /* */ 00005 /* Permission is hereby granted, free of charge, to any person obtaining a */ 00006 /* copy of this software (the "Software"), to deal in the Software without */ 00007 /* restriction, including without limitation the rights to use, copy, */ 00008 /* modify, merge, publish, distribute, sublicense, and/or sell copies of */ 00009 /* the Software, and to permit persons to whom the Software is furnished */ 00010 /* to do so, subject to the following conditions: */ 00011 /* */ 00012 /* The above copyright notice and this permission notice shall be included */ 00013 /* in all copies or substantial portions of the Software. */ 00014 /* */ 00015 /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS */ 00016 /* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ 00017 /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ 00018 /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ 00019 /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT */ 00020 /* OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR */ 00021 /* THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 00022 /* */ 00023 /* ------------------------------------------------------------------------- */ 00024 /* */ 00025 /* This file corresponds to following documentation: */ 00026 /* */ 00027 /* Technical Standard */ 00028 /* Application Response Measurement (ARM) */ 00029 /* Issue 4.1 Version 1 - C Binding */ 00030 /* */ 00031 /* ------------------------------------------------------------------------- */ 00032 00045 #ifndef ARM4AGENT_H_INCLUDED 00046 #define ARM4AGENT_H_INCLUDED 00047 00048 #include "arm4.h" /* ARM API definitions */ 00049 00050 /* ------------------------------------------------------------------------- */ 00051 /* ------------------------- ARM agent definitions ------------------------- */ 00052 /* ------------------------------------------------------------------------- */ 00053 00054 /* Correlator flag bit definitions */ 00055 #define ARM_CORR_FLAG_INDEPENDENT (0x10) 00056 #define ARM_CORR_FLAG_ASYNC (0x20) 00057 #define ARM_CORR_FLAG_APP_TRACE (0x40) 00059 #define ARM_CORR_FLAG_AGENT_TRACE (0x80) 00062 /* Known ARM correlator formats: Vendor reserved arena 1-127 */ 00063 #define ARM_CORR_FORMAT_VERSION2 1 00064 #define ARM_CORR_FORMAT_VERSION3 2 00065 #define ARM_CORR_FORMAT_HP 28 00066 #define ARM_CORR_FORMAT_BMC 82 00067 #define ARM_CORR_FORMAT_MYARM 100 00068 #define ARM_CORR_FORMAT_IBM 103 00069 #define ARM_CORR_FORMAT_TANG_IT 122 00070 #define ARM_CORR_FORMAT_SDK4_OUT_PROC 125 00071 #define ARM_CORR_FORMAT_SDK4_IN_PROC 126 00073 #define ARM_CORR_FORMAT_INVALID 127 00075 /* Known ARM correlator formats: Vendor playground arena 128-256 */ 00076 #define ARM_CORR_FORMAT_HP_128 128 00077 #define ARM_CORR_FORMAT_IBM_203 203 00078 #define ARM_CORR_FORMAT_IBM_204 204 00080 /* ------------------------------------------------------------------------- */ 00081 /* ---------------------------- data definitions --------------------------- */ 00082 /* ------------------------------------------------------------------------- */ 00083 00087 typedef struct arm_correlator_header { 00088 arm_uint8_t length[2]; 00089 arm_uint8_t format; 00090 arm_uint8_t flags; 00091 } arm_correlator_header_t; 00092 00096 typedef struct arm2_correlator { /* ---- ARM 2 Correlator format ---- */ 00097 arm_uint8_t length[2]; 00098 arm_uint8_t format; 00099 arm_uint8_t flags; 00100 arm_uint16_t addr_format; 00101 arm_uint16_t vendor_id; 00102 arm_uint16_t agent_version; 00103 arm_uint16_t agent_instance; 00104 arm_int32_t start_handle; 00105 arm_int32_t tran_id; 00106 arm_uint16_t addr_length; 00107 arm_uint8_t address[146]; 00108 } arm2_correlator_t; 00109 00113 typedef struct arm3_correlator { /* ---- ARM 3 Correlator format ---- */ 00114 arm_uint8_t length[2]; 00115 arm_uint8_t format; 00116 arm_uint8_t flags; 00117 arm_uint16_t addr_format; 00118 arm_uint16_t vendor_id; 00119 arm_uint16_t agent_version; 00120 arm_uint16_t agent_instance; 00121 arm_int64_t tran_handle; 00122 arm_id_t tran_id; 00123 arm_uint16_t addr_length; 00124 arm_uint8_t address[130]; 00125 } arm3_correlator_t; 00126 00130 typedef struct arm_your_correlator { /* -- Your Agent Correlator format - */ 00131 arm_correlator_header_t header; 00132 arm_uint8_t opaque[ARM_CORR_MAX_LENGTH-4]; 00133 } arm_your_correlator_t; 00134 00135 #endif /* ARM4AGENT_H_INCLUDED */ 00136
Documentation generated on Thu May 24 2018 22:24:14. © 2018 by MyARM GmbH