xref: /aosp_15_r20/external/perfetto/src/trace_processor/importers/etm/opencsd.h (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1 /*
2  * Copyright (C) 2024 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef SRC_TRACE_PROCESSOR_IMPORTERS_ETM_OPENCSD_H_
18 #define SRC_TRACE_PROCESSOR_IMPORTERS_ETM_OPENCSD_H_
19 
20 // This file should be used instead of the librarys <opencsd.h>. This limits the
21 // number of includes and in particular avoids <opencsd/ptm/ptm_decoder.h> that
22 // has some inline functions that throw exceptions. This messes up the build
23 // quite a bit on GCC and since the file is not needed we just not include it.
24 
25 #include <opencsd/ocsd_if_types.h>       // IWYU pragma: export
26 #include <opencsd/trc_gen_elem_types.h>  // IWYU pragma: export
27 #include <opencsd/trc_pkt_types.h>       // IWYU pragma: export
28 
29 #include <interfaces/trc_data_raw_in_i.h>       // IWYU pragma: export
30 #include <interfaces/trc_data_rawframe_in_i.h>  // IWYU pragma: export
31 #include <interfaces/trc_error_log_i.h>         // IWYU pragma: export
32 #include <interfaces/trc_gen_elem_in_i.h>       // IWYU pragma: export
33 #include <interfaces/trc_instr_decode_i.h>      // IWYU pragma: export
34 #include <interfaces/trc_pkt_in_i.h>            // IWYU pragma: export
35 #include <interfaces/trc_pkt_raw_in_i.h>        // IWYU pragma: export
36 #include <interfaces/trc_tgt_mem_access_i.h>    // IWYU pragma: export
37 
38 #include <common/ocsd_error.h>             // IWYU pragma: export
39 #include <common/ocsd_version.h>           // IWYU pragma: export
40 #include <common/trc_core_arch_map.h>      // IWYU pragma: export
41 #include <common/trc_frame_deformatter.h>  // IWYU pragma: export
42 #include <common/trc_gen_elem.h>           // IWYU pragma: export
43 
44 #include <opencsd/ete/ete_decoder.h>      // IWYU pragma: export
45 #include <opencsd/etmv4/etmv4_decoder.h>  // IWYU pragma: export
46 
47 #include <common/ocsd_error_logger.h>  // IWYU pragma: export
48 #include <common/ocsd_msg_logger.h>    // IWYU pragma: export
49 #include <i_dec/trc_i_decode.h>        // IWYU pragma: export
50 #include <mem_acc/trc_mem_acc.h>       // IWYU pragma: export
51 
52 #endif  // SRC_TRACE_PROCESSOR_IMPORTERS_ETM_OPENCSD_H_
53