summaryrefslogtreecommitdiff
path: root/src/systemd/sd-radv.h
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2017-05-12 16:48:31 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2017-05-15 14:49:50 +0300
commit204f99d21ed6ee2427f889f46a3c38e0e1e132b9 (patch)
tree95d820ca04f357927afa27b0b8f6c1ce7f7f4a36 /src/systemd/sd-radv.h
parent7d5cac19b5d04b39405273c6ab6bfc8811bd4f3a (diff)
downloadsystemd-204f99d21ed6ee2427f889f46a3c38e0e1e132b9.tar.gz
sd-radv: Add Router Advertisement functionality
Add Router Advertisement header files, data structures and core functionality that is quite similar to other parts of networkd.
Diffstat (limited to 'src/systemd/sd-radv.h')
-rw-r--r--src/systemd/sd-radv.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/systemd/sd-radv.h b/src/systemd/sd-radv.h
index c9933674bd..4cbd80db68 100644
--- a/src/systemd/sd-radv.h
+++ b/src/systemd/sd-radv.h
@@ -25,14 +25,39 @@
#include <netinet/in.h>
#include <sys/types.h>
+#include "sd-ndisc.h"
+
#include "sd-event.h"
#include "_sd-common.h"
_SD_BEGIN_DECLARATIONS;
+typedef struct sd_radv sd_radv;
typedef struct sd_radv_prefix sd_radv_prefix;
+/* Router Advertisment */
+int sd_radv_new(sd_radv **ret);
+sd_radv *sd_radv_ref(sd_radv *ra);
+sd_radv *sd_radv_unref(sd_radv *ra);
+
+int sd_radv_attach_event(sd_radv *ra, sd_event *event, int64_t priority);
+int sd_radv_detach_event(sd_radv *nd);
+sd_event *sd_radv_get_event(sd_radv *ra);
+
+int sd_radv_start(sd_radv *ra);
+int sd_radv_stop(sd_radv *ra);
+
+int sd_radv_set_ifindex(sd_radv *ra, int interface_index);
+int sd_radv_set_mac(sd_radv *ra, const struct ether_addr *mac_addr);
+int sd_radv_set_mtu(sd_radv *ra, uint32_t mtu);
+int sd_radv_set_hop_limit(sd_radv *ra, uint8_t hop_limit);
+int sd_radv_set_router_lifetime(sd_radv *ra, uint32_t router_lifetime);
+int sd_radv_set_managed_information(sd_radv *ra, int managed);
+int sd_radv_set_other_information(sd_radv *ra, int other);
+int sd_radv_set_preference(sd_radv *ra, unsigned preference);
+int sd_radv_add_prefix(sd_radv *ra, sd_radv_prefix *p);
+
/* Advertised prefixes */
int sd_radv_prefix_new(sd_radv_prefix **ret);
sd_radv_prefix *sd_radv_prefix_ref(sd_radv_prefix *ra);