/* autogenerated by embedmodel.py.  DO NOT EDIT */

#include <zebra.h>
#include "yang.h"

static const char model[] =
	"// SPDX-License-Identifier: BSD-2-Clause\n"
	"module frr-logging {\n"
	"  yang-version 1.1;\n"
	"  namespace \"http://frrouting.org/yang/frr-logging\";\n"
	"  prefix frr-logging;\n"
	"\n"
	"  import ietf-syslog-types {\n"
	"    prefix syslogtypes;\n"
	"  }\n"
	"\n"
	"  organization\n"
	"    \"FRRouting\";\n"
	"  contact\n"
	"    \"FRR Users List:       <mailto:frog@lists.frrouting.org>\n"
	"     FRR Development List: <mailto:dev@lists.frrouting.org>\";\n"
	"  description\n"
	"    \"This module defines logging configuration for FRR.\n"
	"\n"
	"     Copyright 2025 LabN Consulting L.L.C\n"
	"\n"
	"     Redistribution and use in source and binary forms, with or without\n"
	"     modification, are permitted provided that the following conditions\n"
	"     are met:\n"
	"\n"
	"     1. Redistributions of source code must retain the above copyright notice,\n"
	"     this list of conditions and the following disclaimer.\n"
	"\n"
	"     2. Redistributions in binary form must reproduce the above copyright\n"
	"     notice, this list of conditions and the following disclaimer in the\n"
	"     documentation and/or other materials provided with the distribution.\n"
	"\n"
	"     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n"
	"     \\\"AS IS\\\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n"
	"     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n"
	"     A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n"
	"     HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n"
	"     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n"
	"     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n"
	"     DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n"
	"     THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n"
	"     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n"
	"     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\";\n"
	"\n"
	"  revision 2025-06-07 {\n"
	"    description \"Initial revision.\";\n"
	"    reference \"FRRouting\";\n"
	"  }\n"
	"\n"
	"  typedef syslog-format {\n"
	"    type enumeration {\n"
	"      enum rfc5424 {\n"
	"        description \"RFC5424 syslog format.\";\n"
	"      }\n"
	"      enum rfc3164 {\n"
	"        description \"RFC3164 syslog format.\";\n"
	"      }\n"
	"      enum local-syslogd {\n"
	"        description \"Local syslogd format without hostname.\";\n"
	"      }\n"
	"      enum journald {\n"
	"        description \"systemd journald native format.\";\n"
	"      }\n"
	"    }\n"
	"    description \"Log message formatting.\";\n"
	"  }\n"
	"\n"
	"  container logging {\n"
	"    description \"Logging configuration.\";\n"
	"\n"
	"    container stdout {\n"
	"      presence \"Enable stdout logging\";\n"
	"      description \"Logging to stdout.\";\n"
	"      leaf level {\n"
	"        type syslogtypes:severity;\n"
	"        default debug;\n"
	"        description \"Lowest level for which to log to stdout.\";\n"
	"      }\n"
	"    }\n"
	"\n"
	"    container syslog {\n"
	"      presence \"Enable syslog logging\";\n"
	"      description \"Logging to syslog.\";\n"
	"      leaf level {\n"
	"        type syslogtypes:severity;\n"
	"        default debug;\n"
	"        description \"Lowest level for which to log to syslog.\";\n"
	"      }\n"
	"    }\n"
	"\n"
	"    container file {\n"
	"      description \"Logging to a file.\";\n"
	"      leaf filename {\n"
	"        type string;\n"
	"        description \"Log filename.\";\n"
	"      }\n"
	"      leaf level {\n"
	"        type syslogtypes:severity;\n"
	"        default debug;\n"
	"        description \"Lowest level for which to log to the file.\";\n"
	"      }\n"
	"    }\n"
	"\n"
	"    container filtered-file {\n"
	"      description\n"
	"        \"Log messages to a file, filtering out messages that match any of the\n"
	"         filter-text entries.\";\n"
	"      leaf filename {\n"
	"        type string;\n"
	"        description \"Log filename.\";\n"
	"      }\n"
	"      leaf level {\n"
	"        type syslogtypes:severity;\n"
	"        default debug;\n"
	"        description \"Lowest level for which to log to the filtered file.\";\n"
	"      }\n"
	"    }\n"
	"\n"
	"    leaf-list filter-text {\n"
	"      type string;\n"
	"      description \"Log message filters.\";\n"
	"    }\n"
	"\n"
	"    list daemon-file {\n"
	"      key daemon;\n"
	"      description \"Per-daemon log files.\";\n"
	"      leaf daemon {\n"
	"        type string;\n"
	"        description \"Name of the daemon.\";\n"
	"      }\n"
	"      leaf filename {\n"
	"        type string;\n"
	"        mandatory true;\n"
	"        description \"Log filename.\";\n"
	"      }\n"
	"      leaf level {\n"
	"        type syslogtypes:severity;\n"
	"        default debug;\n"
	"        description \"Lowest level for which to log to the daemon log file.\";\n"
	"      }\n"
	"    }\n"
	"\n"
	"    leaf facility {\n"
	"      type identityref {\n"
	"        base syslogtypes:syslog-facility;\n"
	"      }\n"
	"      default syslogtypes:daemon;\n"
	"      description \"Syslog facility.\";\n"
	"    }\n"
	"\n"
	"    leaf record-priority {\n"
	"      type boolean;\n"
	"      default false;\n"
	"      description \"Include priority tag in non-syslog messages.\";\n"
	"    }\n"
	"\n"
	"    leaf record-severity {\n"
	"      type boolean;\n"
	"      default false;\n"
	"      description \"Include severity tag in non-syslog messages.\";\n"
	"    }\n"
	"\n"
	"    leaf timestamp-precision {\n"
	"      type uint8 {\n"
	"        range 0..6;\n"
	"      }\n"
	"      default 0;\n"
	"      description \"Timestamp precision for log messages.\";\n"
	"    }\n"
	"\n"
	"    leaf error-category {\n"
	"      type boolean;\n"
	"      default true;\n"
	"      description \"Prefix log messages with error category.\";\n"
	"    }\n"
	"\n"
	"    leaf unique-id {\n"
	"      type boolean;\n"
	"      default true;\n"
	"      description \"Prefix log messages with unique identifier.\";\n"
	"    }\n"
	"\n"
	"    leaf immediate-mode {\n"
	"      type boolean;\n"
	"      default false;\n"
	"      description \"Use unbuffered log output.\";\n"
	"    }\n"
	"\n"
	"    list uid-backtrace {\n"
	"      key uid;\n"
	"      description \"Log message IDs with backtraces enabled.\";\n"
	"      leaf uid {\n"
	"        type string;\n"
	"        description \"Unique log message identifier.\";\n"
	"      }\n"
	"    }\n"
	"  }\n"
	"  rpc clear-cmdline-targets {\n"
	"    description\n"
	"      \"Clear command line logging targets.\";\n"
	"  }\n"
	"}\n"
	"";

static struct yang_module_embed embed = {
	.mod_name = "frr-logging",
	.mod_rev = "2025-06-07",
	.sub_mod_name = "",
	.sub_mod_rev = "",
	.data = model,
	.format = LYS_IN_YANG,
};

static void embed_register(void) __attribute__((_CONSTRUCTOR(2000)));
static void embed_register(void)
{
	yang_module_embed(&embed);
}
