blob: ab6196c339c89628e80e93cf5acbf4195cc99a85 [file] [log] [blame]
Radek Krejci0935f412019-08-20 16:15:18 +02001/**
2 * @file plugins_exts_internal.h
3 * @author Radek Krejci <rkrejci@cesnet.cz>
4 * @brief internal functions to support extension plugins.
5 *
6 * Copyright (c) 2019 CESNET, z.s.p.o.
7 *
8 * This source code is licensed under BSD 3-Clause License (the "License").
9 * You may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * https://opensource.org/licenses/BSD-3-Clause
13 */
14
15#ifndef LY_PLUGINS_EXTS_INTERNAL_H_
16#define LY_PLUGINS_EXTS_INTERNAL_H_
17
Radek Krejci38d85362019-09-05 16:26:38 +020018#include "plugins_exts.h"
Michal Vasko69730152020-10-09 16:30:07 +020019#include "tree_schema.h"
Radek Krejci38d85362019-09-05 16:26:38 +020020
21#include "plugins_exts_metadata.h"
22
23/**
24 * @brief List of internally implemented extension plugins.
25 */
Radek Krejci28681fa2019-09-06 13:08:45 +020026extern struct lyext_plugins_list lyext_plugins_internal[];
Radek Krejci38d85362019-09-05 16:26:38 +020027
28/**
29 * @brief Index of Metadata's annotation extension plugin in lyext_plugins_internal
30 */
31#define LYEXT_PLUGIN_INTERNAL_ANNOTATION 4
Radek Krejci0935f412019-08-20 16:15:18 +020032
33/**
Radek Krejci5fa32a32021-02-08 18:12:38 +010034 * @brief Index of yang-data extension plugin in lyext_plugins_internal
35 */
36#define LYEXT_PLUGIN_INTERNAL_YANGDATA 5
37
38/**
Radek Krejci0935f412019-08-20 16:15:18 +020039 * @brief Find the extension plugin for the specified extension instance.
40 *
41 * @param[in] mod YANG module where the
42 */
43struct lyext_plugin *lyext_get_plugin(struct lysc_ext *ext);
44
45#endif /* LY_PLUGINS_EXTS_INTERNAL_H_ */