/**
 * @file plugins_exts_internal.h
 * @author Radek Krejci <rkrejci@cesnet.cz>
 * @brief internal functions to support extension plugins.
 *
 * Copyright (c) 2019 CESNET, z.s.p.o.
 *
 * This source code is licensed under BSD 3-Clause License (the "License").
 * You may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://opensource.org/licenses/BSD-3-Clause
 */

#ifndef LY_PLUGINS_EXTS_INTERNAL_H_
#define LY_PLUGINS_EXTS_INTERNAL_H_

#include "tree_schema.h"
#include "plugins_exts.h"

#include "plugins_exts_metadata.h"

/**
 * @brief List of internally implemented extension plugins.
 */
extern struct lyext_plugins_list *lyext_plugins_internal;

/**
 * @brief Index of Metadata's annotation extension plugin in lyext_plugins_internal
 */
#define LYEXT_PLUGIN_INTERNAL_ANNOTATION 4

/**
 * @brief Find the extension plugin for the specified extension instance.
 *
 * @param[in] mod YANG module where the
 */
struct lyext_plugin *lyext_get_plugin(struct lysc_ext *ext);

#endif /* LY_PLUGINS_EXTS_INTERNAL_H_ */
