IPMI Communication module header
RAKP return codes and session setup command declaration.
Change-Id: I04d69651db6b32e9273e977b97ae664e6f002cc3
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
diff --git a/comm_module.hpp b/comm_module.hpp
new file mode 100644
index 0000000..ce5ab66
--- /dev/null
+++ b/comm_module.hpp
@@ -0,0 +1,41 @@
+#pragma once
+
+#include <cstdint>
+
+#include "message_handler.hpp"
+
+namespace command
+{
+
+/*
+ * @brief RMCP+ and RAKP Message Status Codes
+ */
+enum class RAKP_ReturnCode : uint8_t
+{
+ NO_ERROR, /* No errors */
+ INSUFFICIENT_RESOURCE, /* Insufficient resources to create a session */
+ INVALID_SESSION_ID, /* Invalid Session ID */
+ INVALID_PAYLOAD_TYPE, /* Invalid payload type */
+ INVALID_AUTH_ALGO, /* Invalid authentication algorithm */
+ INVALID_INTEGRITY_ALGO, /* Invalid integrity algorithm */
+ NO_MATCH_AUTH_PAYLOAD, /* No matching authentication payload */
+ NO_MATCH_INTEGRITY_PAYLOAD, /* No matching integrity payload */
+ INACTIVE_SESSIONID, /* Inactive Session ID */
+ INACTIVE_ROLE, /* Invalid role */
+ UNAUTH_ROLE_PRIV, /* Unauthorized role or privilege requested */
+ INSUFFICIENT_RESOURCES_ROLE,/* Insufficient resources to create a session */
+ INVALID_NAME_LENGTH, /* Invalid name length */
+ UNAUTH_NAME, /* Unauthorized name */
+ UNAUTH_GUID, /* Unauthorized GUID */
+ INVALID_INTEGRITY_VALUE, /* Invalid integrity check value */
+ INVALID_CONF_ALGO, /* Invalid confidentiality algorithm */
+ NO_CIPHER_SUITE_MATCH, /* No Cipher Suite match with security algos */
+ ILLEGAL_PARAMETER, /* Illegal or unrecognized parameter */
+};
+
+/*
+ * @brief Register Session Setup commands to the Command Table
+ */
+void sessionSetupCommands();
+
+} // namespace command