/** * @file * * Network Definitions. * * @xrefitem bom "File Content Label" "Release Content" * @e project: STYX * @e sub-project: (TBD) * @e \$Revision$ @e \$Date$ * **/ /***************************************************************************** * * Copyright 2013 - 2016 ADVANCED MICRO DEVICES, INC. All Rights Reserved. * * This program and the accompanying materials are licensed and made available * under the terms and conditions of the BSD License which accompanies this * distribution. The full text of the license may be found at * http://opensource.org/licenses/bsd-license.php * * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR * IMPLIED. * ***************************************************************************/ #ifndef __NETWORK_ADDRESS_H__ #define __NETWORK_ADDRESS_H__ /// Indicates the status of an IP address field within a structure typedef enum { DISABLED, ///< Disabled ENABLED ///< Enabled } IP_ADDRESS_STATUS; /// Structure for an IPv4 address typedef struct { UINT32 Status; ///< Indicates if the address is valid UINT8 IpAddress[4]; ///< IPv4 address data, if enabled (xxx.xxx.xxx.xxx) } ISCP_BMC_IPV4_ADDRESS; /// Structure for an IPv6 address typedef struct { UINT32 Status; ///< Indicates if the address is valid UINT8 IpAddress[16]; ///< IPv6 address data, if enabled (xxxx:xxxx:xxxx:xxx:xxxx:xxxx:xxxx:xxxx) } ISCP_BMC_IPV6_ADDRESS; /// Structure for any combination of an IPv4 and an IPv6 address typedef struct { ISCP_BMC_IPV4_ADDRESS Ipv4Address; ///< IPv4 Network Address Structure ISCP_BMC_IPV6_ADDRESS Ipv6Address; ///< IPv6 Network Address Structure } IP_ADDRESS_INFO; #endif /* __NETWORK_ADDRESS_H__ */