/* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once /*** Copyright © 2014 Axis Communications AB. All rights reserved. ***/ #include <net/ethernet.h> #include <netinet/in.h> #include "socket-util.h" #include "sparse-endian.h" int arp_update_filter(int fd, const struct in_addr *a, const struct ether_addr *mac); int arp_network_bind_raw_socket(int ifindex, const struct in_addr *a, const struct ether_addr *mac); int arp_send_packet( int fd, int ifindex, const struct in_addr *pa, const struct ether_addr *ha, bool announce); static inline int arp_send_probe( int fd, int ifindex, const struct in_addr *pa, const struct ether_addr *ha) { return arp_send_packet(fd, ifindex, pa, ha, false); } static inline int arp_send_announcement( int fd, int ifindex, const struct in_addr *pa, const struct ether_addr *ha) { return arp_send_packet(fd, ifindex, pa, ha, true); }