[CRIU] [PATCH 04/19] compel: Add plugins header
Cyrill Gorcunov
gorcunov at openvz.org
Wed Sep 21 13:54:19 PDT 2016
Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
---
compel/include/uapi/plugins.h | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 compel/include/uapi/plugins.h
diff --git a/compel/include/uapi/plugins.h b/compel/include/uapi/plugins.h
new file mode 100644
index 000000000000..e9ebfb67f7c7
--- /dev/null
+++ b/compel/include/uapi/plugins.h
@@ -0,0 +1,35 @@
+#ifndef UAPI_COMPEL_PLUGIN_H__
+#define UAPI_COMPEL_PLUGIN_H__
+
+#define __init __attribute__((__used__)) __attribute__ ((__section__(".compel.init")))
+#define __exit __attribute__((__used__)) __attribute__ ((__section__(".compel.exit")))
+
+#ifndef __ASSEMBLY__
+
+typedef struct {
+ const char *name;
+ int (*init)(void);
+ void (*exit)(void);
+} plugin_init_t;
+
+#define plugin_register(___desc) \
+ static const plugin_init_t * const \
+ ___ptr__##___desc __init = &___desc;
+
+#define PLUGIN_REGISTER(___id, ___name, ___init, ___exit) \
+ static const plugin_init_t __plugin_desc_##___id = { \
+ .name = ___name, \
+ .init = ___init, \
+ .exit = ___exit, \
+ }; \
+ plugin_register(__plugin_desc_##___id);
+
+#define PLUGIN_REGISTER_DUMMY(___id) \
+ static const plugin_init_t __plugin_desc_##___id = { \
+ .name = #___id, \
+ }; \
+ plugin_register(__plugin_desc_##___id);
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* UAPI_COMPEL_PLUGIN_H__ */
--
2.7.4
More information about the CRIU
mailing list