Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-22 10:47:30

0001 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
0002 /*
0003  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
0004  *                         University Research and Technology
0005  *                         Corporation.  All rights reserved.
0006  * Copyright (c) 2004-2005 The University of Tennessee and The University
0007  *                         of Tennessee Research Foundation.  All rights
0008  *                         reserved.
0009  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
0010  *                         University of Stuttgart.  All rights reserved.
0011  * Copyright (c) 2004-2006 The Regents of the University of California.
0012  *                         All rights reserved.
0013  * Copyright (c) 2015      Los Alamos National Security, LLC. All rights
0014  *                         reserved.
0015  * Copyright (c) 2017      IBM Corporation.  All rights reserved.
0016  * Copyright (c) 2019-2020 Intel, Inc.  All rights reserved.
0017  * Copyright (c) 2020      Cisco Systems, Inc.  All rights reserved
0018  * Copyright (c) 2021-2022 Nanook Consulting.  All rights reserved.
0019  * $COPYRIGHT$
0020  *
0021  * Additional copyrights may follow
0022  *
0023  * $HEADER$
0024  */
0025 
0026 #ifndef PRTE_MCA_BACKTRACE_BACKTRACE_H
0027 #define PRTE_MCA_BACKTRACE_BACKTRACE_H
0028 
0029 #include "prte_config.h"
0030 
0031 #include "src/pmix/pmix-internal.h"
0032 #include "src/mca/base/pmix_base.h"
0033 #include "src/mca/mca.h"
0034 #include "src/util/stacktrace.h"
0035 
0036 BEGIN_C_DECLS
0037 
0038 /*
0039  * Most of this file is just for ompi_info.  There are two interface
0040  * functions, both of which are called directly.  The joy of link-time
0041  * components.
0042  */
0043 
0044 /*
0045  * Print back trace to FILE file with a prefix for each line.
0046  * First strip lines are not printed.
0047  * If 'file' is NULL then the component should try to use the file descriptor
0048  * saved in prte_stacktrace_output_fileno
0049  *
0050  * \note some attempts made to be signal safe.
0051  */
0052 PRTE_EXPORT int prte_backtrace_print(FILE *file, char *prefix, int strip);
0053 
0054 /*
0055  * Return back trace in buffer.  buffer will be allocated by the
0056  * backtrace component, but should be free'ed by the caller.
0057  *
0058  * \note Probably bad to call this from a signal handler.
0059  *
0060  */
0061 PRTE_EXPORT int prte_backtrace_buffer(char ***messages, int *len);
0062 
0063 /**
0064  * Structure for backtrace components.
0065  */
0066 typedef pmix_mca_base_component_t prte_backtrace_base_component_t;
0067 
0068 /*
0069  * Macro for use in components that are of type backtrace
0070  */
0071 #define PRTE_BACKTRACE_BASE_VERSION_2_0_0 PRTE_MCA_BASE_VERSION_3_0_0("backtrace", 2, 0, 0)
0072 
0073 END_C_DECLS
0074 
0075 #endif /* PRTE_MCA_BACKTRACE_BACKTRACE_H */