⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nif.h

📁 COLDFIRE 5282SC的文件
💻 H
字号:
/*
 * File:		nif.h
 * Purpose:		Definition of a Network InterFace.
 *
 * Notes:
 *
 * Author:		Eric DeVolder
 * Date:		11-8-95
 *
 * Modifications:
 *
 */

#ifndef _NIF_H
#define _NIF_H

/********************************************************************/
/* Include Ethernet standards definitions and network buffer specifics */

#include "eth.h"
#include "nbuf.h"

/********************************************************************/

extern uint8 TIMER_NETWORK;

/* Maximum number of supported protoocls: IP, ARP, RARP */
#define MAX_SUP_PROTO   (3)

typedef struct
{
	uint16	protocol;
	void	(*handler)(void *	/* nif */, NBUF *	/* buffer */);
	void	*info;	/* pointer to protocol defined config info */
} SUP_PROTO;

typedef
uint8	HWA_ADDR_P[];

typedef struct NIF_t
{
	char		name[16];
	ETH_ADDR	hwa;	/* ethernet card hardware address */
	ETH_ADDR	broadcast;	/* ethernet broadcast address */
	int			hwa_size;
	int			mtu;	/* hardware maximum transmission unit */

	SUP_PROTO	protocol[MAX_SUP_PROTO];
	unsigned short	num_protocol;

	int		(*reset)(struct NIF_t *);
	void	(*start)(struct NIF_t *);
	void	(*stop)(struct NIF_t *);
	int		(*send)(struct NIF_t *, HWA_ADDR_P, HWA_ADDR_P, uint16, NBUF *);
	void	(*receive)(struct NIF_t *);
	NBUF*	(*rx_alloc)(void);
	NBUF*	(*tx_alloc)(void);
	void	(*rx_free)(NBUF *);
	void	(*tx_free)(NBUF *);

	void	*nic;	/* base address of NIC chipset */
	int		vector;	/* vector used by device */
	unsigned int	next_receive;	/* needed by the SEEQ */

	unsigned int	f_rx;
	unsigned int	f_tx;
	unsigned int	f_rx_err;
	unsigned int	f_tx_err;
	unsigned int	f_err;
} NIF;


/********************************************************************/

NIF *
nif_init (NIF *, char *);

int
nif_protocol_exist (NIF *, uint16);

void
nif_protocol_handler (NIF *, uint16, NBUF *);

void *
nif_get_protocol_info (NIF *, uint16);

int
nif_bind_protocol (NIF *, uint16, void *, void *);

/********************************************************************/

#endif /* _NIF_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -