From 20aa6d93a8df51cbaa0817172fc82b6eb193b9d8 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 11 Sep 2024 21:42:33 +0100 Subject: [PATCH] Add more IFC RDM enums --- include/ola/rdm/RDMEnums.h | 86 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/include/ola/rdm/RDMEnums.h b/include/ola/rdm/RDMEnums.h index 7aff2660d..3b46a0d80 100644 --- a/include/ola/rdm/RDMEnums.h +++ b/include/ola/rdm/RDMEnums.h @@ -763,10 +763,29 @@ static const uint8_t DNS_NAME_SERVER_MAX_INDEX = 2; static const uint32_t MIN_RDM_IFC_INTERFACE_INDEX = 0x00000001; static const uint32_t MAX_RDM_IFC_INTERFACE_INDEX = 0xFFFFFFFF; +static const uint8_t RDM_IFC_SESSION_WINDOW_TIME = 60; + static const uint8_t MAX_RDM_IFC_IPV4_DNS_NAME_SERVER_COUNT = 56; static const uint8_t MAX_RDM_IFC_DOMAIN_NAME_LENGTH = 227; +typedef enum { + IFC_SESSION_OPERATION_DISCARD = 0x00, + IFC_SESSION_OPERATION_COMMIT_RUNNING = 0x01, + IFC_SESSION_OPERATION_COMMIT_RUNNING_PERSISTENT = 0x02, + IFC_SESSION_OPERATION_CONFIRM = 0x03, + IFC_SESSION_OPERATION_MAX, +} rdm_ifc_session_operation; + +typedef enum { + IFC_INTERFACE_STATE_DISABLE = 0x00, + IFC_INTERFACE_STATE_ENABLE = 0x01, + IFC_INTERFACE_STATE_BOUNCE = 0x02, + IFC_INTERFACE_STATE_NOT_PRESENT = 0x03, + IFC_INTERFACE_STATE_UNKNOWN = 0x04, + IFC_INTERFACE_STATE_MAX, +} rdm_ifc_interface_state; + typedef enum { IFC_INTERFACE_TYPE_UNKNOWN = 0x00, IFC_INTERFACE_TYPE_VIRTUAL = 0x01, @@ -778,6 +797,73 @@ typedef enum { IFC_INTERFACE_TYPE_MAX, } rdm_ifc_interface_type; +typedef enum { + IFC_DUPLEX_MODE_HALF = 0x00, + IFC_DUPLEX_MODE_FULL = 0x01, + IFC_DUPLEX_MODE_MAX, +} rdm_ifc_duplex_mode; + +typedef enum { + IFC_EEE_STATE_DISABLE = 0x00, + IFC_EEE_STATE_ENABLE = 0x01, + IFC_EEE_STATE_MAX, +} rdm_ifc_eee_state; + +typedef enum { + IFC_POWER_STATE_DISABLE = 0x00, + IFC_POWER_STATE_ENABLE = 0x01, + IFC_POWER_STATE_MAX, +} rdm_ifc_power_state; + +typedef enum { + IFC_POWER_TYPE_NONE = 0x00, + IFC_POWER_TYPE_POE_2P_TYPE_1 = 0x01, + IFC_POWER_TYPE_POE_2P_TYPE_2 = 0x02, + IFC_POWER_TYPE_POE_4P_TYPE_3 = 0x03, + IFC_POWER_TYPE_POE_4P_TYPE_4 = 0x04, + IFC_POWER_TYPE_SPOE_PODL = 0x05, + IFC_POWER_TYPE_NON_STANDARD = 0x06, + IFC_POWER_TYPE_MAX, +} rdm_ifc_power_type; + +typedef enum { + IFC_POWER_ROLE_NONE = 0x00, + IFC_POWER_ROLE_POWER_SOURCING_EQUIPMENT = 0x01, + IFC_POWER_ROLE_POWERED_DEVICE = 0x02, + IFC_POWER_ROLE_OTHER = 0x03, + IFC_POWER_ROLE_MAX, +} rdm_ifc_power_role; + +typedef enum { + IFC_IPV4_SOURCE_DHCP = 0x00, + IFC_IPV4_SOURCE_STATIC = 0x01, + IFC_IPV4_SOURCE_ZEROCONF = 0x02, + IFC_IPV4_SOURCE_BOOTP = 0x03, + IFC_IPV4_SOURCE_MAX, +} rdm_ifc_ipv4_source; + +typedef enum { + IFC_IPV4_SUPPORTED_MODE_DHCP = 0x00, + IFC_IPV4_SUPPORTED_MODE_STATIC = 0x01, + IFC_IPV4_SUPPORTED_MODE_ZEROCONF = 0x02, + IFC_IPV4_SUPPORTED_MODE_BOOTP = 0x03, + IFC_IPV4_SUPPORTED_MODE_MAX, +} rdm_ifc_ipv4_supported_mode; + +typedef enum { + IFC_IPV6_SOURCE_DHCP = 0x00, + IFC_IPV6_SOURCE_STATIC = 0x01, + IFC_IPV6_SOURCE_SLAAC = 0x02, + IFC_IPV6_SOURCE_MAX, +} rdm_ifc_ipv6_source; + +typedef enum { + IFC_IPV6_SUPPORTED_MODE_DHCP = 0x00, + IFC_IPV6_SUPPORTED_MODE_STATIC = 0x01, + IFC_IPV6_SUPPORTED_MODE_SLAAC = 0x02, + IFC_IPV6_SUPPORTED_MODE_MAX, +} rdm_ifc_ipv6_supported_mode; + // Excluding the mandatory NULL terminator static const uint8_t MAX_RDM_SCOPE_STRING_LENGTH = 62; } // namespace rdm