libosmocore 1.9.0.196-9975
Osmocom core library
mnl.h File Reference
#include <osmocom/core/select.h>
#include <libmnl/libmnl.h>

Go to the source code of this file.

Data Structures

struct  osmo_mnl
 osmocom wrapper around libmnl abstraction of netlink socket More...
 

Functions

struct osmo_mnlosmo_mnl_init (void *ctx, int bus, unsigned int groups, mnl_cb_t mnl_cb, void *priv)
 create an osmocom-wrapped limnl netlink socket. More...
 
void osmo_mnl_destroy (struct osmo_mnl *omnl)
 destroy an existing osmocom-wrapped mnl netlink socket: Unregister + close + free. More...
 

Function Documentation

◆ osmo_mnl_destroy()

void osmo_mnl_destroy ( struct osmo_mnl omnl)

destroy an existing osmocom-wrapped mnl netlink socket: Unregister + close + free.

Parameters
[in]omnlosmo_mnl socket previously returned by osmo_mnl_init()

References osmo_mnl::mnls, osmo_mnl::ofd, and osmo_fd_unregister().

Referenced by netdev_netns_ctx_free().

◆ osmo_mnl_init()

struct osmo_mnl * osmo_mnl_init ( void *  ctx,
int  bus,
unsigned int  groups,
mnl_cb_t  mnl_cb,
void *  priv 
)

create an osmocom-wrapped limnl netlink socket.

Parameters
[in]ctxtalloc context from which to allocate
[in]busnetlink socket bus ID (see NETLINK_* constants)
[in]groupsgroups of messages to bind/subscribe to
[in]mnl_cbcallback function called for each incoming message
[in]privopaque private user data
Returns
newly-allocated osmo_mnl or NULL in case of error.

References DLGLOBAL, LOGL_ERROR, LOGP, osmo_mnl::mnl_cb, osmo_mnl::mnls, osmo_mnl::ofd, OSMO_FD_READ, osmo_fd_register(), osmo_fd_setup(), osmo_mnl_fd_cb(), and osmo_mnl::priv.

Referenced by netdev_netns_ctx_init().