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