43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
/* SPDX-License-Identifier: LGPL-2.1-only */
|
|
|
|
#ifndef NETLINK_MDB_H_
|
|
#define NETLINK_MDB_H_
|
|
|
|
#include <netlink/netlink.h>
|
|
#include <netlink/cache.h>
|
|
#include <netlink/route/link.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct rtnl_mdb;
|
|
struct rtnl_mdb_entry;
|
|
|
|
struct rtnl_mdb *rtnl_mdb_alloc(void);
|
|
void rtnl_mdb_put(struct rtnl_mdb *mdb);
|
|
|
|
int rtnl_mdb_alloc_cache(struct nl_sock *sk, struct nl_cache **result);
|
|
int rtnl_mdb_alloc_cache_flags(struct nl_sock *sock,
|
|
struct nl_cache **result,
|
|
unsigned int flags);
|
|
|
|
uint32_t rtnl_mdb_get_ifindex(struct rtnl_mdb *mdb);
|
|
void rtnl_mdb_add_entry(struct rtnl_mdb *mdb,
|
|
struct rtnl_mdb_entry *_entry);
|
|
|
|
void rtnl_mdb_foreach_entry(struct rtnl_mdb *mdb,
|
|
void (*cb)(struct rtnl_mdb_entry *, void *),
|
|
void *arg);
|
|
|
|
int rtnl_mdb_entry_get_ifindex(struct rtnl_mdb_entry *mdb_entry);
|
|
int rtnl_mdb_entry_get_vid(struct rtnl_mdb_entry *mdb_entry);
|
|
int rtnl_mdb_entry_get_state(struct rtnl_mdb_entry *mdb_entry);
|
|
struct nl_addr *rtnl_mdb_entry_get_addr(struct rtnl_mdb_entry
|
|
*mdb_entry);
|
|
uint16_t rtnl_mdb_entry_get_proto(struct rtnl_mdb_entry *mdb_entry);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|