summaryrefslogtreecommitdiffstats
path: root/src/usr/vpd/pvpd.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/vpd/pvpd.H')
-rw-r--r--src/usr/vpd/pvpd.H149
1 files changed, 149 insertions, 0 deletions
diff --git a/src/usr/vpd/pvpd.H b/src/usr/vpd/pvpd.H
new file mode 100644
index 000000000..092dd45f7
--- /dev/null
+++ b/src/usr/vpd/pvpd.H
@@ -0,0 +1,149 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/vpd/pvpd.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2013,2015 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+#ifndef __PVPD_H
+#define __PVPD_H
+
+
+/**
+ * @file pvpd.H
+ *
+ * @brief Provides the interfaces for the PVPD device driver
+ *
+ */
+
+// ----------------------------------------------
+// Includes
+// ----------------------------------------------
+#include <errl/errlentry.H>
+#include <vpd/pvpdenums.H>
+
+#include "ipvpd.H"
+#include <config.h>
+
+namespace PVPD
+{
+
+ /**
+ * @brief Conversion of PVPD Records to corresponding character
+ * representation.
+ */
+ const IpVpdFacade::recordInfo pvpdRecords[] =
+ {
+ // -------------------------------------------------------------------
+ // NOTE: This list must remain an ordered list! There will be a
+ // testcase that checks this. When adding new entries to the
+ // list, be sure that the keyword in each entry (value 0)
+ // are in ascending order.
+ // -------------------------------------------------------------------
+ { VINI, "VINI" },
+ { OSYS, "OSYS" },
+ { OPFR, "OPFR" },
+ { VNDR, "VNDR" },
+ // -------------------------------------------------------------------
+ // DO NOT USE!! This is for test purposes ONLY!
+ { PVPD_TEST_RECORD, "TEST" },
+ // -------------------------------------------------------------------
+ };
+
+ /**
+ * @brief Conversion of PVPD Keywords to corresponding character
+ * representation.
+ */
+ const IpVpdFacade::keywordInfo pvpdKeywords[] =
+ {
+ // -------------------------------------------------------------------
+ // NOTE: This list must remain an ordered list! There will be a
+ // testcase that checks this. When adding new entries to
+ // the list, be sure that the keyword in each entry (value 0)
+ // are in ascending order.
+ // -------------------------------------------------------------------
+ { pdI, "#I" },
+ { B3, "B3" },
+ { B4, "B4" },
+ { B7, "B7" },
+ { CC, "CC" },
+ { CE, "CE" },
+ { CT, "CT" },
+ { DR, "DR" },
+ { ET, "ET" },
+ { FN, "FN" },
+ { HE, "HE" },
+ { HW, "HW" },
+ { IN, "IN" },
+ { MM, "MM" },
+ { PF, "PF" },
+ { PN, "PN" },
+ { RT, "RT" },
+ { SN, "SN" },
+ { SS, "SS" },
+ { VD, "VD" },
+ { VN, "VN" },
+ { VP, "VP" },
+ { VS, "VS" },
+ { VZ, "VZ" },
+
+ // -------------------------------------------------------------------
+ // DO NOT USE!! This is for test purposes ONLY!
+ { PVPD_TEST_KEYWORD, "XX" },
+ // -------------------------------------------------------------------
+
+ //Common ipvpd
+ { FULL_RECORD, "FL"},
+ };
+
+}; // end PVPD namespace
+
+class PvpdFacade: public IpVpdFacade
+{
+ public:
+
+ /**
+ * @brief Constructor
+ */
+ PvpdFacade( );
+
+ private:
+
+ /**
+ * @brief This function returns a primary and an alternate list of records
+ * that should be copied to pnor. The Alternate list is optional.
+ *
+ * @param[out] o_primaryVpdRecords - Pointer to array of VPD Records to use
+ *
+ * @param[out] o_primaryRecSize - Size of o_primaryVpdRecords array
+ *
+ * @param[out] o_altVpdRecords - Pointer to array of VPD Records to use
+ *
+ * @param[out] o_altRecSize - Size of o_altVpdRecords array
+ *
+ */
+ void getRecordLists(
+ const recordInfo* & o_primaryVpdRecords,
+ uint64_t & o_primaryRecSize,
+ const recordInfo* & o_altVpdRecords,
+ uint64_t & o_altRecSize);
+
+};
+#endif // __PVPD_H
OpenPOWER on IntegriCloud