1 #pragma once
2 
3 #include <cstdint>
4 
5 #include "message_handler.hpp"
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