1d3e7a617STom Joseph #pragma once 2d3e7a617STom Joseph 3d3e7a617STom Joseph #include "message_handler.hpp" 4d3e7a617STom Joseph 5*9e801a2bSVernon Mauery #include <cstdint> 6*9e801a2bSVernon Mauery 7d3e7a617STom Joseph namespace command 8d3e7a617STom Joseph { 9d3e7a617STom Joseph 103563f8feSTom Joseph /** 11d3e7a617STom Joseph * @brief RMCP+ and RAKP Message Status Codes 12d3e7a617STom Joseph */ 13d3e7a617STom Joseph enum class RAKP_ReturnCode : uint8_t 14d3e7a617STom Joseph { 153563f8feSTom Joseph NO_ERROR, //!< No errors 163563f8feSTom Joseph INSUFFICIENT_RESOURCE, //!< Insufficient resources to create a session 173563f8feSTom Joseph INVALID_SESSION_ID, //!< Invalid Session ID 183563f8feSTom Joseph INVALID_PAYLOAD_TYPE, //!< Invalid payload type 193563f8feSTom Joseph INVALID_AUTH_ALGO, //!< Invalid authentication algorithm 203563f8feSTom Joseph INVALID_INTEGRITY_ALGO, //!< Invalid integrity algorithm 213563f8feSTom Joseph NO_MATCH_AUTH_PAYLOAD, //!< No matching authentication payload 223563f8feSTom Joseph NO_MATCH_INTEGRITY_PAYLOAD, //!< No matching integrity payload 233563f8feSTom Joseph INACTIVE_SESSIONID, //!< Inactive Session ID 243563f8feSTom Joseph INACTIVE_ROLE, //!< Invalid role 253563f8feSTom Joseph UNAUTH_ROLE_PRIV, //!< Unauthorized role or privilege requested 263563f8feSTom Joseph INSUFFICIENT_RESOURCES_ROLE, //!< Insufficient resources to create a session 273563f8feSTom Joseph INVALID_NAME_LENGTH, //!< Invalid name length 283563f8feSTom Joseph UNAUTH_NAME, //!< Unauthorized name 293563f8feSTom Joseph UNAUTH_GUID, //!< Unauthorized GUID 303563f8feSTom Joseph INVALID_INTEGRITY_VALUE, //!< Invalid integrity check value 313563f8feSTom Joseph INVALID_CONF_ALGO, //!< Invalid confidentiality algorithm 323563f8feSTom Joseph NO_CIPHER_SUITE_MATCH, //!< No Cipher Suite match with security algos 333563f8feSTom Joseph ILLEGAL_PARAMETER, //!< Illegal or unrecognized parameter 34d3e7a617STom Joseph }; 35d3e7a617STom Joseph 363563f8feSTom Joseph /** 37d3e7a617STom Joseph * @brief Register Session Setup commands to the Command Table 38d3e7a617STom Joseph */ 39d3e7a617STom Joseph void sessionSetupCommands(); 40d3e7a617STom Joseph 41d3e7a617STom Joseph } // namespace command 42