1 /** @file 2 The definition of functions and MACROs used for IPsec debug information printting. 3 4 Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR> 5 6 This program and the accompanying materials 7 are licensed and made available under the terms and conditions of the BSD License 8 which accompanies this distribution. The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php. 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 #ifndef _EFI_IPSEC_DEBUG_H_ 16 #define _EFI_IPSEC_DEBUG_H_ 17 18 #include "IkeCommon.h" 19 #include "IkePacket.h" 20 21 #define IPSEC_DUMP_ADDRESS(Level, Ip, Version) IpSecDumpAddress (Level, Ip, Version) 22 #define IKEV1_DUMP_STATE(Previous, Current) IkeDumpState (Previous, Current, 1) 23 #define IKEV2_DUMP_STATE(Previous, Current) IkeDumpState (Previous, Current, 2) 24 #define IPSEC_DUMP_PACKET(Packet, Direction, IpVersion) IpSecDumpPacket (Packet, Direction, IpVersion) 25 #define IPSEC_DUMP_PAYLOAD(IkePayload) IpSecDumpPayload (IkePayload, 1) 26 #define IKEV2_DUMP_PAYLOAD(IkePayload) IpSecDumpPayload (IkePayload, 2) 27 #define IPSEC_DUMP_BUF(Title, Data, DataSize) IpSecDumpBuf (Title, Data, DataSize) 28 29 #define IPSEC_DEBUG_BYTE_PER_LINE 8 30 #define IKE_STATE_NUM 7 31 32 33 34 /** 35 Print the IP address. 36 37 @param[in] Level Debug print error level. Pass to DEBUG(). 38 @param[in] Ip Point to specified IP address. 39 @param[in] IpVersion The IP Version. 40 41 **/ 42 VOID 43 IpSecDumpAddress ( 44 IN UINTN Level, 45 IN EFI_IP_ADDRESS *Ip, 46 IN UINT8 IpVersion 47 ); 48 49 /** 50 Print IKE Current states. 51 52 @param[in] Previous The Previous state of IKE. 53 @param[in] Current The current state of IKE. 54 @param[in] IkeVersion The version of IKE. 55 56 **/ 57 VOID 58 IkeDumpState ( 59 IN UINT32 Previous, 60 IN UINT32 Current, 61 IN UINT8 IkeVersion 62 ); 63 64 /** 65 Print the IKE Packet. 66 67 @param[in] Packet Point to IKE packet to be printed. 68 @param[in] Direction Point to the IKE packet is inbound or outbound. 69 @param[in] IpVersion Specified IP Version. 70 71 **/ 72 VOID 73 IpSecDumpPacket ( 74 IN IKE_PACKET *Packet, 75 IN EFI_IPSEC_TRAFFIC_DIR Direction, 76 IN UINT8 IpVersion 77 ); 78 79 /** 80 Print the IKE Paylolad. 81 82 @param[in] IkePayload Point to payload to be printed. 83 @param[in] IkeVersion The specified version of IKE. 84 85 **/ 86 VOID 87 IpSecDumpPayload ( 88 IN IKE_PAYLOAD *IkePayload, 89 IN UINT8 IkeVersion 90 ); 91 92 /** 93 Print the buffer in form of Hex. 94 95 @param[in] Title The strings to be printed before the data of the buffer. 96 @param[in] Data Point to buffer to be printed. 97 @param[in] DataSize The size of the buffer to be printed. 98 99 **/ 100 VOID 101 IpSecDumpBuf ( 102 IN CHAR8 *Title, 103 IN UINT8 *Data, 104 IN UINTN DataSize 105 ); 106 107 #endif 108