| 1 | /////////////////////////////////////////////////////////////////////////////// |
| 2 | // Copyright (c) 2000-2014 Ericsson Telecom AB |
| 3 | // All rights reserved. This program and the accompanying materials |
| 4 | // are made available under the terms of the Eclipse Public License v1.0 |
| 5 | // which accompanies this distribution, and is available at |
| 6 | // http://www.eclipse.org/legal/epl-v10.html |
| 7 | /////////////////////////////////////////////////////////////////////////////// |
| 8 | #ifndef MAIN_H |
| 9 | #define MAIN_H |
| 10 | |
| 11 | #ifdef __cplusplus |
| 12 | extern "C" { |
| 13 | #endif |
| 14 | |
| 15 | #include "datatypes.h" |
| 16 | |
| 17 | typedef struct tcov_file_list |
| 18 | { |
| 19 | struct tcov_file_list *next; |
| 20 | expstring_t file_name; |
| 21 | } tcov_file_list; |
| 22 | |
| 23 | extern const char *get_tcov_file_name(const char *file_name); |
| 24 | extern boolean in_tcov_files(const char *file_name); |
| 25 | |
| 26 | extern const char *output_dir, **top_level_pdu, *tcov_file_name; |
| 27 | extern tcov_file_list *tcov_files; |
| 28 | extern expstring_t effective_module_lines; |
| 29 | extern expstring_t effective_module_functions; |
| 30 | extern size_t nof_top_level_pdus; |
| 31 | extern unsigned int nof_notupdated_files; |
| 32 | |
| 33 | extern boolean generate_skeleton, force_overwrite, include_line_info, |
| 34 | include_location_info, duplicate_underscores, parse_only, semantic_check_only, |
| 35 | output_only_linenum, default_as_optional, use_runtime_2, gcc_compat, asn1_xer, |
| 36 | check_subtype, suppress_context, enable_set_bound_out_param, display_up_to_date; |
| 37 | |
| 38 | extern const char *expected_platform; |
| 39 | |
| 40 | extern boolean enable_raw(void); |
| 41 | extern boolean enable_ber(void); |
| 42 | extern boolean enable_per(void); |
| 43 | extern boolean enable_text(void); |
| 44 | extern boolean enable_xer(void); |
| 45 | extern boolean enable_json(void); |
| 46 | |
| 47 | /** |
| 48 | * Checks whether the checking of encoding/decoding attributes is disabled. |
| 49 | * |
| 50 | * Needed for standard modules where errors are caused by missing attributes |
| 51 | * (which should not be reported if doing only semantic checking). |
| 52 | * |
| 53 | * @return TRUE if checking the encoding/decoding attributes is disabled, |
| 54 | * FALSE otherwise. |
| 55 | **/ |
| 56 | extern boolean disable_attribute_validation(void); |
| 57 | |
| 58 | extern char *canonize_input_file(const char *path_name); |
| 59 | |
| 60 | #ifdef __cplusplus |
| 61 | } |
| 62 | #endif |
| 63 | |
| 64 | #endif /* MAIN_H */ |