diff options
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 |