summaryrefslogtreecommitdiffstats
path: root/src/include/usr/vfs
diff options
context:
space:
mode:
authordgilbert <dgilbert@us.ibm.com>2011-07-28 16:42:28 -0500
committerDouglas R. Gilbert <dgilbert@us.ibm.com>2011-08-17 14:22:39 -0500
commitc56648379cde6ea3bcfac07923bb560734c6e16f (patch)
tree81ee3d5abaa130d0f1e36e038c3a344e11f55ce0 /src/include/usr/vfs
parent20b03fdaeb7414fdf9d43634976ca1ab5fbac7f1 (diff)
downloadtalos-hostboot-c56648379cde6ea3bcfac07923bb560734c6e16f.tar.gz
talos-hostboot-c56648379cde6ea3bcfac07923bb560734c6e16f.zip
Virtual File System module load and unload
Change-Id: Iaa6a256a8a15ac48bfba5bc1cab292c5ac246166 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/253 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
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