/* * QLogic qlcnic NIC Driver * Copyright (c) 2009-2013 QLogic Corporation * * See LICENSE.qlcnic for copyright and licensing details. */ #ifndef __QLCNIC_DCBX_H #define __QLCNIC_DCBX_H void qlcnic_clear_dcb_ops(struct qlcnic_adapter *); #ifdef CONFIG_QLCNIC_DCB int __qlcnic_register_dcb(struct qlcnic_adapter *); #else static inline int __qlcnic_register_dcb(struct qlcnic_adapter *adapter) { return 0; } #endif struct qlcnic_dcb_ops { void (*init_dcbnl_ops) (struct qlcnic_adapter *); void (*free) (struct qlcnic_adapter *); int (*attach) (struct qlcnic_adapter *); int (*query_hw_capability) (struct qlcnic_adapter *, char *); int (*get_hw_capability) (struct qlcnic_adapter *); void (*get_info) (struct qlcnic_adapter *); int (*query_cee_param) (struct qlcnic_adapter *, char *, u8); int (*get_cee_cfg) (struct qlcnic_adapter *); int (*register_aen) (struct qlcnic_adapter *, bool); void (*handle_aen) (struct qlcnic_adapter *, void *); }; struct qlcnic_dcb { struct qlcnic_dcb_mbx_params *param; struct qlcnic_adapter *adapter; struct delayed_work aen_work; struct workqueue_struct *wq; struct qlcnic_dcb_ops *ops; struct qlcnic_dcb_cfg *cfg; }; #endif