linux/include/net/dcbnl.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2008, Intel Corporation.
 *
 * Author: Lucy Liu <[email protected]>
 */

#ifndef __NET_DCBNL_H__
#define __NET_DCBNL_H__

#include <linux/dcbnl.h>

struct net_device;

struct dcb_app_type {};

u16 dcb_getrewr(struct net_device *dev, struct dcb_app *app);
int dcb_setrewr(struct net_device *dev, struct dcb_app *app);
int dcb_delrewr(struct net_device *dev, struct dcb_app *app);

int dcb_setapp(struct net_device *, struct dcb_app *);
u8 dcb_getapp(struct net_device *, struct dcb_app *);
int dcb_ieee_setapp(struct net_device *, struct dcb_app *);
int dcb_ieee_delapp(struct net_device *, struct dcb_app *);
u8 dcb_ieee_getapp_mask(struct net_device *, struct dcb_app *);

struct dcb_rewr_prio_pcp_map {};

void dcb_getrewr_prio_pcp_mask_map(const struct net_device *dev,
				   struct dcb_rewr_prio_pcp_map *p_map);

struct dcb_ieee_app_prio_map {};
void dcb_ieee_getapp_prio_dscp_mask_map(const struct net_device *dev,
					struct dcb_ieee_app_prio_map *p_map);

void dcb_getrewr_prio_dscp_mask_map(const struct net_device *dev,
				    struct dcb_ieee_app_prio_map *p_map);

struct dcb_ieee_app_dscp_map {};
void dcb_ieee_getapp_dscp_prio_mask_map(const struct net_device *dev,
					struct dcb_ieee_app_dscp_map *p_map);
u8 dcb_ieee_getapp_default_prio_mask(const struct net_device *dev);

int dcbnl_ieee_notify(struct net_device *dev, int event, int cmd,
		      u32 seq, u32 pid);
int dcbnl_cee_notify(struct net_device *dev, int event, int cmd,
		     u32 seq, u32 pid);

/*
 * Ops struct for the netlink callbacks.  Used by DCB-enabled drivers through
 * the netdevice struct.
 */
struct dcbnl_rtnl_ops {};

#endif /* __NET_DCBNL_H__ */