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