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