blob: e90704292d407dead36e34f1d40c761d68392238 [file] [log] [blame]
/**
* @file context.h
* @author Radek Krejci <rkrejci@cesnet.cz>
* @brief internal context structures and functions
*
* Copyright (c) 2015 - 2017 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_CONTEXT_H_
#define LY_CONTEXT_H_
#include <pthread.h>
#include "common.h"
#include "set.h"
#include "hash_table.h"
#include "tree_schema.h"
/**
* @brief Context of the YANG schemas
*/
struct ly_ctx {
struct dict_table dict; /**< dictionary to effectively store strings used in the context related structures */
struct ly_set search_paths; /**< set of directories where to search for schema's imports/includes */
struct ly_set list; /**< set of YANG schemas */
uint16_t module_set_id; /**< ID of the current set of schemas */
uint16_t flags; /**< context settings, see @ref contextoptions. */
pthread_key_t errlist_key; /**< key for the thread-specific list of errors related to the context */
};
#endif /* LY_CONTEXT_H_ */