blob: 46795d9e0beb2bf79f4fae8083bef51b9f588bb5 [file] [log] [blame]
/******************************************************************************
* (C) Copyright 2014 AMIQ Consulting
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NAME: amiq_eth_defines.cpp
* PROJECT: amiq_eth
* Description: This file declare all used defines.
*******************************************************************************/
#ifndef __AMIQ_ETH_DEFINES
//protection against multiple includes
#define __AMIQ_ETH_DEFINES
#ifndef AMIQ_ETH_PREAMBLE_WIDTH
//width of the Preamble field
#define AMIQ_ETH_PREAMBLE_WIDTH 56
#endif
#ifndef AMIQ_ETH_SFD_WIDTH
//width of the "Start Frame Delimiter" field
#define AMIQ_ETH_SFD_WIDTH 8
#endif
#ifndef AMIQ_ETH_ADDRESS_WIDTH
//width of the "Address" fields
#define AMIQ_ETH_ADDRESS_WIDTH 48
#endif
#ifndef AMIQ_ETH_LENGTH_TYPE_WIDTH
//width of the "Length/Type" field
#define AMIQ_ETH_LENGTH_TYPE_WIDTH 16
#endif
#ifndef AMIQ_ETH_FCS_WIDTH
//width of the "Frame Check Sequence" field
#define AMIQ_ETH_FCS_WIDTH 32
#endif
#ifndef AMIQ_ETH_DATA_WIDTH
//width of the basic unit in the "Data" field
#define AMIQ_ETH_DATA_WIDTH 8
#endif
#ifndef AMIQ_ETH_EXTENSION_WIDTH
//width of the basic unit in the "Extensions" field
#define AMIQ_ETH_EXTENSION_WIDTH 1
#endif
#ifndef AMIQ_ETH_MIN_JUMBO_PAYLOAD_SIZE
//minimum payload length of the Jumbo frame, in bytes
#define AMIQ_ETH_MIN_JUMBO_PAYLOAD_SIZE 1501
#endif
#ifndef AMIQ_ETH_MAX_JUMBO_PAYLOAD_SIZE
//maximum payload length of the Jumbo frame, in bytes
#define AMIQ_ETH_MAX_JUMBO_PAYLOAD_SIZE 9000
#endif
#ifndef AMIQ_ETH_PAUSE_PACKET_DESTINATION_ADDRESS
//Ethernet Pause packet - Destination Address
#define AMIQ_ETH_PAUSE_PACKET_DESTINATION_ADDRESS 0x0180C2000001
#endif
#ifndef AMIQ_ETH_PFC_PACKET_DESTINATION_ADDRESS
//Ethernet PFC packet - Destination Address
#define AMIQ_ETH_PFC_PACKET_DESTINATION_ADDRESS 0x0180C2000001
#endif
#ifndef AMIQ_ETH_PAUSE_OPCODE_WIDTH
//Ethernet Pause packet - width of the "Opcode" field
#define AMIQ_ETH_PAUSE_OPCODE_WIDTH 16
#endif
#ifndef AMIQ_ETH_PAUSE_PARAMETER_WIDTH
//Ethernet Pause packet - width of the "Parameter" field
#define AMIQ_ETH_PAUSE_PARAMETER_WIDTH 16
#endif
#ifndef AMIQ_ETH_PAUSE_OPCODE
//Ethernet Pause packet - opcode
#define AMIQ_ETH_PAUSE_OPCODE 0x0001
#endif
#ifndef AMIQ_ETH_PAUSE_PARAMETER_MAX
//Ethernet Pause packet - maximum value of the "Parameter" field
#define AMIQ_ETH_PAUSE_PARAMETER_MAX 0xFFFF
#endif
#ifndef AMIQ_ETH_PAUSE_PARAMETER_MIN
//Ethernet Pause packet - minimum value of the "Parameter" field
#define AMIQ_ETH_PAUSE_PARAMETER_MIN 0x0000
#endif
#ifndef AMIQ_ETH_PFC_OPCODE_WIDTH
//Ethernet PFC packet - width of the "Opcode" field
#define AMIQ_ETH_PFC_OPCODE_WIDTH 16
#endif
#ifndef AMIQ_ETH_PFC_OPCODE
//Ethernet PFC packet - opcode
#define AMIQ_ETH_PFC_OPCODE 0x0101
#endif
#ifndef AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_WIDTH
//Ethernet PFC packet - width of the "Class Enable Vector" field
#define AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_WIDTH 16
#endif
#ifndef AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_MAX
//Ethernet PFC packet - maximum value of the "Class Enable Vector" field
#define AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_MAX 0x0000
#endif
#ifndef AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_MIN
//Ethernet PFC packet - minimum value of the "Class Enable Vector" field
#define AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_MIN 0x00FF
#endif
#ifndef AMIQ_ETH_PFC_NUMBER_OF_PARAMETERS
//Ethernet PFC packet - number of parameters
#define AMIQ_ETH_PFC_NUMBER_OF_PARAMETERS 8
#endif
#ifndef AMIQ_ETH_PFC_PARAMETER_WIDTH
//Ethernet PFC packet - width of the "Parameter" field
#define AMIQ_ETH_PFC_PARAMETER_WIDTH 16
#endif
#ifndef AMIQ_ETH_PFC_PARAMETER_MAX
//Ethernet PFC packet - maximum value of the "Parameter" field
#define AMIQ_ETH_PFC_PARAMETER_MAX 0xFFFF
#endif
#ifndef AMIQ_ETH_PFC_PARAMETER_MIN
//Ethernet PFC packet - minimum value of the "Parameter" field
#define AMIQ_ETH_PFC_PARAMETER_MIN 0x0000
#endif
#ifndef AMIQ_ETH_PAYLOAD_SIZE_MIN
//Ethernet packet - minimum payload size
#define AMIQ_ETH_PAYLOAD_SIZE_MIN 46
#endif
#ifndef AMIQ_ETH_PAYLOAD_SIZE_MAX
//Ethernet packet - maximum payload size
#define AMIQ_ETH_PAYLOAD_SIZE_MAX 1500
#endif
#ifndef AMIQ_ETH_MAGIC_PACKET_DEFAULT_ADDRESS_REPETITIONS
//the default number of times the target address is repeated in the magic packet
#define AMIQ_ETH_MAGIC_PACKET_DEFAULT_ADDRESS_REPETITIONS 6
#endif
#ifndef AMIQ_ETH_MAGIC_PACKET_PATTERN_WIDTH
//width of the magic packet pattern which identifies the target address
#define AMIQ_ETH_MAGIC_PACKET_PATTERN_WIDTH 48
#endif
#ifndef AMIQ_ETH_DEFAULT_MAGIC_PACKET_PATTERN
//default magic packet pattern which identifies the target address
#define AMIQ_ETH_DEFAULT_MAGIC_PACKET_PATTERN 0xFFFFFF
#endif
#ifndef AMIQ_ETH_DEFAULT_SNAP_PACKET_DSAP
//default value for DSAP field in SNAP packet
#define AMIQ_ETH_DEFAULT_SNAP_PACKET_DSAP 0xAA
#endif
#ifndef AMIQ_ETH_DEFAULT_SNAP_PACKET_SSAP
//default value for SSAP field in SNAP packet
#define AMIQ_ETH_DEFAULT_SNAP_PACKET_SSAP 0xAA
#endif
#ifndef AMIQ_ETH_DEFAULT_SNAP_PACKET_CTL
//default value for CTL field in SNAP packet
#define AMIQ_ETH_DEFAULT_SNAP_PACKET_CTL 0x03
#endif
#ifndef AMIQ_ETH_SNAP_PACKET_PROTOCOL_IDENTIFIER_WIDTH
//width of the snap packet protocol identifier field
#define AMIQ_ETH_SNAP_PACKET_PROTOCOL_IDENTIFIER_WIDTH 40
#endif
#ifndef AMIQ_ETH_JUMBO_CLIENT_DATA_SIZE_WIDTH
//Jumbo packet - client data size width
#define AMIQ_ETH_JUMBO_CLIENT_DATA_SIZE_WIDTH 32
#endif
#ifndef AMIQ_ETH_MAGIC_CLIENT_DATA_SIZE_WIDTH
//Magic packet - client data size width
#define AMIQ_ETH_MAGIC_CLIENT_DATA_SIZE_WIDTH 32
#endif
#ifndef NULL
#define NULL 0
#endif
#ifndef AMIQ_ETH_MAGIC_PACKET_SYNCH_STREAM_WIDTH
//width magic packet pattern which identifies the target address
#define AMIQ_ETH_MAGIC_PACKET_SYNCH_STREAM_WIDTH 48
#endif
#ifndef AMIQ_ETH_MAGIC_PACKET_TARGET_MAC_REPETITIONS
//the number of times the target address is repeated in the magic packet
#define AMIQ_ETH_MAGIC_PACKET_TARGET_MAC_REPETITIONS 6
#endif
#ifndef AMIQ_ETH_MAGIC_PACKET_SYNCH_STREAM
//default magic packet pattern which identifies the target address
#define AMIQ_ETH_MAGIC_PACKET_SYNCH_STREAM 0xFFFFFFFFFFFF
#endif
#ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_SKIPCOUNT_WIDTH
//Ethernet Configuration Testing packet - skipcount width
#define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_SKIPCOUNT_WIDTH 16
#endif
#ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_FUNCTION_WIDTH
//Ethernet Configuration Testing packet - function width
#define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_FUNCTION_WIDTH 16
#endif
#ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_REPLY_FUNCTION
//Ethernet Configuration Testing packet - reply function
#define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_REPLY_FUNCTION 1
#endif
#ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_FORWARD_FUNCTION
//Ethernet Configuration Testing packet - forward function
#define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_FORWARD_FUNCTION 2
#endif
#ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_SKIPCOUNT_MAX
//Ethernet Configuration Testing packet - max sxkipcount
#define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_SKIPCOUNT_MAX 1498
#endif
#ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_MAX
//Ethernet Configuration Testing packet - max data
#define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_MAX 1496
#endif
#ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_MIN
//Ethernet Configuration Testing packet - min data
#define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_MIN 42
#endif
#ifndef AMIQ_ETH_HSR_PATH_WIDTH
//HSR Standard packet - width of the "Path" field
#define AMIQ_ETH_HSR_PATH_WIDTH 4
#endif
#ifndef AMIQ_ETH_HSR_STANDARD_SIZE_WIDTH
//HSR Standard packet - width of the "Size" field
#define AMIQ_ETH_HSR_STANDARD_SIZE_WIDTH 12
#endif
#ifndef AMIQ_ETH_HSR_STANDARD_SEQ_WIDTH
//HSR Standard packet - width of the "Seq" field
#define AMIQ_ETH_HSR_STANDARD_SEQ_WIDTH 16
#endif
#ifndef AMIQ_ETH_HSR_STANDARD_PROTOCOL_WIDTH
//HSR Standard packet - width of the "Protocol" field
#define AMIQ_ETH_HSR_STANDARD_PROTOCOL_WIDTH 16
#endif
#ifndef AMIQ_ETH_HSR_STANDARD_LPDU_MAX
//HSR Standard packet - maximum value of the "LPDU" field
#define AMIQ_ETH_HSR_STANDARD_LPDU_MAX 1500
#endif
#ifndef AMIQ_ETH_HSR_STANDARD_LPDU_MIN
//HSR Standard packet - minimum value of the "LPDU" field
#define AMIQ_ETH_HSR_STANDARD_LPDU_MIN 40
#endif
//the code of the magic packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_MAGIC_CODE 0x00000000
//the code of the jumbo packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_JUMBO_CODE 0x00000001
//the code of the snap packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_SNAP_CODE 0x00000002
//the code of the pause packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_PAUSE_CODE 0x00000003
//the code of the pfc pause packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_PFC_PAUSE_CODE 0x00000004
//the code of the length packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_LENGTH_CODE 0x00000005
//the code of the ethernet configuration testing packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_ETHERNET_CONFIGURATION_TESTING_CODE 0x00000006
//the code of the IPV4 packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_IPV4_CODE 0x00000007
//the code of the hsr packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_HSR_STANDARD_CODE 0x00000008
//the code of the ARP packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_ARP_CODE 0x00000009
//the code of the FCOE packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_FCOE_CODE 0x0000000A
//the code of the PTP packet used to identify the information in generic payload
#define AMIQ_ETH_PACKET_PTP_CODE 0x0000000C
#ifndef AMIQ_ETH_FIELD_SEPARATOR
//the field separator when printing a packet
#define AMIQ_ETH_FIELD_SEPARATOR ", "
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_VERSION_VALUE
//IPV4 packet - version value
#define AMIQ_ETH_IPV4_HEADER_VERSION_VALUE 4
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_VERSION_WIDTH
//IPV4 packet - version width
#define AMIQ_ETH_IPV4_HEADER_VERSION_WIDTH 4
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_IHL_WIDTH
//IPV4 packet - IHL (Internet Header Length) width
#define AMIQ_ETH_IPV4_HEADER_IHL_WIDTH 4
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_DSCP_WIDTH
//IPV4 packet - DSCP (Differentiated Services Code Point) width
#define AMIQ_ETH_IPV4_HEADER_DSCP_WIDTH 6
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_ECN_WIDTH
//IPV4 packet - ECN (Explicit Congestion Notification) width
#define AMIQ_ETH_IPV4_HEADER_ECN_WIDTH 2
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_TOTAL_LENGTH_WIDTH
//IPV4 packet - Total Length width
#define AMIQ_ETH_IPV4_HEADER_TOTAL_LENGTH_WIDTH 16
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_IDENTIFICATION_WIDTH
//IPV4 packet - Identification width
#define AMIQ_ETH_IPV4_HEADER_IDENTIFICATION_WIDTH 16
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_FLAGS_WIDTH
//IPV4 packet - Flags width
#define AMIQ_ETH_IPV4_HEADER_FLAGS_WIDTH 3
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_FRAGMENT_OFFSET_WIDTH
//IPV4 packet - Fragment Offset width
#define AMIQ_ETH_IPV4_HEADER_FRAGMENT_OFFSET_WIDTH 13
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_TTL_WIDTH
//IPV4 packet - TTL (Time To Live) width
#define AMIQ_ETH_IPV4_HEADER_TTL_WIDTH 8
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_PROTOCOL_WIDTH
//IPV4 packet - Protocol width
#define AMIQ_ETH_IPV4_HEADER_PROTOCOL_WIDTH 8
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_CHECKSUM_WIDTH
//IPV4 packet - Checksum width
#define AMIQ_ETH_IPV4_HEADER_CHECKSUM_WIDTH 16
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_SOURCE_IP_ADDRESS_WIDTH
//IPV4 packet - Source IP address width
#define AMIQ_ETH_IPV4_HEADER_SOURCE_IP_ADDRESS_WIDTH 32
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_DESTINATION_IP_ADDRESS_WIDTH
//IPV4 packet - Destination IP address width
#define AMIQ_ETH_IPV4_HEADER_DESTINATION_IP_ADDRESS_WIDTH 32
#endif
#ifndef AMIQ_ETH_IPV4_HEADER_OPTION_WIDTH
//IPV4 packet - Option width
#define AMIQ_ETH_IPV4_HEADER_OPTION_WIDTH 32
#endif
#ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_SIZE_WIDTH
#define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_SIZE_WIDTH 32
#endif
#ifndef AMIQ_ETH_CRC32_CCITT_SEED
//seed for computing CRC32
#define AMIQ_ETH_CRC32_CCITT_SEED 0xFFFFFFFF
#endif
#ifndef AMIQ_ETH_DEFAULT_MIN_FRAME_SIZE
//default minimum frame size
#define AMIQ_ETH_DEFAULT_MIN_FRAME_SIZE 64
#endif
#ifndef AMIQ_ETH_FCOE_VERSION_WIDTH
//FCOE packet - width of "Version" field
#define AMIQ_ETH_FCOE_VERSION_WIDTH 4
#endif
#ifndef AMIQ_ETH_FCOE_RESERVED_BEFORE_SOF_SIZE
//FCOE packet - value of "Reserved Before SOF size" field
#define AMIQ_ETH_FCOE_RESERVED_BEFORE_SOF_SIZE 100
#endif
#ifndef AMIQ_ETH_FCOE_SOF_WIDTH
//FCOE packet - width of "SOF" field
#define AMIQ_ETH_FCOE_SOF_WIDTH 8
#endif
#ifndef AMIQ_ETH_FCOE_SOFf
//numerical value of "SOF" field for literal "SOFf" value
#define AMIQ_ETH_FCOE_SOFf 0x28
#endif
#ifndef AMIQ_ETH_FCOE_SOFi2
//numerical value of "SOF" field for literal "SOFi2" value
#define AMIQ_ETH_FCOE_SOFi2 0x2D
#endif
#ifndef AMIQ_ETH_FCOE_SOFn2
//numerical value of "SOF" field for literal "SOFn2" value
#define AMIQ_ETH_FCOE_SOFn2 0x35
#endif
#ifndef AMIQ_ETH_FCOE_SOFi3
//numerical value of "SOF" field for literal "SOFi3" value
#define AMIQ_ETH_FCOE_SOFi3 0x2E
#endif
#ifndef AMIQ_ETH_FCOE_SOFn3
//numerical value of "SOF" field for literal "SOFn3" value
#define AMIQ_ETH_FCOE_SOFn3 0x36
#endif
#ifndef AMIQ_ETH_FCOE_SOFi4
//numerical value of "SOF" field for literal "SOFi4" value
#define AMIQ_ETH_FCOE_SOFi4 0x29
#endif
#ifndef AMIQ_ETH_FCOE_SOFn4
//numerical value of "SOF" field for literal "SOFn4" value
#define AMIQ_ETH_FCOE_SOFn4 0x31
#endif
#ifndef AMIQ_ETH_FCOE_SOFc4
//numerical value of "SOF" field for literal "SOFc4" value
#define AMIQ_ETH_FCOE_SOFc4 0x39
#endif
#ifndef AMIQ_ETH_ARP_HTYPE_WIDTH
//Hardware type (HTYPE)
#define AMIQ_ETH_ARP_HTYPE_WIDTH 16
#endif
#ifndef AMIQ_ETH_ARP_PTYPE_WIDTH
//Protocol type (PTYPE)
#define AMIQ_ETH_ARP_PTYPE_WIDTH 16
#endif
#ifndef AMIQ_ETH_ARP_HLEN_WIDTH
//Hardware length (HLEN)
#define AMIQ_ETH_ARP_HLEN_WIDTH 8
#endif
#ifndef AMIQ_ETH_ARP_PLEN_WIDTH
//Protocol length (PLEN)
#define AMIQ_ETH_ARP_PLEN_WIDTH 8
#endif
#ifndef AMIQ_ETH_ARP_OPER_WIDTH
//Operation
#define AMIQ_ETH_ARP_OPER_WIDTH 16
#endif
#ifndef AMIQ_ETH_ARP_SHA_WIDTH
//Sender hardware address (SHA)
#define AMIQ_ETH_ARP_SHA_WIDTH 48
#endif
#ifndef AMIQ_ETH_ARP_SPA_WIDTH
//Sender protocol address (SPA)
#define AMIQ_ETH_ARP_SPA_WIDTH 32
#endif
#ifndef AMIQ_ETH_ARP_THA_WIDTH
//Target hardware address (THA)
#define AMIQ_ETH_ARP_THA_WIDTH 48
#endif
#ifndef AMIQ_ETH_ARP_TPA_WIDTH
//Target protocol address (TPA)
#define AMIQ_ETH_ARP_TPA_WIDTH 32
#endif
#ifndef AMIQ_ETH_PTP_TRANSPORT_SPECIFIC_WIDTH
//PTP packet - width of the "Transport Specific" field
#define AMIQ_ETH_PTP_TRANSPORT_SPECIFIC_WIDTH 4
#endif
#ifndef AMIQ_ETH_PTP_IN_IEEE1588
//numerical value of "Transport Specific" field for literal "PTP_in_IEEE1588" value
#define AMIQ_ETH_PTP_IN_IEEE1588 0
#endif
#ifndef AMIQ_ETH_PTP_IN_802_1_AS
//numerical value of "Transport Specific" field for literal "PTP_in_802_1_as" value
#define AMIQ_ETH_PTP_IN_802_1_AS 1
#endif
#ifndef AMIQ_ETH_PTP_MESSAGE_TYPE_WIDTH
//PTP packet - width of the "Message Type" field
#define AMIQ_ETH_PTP_MESSAGE_TYPE_WIDTH 4
#endif
#ifndef AMIQ_ETH_PTP_SYNCMESSAGE
//numerical value of "Message Type" field for literal "PTP_SyncMessage" value
#define AMIQ_ETH_PTP_SYNCMESSAGE 0
#endif
#ifndef AMIQ_ETH_PTP_DELAY_REQMESSAGE
//numerical value of "Message Type" field for literal "PTP_Delay_ReqMessage" value
#define AMIQ_ETH_PTP_DELAY_REQMESSAGE 1
#endif
#ifndef AMIQ_ETH_PTP_PDELAY_REQMESSAGE
//numerical value of "Message Type" field for literal "PTP_Pdelay_ReqMessage" value
#define AMIQ_ETH_PTP_PDELAY_REQMESSAGE 2
#endif
#ifndef AMIQ_ETH_PTP_PDELAY_RESPMESSAGE
//numerical value of "Message Type" field for literal "PTP_Pdelay_RespMessage" value
#define AMIQ_ETH_PTP_PDELAY_RESPMESSAGE 3
#endif
#ifndef AMIQ_ETH_PTP_FOLLOW_UPMESSAGE
//numerical value of "Message Type" field for literal "PTP_Follow_UpMessage" value
#define AMIQ_ETH_PTP_FOLLOW_UPMESSAGE 8
#endif
#ifndef AMIQ_ETH_PTP_DELAY_RESPMESSAGE
//numerical value of "Message Type" field for literal "PTP_Delay_RespMessage" value
#define AMIQ_ETH_PTP_DELAY_RESPMESSAGE 9
#endif
#ifndef AMIQ_ETH_PTP_PDELAY_RESP_FOLLOW_UPMESSAGE
//numerical value of "Message Type" field for literal "PTP_Pdelay_Resp_Follow_UpMessage" value
#define AMIQ_ETH_PTP_PDELAY_RESP_FOLLOW_UPMESSAGE 10
#endif
#ifndef AMIQ_ETH_PTP_ANNOUNCEMESSAGE
//numerical value of "Message Type" field for literal "PTP_AnnounceMessage" value
#define AMIQ_ETH_PTP_ANNOUNCEMESSAGE 11
#endif
#ifndef AMIQ_ETH_PTP_SIGNALLINGMESSAGE
//numerical value of "Message Type" field for literal "PTP_SignallingMessage" value
#define AMIQ_ETH_PTP_SIGNALLINGMESSAGE 12
#endif
#ifndef AMIQ_ETH_PTP_MANAGEMENTMESSAGE
//numerical value of "Message Type" field for literal "PTP_ManagementMessage" value
#define AMIQ_ETH_PTP_MANAGEMENTMESSAGE 13
#endif
#ifndef AMIQ_ETH_PTP_SYNCMESSAGE_CTRL
//numerical value of "Control Field" field for literal "PTP_SyncMessage_ctrl" value
#define AMIQ_ETH_PTP_SYNCMESSAGE_CTRL 0
#endif
#ifndef AMIQ_ETH_PTP_DELAY_REQMESSAGE_CTRL
//numerical value of "Control Field" field for literal "PTP_Delay_ReqMessage_ctrl" value
#define AMIQ_ETH_PTP_DELAY_REQMESSAGE_CTRL 1
#endif
#ifndef AMIQ_ETH_PTP_FOLLOW_UPMESSAGE_CTRL
//numerical value of "Control Field" field for literal "PTP_Follow_UpMessage_ctrl" value
#define AMIQ_ETH_PTP_FOLLOW_UPMESSAGE_CTRL 2
#endif
#ifndef AMIQ_ETH_PTP_DELAY_RESPMESSAGE_CTRL
//numerical value of "Control Field" field for literal "PTP_Delay_RespMessage_ctrl" value
#define AMIQ_ETH_PTP_DELAY_RESPMESSAGE_CTRL 3
#endif
#ifndef AMIQ_ETH_PTP_MANAGEMENTMESSAGE_CTRL
//numerical value of "Control Field" field for literal "PTP_ManagementMessage_ctrl" value
#define AMIQ_ETH_PTP_MANAGEMENTMESSAGE_CTRL 4
#endif
#ifndef AMIQ_ETH_PTP_RESERVED_WIDTH
//PTP packet - width of the "Reserved " field
#define AMIQ_ETH_PTP_RESERVED_WIDTH 1
#endif
#ifndef AMIQ_ETH_PTP_RESERVED_1_WIDTH
//PTP packet - width of the "Reserved " field
#define AMIQ_ETH_PTP_RESERVED_1_WIDTH 4
#endif
#ifndef AMIQ_ETH_PTP_VERSION_WIDTH
//PTP packet - width of the "Version" field
#define AMIQ_ETH_PTP_VERSION_WIDTH 4
#endif
#ifndef AMIQ_ETH_PTP_MESSAGE_LENGTH_WIDTH
//PTP packet - width of the "Message Length" field
#define AMIQ_ETH_PTP_MESSAGE_LENGTH_WIDTH 16
#endif
#ifndef AMIQ_ETH_PTP_DOMAIN_NUMBER_WIDTH
//PTP packet - width of the "Domain Number" field
#define AMIQ_ETH_PTP_DOMAIN_NUMBER_WIDTH 8
#endif
#ifndef AMIQ_ETH_PTP_RESERVED_2_WIDTH
//PTP packet - width of the "Reserved" field
#define AMIQ_ETH_PTP_RESERVED_2_WIDTH 8
#endif
#ifndef AMIQ_ETH_PTP_FLAGS_WIDTH
//PTP packet - width of the "Flags" field
#define AMIQ_ETH_PTP_FLAGS_WIDTH 16
#endif
#ifndef AMIQ_ETH_PTP_CORRECTION_FIELD_WIDTH
//PTP packet - width of the "Correction Field" field
#define AMIQ_ETH_PTP_CORRECTION_FIELD_WIDTH 64
#endif
#ifndef AMIQ_ETH_PTP_RESERVED_3_WIDTH
//PTP packet - width of the "Reserved" field
#define AMIQ_ETH_PTP_RESERVED_3_WIDTH 32
#endif
#ifndef AMIQ_ETH_PTP_SOURCE_PORT_IDENTITY_WIDTH
//PTP packet - width of the "Source Port Identity" field
#define AMIQ_ETH_PTP_SOURCE_PORT_IDENTITY_WIDTH 8
#endif
#ifndef AMIQ_ETH_PTP_SOURCE_PORT_IDENTITY_SIZE
//PTP packet - size of "Source Port Identity" field
#define AMIQ_ETH_PTP_SOURCE_PORT_IDENTITY_SIZE 10
#endif
#ifndef AMIQ_ETH_PTP_SEQUENCE_ID_WIDTH
//PTP packet - width of the "Sequence ID" field
#define AMIQ_ETH_PTP_SEQUENCE_ID_WIDTH 16
#endif
#ifndef AMIQ_ETH_PTP_CONTROL_FIELD_WIDTH
//PTP packet - width of the "Control Field" field
#define AMIQ_ETH_PTP_CONTROL_FIELD_WIDTH 8
#endif
#ifndef AMIQ_ETH_PTP_LOG_MESSAGE_WIDTH
//PTP packet - width of the "Log Message" field
#define AMIQ_ETH_PTP_LOG_MESSAGE_WIDTH 8
#endif
#ifndef AMIQ_ETH_PTP_ORIGIN_TIMESTAMP_WIDTH
//PTP packet - width of the "Timestamp" field
#define AMIQ_ETH_PTP_ORIGIN_TIMESTAMP_WIDTH 8
#endif
#ifndef AMIQ_ETH_PTP_ORIGIN_TIMESTAMP_SIZE
//PTP packet - size of "Origin Timestamp" field
#define AMIQ_ETH_PTP_ORIGIN_TIMESTAMP_SIZE 10
#endif
#ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_CURRENT_UTC_OFFSET_WIDTH
//PTP packet - width of the "Current UTC Offset" field from "Announce Message" body
#define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_CURRENT_UTC_OFFSET_WIDTH 16
#endif
#ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_RESERVED_WIDTH
//PTP packet - width of the "Reserved" field from "Announce Message" body
#define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_RESERVED_WIDTH 8
#endif
#ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_PRIORITY_1_WIDTH
//PTP packet - width of the "Priority 1" field from "Announce Message" body
#define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_PRIORITY_1_WIDTH 8
#endif
#ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_CLOCK_QUALITY_WIDTH
//PTP packet - width of the "Clock Quality" field from "Announce Message" body
#define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_CLOCK_QUALITY_WIDTH 32
#endif
#ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_PRIORITY_2_WIDTH
//PTP packet - width of the "Priority 2" field from "Announce Message" body
#define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_PRIORITY_2_WIDTH 8
#endif
#ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_IDENTITY_WIDTH
//PTP packet - width of the "Grandmaster Identity" field from "Announce Message" body
#define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_IDENTITY_WIDTH 64
#endif
#ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_STEPS_REMOVED_WIDTH
//PTP packet - width of the "Steps Removed" field from "Announce Message" body
#define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_STEPS_REMOVED_WIDTH 16
#endif
#ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_TIME_SOURCE_WIDTH
//PTP packet - width of the "Time Source" field from "Announce Message" body
#define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_TIME_SOURCE_WIDTH 8
#endif
#ifndef AMIQ_ETH_FCOE_EOF_WIDTH
//FCOE packet - width of "EOF" field
#define AMIQ_ETH_FCOE_EOF_WIDTH 8
#endif
#ifndef AMIQ_ETH_FCOE_RESERVED_AFTER_EOF_SIZE
//FCOE packet - value of "Reserved Before EOF size" field
#define AMIQ_ETH_FCOE_RESERVED_AFTER_EOF_SIZE 24
#endif
#ifndef AMIQ_ETH_FCOE_EOFn
//numerical value of "EOF" field for literal "EOFn" value
#define AMIQ_ETH_FCOE_EOFn 0x41
#endif
#ifndef AMIQ_ETH_FCOE_EOFt
//numerical value of "EOF" field for literal "EOFt" value
#define AMIQ_ETH_FCOE_EOFt 0x42
#endif
#ifndef AMIQ_ETH_FCOE_EOFni
//numerical value of "EOF" field for literal "EOFni" value
#define AMIQ_ETH_FCOE_EOFni 0x49
#endif
#ifndef AMIQ_ETH_FCOE_EOFa
//numerical value of "EOF" field for literal "EOFa" value
#define AMIQ_ETH_FCOE_EOFa 0x50
#endif
#ifndef AMIQ_ETH_FCOE_EOFrt
//numerical value of "EOF" field for literal "EOFrt" value
#define AMIQ_ETH_FCOE_EOFrt 0x44
#endif
#ifndef AMIQ_ETH_FCOE_EOFdt
//numerical value of "EOF" field for literal "EOFdt" value
#define AMIQ_ETH_FCOE_EOFdt 0x46
#endif
#ifndef AMIQ_ETH_FCOE_EOFdti
//numerical value of "EOF" field for literal "EOFdti" value
#define AMIQ_ETH_FCOE_EOFdti 0x4E
#endif
#ifndef AMIQ_ETH_FCOE_EOFrti
//numerical value of "EOF" field for literal "EOFrti" value
#define AMIQ_ETH_FCOE_EOFrti 0x4F
#endif
#ifndef AMIQ_ETH_FCOE_FC_FRAME_SIZE_MIN
//FCOE packet - minimum value of the "FC Frame Size" field
#define AMIQ_ETH_FCOE_FC_FRAME_SIZE_MIN 28
#endif
#ifndef AMIQ_ETH_FCOE_FC_FRAME_SIZE_MAX
//FCOE packet - maximum value of the "FC Frame Size" field
#define AMIQ_ETH_FCOE_FC_FRAME_SIZE_MAX 2180
#endif
#ifndef AMIQ_ETH_FCOE_FRAME_SIZE_WIDTH
//FCOE packet - width of "Frame Size" field
#define AMIQ_ETH_FCOE_FRAME_SIZE_WIDTH 32
#endif
#ifndef AMIQ_ETH_FCOE_RESERVED_SIZE_WIDTH
//FCOE packet - width of "Reserved" field
#define AMIQ_ETH_FCOE_RESERVED_SIZE_WIDTH 1
#endif
#endif