38 lines
884 B
C
38 lines
884 B
C
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
#pragma once
|
|
|
|
/***
|
|
Copyright © 2014 Intel Corporation. All rights reserved.
|
|
***/
|
|
|
|
#include "sd-ndisc.h"
|
|
|
|
#include "icmp6-packet.h"
|
|
#include "ndisc-option.h"
|
|
#include "time-util.h"
|
|
|
|
struct sd_ndisc_router {
|
|
unsigned n_ref;
|
|
|
|
ICMP6Packet *packet;
|
|
|
|
/* From RA header */
|
|
uint8_t hop_limit;
|
|
uint8_t flags;
|
|
uint8_t preference;
|
|
usec_t lifetime_usec;
|
|
usec_t reachable_time_usec;
|
|
usec_t retransmission_time_usec;
|
|
|
|
/* Options */
|
|
Set *options;
|
|
Iterator iterator;
|
|
sd_ndisc_option *current_option;
|
|
};
|
|
|
|
sd_ndisc_router* ndisc_router_new(ICMP6Packet *packet);
|
|
int ndisc_router_parse(sd_ndisc *nd, sd_ndisc_router *rt);
|
|
|
|
int ndisc_router_flags_to_string(uint64_t flags, char **ret);
|
|
const char* ndisc_router_preference_to_string(int s) _const_;
|