* example_init, example_exit)
* ]|
*/
-#define CONNMAN_PLUGIN_DEFINE(name, description, version, init, exit) \
+#ifdef CONNMAN_PLUGIN_BUILTIN
+#define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
+ struct connman_plugin_desc __connman_builtin_ ## name = { \
+ #name, description, version, priority, init, exit \
+ };
+#else
+#define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
+ extern struct connman_plugin_desc connman_plugin_desc \
+ __attribute__ ((visibility("default"))); \
struct connman_plugin_desc connman_plugin_desc = { \
- #name, description, version, \
- CONNMAN_PLUGIN_PRIORITY_DEFAULT, init, exit \
+ #name, description, version, priority, init, exit \
};
+#endif
#ifdef __cplusplus
}