chiark / gitweb /
sd-netlink: rename from sd-rtnl
[elogind.git] / src / shared / verbs.h
index d59e4d59b8f0b79e611ec82fcadccd8bc124f5e7..068196622e925deec48e6e14ba3ec1b73ae9b783 100644 (file)
@@ -6,6 +6,7 @@
   This file is part of systemd.
 
   Copyright 2014 Lennart Poettering
+  Copyright 2014 Tom Gundersen
 
   systemd is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as published by
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-#define VERB_ANY ((unsigned) -1)
-#define VERB_DEFAULT 1
+typedef struct Link Link;
 
-typedef struct {
-        const char *verb;
-        unsigned min_args, max_args;
+#include "networkd-wait-online.h"
+
+struct Link {
+        Manager *manager;
+
+        int ifindex;
+        char *ifname;
         unsigned flags;
-        int (* const dispatch)(int argc, char *argv[], void *userdata);
-} Verb;
 
-int dispatch_verb(int argc, char *argv[], const Verb verbs[], void *userdata);
+        char *operational_state;
+        char *state;
+};
+
+int link_new(Manager *m, Link **ret, int ifindex, const char *ifname);
+Link *link_free(Link *l);
+int link_update_rtnl(Link *l, sd_netlink_message *m);
+int link_update_monitor(Link *l);
+bool link_relevant(Link *l);
+
+DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_free);