1 /* 2 * Copyright 2021 the Pacemaker project contributors 3 * 4 * The version control history for this file may have further details. 5 * 6 * This source code is licensed under the GNU Lesser General Public License 7 * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY. 8 */ 9 10 #ifndef PCMK__COMMON_OUTPUT__H 11 # define PCMK__COMMON_OUTPUT__H 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 /** 18 * \file 19 * \brief Control output from tools 20 * \ingroup core 21 */ 22 23 /*! 24 * \brief Control which sections are output 25 */ 26 typedef enum { 27 pcmk_section_stack = 1 << 0, 28 pcmk_section_dc = 1 << 1, 29 pcmk_section_times = 1 << 2, 30 pcmk_section_counts = 1 << 3, 31 pcmk_section_options = 1 << 4, 32 pcmk_section_nodes = 1 << 5, 33 pcmk_section_resources = 1 << 6, 34 pcmk_section_attributes = 1 << 7, 35 pcmk_section_failcounts = 1 << 8, 36 pcmk_section_operations = 1 << 9, 37 pcmk_section_fence_failed = 1 << 10, 38 pcmk_section_fence_pending = 1 << 11, 39 pcmk_section_fence_worked = 1 << 12, 40 pcmk_section_tickets = 1 << 13, 41 pcmk_section_bans = 1 << 14, 42 pcmk_section_failures = 1 << 15, 43 } pcmk_section_e; 44 45 #define pcmk_section_fencing_all (pcmk_section_fence_failed | pcmk_section_fence_pending | pcmk_section_fence_worked) 46 #define pcmk_section_summary (pcmk_section_stack | pcmk_section_dc | pcmk_section_times | pcmk_section_counts) 47 #define pcmk_section_all (pcmk_section_summary | pcmk_section_options | pcmk_section_nodes | \ 48 pcmk_section_resources | pcmk_section_attributes | pcmk_section_failcounts | \ 49 pcmk_section_operations | pcmk_section_fencing_all | pcmk_section_tickets | \ 50 pcmk_section_bans | pcmk_section_failures) 51 52 /*! 53 * \brief Further modify the output of sections 54 */ 55 typedef enum { 56 pcmk_show_brief = 1 << 0, 57 pcmk_show_clone_detail = 1 << 1, 58 pcmk_show_node_id = 1 << 2, 59 pcmk_show_implicit_rscs = 1 << 3, 60 pcmk_show_timing = 1 << 4, 61 pcmk_show_inactive_rscs = 1 << 5, 62 pcmk_show_rscs_by_node = 1 << 6, 63 pcmk_show_pending = 1 << 7, 64 pcmk_show_rsc_only = 1 << 8, 65 } pcmk_show_opt_e; 66 67 #define pcmk_show_details (pcmk_show_clone_detail | pcmk_show_node_id | pcmk_show_implicit_rscs) 68 69 #ifdef __cplusplus 70 } 71 #endif 72 73 #endif // PCMK__COMMON_OUTPUT__H 74