summaryrefslogtreecommitdiffstats
path: root/src/include/usr/vfs
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/usr/vfs')
-rw-r--r--src/include/usr/vfs/vfs.H41
-rw-r--r--src/include/usr/vfs/vfs_reasoncodes.H22
2 files changed, 63 insertions, 0 deletions
diff --git a/src/include/usr/vfs/vfs.H b/src/include/usr/vfs/vfs.H
new file mode 100644
index 000000000..bffbddaa0
--- /dev/null
+++ b/src/include/usr/vfs/vfs.H
@@ -0,0 +1,41 @@
+#ifndef __USR_VFS_H
+#define __USR_VFS_H
+
+#include <errl/errlentry.H>
+#include <sys/vfs.h>
+
+namespace VFS
+{
+ /**
+ * Load or unload a module from the extended image.
+ * @param[in] i_module Module name
+ * @param[in] i_msgtype [VFS_MSG_LOAD | VFS_MSG_UNLOAD]
+ * @return errlHandl_t on error
+ */
+ errlHndl_t module_load_unload(const char * i_module, VfsMessages i_msgtype);
+
+ /**
+ * Loads a module from the extended image and initializes it
+ * @param[in] i_module Module name
+ * @return errlHndl_t on error
+ */
+ ALWAYS_INLINE
+ inline errlHndl_t module_load(const char * i_module)
+ {
+ return VFS::module_load_unload(i_module,VFS_MSG_LOAD);
+ }
+
+ /**
+ * Destroys and unloads module.
+ * @param[in] i_module Module name
+ * @return errlHndl_t on error
+ */
+ ALWAYS_INLINE
+ inline errlHndl_t module_unload(const char * i_module)
+ {
+ return VFS::module_load_unload(i_module, VFS_MSG_UNLOAD);
+ }
+
+};
+
+#endif
diff --git a/src/include/usr/vfs/vfs_reasoncodes.H b/src/include/usr/vfs/vfs_reasoncodes.H
new file mode 100644
index 000000000..eed6c5ad5
--- /dev/null
+++ b/src/include/usr/vfs/vfs_reasoncodes.H
@@ -0,0 +1,22 @@
+#ifndef VFS_REASONCODES_H
+#define VFS_REASONCODES_H
+
+#include <hbotcompid.H>
+
+namespace VFS
+{
+ enum VfsModuleID
+ {
+ UNDEFINED_MODULE_ERRL_ID = 0,
+ VFS_MODULE_ID,
+ };
+
+ enum VfsReasonCode
+ {
+ VFS_LOAD_FAILED = VFS_COMP_ID | 0x01,
+ VFS_UNLOAD_FAILED = VFS_COMP_ID | 0x02,
+ VFS_ALLOC_VMEM_FAILED = VFS_COMP_ID | 0x03,
+ };
+};
+
+#endif
OpenPOWER on IntegriCloud