/** @file
  This file is cloned from DMTF libredfish library tag v1.0.0 and maintained
  by EDKII.

//----------------------------------------------------------------------------
// Copyright Notice:
// Copyright 2017 Distributed Management Task Force, Inc. All rights reserved.
// License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libredfish/LICENSE.md
//----------------------------------------------------------------------------

  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
  (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>

  SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#pragma once

#include <Include/Library/RedfishCrtLib.h>

#include <jansson.h>

typedef struct _redPathNode {
  bool                   isRoot;
  bool                   isIndex;

  char                   *version;
  char                   *nodeName;
  size_t                 index;
  char                   *op;
  char                   *propName;
  char                   *value;

  struct _redPathNode    *next;
} redPathNode;

redPathNode *
parseRedPath (
  const char  *path
  );

void
cleanupRedPath (
  redPathNode  *node
  );
