1 /*
2 * Copyright (c) 2004-2005 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) 2015-2018 Intel, Inc. All rights reserved.
13 * $COPYRIGHT$
14 *
15 * Additional copyrights may follow
16 *
17 * $HEADER$
18 */
19
20 #ifndef PMIX_UTIL_ERROR_H
21 #define PMIX_UTIL_ERROR_H
22
23 #include <src/include/pmix_config.h>
24
25
26 #include <pmix_common.h>
27 #include "src/util/output.h"
28
29 BEGIN_C_DECLS
30
31 /* internal error codes - never exposed outside of the library */
32 #define PMIX_ERR_NOT_AVAILABLE (PMIX_INTERNAL_ERR_BASE - 28)
33 #define PMIX_ERR_FATAL (PMIX_INTERNAL_ERR_BASE - 29)
34 #define PMIX_ERR_VALUE_OUT_OF_BOUNDS (PMIX_INTERNAL_ERR_BASE - 30)
35 #define PMIX_ERR_PERM (PMIX_INTERNAL_ERR_BASE - 31)
36 #define PMIX_ERR_NETWORK_NOT_PARSEABLE (PMIX_INTERNAL_ERR_BASE - 33)
37 #define PMIX_ERR_FILE_OPEN_FAILURE (PMIX_INTERNAL_ERR_BASE - 34)
38 #define PMIX_ERR_FILE_READ_FAILURE (PMIX_INTERNAL_ERR_BASE - 35)
39 #define PMIX_ERR_TAKE_NEXT_OPTION (PMIX_INTERNAL_ERR_BASE - 36)
40 #define PMIX_ERR_TEMP_UNAVAILABLE (PMIX_INTERNAL_ERR_BASE - 37)
41
42 #define PMIX_ERROR_LOG(r) \
43 do { \
44 if (PMIX_ERR_SILENT != (r)) { \
45 pmix_output(0, "PMIX ERROR: %s in file %s at line %d", \
46 PMIx_Error_string((r)), __FILE__, __LINE__); \
47 } \
48 } while (0)
49
50 END_C_DECLS
51
52 #endif /* PMIX_UTIL_ERROR_H */