1 /* 2 * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana 3 * University Research and Technology 4 * Corporation. All rights reserved. 5 * Copyright (c) 2004-2006 The University of Tennessee and The University 6 * of Tennessee Research Foundation. All rights 7 * reserved. 8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 9 * University of Stuttgart. All rights reserved. 10 * Copyright (c) 2004-2005 The Regents of the University of California. 11 * All rights reserved. 12 * Copyright (c) 2008-2018 Cisco Systems, Inc. All rights reserved. 13 * Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved. 14 * $COPYRIGHT$ 15 * 16 * Additional copyrights may follow 17 * 18 * $HEADER$ 19 */ 20 21 /** @file: 22 * 23 * Populates global structure with system-specific information. 24 * 25 * Notes: add limits.h, compute size of integer and other types via sizeof(type)*CHAR_BIT 26 * 27 */ 28 29 #ifndef _ORTE_SHOW_HELP_H_ 30 #define _ORTE_SHOW_HELP_H_ 31 32 #include "orte_config.h" 33 #include "orte/types.h" 34 35 36 #include "orte/mca/rml/rml_types.h" 37 38 BEGIN_C_DECLS 39 40 /** 41 * Initializes the output stream system and opens a default 42 * "verbose" stream. 43 * 44 * @retval success Upon success. 45 * @retval error Upon failure. 46 * 47 * This should be the first function invoked in the output 48 * subsystem. After this call, the default "verbose" stream is open 49 * and can be written to via calls to orte_output_verbose() and 50 * orte_output_error(). 51 * 52 * By definition, the default verbose stream has a handle ID of 0, 53 * and has a verbose level of 0. 54 */ 55 ORTE_DECLSPEC int orte_show_help_init(void); 56 57 /** 58 * Allow other parts of the code base to know if the ORTE show_help 59 * system is available or not (does not necessarily indicate that 60 * aggregating is available; on no-ORTE systems, ORTE show_help is 61 * available, but aggregating is not). 62 */ 63 ORTE_DECLSPEC bool orte_show_help_is_available(void); 64 65 /** 66 * Shut down the output stream system. 67 * 68 * Shut down the output stream system, including the default verbose 69 * stream. 70 */ 71 ORTE_DECLSPEC void orte_show_help_finalize(void); 72 73 /** 74 * Show help. 75 * 76 * Sends show help messages to the HNP if on a backend node. Note 77 * that aggregation is not currently supported on HNP-less systems 78 * (e.g., cray). 79 */ 80 ORTE_DECLSPEC int orte_show_help(const char *filename, const char *topic, 81 int want_error_header, ...); 82 83 /** 84 * Exactly the same as orte_show_help, but pass in a rendered string, 85 * rather than a varargs list which must be rendered. 86 */ 87 ORTE_DECLSPEC int orte_show_help_norender(const char *filename, 88 const char *topic, 89 int want_error_header, 90 const char *output); 91 92 /** 93 * Pretend that this message has already been shown. 94 * 95 * Sends a control message to the HNP that will effecitvely suppress 96 * this message from being shown. Primitive *-wildcarding is 97 * possible. 98 * 99 * Not currently supported on HNP-less systems (e.g., cray). 100 */ 101 ORTE_DECLSPEC int orte_show_help_suppress(const char *filename, 102 const char *topic); 103 104 ORTE_DECLSPEC void orte_show_help_recv(int status, orte_process_name_t* sender, 105 opal_buffer_t *buffer, orte_rml_tag_t tag, 106 void* cbdata); 107 108 END_C_DECLS 109 #endif