#include "refcnt.h"
#include "prioq.h"
+#include "list.h"
#include "sd-rtnl.h"
unsigned prioq_idx;
};
+struct match_callback {
+ sd_rtnl_message_handler_t callback;
+ uint16_t types;
+ void *userdata;
+
+ LIST_FIELDS(struct match_callback, match_callbacks);
+};
+
struct sd_rtnl {
RefCount n_ref;
struct Prioq *reply_callbacks_prioq;
Hashmap *reply_callbacks;
+ LIST_HEAD(struct match_callback, match_callbacks);
+
pid_t original_pid;
+
+ sd_event_source *io_event_source;
+ sd_event_source *time_event_source;
+ sd_event_source *quit_event_source;
+ sd_event *event;
};
#define RTNL_DEFAULT_TIMEOUT ((usec_t) (10 * USEC_PER_SEC))
/* Make sure callbacks don't destroy the rtnl connection */
#define RTNL_DONT_DESTROY(rtnl) \
- _cleanup_sd_rtnl_unref_ sd_rtnl *_dont_destroy_##rtnl = sd_rtnl_ref(rtnl)
+ _cleanup_sd_rtnl_unref_ _unused_ sd_rtnl *_dont_destroy_##rtnl = sd_rtnl_ref(rtnl)