1d3e7a617STom Joseph #pragma once 2d3e7a617STom Joseph 3d3e7a617STom Joseph #include <cstdint> 4d3e7a617STom Joseph 5d3e7a617STom Joseph #include "message_handler.hpp" 6d3e7a617STom Joseph 7d3e7a617STom Joseph namespace command 8d3e7a617STom Joseph { 9d3e7a617STom Joseph 10*3563f8feSTom Joseph /** 11d3e7a617STom Joseph * @brief RMCP+ and RAKP Message Status Codes 12d3e7a617STom Joseph */ 13d3e7a617STom Joseph enum class RAKP_ReturnCode : uint8_t 14d3e7a617STom Joseph { 15*3563f8feSTom Joseph NO_ERROR, //!< No errors 16*3563f8feSTom Joseph INSUFFICIENT_RESOURCE, //!< Insufficient resources to create a session 17*3563f8feSTom Joseph INVALID_SESSION_ID, //!< Invalid Session ID 18*3563f8feSTom Joseph INVALID_PAYLOAD_TYPE, //!< Invalid payload type 19*3563f8feSTom Joseph INVALID_AUTH_ALGO, //!< Invalid authentication algorithm 20*3563f8feSTom Joseph INVALID_INTEGRITY_ALGO, //!< Invalid integrity algorithm 21*3563f8feSTom Joseph NO_MATCH_AUTH_PAYLOAD, //!< No matching authentication payload 22*3563f8feSTom Joseph NO_MATCH_INTEGRITY_PAYLOAD, //!< No matching integrity payload 23*3563f8feSTom Joseph INACTIVE_SESSIONID, //!< Inactive Session ID 24*3563f8feSTom Joseph INACTIVE_ROLE, //!< Invalid role 25*3563f8feSTom Joseph UNAUTH_ROLE_PRIV, //!< Unauthorized role or privilege requested 26*3563f8feSTom Joseph INSUFFICIENT_RESOURCES_ROLE,//!< Insufficient resources to create a session 27*3563f8feSTom Joseph INVALID_NAME_LENGTH, //!< Invalid name length 28*3563f8feSTom Joseph UNAUTH_NAME, //!< Unauthorized name 29*3563f8feSTom Joseph UNAUTH_GUID, //!< Unauthorized GUID 30*3563f8feSTom Joseph INVALID_INTEGRITY_VALUE, //!< Invalid integrity check value 31*3563f8feSTom Joseph INVALID_CONF_ALGO, //!< Invalid confidentiality algorithm 32*3563f8feSTom Joseph NO_CIPHER_SUITE_MATCH, //!< No Cipher Suite match with security algos 33*3563f8feSTom Joseph ILLEGAL_PARAMETER, //!< Illegal or unrecognized parameter 34d3e7a617STom Joseph }; 35d3e7a617STom Joseph 36*3563f8feSTom 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