1 /** 2 * @file 3 * 4 * Network Definitions. 5 * 6 * @xrefitem bom "File Content Label" "Release Content" 7 * @e project: STYX 8 * @e sub-project: (TBD) 9 * @e \$Revision$ @e \$Date$ 10 * 11 **/ 12 /***************************************************************************** 13 * 14 * Copyright 2013 - 2016 ADVANCED MICRO DEVICES, INC. All Rights Reserved. 15 * 16 * This program and the accompanying materials are licensed and made available 17 * under the terms and conditions of the BSD License which accompanies this 18 * distribution. The full text of the license may be found at 19 * http://opensource.org/licenses/bsd-license.php 20 * 21 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 22 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 23 * IMPLIED. 24 * 25 ***************************************************************************/ 26 27 28 #ifndef __NETWORK_ADDRESS_H__ 29 #define __NETWORK_ADDRESS_H__ 30 31 /// Indicates the status of an IP address field within a structure 32 typedef enum { 33 DISABLED, ///< Disabled 34 ENABLED ///< Enabled 35 } IP_ADDRESS_STATUS; 36 37 /// Structure for an IPv4 address 38 typedef struct { 39 UINT32 Status; ///< Indicates if the address is valid 40 UINT8 IpAddress[4]; ///< IPv4 address data, if enabled (xxx.xxx.xxx.xxx) 41 } ISCP_BMC_IPV4_ADDRESS; 42 43 /// Structure for an IPv6 address 44 typedef struct { 45 UINT32 Status; ///< Indicates if the address is valid 46 UINT8 IpAddress[16]; ///< IPv6 address data, if enabled (xxxx:xxxx:xxxx:xxx:xxxx:xxxx:xxxx:xxxx) 47 } ISCP_BMC_IPV6_ADDRESS; 48 49 /// Structure for any combination of an IPv4 and an IPv6 address 50 typedef struct { 51 ISCP_BMC_IPV4_ADDRESS Ipv4Address; ///< IPv4 Network Address Structure 52 ISCP_BMC_IPV6_ADDRESS Ipv6Address; ///< IPv6 Network Address Structure 53 } IP_ADDRESS_INFO; 54 55 #endif /* __NETWORK_ADDRESS_H__ */ 56