linux/drivers/net/ethernet/brocade/bna/bna_types.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Linux network driver for QLogic BR-series Converged Network Adapter.
 */
/*
 * Copyright (c) 2005-2014 Brocade Communications Systems, Inc.
 * Copyright (c) 2014-2015 QLogic Corporation
 * All rights reserved
 * www.qlogic.com
 */
#ifndef __BNA_TYPES_H__
#define __BNA_TYPES_H__

#include "cna.h"
#include "bna_hw_defs.h"
#include "bfa_cee.h"
#include "bfa_msgq.h"

/* Forward declarations */

struct bna_mcam_handle;
struct bna_txq;
struct bna_tx;
struct bna_rxq;
struct bna_cq;
struct bna_rx;
struct bna_rxf;
struct bna_enet;
struct bna;
struct bnad;

/* Enums, primitive data types */

enum bna_status {};

enum bna_cleanup_type {};

enum bna_cb_status {};

enum bna_res_type {};

enum bna_mem_type {};

enum bna_intr_type {};

enum bna_res_req_type {};

enum bna_mod_res_req_type {};

enum bna_tx_res_req_type {};

enum bna_rx_mem_type {};

enum bna_tx_type {};

enum bna_tx_flags {};

enum bna_tx_mod_flags {};

enum bna_rx_type {};

enum bna_rxp_type {};

enum bna_rxmode {};

enum bna_rx_event {};

enum bna_rx_flags {};

enum bna_rx_mod_flags {};

enum bna_rxf_event {};

enum bna_enet_type {};

enum bna_link_status {};

enum bna_ethport_flags {};

enum bna_enet_flags {};

enum bna_rss_flags {};

enum bna_mod_flags {};

enum bna_pkt_rates {};

enum bna_dim_load_types {};

enum bna_dim_bias_types {};

#define BNA_MAX_NAME_SIZE
struct bna_ident {};

struct bna_mac {};

struct bna_mem_descr {};

struct bna_mem_info {};

struct bna_intr_descr {};

struct bna_intr_info {};

bna_res_u;

struct bna_res_info {};

/* HW QPT */
struct bna_qpt {};

struct bna_attr {};

/* IOCEth */

enum bna_ioceth_event;

struct bna_ioceth {};

/* Enet */

/* Pause configuration */
struct bna_pause_config {};

enum bna_enet_event;

struct bna_enet {};

/* Ethport */

enum bna_ethport_event;

struct bna_ethport {};

/* Interrupt Block */

/* Doorbell structure */
struct bna_ib_dbell {};

/* IB structure */
struct bna_ib {};

/* Tx object */

/* Tx datapath control structure */
#define BNA_Q_NAME_SIZE
struct bna_tcb {};

/* TxQ QPT and configuration */
struct bna_txq {};

/* Tx object */

enum bna_tx_event;

struct bna_tx {};

/* Tx object configuration used during creation */
struct bna_tx_config {};

struct bna_tx_event_cbfn {};

/* Tx module - keeps track of free, active tx objects */
struct bna_tx_mod {};

/* Rx object */

/* Rx datapath control structure */
struct bna_rcb {};

/* RxQ structure - QPT, configuration */
struct bna_rxq {};

/* RxQ pair */
bna_rxq_u;

/* Packet rate for Dynamic Interrupt Moderation */
struct bna_pkt_rate {};

/* Completion control structure */
struct bna_ccb {};

/* CQ QPT, configuration  */
struct bna_cq {};

struct bna_rss_config {};

struct bna_hds_config {};

/* Rx object configuration used during creation */
struct bna_rx_config {};

/* Rx Path structure - one per MSIX vector/CPU */
struct bna_rxp {};

/* RxF structure (hardware Rx Function) */

enum bna_rxf_event;

struct bna_rxf {};

/* Rx object */

enum bna_rx_event;

struct bna_rx {};

struct bna_rx_event_cbfn {};

/* Rx module - keeps track of free, active rx objects */
struct bna_rx_mod {};

/* CAM */

struct bna_ucam_mod {};

struct bna_mcam_handle {};

struct bna_mcam_mod {};

/* Statistics */

struct bna_stats {};

struct bna_stats_mod {};

/* BNA */

struct bna {};
#endif	/* __BNA_TYPES_H__ */