ARGOBOTS
error.c
Go to the documentation of this file.
1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
2 /*
3  * See COPYRIGHT in top-level directory.
4  */
5 
6 #include "abti.h"
7 
27 int ABT_error_get_str(int err, char *str, size_t *len)
28 {
29  static const char *err_str[] = { "ABT_SUCCESS",
30  "ABT_ERR_UNINITIALIZED",
31  "ABT_ERR_MEM",
32  "ABT_ERR_OTHER",
33  "ABT_ERR_INV_XSTREAM",
34  "ABT_ERR_INV_XSTREAM_RANK",
35  "ABT_ERR_INV_XSTREAM_BARRIER",
36  "ABT_ERR_INV_SCHED",
37  "ABT_ERR_INV_SCHED_KIND",
38  "ABT_ERR_INV_SCHED_PREDEF",
39  "ABT_ERR_INV_SCHED_TYPE",
40  "ABT_ERR_INV_SCHED_CONFIG",
41  "ABT_ERR_INV_POOL",
42  "ABT_ERR_INV_POOL_KIND",
43  "ABT_ERR_INV_POOL_ACCESS",
44  "ABT_ERR_INV_UNIT",
45  "ABT_ERR_INV_THREAD",
46  "ABT_ERR_INV_THREAD_ATTR",
47  "ABT_ERR_INV_TASK",
48  "ABT_ERR_INV_KEY",
49  "ABT_ERR_INV_MUTEX",
50  "ABT_ERR_INV_MUTEX_ATTR",
51  "ABT_ERR_INV_COND",
52  "ABT_ERR_INV_RWLOCK",
53  "ABT_ERR_INV_EVENTUAL",
54  "ABT_ERR_INV_FUTURE",
55  "ABT_ERR_INV_BARRIER",
56  "ABT_ERR_INV_TIMER",
57  "ABT_ERR_INV_QUERY_KIND",
58  "ABT_ERR_XSTREAM",
59  "ABT_ERR_XSTREAM_STATE",
60  "ABT_ERR_XSTREAM_BARRIER",
61  "ABT_ERR_SCHED",
62  "ABT_ERR_SCHED_CONFIG",
63  "ABT_ERR_POOL",
64  "ABT_ERR_UNIT",
65  "ABT_ERR_THREAD",
66  "ABT_ERR_TASK",
67  "ABT_ERR_KEY",
68  "ABT_ERR_MUTEX",
69  "ABT_ERR_MUTEX_LOCKED",
70  "ABT_ERR_COND",
71  "ABT_ERR_COND_TIMEDOUT",
72  "ABT_ERR_RWLOCK",
73  "ABT_ERR_EVENTUAL",
74  "ABT_ERR_FUTURE",
75  "ABT_ERR_BARRIER",
76  "ABT_ERR_TIMER",
77  "ABT_ERR_EVENT",
78  "ABT_ERR_MIGRATION_TARGET",
79  "ABT_ERR_MIGRATION_NA",
80  "ABT_ERR_MISSING_JOIN",
81  "ABT_ERR_FEATURE_NA" };
82 
83  int abt_errno = ABT_SUCCESS;
84  ABTI_CHECK_TRUE(err >= ABT_SUCCESS && err <= ABT_ERR_FEATURE_NA,
86  if (str)
87  ABTU_strcpy(str, err_str[err]);
88  if (len)
89  *len = strlen(err_str[err]);
90 
91 fn_exit:
92  return abt_errno;
93 
94 fn_fail:
95  HANDLE_ERROR_FUNC_WITH_CODE(abt_errno);
96  goto fn_exit;
97 }
#define ABTU_strcpy(d, s)
Definition: abtu.h:84
#define ABT_ERR_OTHER
Definition: abt.h:67
#define HANDLE_ERROR_FUNC_WITH_CODE(n)
Definition: abti_error.h:241
int ABT_error_get_str(int err, char *str, size_t *len)
Get the string of error code and its length.
Definition: error.c:27
#define ABT_SUCCESS
Definition: abt.h:64
#define ABT_ERR_FEATURE_NA
Definition: abt.h:115