Coverage Report

Created: 2025-07-23 06:54

/usr/include/libnl3/netlink/object.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * netlink/object.c Generic Cacheable Object
3
 *
4
 *  This library is free software; you can redistribute it and/or
5
 *  modify it under the terms of the GNU Lesser General Public
6
 *  License as published by the Free Software Foundation version 2.1
7
 *  of the License.
8
 *
9
 * Copyright (c) 2003-2012 Thomas Graf <tgraf@suug.ch>
10
 */
11
12
#ifndef NETLINK_OBJECT_H_
13
#define NETLINK_OBJECT_H_
14
15
#include <netlink/netlink.h>
16
#include <netlink/utils.h>
17
18
#ifdef __cplusplus
19
extern "C" {
20
#endif
21
22
struct nl_cache;
23
struct nl_object;
24
struct nl_object_ops;
25
26
#define OBJ_CAST(ptr)   ((struct nl_object *) (ptr))
27
28
/* General */
29
extern struct nl_object * nl_object_alloc(struct nl_object_ops *);
30
extern int      nl_object_alloc_name(const char *,
31
                 struct nl_object **);
32
extern void     nl_object_free(struct nl_object *);
33
extern struct nl_object * nl_object_clone(struct nl_object *obj);
34
extern int      nl_object_update(struct nl_object *dst,
35
             struct nl_object *src);
36
extern void     nl_object_get(struct nl_object *);
37
extern void     nl_object_put(struct nl_object *);
38
extern int      nl_object_shared(struct nl_object *);
39
extern void     nl_object_dump(struct nl_object *,
40
                 struct nl_dump_params *);
41
extern void     nl_object_dump_buf(struct nl_object *, char *, size_t);
42
extern int      nl_object_identical(struct nl_object *,
43
                struct nl_object *);
44
extern uint32_t     nl_object_diff(struct nl_object *,
45
                 struct nl_object *);
46
extern uint64_t     nl_object_diff64(struct nl_object *,
47
             struct nl_object *);
48
extern int      nl_object_match_filter(struct nl_object *,
49
                   struct nl_object *);
50
extern char *     nl_object_attrs2str(struct nl_object *,
51
                uint32_t attrs, char *buf,
52
                size_t);
53
extern char *     nl_object_attr_list(struct nl_object *,
54
                char *, size_t);
55
extern void     nl_object_keygen(struct nl_object *,
56
             uint32_t *, uint32_t);
57
58
/* Marks */
59
extern void     nl_object_mark(struct nl_object *);
60
extern void     nl_object_unmark(struct nl_object *);
61
extern int      nl_object_is_marked(struct nl_object *);
62
63
/* Access Functions */
64
extern int      nl_object_get_refcnt(struct nl_object *);
65
extern struct nl_cache *  nl_object_get_cache(struct nl_object *);
66
extern const char *   nl_object_get_type(const struct nl_object *);
67
extern int      nl_object_get_msgtype(const struct nl_object *);
68
struct nl_object_ops *    nl_object_get_ops(const struct nl_object *);
69
uint32_t      nl_object_get_id_attrs(struct nl_object *obj);
70
71
72
static inline void *    nl_object_priv(struct nl_object *obj)
73
0
{
74
0
  return obj;
75
0
}
Unexecuted instantiation: dhcp.c:nl_object_priv
Unexecuted instantiation: error.c:nl_object_priv
Unexecuted instantiation: init.c:nl_object_priv
Unexecuted instantiation: manage.c:nl_object_priv
Unexecuted instantiation: misc.c:nl_object_priv
Unexecuted instantiation: mroute.c:nl_object_priv
Unexecuted instantiation: mss.c:nl_object_priv
Unexecuted instantiation: mtu.c:nl_object_priv
Unexecuted instantiation: networking_sitnl.c:nl_object_priv
Unexecuted instantiation: options.c:nl_object_priv
Unexecuted instantiation: options_util.c:nl_object_priv
Unexecuted instantiation: platform.c:nl_object_priv
Unexecuted instantiation: pool.c:nl_object_priv
Unexecuted instantiation: proxy.c:nl_object_priv
Unexecuted instantiation: ps.c:nl_object_priv
Unexecuted instantiation: push.c:nl_object_priv
Unexecuted instantiation: route.c:nl_object_priv
Unexecuted instantiation: sig.c:nl_object_priv
Unexecuted instantiation: socket.c:nl_object_priv
Unexecuted instantiation: socks.c:nl_object_priv
Unexecuted instantiation: ssl.c:nl_object_priv
Unexecuted instantiation: ssl_ncp.c:nl_object_priv
Unexecuted instantiation: ssl_openssl.c:nl_object_priv
Unexecuted instantiation: ssl_pkt.c:nl_object_priv
Unexecuted instantiation: ssl_verify.c:nl_object_priv
Unexecuted instantiation: ssl_verify_openssl.c:nl_object_priv
Unexecuted instantiation: tls_crypt.c:nl_object_priv
Unexecuted instantiation: tun.c:nl_object_priv
Unexecuted instantiation: tun_afunix.c:nl_object_priv
Unexecuted instantiation: argv.c:nl_object_priv
Unexecuted instantiation: auth_token.c:nl_object_priv
Unexecuted instantiation: clinat.c:nl_object_priv
Unexecuted instantiation: dco.c:nl_object_priv
Unexecuted instantiation: dco_linux.c:nl_object_priv
Unexecuted instantiation: dns.c:nl_object_priv
Unexecuted instantiation: forward.c:nl_object_priv
Unexecuted instantiation: helper.c:nl_object_priv
Unexecuted instantiation: ntlm.c:nl_object_priv
Unexecuted instantiation: occ.c:nl_object_priv
Unexecuted instantiation: ping.c:nl_object_priv
Unexecuted instantiation: fuzz_verify_cert.c:nl_object_priv
Unexecuted instantiation: fuzz_route.c:nl_object_priv
Unexecuted instantiation: fuzz_packet_id.c:nl_object_priv
Unexecuted instantiation: fuzz_mroute.c:nl_object_priv
76
77
78
#ifdef __cplusplus
79
}
80
#endif
81
82
#endif