diff options
author | dgilbert <dgilbert@us.ibm.com> | 2011-07-28 16:42:28 -0500 |
---|---|---|
committer | Douglas R. Gilbert <dgilbert@us.ibm.com> | 2011-08-17 14:22:39 -0500 |
commit | c56648379cde6ea3bcfac07923bb560734c6e16f (patch) | |
tree | 81ee3d5abaa130d0f1e36e038c3a344e11f55ce0 /src/include/usr/vfs | |
parent | 20b03fdaeb7414fdf9d43634976ca1ab5fbac7f1 (diff) | |
download | talos-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.H | 41 | ||||
-rw-r--r-- | src/include/usr/vfs/vfs_reasoncodes.H | 22 |
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 |