1 /* 2 * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana 3 * University Research and Technology 4 * Corporation. All rights reserved. 5 * Copyright (c) 2004-2008 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 Cisco Systems, Inc. All rights reserved. 13 * Copyright (c) 2017 IBM Corporation. All rights reserved. 14 * $COPYRIGHT$ 15 * 16 * Additional copyrights may follow 17 * 18 * $HEADER$ 19 * 20 * @file 21 */ 22 23 #ifndef OPAL_STACKTRACE_H 24 #define OPAL_STACKTRACE_H 25 26 #include "opal_config.h" 27 28 /* 29 * File descriptor to be used by the backtrace framework if opal_backtrace_print 30 * is passed NULL for it's FILE file pointer. 31 */ 32 extern int opal_stacktrace_output_fileno; 33 34 /** 35 * Output the current stack trace (not including the call to this 36 * function) to the stream indicated. 37 */ 38 OPAL_DECLSPEC void opal_stackframe_output(int stream); 39 40 /** 41 * Return the current stack trace (not including the call to this 42 * function) as a string (which must be freed by the caller). 43 */ 44 OPAL_DECLSPEC char *opal_stackframe_output_string(void); 45 46 /** 47 * Here we register the opal_show_stackframe function for signals 48 * passed to OpenMPI by the mpi_signal-parameter passed to mpirun 49 * by the user. 50 * 51 * @returnvalue OPAL_SUCCESS 52 * @returnvalue OPAL_ERR_BAD_PARAM if the value in the signal-list 53 * is not a valid signal-number 54 * 55 */ 56 OPAL_DECLSPEC int opal_util_register_stackhandlers (void); 57 58 #endif /* OPAL_STACKTRACE_H */