Loading...
Searching...
No Matches
tree.h File Reference

libyang generic macros and functions to work with YANG schema or data trees. More...

`#include <inttypes.h>`
Include dependency graph for tree.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | LY_ARRAY_COUNT(ARRAY)
| Get the number of records in the ARRAY.
#define | LY_ARRAY_COUNT_TYPE uint64_t
| Type (i.e. size) of the sized array's size counter.
#define | LY_ARRAY_FOR(ARRAY, ...)
| Sized-array iterator (for-loop).
#define | LY_ARRAY_FOR_INDEX(ARRAY, INDEX)
| Helper macro to go through sized-arrays with a numeric iterator.
#define | LY_ARRAY_FOR_ITER(ARRAY, TYPE, ITER)
| Helper macro to go through sized-arrays with a pointer iterator.
#define | LY_ARRAY_SELECT(_1, _2, NAME, ...)
| Macro selector for other LY_ARRAY_* macros, do not use directly!
#define | LY_DATA_TYPE_COUNT 20
#define | LY_LIST_FOR(START, ELEM)
| Macro to iterate via all sibling elements without affecting the list itself.
#define | LY_LIST_FOR_SAFE(START, NEXT, ELEM)
| Macro to iterate via all sibling elements allowing to modify the list itself (e.g. removing elements).
#define | LY_PRI_ARRAY_COUNT_TYPE PRIu64
| Printing format specifier macro for LY_ARRAY_SIZE_TYPE values.

## Enumerations

enum | LY_DATA_TYPE { LY_TYPE_UNKNOWN = 0 , LY_TYPE_BINARY , LY_TYPE_UINT8 , LY_TYPE_UINT16 , LY_TYPE_UINT32 , LY_TYPE_UINT64 , LY_TYPE_STRING , LY_TYPE_BITS , LY_TYPE_BOOL , LY_TYPE_DEC64 , LY_TYPE_EMPTY , LY_TYPE_ENUM , LY_TYPE_IDENT , LY_TYPE_INST , LY_TYPE_LEAFREF , LY_TYPE_UNION , LY_TYPE_INT8 , LY_TYPE_INT16 , LY_TYPE_INT32 , LY_TYPE_INT64 }
| YANG built-in types. More...
enum | LY_VALUE_FORMAT { LY_VALUE_CANON , LY_VALUE_SCHEMA , LY_VALUE_SCHEMA_RESOLVED , LY_VALUE_XML , LY_VALUE_JSON , LY_VALUE_LYB , LY_VALUE_STR_NS }
| All kinds of supported value formats and prefix mappings to modules. More...

## Variables

const char * | ly_data_type2str [20]
| Stringfield YANG built-in data types.

## Detailed Description

libyang generic macros and functions to work with YANG schema or data trees.

Author
  Radek Krejci rkrej.nosp@m.ci@c.nosp@m.esnet.nosp@m..cz

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

Definition in file tree.h.