2021-08-08 17:25:41 -04:00
/*
E1 .37 - 2. h . h
Copyright ( c ) 2021 Kevin Matz ( kevin . matz @ gmail . com )
Permission is hereby granted , free of charge , to any person obtaining a copy
of this software and associated documentation files ( the " Software " ) , to deal
in the Software without restriction , including without limitation the rights
to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
copies of the Software , and to permit persons to whom the Software is
furnished to do so , subject to the following conditions :
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED " AS IS " , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE .
*/
# pragma once
# include <cstdint>
/**
2022-11-15 11:32:29 -05:00
* \ ingroup RDM
* \ details ANSI E1 .37 - 2 – 2015 Entertainment Technology
2021-08-08 17:25:41 -04:00
* Additional Message Sets for ANSI E1 .20 ( RDM ) – Part 2 ,
* IPv4 & DNS Configuration Messages
*/
namespace RDM {
using PID = uint16_t ;
/// Appendix A: Defined Parameters (Normative)
static const uint32_t IPV4_UNCONFIGURED = 0x00000000 ;
static const uint32_t NO_DEFAULT_ROUTE = 0x00000000 ;
/// Table A-1: RDM Parameter ID
static const PID LIST_INTERFACES = 0x0700 ;
static const PID INTERFACE_LABEL = 0x0701 ;
static const PID INTERFACE_HARDWARE_ADDRESS_TYPE1 = 0x0702 ;
static const PID IPV4_DHCP_MODE = 0x0703 ;
static const PID IPV4_ZEROCONF_MODE = 0x0704 ;
static const PID IPV4_CURRENT_ADDRESS = 0x0705 ;
static const PID IPV4_STATIC_ADDRESS = 0x0706 ;
static const PID INTERFACE_RENEW_DHCP = 0x0707 ;
static const PID INTERFACE_RELEASE_DHCP = 0x0708 ;
static const PID INTERFACE_APPLY_CONFIGURATION = 0x0709 ;
static const PID IPV4_DEFAULT_ROUTE = 0x070A ;
static const PID DNS_IPV4_NAME_SERVER = 0x070B ;
static const PID DNS_HOSTNAME = 0x070C ;
static const PID DNS_DOMAIN_NAME = 0x070D ;
/// Table A-2: Additional NACK Reason Codes
// superseded in E1.37-7
// static const uint16_t NR_ACTION_NOT_SUPPORTED = 0x000B; //!< The parameter data is valid but the SET operation cannot be performed with the current configuration.
/// Table A-3: DHCP Mode
static const uint8_t DHCP_STATUS_INACTIVE = 0x00 ;
static const uint8_t DHCP_STATUS_ACTIVE = 0x01 ; //!< The IP address was not obtained via DHCP.
static const uint8_t DHCP_STATUS_UNKNOWN = 0x02 ; //!< The IP address was obtained via DHCP.
} // namespace RDM