/** @file Copyright (c) 2017, Intel Corporation. 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 _SMM_TEST_POINT_DXE_H_ #define _SMM_TEST_POINT_DXE_H_ #include #include #include #include #include #include #include #include #include #include #define TEST_POINT_AIP_PRIVATE_SIGNATURE SIGNATURE_32('T', 'S', 'P', 'T') typedef struct { UINT32 Signature; EFI_ADAPTER_INFORMATION_PROTOCOL Aip; VOID *TestPoint; UINTN TestPointSize; UINTN TestPointMaxSize; } TEST_POINT_AIP_PRIVATE_DATA; #define TEST_POINT_AIP_PRIVATE_DATA_FROM_THIS(a) \ CR (a, \ TEST_POINT_AIP_PRIVATE_DATA, \ Aip, \ TEST_POINT_AIP_PRIVATE_SIGNATURE \ ) extern EFI_ADAPTER_INFORMATION_PROTOCOL mSmmAdapterInformationProtocol; /** Return if input TestPoint data is valid. @param TestPointData TestPoint data @param TestPointSize TestPoint size @retval TRUE TestPoint data is valid. @retval FALSE TestPoint data is not valid. **/ BOOLEAN InternalTestPointIsValidTable ( IN VOID *TestPointData, IN UINTN TestPointSize ); /** Register SMM TestPoint handler. **/ VOID RegisterSmmTestPointSmiHandler ( VOID ); #endif