summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice/extinitsvc/extinitsvc.H
diff options
context:
space:
mode:
authorMark Wenning <wenning@us.ibm.com>2011-06-29 17:30:28 -0500
committerMark W. Wenning <wenning@us.ibm.com>2011-07-14 15:38:11 -0500
commit5530b7609c0351deb5d707c5950a56309842a325 (patch)
tree2382ef9aa2e3cfebe33d6d1737647be7325a94e0 /src/usr/initservice/extinitsvc/extinitsvc.H
parent2583b46750d1e1c062763eff204baa1460e7ae90 (diff)
downloadtalos-hostboot-5530b7609c0351deb5d707c5950a56309842a325.tar.gz
talos-hostboot-5530b7609c0351deb5d707c5950a56309842a325.zip
InitService changes for LLDD 0.7
- implement task flags - add barrier to unit tests - startTask returns errlog handle - factor taskargs.H - add STRICT mode and fix results - add tasktest2 to replace example.C - add cxxtest as an explicit task at the end - cleanup todo's - post-review fixes - merge problem Change-Id: I073bd154a64013553c1863f9eb674cda2bf40a8d Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/187 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com>
Diffstat (limited to 'src/usr/initservice/extinitsvc/extinitsvc.H')
-rw-r--r--src/usr/initservice/extinitsvc/extinitsvc.H121
1 files changed, 121 insertions, 0 deletions
diff --git a/src/usr/initservice/extinitsvc/extinitsvc.H b/src/usr/initservice/extinitsvc/extinitsvc.H
new file mode 100644
index 000000000..8e7874fd2
--- /dev/null
+++ b/src/usr/initservice/extinitsvc/extinitsvc.H
@@ -0,0 +1,121 @@
+#ifndef __EXTINITSVC_EXTINITSVC_H
+#define __EXTINITSVC_EXTINITSVC_H
+/**
+ * @file extinitsvc.H
+ *
+ * Extended initialization service, inherited from initservice base class
+ * perform extended init service functions in the extended image.
+ * launched by initservice.
+ *
+ */
+
+
+/******************************************************************************/
+// Includes
+/******************************************************************************/
+#include <stdint.h>
+#include <util/singleton.H>
+#include <sys/vfs.h> // VFS_MODULE_NAME_MAX
+
+#include <errl/errlentry.H>
+#include <initservice/taskargs.H>
+#include <initservice/initsvcreasoncodes.H>
+
+#include "../baseinitsvc/initservice.H"
+
+namespace INITSERVICE
+{
+
+/******************************************************************************/
+// Globals/Constants
+/******************************************************************************/
+
+/******************************************************************************/
+// Typedef/Enumerations
+/******************************************************************************/
+
+
+
+/******************************************************************************/
+// InitService Class
+/******************************************************************************/
+
+// Singleton definition
+class ExtInitSvc;
+typedef Singleton<ExtInitSvc> theExtInitSvc;
+
+/**
+ * @class ExtInitSvc Singleton Class
+ *
+ * This extended image module is launched by InitService
+ *
+ */
+class ExtInitSvc : public InitService
+{
+
+public:
+
+ friend class ExtInitSvcTest;
+
+ /**
+ * @brief Get singleton instance of this class.
+ *
+ * @return the (one and only) instance of InitService
+ */
+ static ExtInitSvc& getTheInstance();
+
+ /**
+ * @brief Provide an entry function into the class, called from _start()
+ *
+ * @param[in] i_args pointer to any arguments passed in from
+ * _start() and by extension the kernel,
+ * currently this is NULL .
+ *
+ */
+ void init( void *i_args);
+
+
+ /**
+ * @todo ExtInitSvcTest should be able to find protected functions.
+ */
+ // $$protected:
+
+ /**
+ * @brief start a extended image task.
+ *
+ * @param[in] i_ptask pointer to a TaskInfo struct
+ * @param[in] i_pargs pointer to args struct
+ * @param[inout] i_rerrl reference to an errorlog handle.
+ * errorlog will be filled out if error,
+ * otherwise untouched.
+ *
+ * @return NULL if success, errorlog handle for failure
+ *
+ */
+ errlHndl_t startTask( const TaskInfo *i_ptask,
+ TaskArgs::TaskArgs *i_pargs,
+ errlHndl_t &i_rerrl ) const;
+
+
+protected:
+ /**
+ * @brief Constructor for the InitService object.
+ */
+ ExtInitSvc();
+
+ /**
+ * @brief Destructor for the InitService object.
+ */
+ ~ExtInitSvc();
+
+
+
+private:
+
+
+
+}; // class ExtInitSvc
+
+} // namespace EXTINITSVC
+
+#endif
OpenPOWER on IntegriCloud