/** @file
  Header file for PCCT parser

  Copyright (c) 2020, Arm Limited.
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef PCCT_PARSER_H_
#define PCCT_PARSER_H_

/**
  Minimum value for the 'length' field in subspaces of types 0, 1 and 2.
*/
#define MIN_MEMORY_RANGE_LENGTH                 8

/**
  Minimum value for the 'length' field in subspaces of types 3 and 4.
*/
#define MIN_EXT_PCC_SUBSPACE_MEM_RANGE_LEN      16

/**
  Maximum number of PCC subspaces.
*/
#define MAX_PCC_SUBSPACES                       256

/**
  Parser for the header of any type of PCC subspace.
*/
#define PCC_SUBSPACE_HEADER()                                             \
  {L"Type", 1, 0, L"0x%x", NULL, (VOID**)&PccSubspaceType, NULL, NULL},   \
  {L"Length", 1, 1, L"%u", NULL, (VOID**)&PccSubspaceLength, NULL, NULL}

#endif // PCCT_PARSER_H_
