#ifndef __NCSI_INTERNAL_H__
#define __NCSI_INTERNAL_H__
enum { … };
enum { … };
enum { … };
enum { … };
#define NCSI_OEM_MFR_MLX_ID …
#define NCSI_OEM_MFR_BCM_ID …
#define NCSI_OEM_MFR_INTEL_ID …
#define NCSI_OEM_INTEL_CMD_GMA …
#define NCSI_OEM_INTEL_CMD_KEEP_PHY …
#define NCSI_OEM_BCM_CMD_GMA …
#define NCSI_OEM_MLX_CMD_GMA …
#define NCSI_OEM_MLX_CMD_GMA_PARAM …
#define NCSI_OEM_MLX_CMD_SMAF …
#define NCSI_OEM_MLX_CMD_SMAF_PARAM …
#define NCSI_OEM_INTEL_CMD_GMA_LEN …
#define NCSI_OEM_INTEL_CMD_KEEP_PHY_LEN …
#define NCSI_OEM_BCM_CMD_GMA_LEN …
#define NCSI_OEM_MLX_CMD_GMA_LEN …
#define NCSI_OEM_MLX_CMD_SMAF_LEN …
#define MLX_SMAF_MAC_ADDR_OFFSET …
#define MLX_SMAF_MED_SUPPORT_OFFSET …
#define BCM_MAC_ADDR_OFFSET …
#define MLX_MAC_ADDR_OFFSET …
#define INTEL_MAC_ADDR_OFFSET …
struct ncsi_channel_version { … };
struct ncsi_channel_cap { … };
struct ncsi_channel_mode { … };
struct ncsi_channel_mac_filter { … };
struct ncsi_channel_vlan_filter { … };
struct ncsi_channel_stats { … };
struct ncsi_dev_priv;
struct ncsi_package;
#define NCSI_PACKAGE_SHIFT …
#define NCSI_PACKAGE_INDEX(c) …
#define NCSI_RESERVED_CHANNEL …
#define NCSI_CHANNEL_INDEX(c) …
#define NCSI_TO_CHANNEL(p, c) …
#define NCSI_MAX_PACKAGE …
#define NCSI_MAX_CHANNEL …
struct ncsi_channel { … };
struct ncsi_package { … };
struct ncsi_request { … };
enum { … };
struct vlan_vid { … };
struct ncsi_dev_priv { … };
struct ncsi_cmd_arg { … };
extern struct list_head ncsi_dev_list;
extern spinlock_t ncsi_dev_lock;
#define TO_NCSI_DEV_PRIV(nd) …
#define NCSI_FOR_EACH_DEV(ndp) …
#define NCSI_FOR_EACH_PACKAGE(ndp, np) …
#define NCSI_FOR_EACH_CHANNEL(np, nc) …
int ncsi_reset_dev(struct ncsi_dev *nd);
void ncsi_start_channel_monitor(struct ncsi_channel *nc);
void ncsi_stop_channel_monitor(struct ncsi_channel *nc);
struct ncsi_channel *ncsi_find_channel(struct ncsi_package *np,
unsigned char id);
struct ncsi_channel *ncsi_add_channel(struct ncsi_package *np,
unsigned char id);
struct ncsi_package *ncsi_find_package(struct ncsi_dev_priv *ndp,
unsigned char id);
struct ncsi_package *ncsi_add_package(struct ncsi_dev_priv *ndp,
unsigned char id);
void ncsi_remove_package(struct ncsi_package *np);
void ncsi_find_package_and_channel(struct ncsi_dev_priv *ndp,
unsigned char id,
struct ncsi_package **np,
struct ncsi_channel **nc);
struct ncsi_request *ncsi_alloc_request(struct ncsi_dev_priv *ndp,
unsigned int req_flags);
void ncsi_free_request(struct ncsi_request *nr);
struct ncsi_dev *ncsi_find_dev(struct net_device *dev);
int ncsi_process_next_channel(struct ncsi_dev_priv *ndp);
bool ncsi_channel_has_link(struct ncsi_channel *channel);
bool ncsi_channel_is_last(struct ncsi_dev_priv *ndp,
struct ncsi_channel *channel);
int ncsi_update_tx_channel(struct ncsi_dev_priv *ndp,
struct ncsi_package *np,
struct ncsi_channel *disable,
struct ncsi_channel *enable);
u32 ncsi_calculate_checksum(unsigned char *data, int len);
int ncsi_xmit_cmd(struct ncsi_cmd_arg *nca);
int ncsi_rcv_rsp(struct sk_buff *skb, struct net_device *dev,
struct packet_type *pt, struct net_device *orig_dev);
int ncsi_aen_handler(struct ncsi_dev_priv *ndp, struct sk_buff *skb);
#endif