PDR: implement generation framework

This commit implements a framework that allows describing
platform/system specific PDR information in JSON files, which the PLDM
responder library parses and builds a PDR out of.

Separate JSON files are expected per PDR type. This commit also adds the
code to build a state effecter PDR. PDR record handles are implemented
as incrementing indices, starting at 1, but this commit enables
implementing other type of record handles (for eg offset based).

This commit doesn't handle merging of PDRs received from other terminii,
so the PDR that's generated now is for the BMC. Merging of PDRs will be
implemented in future commits.

Change-Id: I005b08c5d29d12fc2459ca8d6e18547107a3da7d
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
diff --git a/libpldm/states.h b/libpldm/states.h
new file mode 100644
index 0000000..a64a7ae
--- /dev/null
+++ b/libpldm/states.h
@@ -0,0 +1,27 @@
+#ifndef STATES_H
+#define STATES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "pldm_types.h"
+
+/** @brief PLDM state set ids
+ */
+enum pldm_state_set_ids {
+	PLDM_BOOT_PROGRESS_STATE = 196,
+};
+
+/** @brief PLDM enums for the boot progress state set
+ */
+enum pldm_boot_progress_states {
+	PLDM_BOOT_NOT_ACTIVE = 1,
+	PLDM_BOOT_COMPLETED = 2,
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* STATES_H */