68 lines
2.9 KiB
C++
68 lines
2.9 KiB
C++
/*
|
||
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>
|
||
|
||
/**
|
||
* \ingroup RDM
|
||
* \details ANSI E1.37-2 – 2015 Entertainment Technology
|
||
* 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
|