linux/include/net/garp.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _NET_GARP_H
#define _NET_GARP_H

#include <linux/if_ether.h>
#include <linux/types.h>
#include <net/stp.h>

#define GARP_PROTOCOL_ID
#define GARP_END_MARK

struct garp_pdu_hdr {};

struct garp_msg_hdr {};

enum garp_attr_event {};

struct garp_attr_hdr {};

struct garp_skb_cb {};

static inline struct garp_skb_cb *garp_cb(struct sk_buff *skb)
{}

enum garp_applicant_state {};
#define GARP_APPLICANT_MAX

enum garp_event {};
#define GARP_EVENT_MAX

enum garp_action {};

struct garp_attr {};

enum garp_applications {};
#define GARP_APPLICATION_MAX

struct garp_application {};

struct garp_applicant {};

struct garp_port {};

int garp_register_application(struct garp_application *app);
void garp_unregister_application(struct garp_application *app);

int garp_init_applicant(struct net_device *dev, struct garp_application *app);
void garp_uninit_applicant(struct net_device *dev,
			   struct garp_application *app);

int garp_request_join(const struct net_device *dev,
		      const struct garp_application *app, const void *data,
		      u8 len, u8 type);
void garp_request_leave(const struct net_device *dev,
			const struct garp_application *app,
			const void *data, u8 len, u8 type);

#endif /* _NET_GARP_H */