Blame src/systemd/src/systemd/sd-ipv4ll.h

Packit Service 87a54e
/* SPDX-License-Identifier: LGPL-2.1-or-later */
Packit 5756e2
#ifndef foosdipv4llfoo
Packit 5756e2
#define foosdipv4llfoo
Packit 5756e2
Packit 5756e2
/***
Packit 5756e2
  Copyright © 2014 Axis Communications AB. All rights reserved.
Packit 5756e2
Packit 5756e2
  systemd is free software; you can redistribute it and/or modify it
Packit 5756e2
  under the terms of the GNU Lesser General Public License as published by
Packit 5756e2
  the Free Software Foundation; either version 2.1 of the License, or
Packit 5756e2
  (at your option) any later version.
Packit 5756e2
Packit 5756e2
  systemd is distributed in the hope that it will be useful, but
Packit 5756e2
  WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 5756e2
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Packit 5756e2
  Lesser General Public License for more details.
Packit 5756e2
Packit 5756e2
  You should have received a copy of the GNU Lesser General Public License
Packit 5756e2
  along with systemd; If not, see <http://www.gnu.org/licenses/>.
Packit 5756e2
***/
Packit 5756e2
Packit 5756e2
#include <net/ethernet.h>
Packit 5756e2
#include <netinet/in.h>
Packit 5756e2
Packit 5756e2
#include "sd-event.h"
Packit 5756e2
Packit 5756e2
#include "_sd-common.h"
Packit 5756e2
Packit 5756e2
_SD_BEGIN_DECLARATIONS;
Packit 5756e2
Packit 5756e2
enum {
Packit 5756e2
        SD_IPV4LL_EVENT_STOP            = 0,
Packit 5756e2
        SD_IPV4LL_EVENT_BIND            = 1,
Packit 5756e2
        SD_IPV4LL_EVENT_CONFLICT        = 2,
Packit 5756e2
};
Packit 5756e2
Packit 5756e2
typedef struct sd_ipv4ll sd_ipv4ll;
Packit 5756e2
typedef void (*sd_ipv4ll_callback_t)(sd_ipv4ll *ll, int event, void *userdata);
Packit 5756e2
Packit 5756e2
int sd_ipv4ll_detach_event(sd_ipv4ll *ll);
Packit 5756e2
int sd_ipv4ll_attach_event(sd_ipv4ll *ll, sd_event *event, int64_t priority);
Packit 5756e2
int sd_ipv4ll_get_address(sd_ipv4ll *ll, struct in_addr *address);
Packit 5756e2
int sd_ipv4ll_set_callback(sd_ipv4ll *ll, sd_ipv4ll_callback_t cb, void *userdata);
Packit 5756e2
int sd_ipv4ll_set_mac(sd_ipv4ll *ll, const struct ether_addr *addr);
Packit 5756e2
int sd_ipv4ll_set_ifindex(sd_ipv4ll *ll, int interface_index);
Packit Service 87a54e
int sd_ipv4ll_get_ifindex(sd_ipv4ll *ll);
Packit Service 87a54e
const char *sd_ipv4ll_get_ifname(sd_ipv4ll *ll);
Packit 5756e2
int sd_ipv4ll_set_address(sd_ipv4ll *ll, const struct in_addr *address);
Packit 5756e2
int sd_ipv4ll_set_address_seed(sd_ipv4ll *ll, uint64_t seed);
Packit 5756e2
int sd_ipv4ll_is_running(sd_ipv4ll *ll);
Packit 5756e2
int sd_ipv4ll_restart(sd_ipv4ll *ll);
Packit 5756e2
int sd_ipv4ll_start(sd_ipv4ll *ll);
Packit 5756e2
int sd_ipv4ll_stop(sd_ipv4ll *ll);
Packit 5756e2
sd_ipv4ll *sd_ipv4ll_ref(sd_ipv4ll *ll);
Packit 5756e2
sd_ipv4ll *sd_ipv4ll_unref(sd_ipv4ll *ll);
Packit 5756e2
int sd_ipv4ll_new(sd_ipv4ll **ret);
Packit 5756e2
Packit 5756e2
_SD_DEFINE_POINTER_CLEANUP_FUNC(sd_ipv4ll, sd_ipv4ll_unref);
Packit 5756e2
Packit 5756e2
_SD_END_DECLARATIONS;
Packit 5756e2
Packit 5756e2
#endif