Coverage Report

Created: 2025-11-11 06:17

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/frr/lib/printfrr.h
Line
Count
Source
1
// SPDX-License-Identifier: ISC
2
/*
3
 * Copyright (c) 2019  David Lamparter, for NetDEF, Inc.
4
 */
5
6
#ifndef _FRR_PRINTFRR_H
7
#define _FRR_PRINTFRR_H
8
9
#include <stddef.h>
10
#include <stdarg.h>
11
#include <stdint.h>
12
13
#include "compiler.h"
14
#include "memory.h"
15
16
#ifdef __cplusplus
17
extern "C" {
18
#endif
19
20
struct fmt_outpos {
21
  unsigned int off_start, off_end;
22
};
23
24
struct fbuf {
25
  char *buf;
26
  char *pos;
27
  size_t len;
28
29
  struct fmt_outpos *outpos;
30
  size_t outpos_n, outpos_i;
31
};
32
33
#define at(a, b) PRINTFRR(a, b)
34
#define atn(a, b) \
35
  at(a, b) __attribute__((nonnull(1) _RET_NONNULL))
36
#define atm(a, b) \
37
  atn(a, b) __attribute__((malloc))
38
39
/* return value is length needed for the full string (excluding \0) in all
40
 * cases.  The functions write as much as they can, but continue regardless,
41
 * so the return value is independent of buffer length.  Both bprintfrr and
42
 * snprintf also accept NULL as output buffer.
43
 */
44
45
/* bprintfrr does NOT null terminate! use sparingly (only provided since it's
46
 * the most direct interface) - useful for incrementally building long text
47
 * (call bprintfrr repeatedly with the same buffer)
48
 */
49
ssize_t vbprintfrr(struct fbuf *out, const char *fmt, va_list) at(2, 0);
50
ssize_t  bprintfrr(struct fbuf *out, const char *fmt, ...)     at(2, 3);
51
52
/* these do null terminate like their snprintf cousins */
53
ssize_t vsnprintfrr(char *out, size_t sz, const char *fmt, va_list) at(3, 0);
54
ssize_t  snprintfrr(char *out, size_t sz, const char *fmt, ...)     at(3, 4);
55
56
/* c = continue / concatenate (append at the end of the string)
57
 * return value is would-be string length (regardless of buffer length),
58
 * i.e. includes already written chars */
59
ssize_t vcsnprintfrr(char *out, size_t sz, const char *fmt, va_list) at(3, 0);
60
ssize_t  csnprintfrr(char *out, size_t sz, const char *fmt, ...)     at(3, 4);
61
62
/* memory allocations don't fail in FRR, so you always get something here.
63
 * (in case of error, returns a strdup of the format string) */
64
char *vasprintfrr(struct memtype *mt, const char *fmt, va_list) atm(2, 0);
65
char  *asprintfrr(struct memtype *mt, const char *fmt, ...)     atm(2, 3);
66
67
/* try to use provided buffer (presumably from stack), allocate if it's too
68
 * short.  Must call XFREE(mt, return value) if return value != out.
69
 */
70
char *vasnprintfrr(struct memtype *mt, char *out, size_t sz,
71
       const char *fmt, va_list) atn(4, 0);
72
char  *asnprintfrr(struct memtype *mt, char *out, size_t sz,
73
       const char *fmt, ...)     atn(4, 5);
74
75
#define printfrr(fmt, ...)                                                     \
76
  do {                                                                   \
77
    char buf[256], *out;                                           \
78
    out = asnprintfrr(MTYPE_TMP, buf, sizeof(buf), fmt,            \
79
          ##__VA_ARGS__);                              \
80
    fputs(out, stdout);                                            \
81
    if (out != buf)                                                \
82
      XFREE(MTYPE_TMP, out);                                 \
83
  } while (0)
84
85
#undef at
86
#undef atm
87
#undef atn
88
89
/* extension specs must start with a capital letter (this is a restriction
90
 * for both performance's and human understanding's sake.)
91
 *
92
 * Note that the entire thing mostly works because a letter directly following
93
 * a %p print specifier is extremely unlikely to occur (why would you want to
94
 * print "0x12345678HELLO"?)  Normally, you'd expect spacing or punctuation
95
 * after a placeholder.  That also means that neither of those works well for
96
 * extension purposes, e.g. "%p{foo}" is reasonable to see actually used.
97
 *
98
 * TODO: would be nice to support a "%pF%dF" specifier that consumes 2
99
 * arguments, e.g. to pass an integer + a list of known values...  can be
100
 * done, but a bit tricky.
101
 */
102
613k
#define printfrr_ext_char(ch) ((ch) >= 'A' && (ch) <= 'Z')
103
104
struct printfrr_eargs;
105
106
struct printfrr_ext {
107
  /* embedded string to minimize cache line pollution */
108
  char match[8];
109
110
  /* both can be given, if not the code continues searching
111
   * (you can do %pX and %dX in 2 different entries)
112
   *
113
   * return value: number of bytes that would be printed if the buffer
114
   * was large enough.  be careful about not under-reporting this;
115
   * otherwise asnprintf() & co. will get broken.  Returning -1 means
116
   * something went wrong & default %p/%d handling should be executed.
117
   *
118
   * to consume extra input flags after %pXY, increment *fmt.  It points
119
   * at the first character after %pXY at entry.  Convention is to make
120
   * those flags lowercase letters or numbers.
121
   */
122
  ssize_t (*print_ptr)(struct fbuf *buf, struct printfrr_eargs *info,
123
           const void *);
124
  ssize_t (*print_int)(struct fbuf *buf, struct printfrr_eargs *info,
125
           uintmax_t);
126
};
127
128
/* additional information passed to extended formatters */
129
130
struct printfrr_eargs {
131
  /* position in the format string.  Points to directly after the
132
   * extension specifier.  Increment when consuming extra "flag
133
   * characters".
134
   */
135
  const char *fmt;
136
137
  /* %.1234x / %.*x
138
   * not POSIX compatible when used with %p, will cause warnings from
139
   * GCC & clang.  Usable with %d.  Not used by the printfrr() itself
140
   * for extension specifiers, so essentially available as a "free"
141
   * parameter.  -1 if not specified.  Value in the format string
142
   * cannot be negative, but negative values can be passed with %.*x
143
   */
144
  int precision;
145
146
  /* %1234x / %*x
147
   * regular width specification.  Internally handled by printfrr(), set
148
   * to 0 if consumed by the extension in order to suppress standard
149
   * width/padding behavior.  0 if not specified.
150
   *
151
   * NB: always positive, even if a negative value is passed in with
152
   * %*x.  (The sign is used for the - flag.)
153
   */
154
  int width;
155
156
  /* %#x
157
   * "alternate representation" flag, not POSIX compatible when used
158
   * with %p or %d, will cause warnings from GCC & clang.  Not used by
159
   * printfrr() itself for extension specifiers.
160
   */
161
  bool alt_repr;
162
163
  /* %-x
164
   * left-pad flag.  Internally handled by printfrr() if width is
165
   * nonzero.  Only use if the extension sets width to 0.
166
   */
167
  bool leftadj;
168
};
169
170
/* for any extension that needs a buffer length */
171
172
static inline ssize_t printfrr_ext_len(struct printfrr_eargs *ea)
173
0
{
174
0
  ssize_t rv;
175
176
0
  if (ea->precision >= 0)
177
0
    rv = ea->precision;
178
0
  else if (ea->width >= 0) {
179
0
    rv = ea->width;
180
0
    ea->width = -1;
181
0
  } else
182
0
    rv = -1;
183
184
0
  return rv;
185
0
}
Unexecuted instantiation: ospf_main.c:printfrr_ext_len
Unexecuted instantiation: frr-ospf-route-map.yang.c:printfrr_ext_len
Unexecuted instantiation: ospf_bfd.c:printfrr_ext_len
Unexecuted instantiation: ospf_dump.c:printfrr_ext_len
Unexecuted instantiation: ospf_dump_api.c:printfrr_ext_len
Unexecuted instantiation: ospf_errors.c:printfrr_ext_len
Unexecuted instantiation: ospf_interface.c:printfrr_ext_len
Unexecuted instantiation: ospf_lsa.c:printfrr_ext_len
Unexecuted instantiation: ospf_lsdb.c:printfrr_ext_len
Unexecuted instantiation: ospf_neighbor.c:printfrr_ext_len
Unexecuted instantiation: ospf_network.c:printfrr_ext_len
Unexecuted instantiation: ospf_nsm.c:printfrr_ext_len
Unexecuted instantiation: ospf_opaque.c:printfrr_ext_len
Unexecuted instantiation: ospf_packet.c:printfrr_ext_len
Unexecuted instantiation: ospf_ri.c:printfrr_ext_len
Unexecuted instantiation: ospf_routemap.c:printfrr_ext_len
Unexecuted instantiation: ospf_routemap_nb.c:printfrr_ext_len
Unexecuted instantiation: ospf_routemap_nb_config.c:printfrr_ext_len
Unexecuted instantiation: ospf_spf.c:printfrr_ext_len
Unexecuted instantiation: ospf_ti_lfa.c:printfrr_ext_len
Unexecuted instantiation: ospf_sr.c:printfrr_ext_len
Unexecuted instantiation: ospf_te.c:printfrr_ext_len
Unexecuted instantiation: ospf_vty.c:printfrr_ext_len
Unexecuted instantiation: ospf_zebra.c:printfrr_ext_len
Unexecuted instantiation: ospfd.c:printfrr_ext_len
Unexecuted instantiation: ospf_gr_helper.c:printfrr_ext_len
Unexecuted instantiation: ospf_abr.c:printfrr_ext_len
Unexecuted instantiation: ospf_apiserver.c:printfrr_ext_len
Unexecuted instantiation: ospf_asbr.c:printfrr_ext_len
Unexecuted instantiation: ospf_ase.c:printfrr_ext_len
Unexecuted instantiation: ospf_ext.c:printfrr_ext_len
Unexecuted instantiation: ospf_flood.c:printfrr_ext_len
Unexecuted instantiation: ospf_gr.c:printfrr_ext_len
Unexecuted instantiation: ospf_ia.c:printfrr_ext_len
Unexecuted instantiation: ospf_ism.c:printfrr_ext_len
Unexecuted instantiation: ospf_ldp_sync.c:printfrr_ext_len
Unexecuted instantiation: ospf_route.c:printfrr_ext_len
Unexecuted instantiation: ospf_api.c:printfrr_ext_len
Unexecuted instantiation: affinitymap.c:printfrr_ext_len
Unexecuted instantiation: affinitymap_cli.c:printfrr_ext_len
Unexecuted instantiation: affinitymap_northbound.c:printfrr_ext_len
Unexecuted instantiation: agg_table.c:printfrr_ext_len
Unexecuted instantiation: asn.c:printfrr_ext_len
Unexecuted instantiation: bfd.c:printfrr_ext_len
Unexecuted instantiation: buffer.c:printfrr_ext_len
Unexecuted instantiation: command.c:printfrr_ext_len
Unexecuted instantiation: command_graph.c:printfrr_ext_len
Unexecuted instantiation: command_lex.c:printfrr_ext_len
Unexecuted instantiation: command_match.c:printfrr_ext_len
Unexecuted instantiation: command_parse.c:printfrr_ext_len
Unexecuted instantiation: cspf.c:printfrr_ext_len
Unexecuted instantiation: debug.c:printfrr_ext_len
Unexecuted instantiation: distribute.c:printfrr_ext_len
Unexecuted instantiation: ferr.c:printfrr_ext_len
Unexecuted instantiation: filter.c:printfrr_ext_len
Unexecuted instantiation: filter_cli.c:printfrr_ext_len
Unexecuted instantiation: filter_nb.c:printfrr_ext_len
Unexecuted instantiation: flex_algo.c:printfrr_ext_len
Unexecuted instantiation: frr_pthread.c:printfrr_ext_len
Unexecuted instantiation: grammar_sandbox.c:printfrr_ext_len
Unexecuted instantiation: hash.c:printfrr_ext_len
Unexecuted instantiation: id_alloc.c:printfrr_ext_len
Unexecuted instantiation: if.c:printfrr_ext_len
Unexecuted instantiation: if_rmap.c:printfrr_ext_len
Unexecuted instantiation: iso.c:printfrr_ext_len
Unexecuted instantiation: json.c:printfrr_ext_len
Unexecuted instantiation: keychain.c:printfrr_ext_len
Unexecuted instantiation: ldp_sync.c:printfrr_ext_len
Unexecuted instantiation: lib_errors.c:printfrr_ext_len
Unexecuted instantiation: lib_vty.c:printfrr_ext_len
Unexecuted instantiation: libfrr.c:printfrr_ext_len
Unexecuted instantiation: link_state.c:printfrr_ext_len
Unexecuted instantiation: log.c:printfrr_ext_len
Unexecuted instantiation: log_filter.c:printfrr_ext_len
Unexecuted instantiation: log_vty.c:printfrr_ext_len
Unexecuted instantiation: memory.c:printfrr_ext_len
Unexecuted instantiation: mgmt_be_client.c:printfrr_ext_len
Unexecuted instantiation: mgmt_fe_client.c:printfrr_ext_len
Unexecuted instantiation: mgmt_msg.c:printfrr_ext_len
Unexecuted instantiation: mlag.c:printfrr_ext_len
Unexecuted instantiation: module.c:printfrr_ext_len
Unexecuted instantiation: srv6.c:printfrr_ext_len
Unexecuted instantiation: network.c:printfrr_ext_len
Unexecuted instantiation: nexthop.c:printfrr_ext_len
Unexecuted instantiation: netns_linux.c:printfrr_ext_len
Unexecuted instantiation: nexthop_group.c:printfrr_ext_len
Unexecuted instantiation: northbound.c:printfrr_ext_len
Unexecuted instantiation: northbound_cli.c:printfrr_ext_len
Unexecuted instantiation: northbound_db.c:printfrr_ext_len
Unexecuted instantiation: pid_output.c:printfrr_ext_len
Unexecuted instantiation: plist.c:printfrr_ext_len
Unexecuted instantiation: prefix.c:printfrr_ext_len
Unexecuted instantiation: privs.c:printfrr_ext_len
Unexecuted instantiation: pullwr.c:printfrr_ext_len
Unexecuted instantiation: qobj.c:printfrr_ext_len
Unexecuted instantiation: routemap.c:printfrr_ext_len
Unexecuted instantiation: routemap_cli.c:printfrr_ext_len
Unexecuted instantiation: routemap_northbound.c:printfrr_ext_len
Unexecuted instantiation: sbuf.c:printfrr_ext_len
Unexecuted instantiation: sigevent.c:printfrr_ext_len
Unexecuted instantiation: skiplist.c:printfrr_ext_len
Unexecuted instantiation: sockopt.c:printfrr_ext_len
Unexecuted instantiation: sockunion.c:printfrr_ext_len
Unexecuted instantiation: spf_backoff.c:printfrr_ext_len
Unexecuted instantiation: srcdest_table.c:printfrr_ext_len
Unexecuted instantiation: stream.c:printfrr_ext_len
Unexecuted instantiation: strformat.c:printfrr_ext_len
Unexecuted instantiation: systemd.c:printfrr_ext_len
Unexecuted instantiation: table.c:printfrr_ext_len
Unexecuted instantiation: termtable.c:printfrr_ext_len
Unexecuted instantiation: event.c:printfrr_ext_len
Unexecuted instantiation: vrf.c:printfrr_ext_len
Unexecuted instantiation: vty.c:printfrr_ext_len
Unexecuted instantiation: wheel.c:printfrr_ext_len
Unexecuted instantiation: workqueue.c:printfrr_ext_len
Unexecuted instantiation: xref.c:printfrr_ext_len
Unexecuted instantiation: yang.c:printfrr_ext_len
Unexecuted instantiation: yang_translator.c:printfrr_ext_len
Unexecuted instantiation: yang_wrappers.c:printfrr_ext_len
Unexecuted instantiation: zclient.c:printfrr_ext_len
Unexecuted instantiation: zlog.c:printfrr_ext_len
Unexecuted instantiation: zlog_5424.c:printfrr_ext_len
Unexecuted instantiation: zlog_5424_cli.c:printfrr_ext_len
Unexecuted instantiation: zlog_live.c:printfrr_ext_len
Unexecuted instantiation: zlog_targets.c:printfrr_ext_len
Unexecuted instantiation: printf-pos.c:printfrr_ext_len
Unexecuted instantiation: vfprintf.c:printfrr_ext_len
Unexecuted instantiation: glue.c:printfrr_ext_len
Unexecuted instantiation: routing_nb.c:printfrr_ext_len
Unexecuted instantiation: routing_nb_config.c:printfrr_ext_len
Unexecuted instantiation: tc.c:printfrr_ext_len
Unexecuted instantiation: frr-affinity-map.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-filter.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-if-rmap.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-interface.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-route-map.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-route-types.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-vrf.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-routing.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-nexthop.yang.c:printfrr_ext_len
Unexecuted instantiation: ietf-routing-types.yang.c:printfrr_ext_len
Unexecuted instantiation: ietf-interfaces.yang.c:printfrr_ext_len
Unexecuted instantiation: ietf-bgp-types.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-module-translator.yang.c:printfrr_ext_len
Unexecuted instantiation: connected.c:printfrr_ext_len
Unexecuted instantiation: if_netlink.c:printfrr_ext_len
Unexecuted instantiation: interface.c:printfrr_ext_len
Unexecuted instantiation: ioctl.c:printfrr_ext_len
Unexecuted instantiation: ipforward_proc.c:printfrr_ext_len
Unexecuted instantiation: kernel_netlink.c:printfrr_ext_len
Unexecuted instantiation: label_manager.c:printfrr_ext_len
Unexecuted instantiation: main.c:printfrr_ext_len
Unexecuted instantiation: netconf_netlink.c:printfrr_ext_len
Unexecuted instantiation: redistribute.c:printfrr_ext_len
Unexecuted instantiation: router-id.c:printfrr_ext_len
Unexecuted instantiation: rt_netlink.c:printfrr_ext_len
Unexecuted instantiation: rtadv.c:printfrr_ext_len
Unexecuted instantiation: rtread_netlink.c:printfrr_ext_len
Unexecuted instantiation: rule_netlink.c:printfrr_ext_len
Unexecuted instantiation: table_manager.c:printfrr_ext_len
Unexecuted instantiation: tc_netlink.c:printfrr_ext_len
Unexecuted instantiation: zapi_msg.c:printfrr_ext_len
Unexecuted instantiation: zebra_affinitymap.c:printfrr_ext_len
Unexecuted instantiation: zebra_dplane.c:printfrr_ext_len
Unexecuted instantiation: zebra_errors.c:printfrr_ext_len
Unexecuted instantiation: zebra_gr.c:printfrr_ext_len
Unexecuted instantiation: zebra_l2.c:printfrr_ext_len
Unexecuted instantiation: zebra_l2_bridge_if.c:printfrr_ext_len
Unexecuted instantiation: zebra_evpn.c:printfrr_ext_len
Unexecuted instantiation: zebra_evpn_mac.c:printfrr_ext_len
Unexecuted instantiation: zebra_evpn_neigh.c:printfrr_ext_len
Unexecuted instantiation: zebra_mlag.c:printfrr_ext_len
Unexecuted instantiation: zebra_mlag_vty.c:printfrr_ext_len
Unexecuted instantiation: zebra_mpls.c:printfrr_ext_len
Unexecuted instantiation: zebra_mpls_netlink.c:printfrr_ext_len
Unexecuted instantiation: zebra_mpls_null.c:printfrr_ext_len
Unexecuted instantiation: zebra_mpls_vty.c:printfrr_ext_len
Unexecuted instantiation: zebra_srv6.c:printfrr_ext_len
Unexecuted instantiation: zebra_srv6_vty.c:printfrr_ext_len
Unexecuted instantiation: zebra_mroute.c:printfrr_ext_len
Unexecuted instantiation: zebra_nb.c:printfrr_ext_len
Unexecuted instantiation: zebra_nb_config.c:printfrr_ext_len
Unexecuted instantiation: zebra_nb_rpcs.c:printfrr_ext_len
Unexecuted instantiation: zebra_nb_state.c:printfrr_ext_len
Unexecuted instantiation: zebra_netns_id.c:printfrr_ext_len
Unexecuted instantiation: zebra_netns_notify.c:printfrr_ext_len
Unexecuted instantiation: zebra_nhg.c:printfrr_ext_len
Unexecuted instantiation: zebra_ns.c:printfrr_ext_len
Unexecuted instantiation: zebra_opaque.c:printfrr_ext_len
Unexecuted instantiation: zebra_pbr.c:printfrr_ext_len
Unexecuted instantiation: zebra_ptm.c:printfrr_ext_len
Unexecuted instantiation: zebra_ptm_redistribute.c:printfrr_ext_len
Unexecuted instantiation: zebra_pw.c:printfrr_ext_len
Unexecuted instantiation: zebra_rib.c:printfrr_ext_len
Unexecuted instantiation: zebra_router.c:printfrr_ext_len
Unexecuted instantiation: zebra_rnh.c:printfrr_ext_len
Unexecuted instantiation: zebra_routemap.c:printfrr_ext_len
Unexecuted instantiation: zebra_routemap_nb.c:printfrr_ext_len
Unexecuted instantiation: zebra_routemap_nb_config.c:printfrr_ext_len
Unexecuted instantiation: zebra_script.c:printfrr_ext_len
Unexecuted instantiation: zebra_srte.c:printfrr_ext_len
Unexecuted instantiation: zebra_tc.c:printfrr_ext_len
Unexecuted instantiation: zebra_vrf.c:printfrr_ext_len
Unexecuted instantiation: zebra_vty.c:printfrr_ext_len
Unexecuted instantiation: zebra_vxlan.c:printfrr_ext_len
Unexecuted instantiation: zebra_vxlan_if.c:printfrr_ext_len
Unexecuted instantiation: zebra_evpn_mh.c:printfrr_ext_len
Unexecuted instantiation: zebra_neigh.c:printfrr_ext_len
Unexecuted instantiation: zserv.c:printfrr_ext_len
Unexecuted instantiation: debug_nl.c:printfrr_ext_len
Unexecuted instantiation: frr-zebra.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-zebra-route-map.yang.c:printfrr_ext_len
Unexecuted instantiation: bgp_main.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-types.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-common-structure.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-common.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-common-multiprotocol.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-neighbor.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-peer-group.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-bmp.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-rpki.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-deviations-bgp-datacenter.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-filter.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-bgp-route-map.yang.c:printfrr_ext_len
Unexecuted instantiation: bgp_attr.c:printfrr_ext_len
Unexecuted instantiation: bgp_attr_evpn.c:printfrr_ext_len
Unexecuted instantiation: bgp_clist.c:printfrr_ext_len
Unexecuted instantiation: bgp_community.c:printfrr_ext_len
Unexecuted instantiation: bgp_community_alias.c:printfrr_ext_len
Unexecuted instantiation: bgp_debug.c:printfrr_ext_len
Unexecuted instantiation: bgp_dump.c:printfrr_ext_len
Unexecuted instantiation: bgp_ecommunity.c:printfrr_ext_len
Unexecuted instantiation: bgp_errors.c:printfrr_ext_len
Unexecuted instantiation: bgp_evpn.c:printfrr_ext_len
Unexecuted instantiation: bgp_evpn_mh.c:printfrr_ext_len
Unexecuted instantiation: bgp_evpn_vty.c:printfrr_ext_len
Unexecuted instantiation: bgp_filter.c:printfrr_ext_len
Unexecuted instantiation: bgp_flowspec_vty.c:printfrr_ext_len
Unexecuted instantiation: bgp_fsm.c:printfrr_ext_len
Unexecuted instantiation: bgp_io.c:printfrr_ext_len
Unexecuted instantiation: bgp_keepalives.c:printfrr_ext_len
Unexecuted instantiation: bgp_labelpool.c:printfrr_ext_len
Unexecuted instantiation: bgp_lcommunity.c:printfrr_ext_len
Unexecuted instantiation: bgp_mac.c:printfrr_ext_len
Unexecuted instantiation: bgp_mpath.c:printfrr_ext_len
Unexecuted instantiation: bgp_mplsvpn.c:printfrr_ext_len
Unexecuted instantiation: bgp_network.c:printfrr_ext_len
Unexecuted instantiation: bgp_nexthop.c:printfrr_ext_len
Unexecuted instantiation: bgp_nht.c:printfrr_ext_len
Unexecuted instantiation: bgp_packet.c:printfrr_ext_len
Unexecuted instantiation: bgp_pbr.c:printfrr_ext_len
Unexecuted instantiation: bgp_rd.c:printfrr_ext_len
Unexecuted instantiation: bgp_regex.c:printfrr_ext_len
Unexecuted instantiation: bgp_route.c:printfrr_ext_len
Unexecuted instantiation: bgp_routemap.c:printfrr_ext_len
Unexecuted instantiation: bgp_routemap_nb.c:printfrr_ext_len
Unexecuted instantiation: bgp_routemap_nb_config.c:printfrr_ext_len
Unexecuted instantiation: bgp_table.c:printfrr_ext_len
Unexecuted instantiation: bgp_updgrp.c:printfrr_ext_len
Unexecuted instantiation: bgp_updgrp_adv.c:printfrr_ext_len
Unexecuted instantiation: bgp_updgrp_packet.c:printfrr_ext_len
Unexecuted instantiation: bgp_vpn.c:printfrr_ext_len
Unexecuted instantiation: bgp_vty.c:printfrr_ext_len
Unexecuted instantiation: bgp_zebra.c:printfrr_ext_len
Unexecuted instantiation: bgpd.c:printfrr_ext_len
Unexecuted instantiation: bgp_rfapi_cfg.c:printfrr_ext_len
Unexecuted instantiation: rfapi_import.c:printfrr_ext_len
Unexecuted instantiation: rfapi.c:printfrr_ext_len
Unexecuted instantiation: rfapi_ap.c:printfrr_ext_len
Unexecuted instantiation: rfapi_encap_tlv.c:printfrr_ext_len
Unexecuted instantiation: rfapi_nve_addr.c:printfrr_ext_len
Unexecuted instantiation: rfapi_monitor.c:printfrr_ext_len
Unexecuted instantiation: rfapi_rib.c:printfrr_ext_len
Unexecuted instantiation: rfapi_vty.c:printfrr_ext_len
Unexecuted instantiation: vnc_debug.c:printfrr_ext_len
Unexecuted instantiation: vnc_export_bgp.c:printfrr_ext_len
Unexecuted instantiation: vnc_export_table.c:printfrr_ext_len
Unexecuted instantiation: vnc_import_bgp.c:printfrr_ext_len
Unexecuted instantiation: vnc_zebra.c:printfrr_ext_len
Unexecuted instantiation: bgp_addpath.c:printfrr_ext_len
Unexecuted instantiation: bgp_advertise.c:printfrr_ext_len
Unexecuted instantiation: bgp_aspath.c:printfrr_ext_len
Unexecuted instantiation: bgp_bfd.c:printfrr_ext_len
Unexecuted instantiation: bgp_conditional_adv.c:printfrr_ext_len
Unexecuted instantiation: bgp_damp.c:printfrr_ext_len
Unexecuted instantiation: bgp_encap_tlv.c:printfrr_ext_len
Unexecuted instantiation: bgp_flowspec.c:printfrr_ext_len
Unexecuted instantiation: bgp_flowspec_util.c:printfrr_ext_len
Unexecuted instantiation: bgp_label.c:printfrr_ext_len
Unexecuted instantiation: bgp_open.c:printfrr_ext_len
Unexecuted instantiation: rfp_example.c:printfrr_ext_len
Unexecuted instantiation: pim_addr.c:printfrr_ext_len
Unexecuted instantiation: pim_assert.c:printfrr_ext_len
Unexecuted instantiation: pim_bfd.c:printfrr_ext_len
Unexecuted instantiation: pim_bsm.c:printfrr_ext_len
Unexecuted instantiation: pim_cmd_common.c:printfrr_ext_len
Unexecuted instantiation: pim_errors.c:printfrr_ext_len
Unexecuted instantiation: pim_hello.c:printfrr_ext_len
Unexecuted instantiation: pim_iface.c:printfrr_ext_len
Unexecuted instantiation: pim_ifchannel.c:printfrr_ext_len
Unexecuted instantiation: pim_instance.c:printfrr_ext_len
Unexecuted instantiation: pim_join.c:printfrr_ext_len
Unexecuted instantiation: pim_jp_agg.c:printfrr_ext_len
Unexecuted instantiation: pim_macro.c:printfrr_ext_len
Unexecuted instantiation: pim_mroute.c:printfrr_ext_len
Unexecuted instantiation: pim_msg.c:printfrr_ext_len
Unexecuted instantiation: pim_nb.c:printfrr_ext_len
Unexecuted instantiation: pim_nb_config.c:printfrr_ext_len
Unexecuted instantiation: pim_neighbor.c:printfrr_ext_len
Unexecuted instantiation: pim_nht.c:printfrr_ext_len
Unexecuted instantiation: pim_oil.c:printfrr_ext_len
Unexecuted instantiation: pim_pim.c:printfrr_ext_len
Unexecuted instantiation: pim_routemap.c:printfrr_ext_len
Unexecuted instantiation: pim_rp.c:printfrr_ext_len
Unexecuted instantiation: pim_rpf.c:printfrr_ext_len
Unexecuted instantiation: pim_sock.c:printfrr_ext_len
Unexecuted instantiation: pim_ssm.c:printfrr_ext_len
Unexecuted instantiation: pim_ssmpingd.c:printfrr_ext_len
Unexecuted instantiation: pim_static.c:printfrr_ext_len
Unexecuted instantiation: pim_str.c:printfrr_ext_len
Unexecuted instantiation: pim_tib.c:printfrr_ext_len
Unexecuted instantiation: pim_time.c:printfrr_ext_len
Unexecuted instantiation: pim_tlv.c:printfrr_ext_len
Unexecuted instantiation: pim_upstream.c:printfrr_ext_len
Unexecuted instantiation: pim_util.c:printfrr_ext_len
Unexecuted instantiation: pim_vty.c:printfrr_ext_len
Unexecuted instantiation: pim_zebra.c:printfrr_ext_len
Unexecuted instantiation: pim_zlookup.c:printfrr_ext_len
Unexecuted instantiation: pim_vxlan.c:printfrr_ext_len
Unexecuted instantiation: pim_register.c:printfrr_ext_len
Unexecuted instantiation: pimd.c:printfrr_ext_len
Unexecuted instantiation: pim_cmd.c:printfrr_ext_len
Unexecuted instantiation: pim_igmp.c:printfrr_ext_len
Unexecuted instantiation: pim_igmp_mtrace.c:printfrr_ext_len
Unexecuted instantiation: pim_igmpv2.c:printfrr_ext_len
Unexecuted instantiation: pim_igmpv3.c:printfrr_ext_len
Unexecuted instantiation: pim_main.c:printfrr_ext_len
Unexecuted instantiation: pim_mlag.c:printfrr_ext_len
Unexecuted instantiation: pim_msdp.c:printfrr_ext_len
Unexecuted instantiation: pim_msdp_packet.c:printfrr_ext_len
Unexecuted instantiation: pim_msdp_socket.c:printfrr_ext_len
Unexecuted instantiation: pim_signals.c:printfrr_ext_len
Unexecuted instantiation: pim_zpthread.c:printfrr_ext_len
Unexecuted instantiation: frr-pim.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-pim-rp.yang.c:printfrr_ext_len
Unexecuted instantiation: frr-gmp.yang.c:printfrr_ext_len
186
187
/* no locking - must be called when single threaded (e.g. at startup.)
188
 * this restriction hopefully won't be a huge bother considering normal usage
189
 * scenarios...
190
 */
191
void printfrr_ext_reg(const struct printfrr_ext *);
192
193
#define printfrr_ext_autoreg_p(matchs, print_fn)                               \
194
  static ssize_t print_fn(struct fbuf *, struct printfrr_eargs *,        \
195
        const void *);                                 \
196
  static const struct printfrr_ext _printext_##print_fn = {              \
197
    .match = matchs,                                               \
198
    .print_ptr = print_fn,                                         \
199
  };                                                                     \
200
  static void _printreg_##print_fn(void) __attribute__((constructor));   \
201
  static void _printreg_##print_fn(void)                                 \
202
226
  {                                                                      \
203
226
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
226
  }                                                                      \
asn.c:_printreg_printfrr_asplain
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
asn.c:_printreg_printfrr_asdot
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
asn.c:_printreg_printfrr_asdotplus
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
iso.c:_printreg_printfrr_iso_sysid
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
iso.c:_printreg_printfrr_iso_pseudo
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
iso.c:_printreg_printfrr_iso_frag_id
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
iso.c:_printreg_printfrr_iso_addr
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
nexthop.c:_printreg_printfrr_nh
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
prefix.c:_printreg_printfrr_ea
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
prefix.c:_printreg_printfrr_ia
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
prefix.c:_printreg_printfrr_i4
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
prefix.c:_printreg_printfrr_i6
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
prefix.c:_printreg_printfrr_pfx
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
prefix.c:_printreg_printfrr_psg
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
sockunion.c:_printreg_printfrr_psu
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
srcdest_table.c:_printreg_printfrr_rn
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
strformat.c:_printreg_printfrr_hexdump
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
strformat.c:_printreg_printfrr_hexdstr
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
strformat.c:_printreg_printfrr_escape
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
strformat.c:_printreg_printfrr_quote
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
strformat.c:_printreg_printfrr_ts
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
strformat.c:_printreg_printfrr_tv
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
strformat.c:_printreg_printfrr_tt
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
event.c:_printreg_printfrr_thread
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
glue.c:_printreg_printfrr_fb
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
glue.c:_printreg_printfrr_va
Line
Count
Source
202
8
  {                                                                      \
203
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
8
  }                                                                      \
zebra_nhg.c:_printreg_printfrr_nhghe
Line
Count
Source
202
2
  {                                                                      \
203
2
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
2
  }                                                                      \
zebra_rib.c:_printreg_printfrr_zebra_node
Line
Count
Source
202
2
  {                                                                      \
203
2
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
2
  }                                                                      \
bgp_rd.c:_printreg_printfrr_prd
Line
Count
Source
202
2
  {                                                                      \
203
2
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
2
  }                                                                      \
bgp_rd.c:_printreg_printfrr_prd_dot
Line
Count
Source
202
2
  {                                                                      \
203
2
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
2
  }                                                                      \
bgp_rd.c:_printreg_printfrr_prd_dotplus
Line
Count
Source
202
2
  {                                                                      \
203
2
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
2
  }                                                                      \
bgp_table.c:_printreg_printfrr_bd
Line
Count
Source
202
2
  {                                                                      \
203
2
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
2
  }                                                                      \
bgpd.c:_printreg_printfrr_bp
Line
Count
Source
202
2
  {                                                                      \
203
2
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
2
  }                                                                      \
pim_addr.c:_printreg_printfrr_pimaddr
Line
Count
Source
202
2
  {                                                                      \
203
2
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
2
  }                                                                      \
pim_addr.c:_printreg_printfrr_sgaddr
Line
Count
Source
202
2
  {                                                                      \
203
2
    printfrr_ext_reg(&_printext_##print_fn);                       \
204
2
  }                                                                      \
205
  MACRO_REQUIRE_SEMICOLON()
206
207
#define printfrr_ext_autoreg_i(matchs, print_fn)                               \
208
  static ssize_t print_fn(struct fbuf *, struct printfrr_eargs *,        \
209
        uintmax_t);                                    \
210
  static const struct printfrr_ext _printext_##print_fn = {              \
211
    .match = matchs,                                               \
212
    .print_int = print_fn,                                         \
213
  };                                                                     \
214
  static void _printreg_##print_fn(void) __attribute__((constructor));   \
215
  static void _printreg_##print_fn(void)                                 \
216
16
  {                                                                      \
217
16
    printfrr_ext_reg(&_printext_##print_fn);                       \
218
16
  }                                                                      \
sockunion.c:_printreg_printfrr_pf
Line
Count
Source
216
8
  {                                                                      \
217
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
218
8
  }                                                                      \
sockunion.c:_printreg_printfrr_so
Line
Count
Source
216
8
  {                                                                      \
217
8
    printfrr_ext_reg(&_printext_##print_fn);                       \
218
8
  }                                                                      \
219
  MACRO_REQUIRE_SEMICOLON()
220
221
/* fbuf helper functions - note all 3 of these return the length that would
222
 * be written regardless of how much space was available in the buffer, as
223
 * needed for implementing printfrr extensions.  (They also accept NULL buf
224
 * for that.)
225
 */
226
227
static inline ssize_t bputs(struct fbuf *buf, const char *str)
228
252k
{
229
252k
  size_t len = strlen(str);
230
252k
  size_t ncopy;
231
232
252k
  if (!buf)
233
0
    return len;
234
235
252k
  ncopy = MIN(len, (size_t)(buf->buf + buf->len - buf->pos));
236
252k
  memcpy(buf->pos, str, ncopy);
237
252k
  buf->pos += ncopy;
238
239
252k
  return len;
240
252k
}
Unexecuted instantiation: ospf_main.c:bputs
Unexecuted instantiation: frr-ospf-route-map.yang.c:bputs
Unexecuted instantiation: ospf_bfd.c:bputs
Unexecuted instantiation: ospf_dump.c:bputs
Unexecuted instantiation: ospf_dump_api.c:bputs
Unexecuted instantiation: ospf_errors.c:bputs
Unexecuted instantiation: ospf_interface.c:bputs
Unexecuted instantiation: ospf_lsa.c:bputs
Unexecuted instantiation: ospf_lsdb.c:bputs
Unexecuted instantiation: ospf_neighbor.c:bputs
Unexecuted instantiation: ospf_network.c:bputs
Unexecuted instantiation: ospf_nsm.c:bputs
Unexecuted instantiation: ospf_opaque.c:bputs
Unexecuted instantiation: ospf_packet.c:bputs
Unexecuted instantiation: ospf_ri.c:bputs
Unexecuted instantiation: ospf_routemap.c:bputs
Unexecuted instantiation: ospf_routemap_nb.c:bputs
Unexecuted instantiation: ospf_routemap_nb_config.c:bputs
Unexecuted instantiation: ospf_spf.c:bputs
Unexecuted instantiation: ospf_ti_lfa.c:bputs
Unexecuted instantiation: ospf_sr.c:bputs
Unexecuted instantiation: ospf_te.c:bputs
Unexecuted instantiation: ospf_vty.c:bputs
Unexecuted instantiation: ospf_zebra.c:bputs
Unexecuted instantiation: ospfd.c:bputs
Unexecuted instantiation: ospf_gr_helper.c:bputs
Unexecuted instantiation: ospf_abr.c:bputs
Unexecuted instantiation: ospf_apiserver.c:bputs
Unexecuted instantiation: ospf_asbr.c:bputs
Unexecuted instantiation: ospf_ase.c:bputs
Unexecuted instantiation: ospf_ext.c:bputs
Unexecuted instantiation: ospf_flood.c:bputs
Unexecuted instantiation: ospf_gr.c:bputs
Unexecuted instantiation: ospf_ia.c:bputs
Unexecuted instantiation: ospf_ism.c:bputs
Unexecuted instantiation: ospf_ldp_sync.c:bputs
Unexecuted instantiation: ospf_route.c:bputs
Unexecuted instantiation: ospf_api.c:bputs
Unexecuted instantiation: affinitymap.c:bputs
Unexecuted instantiation: affinitymap_cli.c:bputs
Unexecuted instantiation: affinitymap_northbound.c:bputs
Unexecuted instantiation: agg_table.c:bputs
asn.c:bputs
Line
Count
Source
228
4.19k
{
229
4.19k
  size_t len = strlen(str);
230
4.19k
  size_t ncopy;
231
232
4.19k
  if (!buf)
233
0
    return len;
234
235
4.19k
  ncopy = MIN(len, (size_t)(buf->buf + buf->len - buf->pos));
236
4.19k
  memcpy(buf->pos, str, ncopy);
237
4.19k
  buf->pos += ncopy;
238
239
4.19k
  return len;
240
4.19k
}
Unexecuted instantiation: bfd.c:bputs
Unexecuted instantiation: buffer.c:bputs
Unexecuted instantiation: command.c:bputs
Unexecuted instantiation: command_graph.c:bputs
Unexecuted instantiation: command_lex.c:bputs
Unexecuted instantiation: command_match.c:bputs
Unexecuted instantiation: command_parse.c:bputs
Unexecuted instantiation: cspf.c:bputs
Unexecuted instantiation: debug.c:bputs
Unexecuted instantiation: distribute.c:bputs
Unexecuted instantiation: ferr.c:bputs
Unexecuted instantiation: filter.c:bputs
Unexecuted instantiation: filter_cli.c:bputs
Unexecuted instantiation: filter_nb.c:bputs
Unexecuted instantiation: flex_algo.c:bputs
Unexecuted instantiation: frr_pthread.c:bputs
Unexecuted instantiation: grammar_sandbox.c:bputs
Unexecuted instantiation: hash.c:bputs
Unexecuted instantiation: id_alloc.c:bputs
Unexecuted instantiation: if.c:bputs
Unexecuted instantiation: if_rmap.c:bputs
Unexecuted instantiation: iso.c:bputs
Unexecuted instantiation: json.c:bputs
Unexecuted instantiation: keychain.c:bputs
Unexecuted instantiation: ldp_sync.c:bputs
Unexecuted instantiation: lib_errors.c:bputs
Unexecuted instantiation: lib_vty.c:bputs
Unexecuted instantiation: libfrr.c:bputs
Unexecuted instantiation: link_state.c:bputs
Unexecuted instantiation: log.c:bputs
Unexecuted instantiation: log_filter.c:bputs
Unexecuted instantiation: log_vty.c:bputs
Unexecuted instantiation: memory.c:bputs
Unexecuted instantiation: mgmt_be_client.c:bputs
Unexecuted instantiation: mgmt_fe_client.c:bputs
Unexecuted instantiation: mgmt_msg.c:bputs
Unexecuted instantiation: mlag.c:bputs
Unexecuted instantiation: module.c:bputs
Unexecuted instantiation: srv6.c:bputs
Unexecuted instantiation: network.c:bputs
Unexecuted instantiation: nexthop.c:bputs
Unexecuted instantiation: netns_linux.c:bputs
Unexecuted instantiation: nexthop_group.c:bputs
Unexecuted instantiation: northbound.c:bputs
Unexecuted instantiation: northbound_cli.c:bputs
Unexecuted instantiation: northbound_db.c:bputs
Unexecuted instantiation: pid_output.c:bputs
Unexecuted instantiation: plist.c:bputs
prefix.c:bputs
Line
Count
Source
228
247k
{
229
247k
  size_t len = strlen(str);
230
247k
  size_t ncopy;
231
232
247k
  if (!buf)
233
0
    return len;
234
235
247k
  ncopy = MIN(len, (size_t)(buf->buf + buf->len - buf->pos));
236
247k
  memcpy(buf->pos, str, ncopy);
237
247k
  buf->pos += ncopy;
238
239
247k
  return len;
240
247k
}
Unexecuted instantiation: privs.c:bputs
Unexecuted instantiation: pullwr.c:bputs
Unexecuted instantiation: qobj.c:bputs
Unexecuted instantiation: routemap.c:bputs
Unexecuted instantiation: routemap_cli.c:bputs
Unexecuted instantiation: routemap_northbound.c:bputs
Unexecuted instantiation: sbuf.c:bputs
Unexecuted instantiation: sigevent.c:bputs
Unexecuted instantiation: skiplist.c:bputs
Unexecuted instantiation: sockopt.c:bputs
Unexecuted instantiation: sockunion.c:bputs
Unexecuted instantiation: spf_backoff.c:bputs
Unexecuted instantiation: srcdest_table.c:bputs
Unexecuted instantiation: stream.c:bputs
Unexecuted instantiation: strformat.c:bputs
Unexecuted instantiation: systemd.c:bputs
Unexecuted instantiation: table.c:bputs
Unexecuted instantiation: termtable.c:bputs
Unexecuted instantiation: event.c:bputs
Unexecuted instantiation: vrf.c:bputs
Unexecuted instantiation: vty.c:bputs
Unexecuted instantiation: wheel.c:bputs
Unexecuted instantiation: workqueue.c:bputs
Unexecuted instantiation: xref.c:bputs
Unexecuted instantiation: yang.c:bputs
Unexecuted instantiation: yang_translator.c:bputs
Unexecuted instantiation: yang_wrappers.c:bputs
Unexecuted instantiation: zclient.c:bputs
Unexecuted instantiation: zlog.c:bputs
Unexecuted instantiation: zlog_5424.c:bputs
Unexecuted instantiation: zlog_5424_cli.c:bputs
Unexecuted instantiation: zlog_live.c:bputs
Unexecuted instantiation: zlog_targets.c:bputs
Unexecuted instantiation: printf-pos.c:bputs
Unexecuted instantiation: vfprintf.c:bputs
Unexecuted instantiation: glue.c:bputs
Unexecuted instantiation: routing_nb.c:bputs
Unexecuted instantiation: routing_nb_config.c:bputs
Unexecuted instantiation: tc.c:bputs
Unexecuted instantiation: frr-affinity-map.yang.c:bputs
Unexecuted instantiation: frr-filter.yang.c:bputs
Unexecuted instantiation: frr-if-rmap.yang.c:bputs
Unexecuted instantiation: frr-interface.yang.c:bputs
Unexecuted instantiation: frr-route-map.yang.c:bputs
Unexecuted instantiation: frr-route-types.yang.c:bputs
Unexecuted instantiation: frr-vrf.yang.c:bputs
Unexecuted instantiation: frr-routing.yang.c:bputs
Unexecuted instantiation: frr-nexthop.yang.c:bputs
Unexecuted instantiation: ietf-routing-types.yang.c:bputs
Unexecuted instantiation: ietf-interfaces.yang.c:bputs
Unexecuted instantiation: ietf-bgp-types.yang.c:bputs
Unexecuted instantiation: frr-module-translator.yang.c:bputs
Unexecuted instantiation: connected.c:bputs
Unexecuted instantiation: if_netlink.c:bputs
Unexecuted instantiation: interface.c:bputs
Unexecuted instantiation: ioctl.c:bputs
Unexecuted instantiation: ipforward_proc.c:bputs
Unexecuted instantiation: kernel_netlink.c:bputs
Unexecuted instantiation: label_manager.c:bputs
Unexecuted instantiation: main.c:bputs
Unexecuted instantiation: netconf_netlink.c:bputs
Unexecuted instantiation: redistribute.c:bputs
Unexecuted instantiation: router-id.c:bputs
Unexecuted instantiation: rt_netlink.c:bputs
Unexecuted instantiation: rtadv.c:bputs
Unexecuted instantiation: rtread_netlink.c:bputs
Unexecuted instantiation: rule_netlink.c:bputs
Unexecuted instantiation: table_manager.c:bputs
Unexecuted instantiation: tc_netlink.c:bputs
Unexecuted instantiation: zapi_msg.c:bputs
Unexecuted instantiation: zebra_affinitymap.c:bputs
Unexecuted instantiation: zebra_dplane.c:bputs
Unexecuted instantiation: zebra_errors.c:bputs
Unexecuted instantiation: zebra_gr.c:bputs
Unexecuted instantiation: zebra_l2.c:bputs
Unexecuted instantiation: zebra_l2_bridge_if.c:bputs
Unexecuted instantiation: zebra_evpn.c:bputs
Unexecuted instantiation: zebra_evpn_mac.c:bputs
Unexecuted instantiation: zebra_evpn_neigh.c:bputs
Unexecuted instantiation: zebra_mlag.c:bputs
Unexecuted instantiation: zebra_mlag_vty.c:bputs
Unexecuted instantiation: zebra_mpls.c:bputs
Unexecuted instantiation: zebra_mpls_netlink.c:bputs
Unexecuted instantiation: zebra_mpls_null.c:bputs
Unexecuted instantiation: zebra_mpls_vty.c:bputs
Unexecuted instantiation: zebra_srv6.c:bputs
Unexecuted instantiation: zebra_srv6_vty.c:bputs
Unexecuted instantiation: zebra_mroute.c:bputs
Unexecuted instantiation: zebra_nb.c:bputs
Unexecuted instantiation: zebra_nb_config.c:bputs
Unexecuted instantiation: zebra_nb_rpcs.c:bputs
Unexecuted instantiation: zebra_nb_state.c:bputs
Unexecuted instantiation: zebra_netns_id.c:bputs
Unexecuted instantiation: zebra_netns_notify.c:bputs
Unexecuted instantiation: zebra_nhg.c:bputs
Unexecuted instantiation: zebra_ns.c:bputs
Unexecuted instantiation: zebra_opaque.c:bputs
Unexecuted instantiation: zebra_pbr.c:bputs
Unexecuted instantiation: zebra_ptm.c:bputs
Unexecuted instantiation: zebra_ptm_redistribute.c:bputs
Unexecuted instantiation: zebra_pw.c:bputs
Unexecuted instantiation: zebra_rib.c:bputs
Unexecuted instantiation: zebra_router.c:bputs
Unexecuted instantiation: zebra_rnh.c:bputs
Unexecuted instantiation: zebra_routemap.c:bputs
Unexecuted instantiation: zebra_routemap_nb.c:bputs
Unexecuted instantiation: zebra_routemap_nb_config.c:bputs
Unexecuted instantiation: zebra_script.c:bputs
Unexecuted instantiation: zebra_srte.c:bputs
Unexecuted instantiation: zebra_tc.c:bputs
Unexecuted instantiation: zebra_vrf.c:bputs
Unexecuted instantiation: zebra_vty.c:bputs
Unexecuted instantiation: zebra_vxlan.c:bputs
Unexecuted instantiation: zebra_vxlan_if.c:bputs
Unexecuted instantiation: zebra_evpn_mh.c:bputs
Unexecuted instantiation: zebra_neigh.c:bputs
Unexecuted instantiation: zserv.c:bputs
Unexecuted instantiation: debug_nl.c:bputs
Unexecuted instantiation: frr-zebra.yang.c:bputs
Unexecuted instantiation: frr-zebra-route-map.yang.c:bputs
Unexecuted instantiation: bgp_main.c:bputs
Unexecuted instantiation: frr-bgp-types.yang.c:bputs
Unexecuted instantiation: frr-bgp.yang.c:bputs
Unexecuted instantiation: frr-bgp-common-structure.yang.c:bputs
Unexecuted instantiation: frr-bgp-common.yang.c:bputs
Unexecuted instantiation: frr-bgp-common-multiprotocol.yang.c:bputs
Unexecuted instantiation: frr-bgp-neighbor.yang.c:bputs
Unexecuted instantiation: frr-bgp-peer-group.yang.c:bputs
Unexecuted instantiation: frr-bgp-bmp.yang.c:bputs
Unexecuted instantiation: frr-bgp-rpki.yang.c:bputs
Unexecuted instantiation: frr-deviations-bgp-datacenter.yang.c:bputs
Unexecuted instantiation: frr-bgp-filter.yang.c:bputs
Unexecuted instantiation: frr-bgp-route-map.yang.c:bputs
Unexecuted instantiation: bgp_attr.c:bputs
Unexecuted instantiation: bgp_attr_evpn.c:bputs
Unexecuted instantiation: bgp_clist.c:bputs
Unexecuted instantiation: bgp_community.c:bputs
Unexecuted instantiation: bgp_community_alias.c:bputs
Unexecuted instantiation: bgp_debug.c:bputs
Unexecuted instantiation: bgp_dump.c:bputs
Unexecuted instantiation: bgp_ecommunity.c:bputs
Unexecuted instantiation: bgp_errors.c:bputs
Unexecuted instantiation: bgp_evpn.c:bputs
Unexecuted instantiation: bgp_evpn_mh.c:bputs
Unexecuted instantiation: bgp_evpn_vty.c:bputs
Unexecuted instantiation: bgp_filter.c:bputs
Unexecuted instantiation: bgp_flowspec_vty.c:bputs
Unexecuted instantiation: bgp_fsm.c:bputs
Unexecuted instantiation: bgp_io.c:bputs
Unexecuted instantiation: bgp_keepalives.c:bputs
Unexecuted instantiation: bgp_labelpool.c:bputs
Unexecuted instantiation: bgp_lcommunity.c:bputs
Unexecuted instantiation: bgp_mac.c:bputs
Unexecuted instantiation: bgp_mpath.c:bputs
Unexecuted instantiation: bgp_mplsvpn.c:bputs
Unexecuted instantiation: bgp_network.c:bputs
Unexecuted instantiation: bgp_nexthop.c:bputs
Unexecuted instantiation: bgp_nht.c:bputs
Unexecuted instantiation: bgp_packet.c:bputs
Unexecuted instantiation: bgp_pbr.c:bputs
Unexecuted instantiation: bgp_rd.c:bputs
Unexecuted instantiation: bgp_regex.c:bputs
Unexecuted instantiation: bgp_route.c:bputs
Unexecuted instantiation: bgp_routemap.c:bputs
Unexecuted instantiation: bgp_routemap_nb.c:bputs
Unexecuted instantiation: bgp_routemap_nb_config.c:bputs
Unexecuted instantiation: bgp_table.c:bputs
Unexecuted instantiation: bgp_updgrp.c:bputs
Unexecuted instantiation: bgp_updgrp_adv.c:bputs
Unexecuted instantiation: bgp_updgrp_packet.c:bputs
Unexecuted instantiation: bgp_vpn.c:bputs
Unexecuted instantiation: bgp_vty.c:bputs
Unexecuted instantiation: bgp_zebra.c:bputs
Unexecuted instantiation: bgpd.c:bputs
Unexecuted instantiation: bgp_rfapi_cfg.c:bputs
Unexecuted instantiation: rfapi_import.c:bputs
Unexecuted instantiation: rfapi.c:bputs
Unexecuted instantiation: rfapi_ap.c:bputs
Unexecuted instantiation: rfapi_encap_tlv.c:bputs
Unexecuted instantiation: rfapi_nve_addr.c:bputs
Unexecuted instantiation: rfapi_monitor.c:bputs
Unexecuted instantiation: rfapi_rib.c:bputs
Unexecuted instantiation: rfapi_vty.c:bputs
Unexecuted instantiation: vnc_debug.c:bputs
Unexecuted instantiation: vnc_export_bgp.c:bputs
Unexecuted instantiation: vnc_export_table.c:bputs
Unexecuted instantiation: vnc_import_bgp.c:bputs
Unexecuted instantiation: vnc_zebra.c:bputs
Unexecuted instantiation: bgp_addpath.c:bputs
Unexecuted instantiation: bgp_advertise.c:bputs
Unexecuted instantiation: bgp_aspath.c:bputs
Unexecuted instantiation: bgp_bfd.c:bputs
Unexecuted instantiation: bgp_conditional_adv.c:bputs
Unexecuted instantiation: bgp_damp.c:bputs
Unexecuted instantiation: bgp_encap_tlv.c:bputs
Unexecuted instantiation: bgp_flowspec.c:bputs
Unexecuted instantiation: bgp_flowspec_util.c:bputs
Unexecuted instantiation: bgp_label.c:bputs
Unexecuted instantiation: bgp_open.c:bputs
Unexecuted instantiation: rfp_example.c:bputs
Unexecuted instantiation: pim_addr.c:bputs
Unexecuted instantiation: pim_assert.c:bputs
Unexecuted instantiation: pim_bfd.c:bputs
Unexecuted instantiation: pim_bsm.c:bputs
Unexecuted instantiation: pim_cmd_common.c:bputs
Unexecuted instantiation: pim_errors.c:bputs
Unexecuted instantiation: pim_hello.c:bputs
Unexecuted instantiation: pim_iface.c:bputs
Unexecuted instantiation: pim_ifchannel.c:bputs
Unexecuted instantiation: pim_instance.c:bputs
Unexecuted instantiation: pim_join.c:bputs
Unexecuted instantiation: pim_jp_agg.c:bputs
Unexecuted instantiation: pim_macro.c:bputs
Unexecuted instantiation: pim_mroute.c:bputs
Unexecuted instantiation: pim_msg.c:bputs
Unexecuted instantiation: pim_nb.c:bputs
Unexecuted instantiation: pim_nb_config.c:bputs
Unexecuted instantiation: pim_neighbor.c:bputs
Unexecuted instantiation: pim_nht.c:bputs
Unexecuted instantiation: pim_oil.c:bputs
Unexecuted instantiation: pim_pim.c:bputs
Unexecuted instantiation: pim_routemap.c:bputs
Unexecuted instantiation: pim_rp.c:bputs
Unexecuted instantiation: pim_rpf.c:bputs
Unexecuted instantiation: pim_sock.c:bputs
Unexecuted instantiation: pim_ssm.c:bputs
Unexecuted instantiation: pim_ssmpingd.c:bputs
Unexecuted instantiation: pim_static.c:bputs
Unexecuted instantiation: pim_str.c:bputs
Unexecuted instantiation: pim_tib.c:bputs
Unexecuted instantiation: pim_time.c:bputs
Unexecuted instantiation: pim_tlv.c:bputs
Unexecuted instantiation: pim_upstream.c:bputs
Unexecuted instantiation: pim_util.c:bputs
Unexecuted instantiation: pim_vty.c:bputs
Unexecuted instantiation: pim_zebra.c:bputs
Unexecuted instantiation: pim_zlookup.c:bputs
Unexecuted instantiation: pim_vxlan.c:bputs
Unexecuted instantiation: pim_register.c:bputs
Unexecuted instantiation: pimd.c:bputs
Unexecuted instantiation: pim_cmd.c:bputs
Unexecuted instantiation: pim_igmp.c:bputs
Unexecuted instantiation: pim_igmp_mtrace.c:bputs
Unexecuted instantiation: pim_igmpv2.c:bputs
Unexecuted instantiation: pim_igmpv3.c:bputs
Unexecuted instantiation: pim_main.c:bputs
Unexecuted instantiation: pim_mlag.c:bputs
Unexecuted instantiation: pim_msdp.c:bputs
Unexecuted instantiation: pim_msdp_packet.c:bputs
Unexecuted instantiation: pim_msdp_socket.c:bputs
Unexecuted instantiation: pim_signals.c:bputs
Unexecuted instantiation: pim_zpthread.c:bputs
Unexecuted instantiation: frr-pim.yang.c:bputs
Unexecuted instantiation: frr-pim-rp.yang.c:bputs
Unexecuted instantiation: frr-gmp.yang.c:bputs
241
242
static inline ssize_t bputch(struct fbuf *buf, char ch)
243
1.89k
{
244
1.89k
  if (buf && buf->pos < buf->buf + buf->len)
245
1.89k
    *buf->pos++ = ch;
246
1.89k
  return 1;
247
1.89k
}
Unexecuted instantiation: ospf_main.c:bputch
Unexecuted instantiation: frr-ospf-route-map.yang.c:bputch
Unexecuted instantiation: ospf_bfd.c:bputch
Unexecuted instantiation: ospf_dump.c:bputch
Unexecuted instantiation: ospf_dump_api.c:bputch
Unexecuted instantiation: ospf_errors.c:bputch
Unexecuted instantiation: ospf_interface.c:bputch
Unexecuted instantiation: ospf_lsa.c:bputch
Unexecuted instantiation: ospf_lsdb.c:bputch
Unexecuted instantiation: ospf_neighbor.c:bputch
Unexecuted instantiation: ospf_network.c:bputch
Unexecuted instantiation: ospf_nsm.c:bputch
Unexecuted instantiation: ospf_opaque.c:bputch
Unexecuted instantiation: ospf_packet.c:bputch
Unexecuted instantiation: ospf_ri.c:bputch
Unexecuted instantiation: ospf_routemap.c:bputch
Unexecuted instantiation: ospf_routemap_nb.c:bputch
Unexecuted instantiation: ospf_routemap_nb_config.c:bputch
Unexecuted instantiation: ospf_spf.c:bputch
Unexecuted instantiation: ospf_ti_lfa.c:bputch
Unexecuted instantiation: ospf_sr.c:bputch
Unexecuted instantiation: ospf_te.c:bputch
Unexecuted instantiation: ospf_vty.c:bputch
Unexecuted instantiation: ospf_zebra.c:bputch
Unexecuted instantiation: ospfd.c:bputch
Unexecuted instantiation: ospf_gr_helper.c:bputch
Unexecuted instantiation: ospf_abr.c:bputch
Unexecuted instantiation: ospf_apiserver.c:bputch
Unexecuted instantiation: ospf_asbr.c:bputch
Unexecuted instantiation: ospf_ase.c:bputch
Unexecuted instantiation: ospf_ext.c:bputch
Unexecuted instantiation: ospf_flood.c:bputch
Unexecuted instantiation: ospf_gr.c:bputch
Unexecuted instantiation: ospf_ia.c:bputch
Unexecuted instantiation: ospf_ism.c:bputch
Unexecuted instantiation: ospf_ldp_sync.c:bputch
Unexecuted instantiation: ospf_route.c:bputch
Unexecuted instantiation: ospf_api.c:bputch
Unexecuted instantiation: affinitymap.c:bputch
Unexecuted instantiation: affinitymap_cli.c:bputch
Unexecuted instantiation: affinitymap_northbound.c:bputch
Unexecuted instantiation: agg_table.c:bputch
Unexecuted instantiation: asn.c:bputch
Unexecuted instantiation: bfd.c:bputch
Unexecuted instantiation: buffer.c:bputch
Unexecuted instantiation: command.c:bputch
Unexecuted instantiation: command_graph.c:bputch
Unexecuted instantiation: command_lex.c:bputch
Unexecuted instantiation: command_match.c:bputch
Unexecuted instantiation: command_parse.c:bputch
Unexecuted instantiation: cspf.c:bputch
Unexecuted instantiation: debug.c:bputch
Unexecuted instantiation: distribute.c:bputch
Unexecuted instantiation: ferr.c:bputch
Unexecuted instantiation: filter.c:bputch
Unexecuted instantiation: filter_cli.c:bputch
Unexecuted instantiation: filter_nb.c:bputch
Unexecuted instantiation: flex_algo.c:bputch
Unexecuted instantiation: frr_pthread.c:bputch
Unexecuted instantiation: grammar_sandbox.c:bputch
Unexecuted instantiation: hash.c:bputch
Unexecuted instantiation: id_alloc.c:bputch
Unexecuted instantiation: if.c:bputch
Unexecuted instantiation: if_rmap.c:bputch
Unexecuted instantiation: iso.c:bputch
Unexecuted instantiation: json.c:bputch
Unexecuted instantiation: keychain.c:bputch
Unexecuted instantiation: ldp_sync.c:bputch
Unexecuted instantiation: lib_errors.c:bputch
Unexecuted instantiation: lib_vty.c:bputch
Unexecuted instantiation: libfrr.c:bputch
Unexecuted instantiation: link_state.c:bputch
Unexecuted instantiation: log.c:bputch
Unexecuted instantiation: log_filter.c:bputch
Unexecuted instantiation: log_vty.c:bputch
Unexecuted instantiation: memory.c:bputch
Unexecuted instantiation: mgmt_be_client.c:bputch
Unexecuted instantiation: mgmt_fe_client.c:bputch
Unexecuted instantiation: mgmt_msg.c:bputch
Unexecuted instantiation: mlag.c:bputch
Unexecuted instantiation: module.c:bputch
Unexecuted instantiation: srv6.c:bputch
Unexecuted instantiation: network.c:bputch
Unexecuted instantiation: nexthop.c:bputch
Unexecuted instantiation: netns_linux.c:bputch
Unexecuted instantiation: nexthop_group.c:bputch
Unexecuted instantiation: northbound.c:bputch
Unexecuted instantiation: northbound_cli.c:bputch
Unexecuted instantiation: northbound_db.c:bputch
Unexecuted instantiation: pid_output.c:bputch
Unexecuted instantiation: plist.c:bputch
Unexecuted instantiation: prefix.c:bputch
Unexecuted instantiation: privs.c:bputch
Unexecuted instantiation: pullwr.c:bputch
Unexecuted instantiation: qobj.c:bputch
Unexecuted instantiation: routemap.c:bputch
Unexecuted instantiation: routemap_cli.c:bputch
Unexecuted instantiation: routemap_northbound.c:bputch
Unexecuted instantiation: sbuf.c:bputch
Unexecuted instantiation: sigevent.c:bputch
Unexecuted instantiation: skiplist.c:bputch
Unexecuted instantiation: sockopt.c:bputch
Unexecuted instantiation: sockunion.c:bputch
Unexecuted instantiation: spf_backoff.c:bputch
Unexecuted instantiation: srcdest_table.c:bputch
Unexecuted instantiation: stream.c:bputch
Unexecuted instantiation: strformat.c:bputch
Unexecuted instantiation: systemd.c:bputch
Unexecuted instantiation: table.c:bputch
Unexecuted instantiation: termtable.c:bputch
Unexecuted instantiation: event.c:bputch
Unexecuted instantiation: vrf.c:bputch
Unexecuted instantiation: vty.c:bputch
Unexecuted instantiation: wheel.c:bputch
Unexecuted instantiation: workqueue.c:bputch
Unexecuted instantiation: xref.c:bputch
Unexecuted instantiation: yang.c:bputch
Unexecuted instantiation: yang_translator.c:bputch
Unexecuted instantiation: yang_wrappers.c:bputch
Unexecuted instantiation: zclient.c:bputch
zlog.c:bputch
Line
Count
Source
243
1.47k
{
244
1.47k
  if (buf && buf->pos < buf->buf + buf->len)
245
1.47k
    *buf->pos++ = ch;
246
1.47k
  return 1;
247
1.47k
}
Unexecuted instantiation: zlog_5424.c:bputch
Unexecuted instantiation: zlog_5424_cli.c:bputch
Unexecuted instantiation: zlog_live.c:bputch
Unexecuted instantiation: zlog_targets.c:bputch
Unexecuted instantiation: printf-pos.c:bputch
Unexecuted instantiation: vfprintf.c:bputch
Unexecuted instantiation: glue.c:bputch
Unexecuted instantiation: routing_nb.c:bputch
Unexecuted instantiation: routing_nb_config.c:bputch
Unexecuted instantiation: tc.c:bputch
Unexecuted instantiation: frr-affinity-map.yang.c:bputch
Unexecuted instantiation: frr-filter.yang.c:bputch
Unexecuted instantiation: frr-if-rmap.yang.c:bputch
Unexecuted instantiation: frr-interface.yang.c:bputch
Unexecuted instantiation: frr-route-map.yang.c:bputch
Unexecuted instantiation: frr-route-types.yang.c:bputch
Unexecuted instantiation: frr-vrf.yang.c:bputch
Unexecuted instantiation: frr-routing.yang.c:bputch
Unexecuted instantiation: frr-nexthop.yang.c:bputch
Unexecuted instantiation: ietf-routing-types.yang.c:bputch
Unexecuted instantiation: ietf-interfaces.yang.c:bputch
Unexecuted instantiation: ietf-bgp-types.yang.c:bputch
Unexecuted instantiation: frr-module-translator.yang.c:bputch
Unexecuted instantiation: connected.c:bputch
Unexecuted instantiation: if_netlink.c:bputch
Unexecuted instantiation: interface.c:bputch
Unexecuted instantiation: ioctl.c:bputch
Unexecuted instantiation: ipforward_proc.c:bputch
Unexecuted instantiation: kernel_netlink.c:bputch
Unexecuted instantiation: label_manager.c:bputch
Unexecuted instantiation: main.c:bputch
Unexecuted instantiation: netconf_netlink.c:bputch
Unexecuted instantiation: redistribute.c:bputch
Unexecuted instantiation: router-id.c:bputch
Unexecuted instantiation: rt_netlink.c:bputch
Unexecuted instantiation: rtadv.c:bputch
Unexecuted instantiation: rtread_netlink.c:bputch
Unexecuted instantiation: rule_netlink.c:bputch
Unexecuted instantiation: table_manager.c:bputch
Unexecuted instantiation: tc_netlink.c:bputch
Unexecuted instantiation: zapi_msg.c:bputch
Unexecuted instantiation: zebra_affinitymap.c:bputch
Unexecuted instantiation: zebra_dplane.c:bputch
Unexecuted instantiation: zebra_errors.c:bputch
Unexecuted instantiation: zebra_gr.c:bputch
Unexecuted instantiation: zebra_l2.c:bputch
Unexecuted instantiation: zebra_l2_bridge_if.c:bputch
Unexecuted instantiation: zebra_evpn.c:bputch
Unexecuted instantiation: zebra_evpn_mac.c:bputch
Unexecuted instantiation: zebra_evpn_neigh.c:bputch
Unexecuted instantiation: zebra_mlag.c:bputch
Unexecuted instantiation: zebra_mlag_vty.c:bputch
Unexecuted instantiation: zebra_mpls.c:bputch
Unexecuted instantiation: zebra_mpls_netlink.c:bputch
Unexecuted instantiation: zebra_mpls_null.c:bputch
Unexecuted instantiation: zebra_mpls_vty.c:bputch
Unexecuted instantiation: zebra_srv6.c:bputch
Unexecuted instantiation: zebra_srv6_vty.c:bputch
Unexecuted instantiation: zebra_mroute.c:bputch
Unexecuted instantiation: zebra_nb.c:bputch
Unexecuted instantiation: zebra_nb_config.c:bputch
Unexecuted instantiation: zebra_nb_rpcs.c:bputch
Unexecuted instantiation: zebra_nb_state.c:bputch
Unexecuted instantiation: zebra_netns_id.c:bputch
Unexecuted instantiation: zebra_netns_notify.c:bputch
Unexecuted instantiation: zebra_nhg.c:bputch
Unexecuted instantiation: zebra_ns.c:bputch
Unexecuted instantiation: zebra_opaque.c:bputch
Unexecuted instantiation: zebra_pbr.c:bputch
Unexecuted instantiation: zebra_ptm.c:bputch
Unexecuted instantiation: zebra_ptm_redistribute.c:bputch
Unexecuted instantiation: zebra_pw.c:bputch
Unexecuted instantiation: zebra_rib.c:bputch
Unexecuted instantiation: zebra_router.c:bputch
Unexecuted instantiation: zebra_rnh.c:bputch
Unexecuted instantiation: zebra_routemap.c:bputch
Unexecuted instantiation: zebra_routemap_nb.c:bputch
Unexecuted instantiation: zebra_routemap_nb_config.c:bputch
Unexecuted instantiation: zebra_script.c:bputch
Unexecuted instantiation: zebra_srte.c:bputch
Unexecuted instantiation: zebra_tc.c:bputch
Unexecuted instantiation: zebra_vrf.c:bputch
Unexecuted instantiation: zebra_vty.c:bputch
Unexecuted instantiation: zebra_vxlan.c:bputch
Unexecuted instantiation: zebra_vxlan_if.c:bputch
Unexecuted instantiation: zebra_evpn_mh.c:bputch
Unexecuted instantiation: zebra_neigh.c:bputch
Unexecuted instantiation: zserv.c:bputch
Unexecuted instantiation: debug_nl.c:bputch
Unexecuted instantiation: frr-zebra.yang.c:bputch
Unexecuted instantiation: frr-zebra-route-map.yang.c:bputch
Unexecuted instantiation: bgp_main.c:bputch
Unexecuted instantiation: frr-bgp-types.yang.c:bputch
Unexecuted instantiation: frr-bgp.yang.c:bputch
Unexecuted instantiation: frr-bgp-common-structure.yang.c:bputch
Unexecuted instantiation: frr-bgp-common.yang.c:bputch
Unexecuted instantiation: frr-bgp-common-multiprotocol.yang.c:bputch
Unexecuted instantiation: frr-bgp-neighbor.yang.c:bputch
Unexecuted instantiation: frr-bgp-peer-group.yang.c:bputch
Unexecuted instantiation: frr-bgp-bmp.yang.c:bputch
Unexecuted instantiation: frr-bgp-rpki.yang.c:bputch
Unexecuted instantiation: frr-deviations-bgp-datacenter.yang.c:bputch
Unexecuted instantiation: frr-bgp-filter.yang.c:bputch
Unexecuted instantiation: frr-bgp-route-map.yang.c:bputch
Unexecuted instantiation: bgp_attr.c:bputch
Unexecuted instantiation: bgp_attr_evpn.c:bputch
Unexecuted instantiation: bgp_clist.c:bputch
Unexecuted instantiation: bgp_community.c:bputch
Unexecuted instantiation: bgp_community_alias.c:bputch
Unexecuted instantiation: bgp_debug.c:bputch
Unexecuted instantiation: bgp_dump.c:bputch
Unexecuted instantiation: bgp_ecommunity.c:bputch
Unexecuted instantiation: bgp_errors.c:bputch
Unexecuted instantiation: bgp_evpn.c:bputch
Unexecuted instantiation: bgp_evpn_mh.c:bputch
Unexecuted instantiation: bgp_evpn_vty.c:bputch
Unexecuted instantiation: bgp_filter.c:bputch
Unexecuted instantiation: bgp_flowspec_vty.c:bputch
Unexecuted instantiation: bgp_fsm.c:bputch
Unexecuted instantiation: bgp_io.c:bputch
Unexecuted instantiation: bgp_keepalives.c:bputch
Unexecuted instantiation: bgp_labelpool.c:bputch
Unexecuted instantiation: bgp_lcommunity.c:bputch
Unexecuted instantiation: bgp_mac.c:bputch
Unexecuted instantiation: bgp_mpath.c:bputch
Unexecuted instantiation: bgp_mplsvpn.c:bputch
Unexecuted instantiation: bgp_network.c:bputch
Unexecuted instantiation: bgp_nexthop.c:bputch
Unexecuted instantiation: bgp_nht.c:bputch
Unexecuted instantiation: bgp_packet.c:bputch
Unexecuted instantiation: bgp_pbr.c:bputch
Unexecuted instantiation: bgp_rd.c:bputch
Unexecuted instantiation: bgp_regex.c:bputch
Unexecuted instantiation: bgp_route.c:bputch
Unexecuted instantiation: bgp_routemap.c:bputch
Unexecuted instantiation: bgp_routemap_nb.c:bputch
Unexecuted instantiation: bgp_routemap_nb_config.c:bputch
Unexecuted instantiation: bgp_table.c:bputch
Unexecuted instantiation: bgp_updgrp.c:bputch
Unexecuted instantiation: bgp_updgrp_adv.c:bputch
Unexecuted instantiation: bgp_updgrp_packet.c:bputch
Unexecuted instantiation: bgp_vpn.c:bputch
Unexecuted instantiation: bgp_vty.c:bputch
Unexecuted instantiation: bgp_zebra.c:bputch
Unexecuted instantiation: bgpd.c:bputch
Unexecuted instantiation: bgp_rfapi_cfg.c:bputch
Unexecuted instantiation: rfapi_import.c:bputch
Unexecuted instantiation: rfapi.c:bputch
Unexecuted instantiation: rfapi_ap.c:bputch
Unexecuted instantiation: rfapi_encap_tlv.c:bputch
Unexecuted instantiation: rfapi_nve_addr.c:bputch
Unexecuted instantiation: rfapi_monitor.c:bputch
Unexecuted instantiation: rfapi_rib.c:bputch
Unexecuted instantiation: rfapi_vty.c:bputch
Unexecuted instantiation: vnc_debug.c:bputch
Unexecuted instantiation: vnc_export_bgp.c:bputch
Unexecuted instantiation: vnc_export_table.c:bputch
Unexecuted instantiation: vnc_import_bgp.c:bputch
Unexecuted instantiation: vnc_zebra.c:bputch
Unexecuted instantiation: bgp_addpath.c:bputch
Unexecuted instantiation: bgp_advertise.c:bputch
Unexecuted instantiation: bgp_aspath.c:bputch
Unexecuted instantiation: bgp_bfd.c:bputch
Unexecuted instantiation: bgp_conditional_adv.c:bputch
Unexecuted instantiation: bgp_damp.c:bputch
Unexecuted instantiation: bgp_encap_tlv.c:bputch
Unexecuted instantiation: bgp_flowspec.c:bputch
Unexecuted instantiation: bgp_flowspec_util.c:bputch
Unexecuted instantiation: bgp_label.c:bputch
Unexecuted instantiation: bgp_open.c:bputch
Unexecuted instantiation: rfp_example.c:bputch
pim_addr.c:bputch
Line
Count
Source
243
424
{
244
424
  if (buf && buf->pos < buf->buf + buf->len)
245
424
    *buf->pos++ = ch;
246
424
  return 1;
247
424
}
Unexecuted instantiation: pim_assert.c:bputch
Unexecuted instantiation: pim_bfd.c:bputch
Unexecuted instantiation: pim_bsm.c:bputch
Unexecuted instantiation: pim_cmd_common.c:bputch
Unexecuted instantiation: pim_errors.c:bputch
Unexecuted instantiation: pim_hello.c:bputch
Unexecuted instantiation: pim_iface.c:bputch
Unexecuted instantiation: pim_ifchannel.c:bputch
Unexecuted instantiation: pim_instance.c:bputch
Unexecuted instantiation: pim_join.c:bputch
Unexecuted instantiation: pim_jp_agg.c:bputch
Unexecuted instantiation: pim_macro.c:bputch
Unexecuted instantiation: pim_mroute.c:bputch
Unexecuted instantiation: pim_msg.c:bputch
Unexecuted instantiation: pim_nb.c:bputch
Unexecuted instantiation: pim_nb_config.c:bputch
Unexecuted instantiation: pim_neighbor.c:bputch
Unexecuted instantiation: pim_nht.c:bputch
Unexecuted instantiation: pim_oil.c:bputch
Unexecuted instantiation: pim_pim.c:bputch
Unexecuted instantiation: pim_routemap.c:bputch
Unexecuted instantiation: pim_rp.c:bputch
Unexecuted instantiation: pim_rpf.c:bputch
Unexecuted instantiation: pim_sock.c:bputch
Unexecuted instantiation: pim_ssm.c:bputch
Unexecuted instantiation: pim_ssmpingd.c:bputch
Unexecuted instantiation: pim_static.c:bputch
Unexecuted instantiation: pim_str.c:bputch
Unexecuted instantiation: pim_tib.c:bputch
Unexecuted instantiation: pim_time.c:bputch
Unexecuted instantiation: pim_tlv.c:bputch
Unexecuted instantiation: pim_upstream.c:bputch
Unexecuted instantiation: pim_util.c:bputch
Unexecuted instantiation: pim_vty.c:bputch
Unexecuted instantiation: pim_zebra.c:bputch
Unexecuted instantiation: pim_zlookup.c:bputch
Unexecuted instantiation: pim_vxlan.c:bputch
Unexecuted instantiation: pim_register.c:bputch
Unexecuted instantiation: pimd.c:bputch
Unexecuted instantiation: pim_cmd.c:bputch
Unexecuted instantiation: pim_igmp.c:bputch
Unexecuted instantiation: pim_igmp_mtrace.c:bputch
Unexecuted instantiation: pim_igmpv2.c:bputch
Unexecuted instantiation: pim_igmpv3.c:bputch
Unexecuted instantiation: pim_main.c:bputch
Unexecuted instantiation: pim_mlag.c:bputch
Unexecuted instantiation: pim_msdp.c:bputch
Unexecuted instantiation: pim_msdp_packet.c:bputch
Unexecuted instantiation: pim_msdp_socket.c:bputch
Unexecuted instantiation: pim_signals.c:bputch
Unexecuted instantiation: pim_zpthread.c:bputch
Unexecuted instantiation: frr-pim.yang.c:bputch
Unexecuted instantiation: frr-pim-rp.yang.c:bputch
Unexecuted instantiation: frr-gmp.yang.c:bputch
248
249
static inline ssize_t bputhex(struct fbuf *buf, uint8_t val)
250
0
{
251
0
  static const char hexch[] = "0123456789abcdef";
252
253
0
  if (buf && buf->pos < buf->buf + buf->len)
254
0
    *buf->pos++ = hexch[(val >> 4) & 0xf];
255
0
  if (buf && buf->pos < buf->buf + buf->len)
256
0
    *buf->pos++ = hexch[val & 0xf];
257
0
  return 2;
258
0
}
Unexecuted instantiation: ospf_main.c:bputhex
Unexecuted instantiation: frr-ospf-route-map.yang.c:bputhex
Unexecuted instantiation: ospf_bfd.c:bputhex
Unexecuted instantiation: ospf_dump.c:bputhex
Unexecuted instantiation: ospf_dump_api.c:bputhex
Unexecuted instantiation: ospf_errors.c:bputhex
Unexecuted instantiation: ospf_interface.c:bputhex
Unexecuted instantiation: ospf_lsa.c:bputhex
Unexecuted instantiation: ospf_lsdb.c:bputhex
Unexecuted instantiation: ospf_neighbor.c:bputhex
Unexecuted instantiation: ospf_network.c:bputhex
Unexecuted instantiation: ospf_nsm.c:bputhex
Unexecuted instantiation: ospf_opaque.c:bputhex
Unexecuted instantiation: ospf_packet.c:bputhex
Unexecuted instantiation: ospf_ri.c:bputhex
Unexecuted instantiation: ospf_routemap.c:bputhex
Unexecuted instantiation: ospf_routemap_nb.c:bputhex
Unexecuted instantiation: ospf_routemap_nb_config.c:bputhex
Unexecuted instantiation: ospf_spf.c:bputhex
Unexecuted instantiation: ospf_ti_lfa.c:bputhex
Unexecuted instantiation: ospf_sr.c:bputhex
Unexecuted instantiation: ospf_te.c:bputhex
Unexecuted instantiation: ospf_vty.c:bputhex
Unexecuted instantiation: ospf_zebra.c:bputhex
Unexecuted instantiation: ospfd.c:bputhex
Unexecuted instantiation: ospf_gr_helper.c:bputhex
Unexecuted instantiation: ospf_abr.c:bputhex
Unexecuted instantiation: ospf_apiserver.c:bputhex
Unexecuted instantiation: ospf_asbr.c:bputhex
Unexecuted instantiation: ospf_ase.c:bputhex
Unexecuted instantiation: ospf_ext.c:bputhex
Unexecuted instantiation: ospf_flood.c:bputhex
Unexecuted instantiation: ospf_gr.c:bputhex
Unexecuted instantiation: ospf_ia.c:bputhex
Unexecuted instantiation: ospf_ism.c:bputhex
Unexecuted instantiation: ospf_ldp_sync.c:bputhex
Unexecuted instantiation: ospf_route.c:bputhex
Unexecuted instantiation: ospf_api.c:bputhex
Unexecuted instantiation: affinitymap.c:bputhex
Unexecuted instantiation: affinitymap_cli.c:bputhex
Unexecuted instantiation: affinitymap_northbound.c:bputhex
Unexecuted instantiation: agg_table.c:bputhex
Unexecuted instantiation: asn.c:bputhex
Unexecuted instantiation: bfd.c:bputhex
Unexecuted instantiation: buffer.c:bputhex
Unexecuted instantiation: command.c:bputhex
Unexecuted instantiation: command_graph.c:bputhex
Unexecuted instantiation: command_lex.c:bputhex
Unexecuted instantiation: command_match.c:bputhex
Unexecuted instantiation: command_parse.c:bputhex
Unexecuted instantiation: cspf.c:bputhex
Unexecuted instantiation: debug.c:bputhex
Unexecuted instantiation: distribute.c:bputhex
Unexecuted instantiation: ferr.c:bputhex
Unexecuted instantiation: filter.c:bputhex
Unexecuted instantiation: filter_cli.c:bputhex
Unexecuted instantiation: filter_nb.c:bputhex
Unexecuted instantiation: flex_algo.c:bputhex
Unexecuted instantiation: frr_pthread.c:bputhex
Unexecuted instantiation: grammar_sandbox.c:bputhex
Unexecuted instantiation: hash.c:bputhex
Unexecuted instantiation: id_alloc.c:bputhex
Unexecuted instantiation: if.c:bputhex
Unexecuted instantiation: if_rmap.c:bputhex
Unexecuted instantiation: iso.c:bputhex
Unexecuted instantiation: json.c:bputhex
Unexecuted instantiation: keychain.c:bputhex
Unexecuted instantiation: ldp_sync.c:bputhex
Unexecuted instantiation: lib_errors.c:bputhex
Unexecuted instantiation: lib_vty.c:bputhex
Unexecuted instantiation: libfrr.c:bputhex
Unexecuted instantiation: link_state.c:bputhex
Unexecuted instantiation: log.c:bputhex
Unexecuted instantiation: log_filter.c:bputhex
Unexecuted instantiation: log_vty.c:bputhex
Unexecuted instantiation: memory.c:bputhex
Unexecuted instantiation: mgmt_be_client.c:bputhex
Unexecuted instantiation: mgmt_fe_client.c:bputhex
Unexecuted instantiation: mgmt_msg.c:bputhex
Unexecuted instantiation: mlag.c:bputhex
Unexecuted instantiation: module.c:bputhex
Unexecuted instantiation: srv6.c:bputhex
Unexecuted instantiation: network.c:bputhex
Unexecuted instantiation: nexthop.c:bputhex
Unexecuted instantiation: netns_linux.c:bputhex
Unexecuted instantiation: nexthop_group.c:bputhex
Unexecuted instantiation: northbound.c:bputhex
Unexecuted instantiation: northbound_cli.c:bputhex
Unexecuted instantiation: northbound_db.c:bputhex
Unexecuted instantiation: pid_output.c:bputhex
Unexecuted instantiation: plist.c:bputhex
Unexecuted instantiation: prefix.c:bputhex
Unexecuted instantiation: privs.c:bputhex
Unexecuted instantiation: pullwr.c:bputhex
Unexecuted instantiation: qobj.c:bputhex
Unexecuted instantiation: routemap.c:bputhex
Unexecuted instantiation: routemap_cli.c:bputhex
Unexecuted instantiation: routemap_northbound.c:bputhex
Unexecuted instantiation: sbuf.c:bputhex
Unexecuted instantiation: sigevent.c:bputhex
Unexecuted instantiation: skiplist.c:bputhex
Unexecuted instantiation: sockopt.c:bputhex
Unexecuted instantiation: sockunion.c:bputhex
Unexecuted instantiation: spf_backoff.c:bputhex
Unexecuted instantiation: srcdest_table.c:bputhex
Unexecuted instantiation: stream.c:bputhex
Unexecuted instantiation: strformat.c:bputhex
Unexecuted instantiation: systemd.c:bputhex
Unexecuted instantiation: table.c:bputhex
Unexecuted instantiation: termtable.c:bputhex
Unexecuted instantiation: event.c:bputhex
Unexecuted instantiation: vrf.c:bputhex
Unexecuted instantiation: vty.c:bputhex
Unexecuted instantiation: wheel.c:bputhex
Unexecuted instantiation: workqueue.c:bputhex
Unexecuted instantiation: xref.c:bputhex
Unexecuted instantiation: yang.c:bputhex
Unexecuted instantiation: yang_translator.c:bputhex
Unexecuted instantiation: yang_wrappers.c:bputhex
Unexecuted instantiation: zclient.c:bputhex
Unexecuted instantiation: zlog.c:bputhex
Unexecuted instantiation: zlog_5424.c:bputhex
Unexecuted instantiation: zlog_5424_cli.c:bputhex
Unexecuted instantiation: zlog_live.c:bputhex
Unexecuted instantiation: zlog_targets.c:bputhex
Unexecuted instantiation: printf-pos.c:bputhex
Unexecuted instantiation: vfprintf.c:bputhex
Unexecuted instantiation: glue.c:bputhex
Unexecuted instantiation: routing_nb.c:bputhex
Unexecuted instantiation: routing_nb_config.c:bputhex
Unexecuted instantiation: tc.c:bputhex
Unexecuted instantiation: frr-affinity-map.yang.c:bputhex
Unexecuted instantiation: frr-filter.yang.c:bputhex
Unexecuted instantiation: frr-if-rmap.yang.c:bputhex
Unexecuted instantiation: frr-interface.yang.c:bputhex
Unexecuted instantiation: frr-route-map.yang.c:bputhex
Unexecuted instantiation: frr-route-types.yang.c:bputhex
Unexecuted instantiation: frr-vrf.yang.c:bputhex
Unexecuted instantiation: frr-routing.yang.c:bputhex
Unexecuted instantiation: frr-nexthop.yang.c:bputhex
Unexecuted instantiation: ietf-routing-types.yang.c:bputhex
Unexecuted instantiation: ietf-interfaces.yang.c:bputhex
Unexecuted instantiation: ietf-bgp-types.yang.c:bputhex
Unexecuted instantiation: frr-module-translator.yang.c:bputhex
Unexecuted instantiation: connected.c:bputhex
Unexecuted instantiation: if_netlink.c:bputhex
Unexecuted instantiation: interface.c:bputhex
Unexecuted instantiation: ioctl.c:bputhex
Unexecuted instantiation: ipforward_proc.c:bputhex
Unexecuted instantiation: kernel_netlink.c:bputhex
Unexecuted instantiation: label_manager.c:bputhex
Unexecuted instantiation: main.c:bputhex
Unexecuted instantiation: netconf_netlink.c:bputhex
Unexecuted instantiation: redistribute.c:bputhex
Unexecuted instantiation: router-id.c:bputhex
Unexecuted instantiation: rt_netlink.c:bputhex
Unexecuted instantiation: rtadv.c:bputhex
Unexecuted instantiation: rtread_netlink.c:bputhex
Unexecuted instantiation: rule_netlink.c:bputhex
Unexecuted instantiation: table_manager.c:bputhex
Unexecuted instantiation: tc_netlink.c:bputhex
Unexecuted instantiation: zapi_msg.c:bputhex
Unexecuted instantiation: zebra_affinitymap.c:bputhex
Unexecuted instantiation: zebra_dplane.c:bputhex
Unexecuted instantiation: zebra_errors.c:bputhex
Unexecuted instantiation: zebra_gr.c:bputhex
Unexecuted instantiation: zebra_l2.c:bputhex
Unexecuted instantiation: zebra_l2_bridge_if.c:bputhex
Unexecuted instantiation: zebra_evpn.c:bputhex
Unexecuted instantiation: zebra_evpn_mac.c:bputhex
Unexecuted instantiation: zebra_evpn_neigh.c:bputhex
Unexecuted instantiation: zebra_mlag.c:bputhex
Unexecuted instantiation: zebra_mlag_vty.c:bputhex
Unexecuted instantiation: zebra_mpls.c:bputhex
Unexecuted instantiation: zebra_mpls_netlink.c:bputhex
Unexecuted instantiation: zebra_mpls_null.c:bputhex
Unexecuted instantiation: zebra_mpls_vty.c:bputhex
Unexecuted instantiation: zebra_srv6.c:bputhex
Unexecuted instantiation: zebra_srv6_vty.c:bputhex
Unexecuted instantiation: zebra_mroute.c:bputhex
Unexecuted instantiation: zebra_nb.c:bputhex
Unexecuted instantiation: zebra_nb_config.c:bputhex
Unexecuted instantiation: zebra_nb_rpcs.c:bputhex
Unexecuted instantiation: zebra_nb_state.c:bputhex
Unexecuted instantiation: zebra_netns_id.c:bputhex
Unexecuted instantiation: zebra_netns_notify.c:bputhex
Unexecuted instantiation: zebra_nhg.c:bputhex
Unexecuted instantiation: zebra_ns.c:bputhex
Unexecuted instantiation: zebra_opaque.c:bputhex
Unexecuted instantiation: zebra_pbr.c:bputhex
Unexecuted instantiation: zebra_ptm.c:bputhex
Unexecuted instantiation: zebra_ptm_redistribute.c:bputhex
Unexecuted instantiation: zebra_pw.c:bputhex
Unexecuted instantiation: zebra_rib.c:bputhex
Unexecuted instantiation: zebra_router.c:bputhex
Unexecuted instantiation: zebra_rnh.c:bputhex
Unexecuted instantiation: zebra_routemap.c:bputhex
Unexecuted instantiation: zebra_routemap_nb.c:bputhex
Unexecuted instantiation: zebra_routemap_nb_config.c:bputhex
Unexecuted instantiation: zebra_script.c:bputhex
Unexecuted instantiation: zebra_srte.c:bputhex
Unexecuted instantiation: zebra_tc.c:bputhex
Unexecuted instantiation: zebra_vrf.c:bputhex
Unexecuted instantiation: zebra_vty.c:bputhex
Unexecuted instantiation: zebra_vxlan.c:bputhex
Unexecuted instantiation: zebra_vxlan_if.c:bputhex
Unexecuted instantiation: zebra_evpn_mh.c:bputhex
Unexecuted instantiation: zebra_neigh.c:bputhex
Unexecuted instantiation: zserv.c:bputhex
Unexecuted instantiation: debug_nl.c:bputhex
Unexecuted instantiation: frr-zebra.yang.c:bputhex
Unexecuted instantiation: frr-zebra-route-map.yang.c:bputhex
Unexecuted instantiation: bgp_main.c:bputhex
Unexecuted instantiation: frr-bgp-types.yang.c:bputhex
Unexecuted instantiation: frr-bgp.yang.c:bputhex
Unexecuted instantiation: frr-bgp-common-structure.yang.c:bputhex
Unexecuted instantiation: frr-bgp-common.yang.c:bputhex
Unexecuted instantiation: frr-bgp-common-multiprotocol.yang.c:bputhex
Unexecuted instantiation: frr-bgp-neighbor.yang.c:bputhex
Unexecuted instantiation: frr-bgp-peer-group.yang.c:bputhex
Unexecuted instantiation: frr-bgp-bmp.yang.c:bputhex
Unexecuted instantiation: frr-bgp-rpki.yang.c:bputhex
Unexecuted instantiation: frr-deviations-bgp-datacenter.yang.c:bputhex
Unexecuted instantiation: frr-bgp-filter.yang.c:bputhex
Unexecuted instantiation: frr-bgp-route-map.yang.c:bputhex
Unexecuted instantiation: bgp_attr.c:bputhex
Unexecuted instantiation: bgp_attr_evpn.c:bputhex
Unexecuted instantiation: bgp_clist.c:bputhex
Unexecuted instantiation: bgp_community.c:bputhex
Unexecuted instantiation: bgp_community_alias.c:bputhex
Unexecuted instantiation: bgp_debug.c:bputhex
Unexecuted instantiation: bgp_dump.c:bputhex
Unexecuted instantiation: bgp_ecommunity.c:bputhex
Unexecuted instantiation: bgp_errors.c:bputhex
Unexecuted instantiation: bgp_evpn.c:bputhex
Unexecuted instantiation: bgp_evpn_mh.c:bputhex
Unexecuted instantiation: bgp_evpn_vty.c:bputhex
Unexecuted instantiation: bgp_filter.c:bputhex
Unexecuted instantiation: bgp_flowspec_vty.c:bputhex
Unexecuted instantiation: bgp_fsm.c:bputhex
Unexecuted instantiation: bgp_io.c:bputhex
Unexecuted instantiation: bgp_keepalives.c:bputhex
Unexecuted instantiation: bgp_labelpool.c:bputhex
Unexecuted instantiation: bgp_lcommunity.c:bputhex
Unexecuted instantiation: bgp_mac.c:bputhex
Unexecuted instantiation: bgp_mpath.c:bputhex
Unexecuted instantiation: bgp_mplsvpn.c:bputhex
Unexecuted instantiation: bgp_network.c:bputhex
Unexecuted instantiation: bgp_nexthop.c:bputhex
Unexecuted instantiation: bgp_nht.c:bputhex
Unexecuted instantiation: bgp_packet.c:bputhex
Unexecuted instantiation: bgp_pbr.c:bputhex
Unexecuted instantiation: bgp_rd.c:bputhex
Unexecuted instantiation: bgp_regex.c:bputhex
Unexecuted instantiation: bgp_route.c:bputhex
Unexecuted instantiation: bgp_routemap.c:bputhex
Unexecuted instantiation: bgp_routemap_nb.c:bputhex
Unexecuted instantiation: bgp_routemap_nb_config.c:bputhex
Unexecuted instantiation: bgp_table.c:bputhex
Unexecuted instantiation: bgp_updgrp.c:bputhex
Unexecuted instantiation: bgp_updgrp_adv.c:bputhex
Unexecuted instantiation: bgp_updgrp_packet.c:bputhex
Unexecuted instantiation: bgp_vpn.c:bputhex
Unexecuted instantiation: bgp_vty.c:bputhex
Unexecuted instantiation: bgp_zebra.c:bputhex
Unexecuted instantiation: bgpd.c:bputhex
Unexecuted instantiation: bgp_rfapi_cfg.c:bputhex
Unexecuted instantiation: rfapi_import.c:bputhex
Unexecuted instantiation: rfapi.c:bputhex
Unexecuted instantiation: rfapi_ap.c:bputhex
Unexecuted instantiation: rfapi_encap_tlv.c:bputhex
Unexecuted instantiation: rfapi_nve_addr.c:bputhex
Unexecuted instantiation: rfapi_monitor.c:bputhex
Unexecuted instantiation: rfapi_rib.c:bputhex
Unexecuted instantiation: rfapi_vty.c:bputhex
Unexecuted instantiation: vnc_debug.c:bputhex
Unexecuted instantiation: vnc_export_bgp.c:bputhex
Unexecuted instantiation: vnc_export_table.c:bputhex
Unexecuted instantiation: vnc_import_bgp.c:bputhex
Unexecuted instantiation: vnc_zebra.c:bputhex
Unexecuted instantiation: bgp_addpath.c:bputhex
Unexecuted instantiation: bgp_advertise.c:bputhex
Unexecuted instantiation: bgp_aspath.c:bputhex
Unexecuted instantiation: bgp_bfd.c:bputhex
Unexecuted instantiation: bgp_conditional_adv.c:bputhex
Unexecuted instantiation: bgp_damp.c:bputhex
Unexecuted instantiation: bgp_encap_tlv.c:bputhex
Unexecuted instantiation: bgp_flowspec.c:bputhex
Unexecuted instantiation: bgp_flowspec_util.c:bputhex
Unexecuted instantiation: bgp_label.c:bputhex
Unexecuted instantiation: bgp_open.c:bputhex
Unexecuted instantiation: rfp_example.c:bputhex
Unexecuted instantiation: pim_addr.c:bputhex
Unexecuted instantiation: pim_assert.c:bputhex
Unexecuted instantiation: pim_bfd.c:bputhex
Unexecuted instantiation: pim_bsm.c:bputhex
Unexecuted instantiation: pim_cmd_common.c:bputhex
Unexecuted instantiation: pim_errors.c:bputhex
Unexecuted instantiation: pim_hello.c:bputhex
Unexecuted instantiation: pim_iface.c:bputhex
Unexecuted instantiation: pim_ifchannel.c:bputhex
Unexecuted instantiation: pim_instance.c:bputhex
Unexecuted instantiation: pim_join.c:bputhex
Unexecuted instantiation: pim_jp_agg.c:bputhex
Unexecuted instantiation: pim_macro.c:bputhex
Unexecuted instantiation: pim_mroute.c:bputhex
Unexecuted instantiation: pim_msg.c:bputhex
Unexecuted instantiation: pim_nb.c:bputhex
Unexecuted instantiation: pim_nb_config.c:bputhex
Unexecuted instantiation: pim_neighbor.c:bputhex
Unexecuted instantiation: pim_nht.c:bputhex
Unexecuted instantiation: pim_oil.c:bputhex
Unexecuted instantiation: pim_pim.c:bputhex
Unexecuted instantiation: pim_routemap.c:bputhex
Unexecuted instantiation: pim_rp.c:bputhex
Unexecuted instantiation: pim_rpf.c:bputhex
Unexecuted instantiation: pim_sock.c:bputhex
Unexecuted instantiation: pim_ssm.c:bputhex
Unexecuted instantiation: pim_ssmpingd.c:bputhex
Unexecuted instantiation: pim_static.c:bputhex
Unexecuted instantiation: pim_str.c:bputhex
Unexecuted instantiation: pim_tib.c:bputhex
Unexecuted instantiation: pim_time.c:bputhex
Unexecuted instantiation: pim_tlv.c:bputhex
Unexecuted instantiation: pim_upstream.c:bputhex
Unexecuted instantiation: pim_util.c:bputhex
Unexecuted instantiation: pim_vty.c:bputhex
Unexecuted instantiation: pim_zebra.c:bputhex
Unexecuted instantiation: pim_zlookup.c:bputhex
Unexecuted instantiation: pim_vxlan.c:bputhex
Unexecuted instantiation: pim_register.c:bputhex
Unexecuted instantiation: pimd.c:bputhex
Unexecuted instantiation: pim_cmd.c:bputhex
Unexecuted instantiation: pim_igmp.c:bputhex
Unexecuted instantiation: pim_igmp_mtrace.c:bputhex
Unexecuted instantiation: pim_igmpv2.c:bputhex
Unexecuted instantiation: pim_igmpv3.c:bputhex
Unexecuted instantiation: pim_main.c:bputhex
Unexecuted instantiation: pim_mlag.c:bputhex
Unexecuted instantiation: pim_msdp.c:bputhex
Unexecuted instantiation: pim_msdp_packet.c:bputhex
Unexecuted instantiation: pim_msdp_socket.c:bputhex
Unexecuted instantiation: pim_signals.c:bputhex
Unexecuted instantiation: pim_zpthread.c:bputhex
Unexecuted instantiation: frr-pim.yang.c:bputhex
Unexecuted instantiation: frr-pim-rp.yang.c:bputhex
Unexecuted instantiation: frr-gmp.yang.c:bputhex
259
260
/* %pVA extension, equivalent to Linux kernel %pV */
261
262
struct va_format {
263
  const char *fmt;
264
  va_list *va;
265
};
266
267
#ifdef _FRR_ATTRIBUTE_PRINTFRR
268
#pragma FRR printfrr_ext "%pFB" (struct fbuf *)
269
#pragma FRR printfrr_ext "%pVA" (struct va_format *)
270
271
#pragma FRR printfrr_ext "%pHX" (signed char *)
272
#pragma FRR printfrr_ext "%pHX" (unsigned char *)
273
#pragma FRR printfrr_ext "%pHX" (void *)
274
#pragma FRR printfrr_ext "%pHS" (signed char *)
275
#pragma FRR printfrr_ext "%pHS" (unsigned char *)
276
#pragma FRR printfrr_ext "%pHS" (void *)
277
278
#pragma FRR printfrr_ext "%pSE" (char *)
279
#pragma FRR printfrr_ext "%pSQ" (char *)
280
281
#pragma FRR printfrr_ext "%pTS" (struct timespec *)
282
#pragma FRR printfrr_ext "%pTV" (struct timeval *)
283
#pragma FRR printfrr_ext "%pTT" (time_t *)
284
#endif
285
286
/* when using non-ISO-C compatible extension specifiers... */
287
288
#ifdef _FRR_ATTRIBUTE_PRINTFRR
289
#define FMT_NSTD_BEGIN
290
#define FMT_NSTD_END
291
#else /* !_FRR_ATTRIBUTE_PRINTFRR */
292
#define FMT_NSTD_BEGIN \
293
  _Pragma("GCC diagnostic push")                                         \
294
  _Pragma("GCC diagnostic ignored \"-Wformat\"")                         \
295
  /* end */
296
#define FMT_NSTD_END \
297
  _Pragma("GCC diagnostic pop")                                          \
298
  /* end */
299
#endif
300
301
#define FMT_NSTD(expr)                                                         \
302
  ({                                                                     \
303
    FMT_NSTD_BEGIN                                                 \
304
    typeof(expr) _v;                                               \
305
    _v = expr;                                                     \
306
    FMT_NSTD_END                                                   \
307
    _v;                                                            \
308
  })                                                                     \
309
  /* end */
310
311
#ifdef __cplusplus
312
}
313
#endif
314
315
#endif