/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 |