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