xref: /libCEED/interface/ceed-register.c (revision 97769a3d2c45e9067c16da7ef18281dfae6857b7)
1 #include <ceed-impl.h>
2 #include <stdio.h>
3 
4 static bool register_all_called;
5 
6 #define MACRO(name) CEED_INTERN int name(void);
7 #include "../backends/ceed-backend-list.h"
8 #undef MACRO
9 
10 /**
11   @brief Register all preconfigured backends.
12 
13   This is called automatically by CeedInit() and thus normally need not be called by users.
14   Users can call CeedRegister() to register additional backends.
15 
16   @return An error code: 0 - success, otherwise - failure
17 
18   @sa CeedRegister()
19 
20   @ref Backend
21 **/
22 int CeedRegisterAll() {
23   if (register_all_called) return 0;
24   register_all_called = true;
25 
26 #define MACRO(name) CeedChk(name());
27 #include "../backends/ceed-backend-list.h"
28 #undef MACRO
29   return 0;
30 }
31