- so netlink can generate appropriate ICMP */
-typedef void netlink_can_deliver_fn(void *st, void *cid, bool_t can_deliver);
-/* Register for packets from specified networks. Return value is client
- identifier. */
+ so netlink can generate appropriate ICMP and make routing decisions */
+#define LINK_QUALITY_DOWN 0 /* No chance of a packet being delivered */
+#define LINK_QUALITY_DOWN_STALE_ADDRESS 1 /* Link down, old address information */
+#define LINK_QUALITY_DOWN_CURRENT_ADDRESS 2 /* Link down, current address information */
+#define LINK_QUALITY_UP 3 /* Link active */
+#define MAXIMUM_LINK_QUALITY 3
+typedef void netlink_link_quality_fn(void *st, void *cid, uint32_t quality);
+/* Register for packets from specified networks. Return value is
+ client identifier. 'hard_route' indicates whether the routes being
+ registered are permanent (hard) or temporary (soft); some types of
+ netlink device can only cope with hard routes. */
+#define NETLINK_OPTION_SOFTROUTE 1
+#define NETLINK_OPTION_ALLOW_ROUTE 2