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

📄 comx.h

📁 linux和2410结合开发 用他可以生成2410所需的zImage文件
💻 H
字号:
/* * General definitions for the COMX driver  *  * Original authors:  Arpad Bakay <bakay.arpad@synergon.hu>, *                    Peter Bajan <bajan.peter@synergon.hu>, * Previous maintainer: Tivadar Szemethy <tiv@itc.hu> * Currently maintained by: Gergely Madarasz <gorgo@itc.hu> * * Copyright (C) 1995-1999 ITConsult-Pro Co. <info@itc.hu> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. * * * net_device_stats: *	rx_length_errors	rec_len < 4 || rec_len > 2000 *	rx_over_errors		receive overrun (OVR) *	rx_crc_errors		rx crc error *	rx_frame_errors		aborts rec'd (ABO) *	rx_fifo_errors		status fifo overrun (PBUFOVR) *	rx_missed_errors	receive buffer overrun (BUFOVR) *	tx_aborted_errors	? *	tx_carrier_errors	modem line status changes *	tx_fifo_errors		tx underrun (locomx) */#include <linux/config.h>struct comx_protocol {	char	*name;	char	*version;	unsigned short encap_type;	int	(*line_init)(struct net_device *dev);	int	(*line_exit)(struct net_device *dev);	struct comx_protocol *next;	};struct comx_hardware {	char *name; 	char *version;	int	(*hw_init)(struct net_device *dev);	int	(*hw_exit)(struct net_device *dev);	int	(*hw_dump)(struct net_device *dev);	struct comx_hardware *next;	};struct comx_channel {	void		*if_ptr;	// General purpose pointer	struct net_device 	*dev;		// Where we belong to	struct net_device	*twin;		// On dual-port cards	struct proc_dir_entry *procdir;	// the directory	unsigned char	init_status;	unsigned char	line_status;	struct timer_list lineup_timer;	// against line jitter	long int	lineup_pending;	unsigned char	lineup_delay;#if 0	struct timer_list reset_timer; // for board resetting	long		reset_pending;	int		reset_timeout;#endif	struct net_device_stats	stats;		struct net_device_stats *current_stats;#if 0	unsigned long	board_resets;#endif	unsigned long 	*avg_bytes;	int		loadavg_counter, loadavg_size;	int		loadavg[3];	struct timer_list loadavg_timer;	int		debug_flags;	char 		*debug_area;	int		debug_start, debug_end, debug_size;	struct proc_dir_entry *debug_file;#ifdef	CONFIG_COMX_DEBUG_RAW	char		*raw;	int		raw_len;#endif	// LINE specific		struct comx_protocol *protocol;	void		(*LINE_rx)(struct net_device *dev, struct sk_buff *skb);	int		(*LINE_tx)(struct net_device *dev);	void		(*LINE_status)(struct net_device *dev, u_short status);	int		(*LINE_open)(struct net_device *dev);	int		(*LINE_close)(struct net_device *dev);	int		(*LINE_xmit)(struct sk_buff *skb, struct net_device *dev);	int		(*LINE_header)(struct sk_buff *skb, struct net_device *dev,				u_short type,void *daddr, void *saddr, 				unsigned len);	int		(*LINE_rebuild_header)(struct sk_buff *skb);	int		(*LINE_statistics)(struct net_device *dev, char *page);	int		(*LINE_parameter_check)(struct net_device *dev);	int		(*LINE_ioctl)(struct net_device *dev, struct ifreq *ifr,				int cmd);	void		(*LINE_mod_use)(int);	void *		LINE_privdata;	// HW specific	struct comx_hardware *hardware;	void	(*HW_board_on)(struct net_device *dev);	void	(*HW_board_off)(struct net_device *dev);	struct net_device *(*HW_access_board)(struct net_device *dev);	void	(*HW_release_board)(struct net_device *dev, struct net_device *savep);	int	(*HW_txe)(struct net_device *dev);	int	(*HW_open)(struct net_device *dev);	int	(*HW_close)(struct net_device *dev);	int	(*HW_send_packet)(struct net_device *dev,struct sk_buff *skb);	int	(*HW_statistics)(struct net_device *dev, char *page);#if 0	int	(*HW_reset)(struct net_device *dev, char *page);#endif	int	(*HW_load_board)(struct net_device *dev);	void	(*HW_set_clock)(struct net_device *dev);	void	*HW_privdata;	};struct comx_debugflags_struct {	char *name;	int  value;	};#define	COMX_ROOT_DIR_NAME	"comx"#define	FILENAME_HARDWARE	"boardtype"#define FILENAME_HARDWARELIST	"boardtypes"#define FILENAME_PROTOCOL	"protocol"#define FILENAME_PROTOCOLLIST	"protocols"#define FILENAME_DEBUG		"debug"#define FILENAME_CLOCK		"clock"#define	FILENAME_STATUS		"status"#define	FILENAME_IO		"io"#define FILENAME_IRQ		"irq"#define	FILENAME_KEEPALIVE	"keepalive"#define FILENAME_LINEUPDELAY	"lineup_delay"#define FILENAME_CHANNEL	"channel"#define FILENAME_FIRMWARE	"firmware"#define FILENAME_MEMADDR	"memaddr"#define	FILENAME_TWIN		"twin"#define FILENAME_T1		"t1"#define FILENAME_T2		"t2"#define FILENAME_N2		"n2"#define FILENAME_WINDOW		"window"#define FILENAME_MODE		"mode"#define	FILENAME_DLCI		"dlci"#define	FILENAME_MASTER		"master"#ifdef	CONFIG_COMX_DEBUG_RAW#define	FILENAME_RAW		"raw"#endif#define PROTONAME_NONE		"none"#define HWNAME_NONE		"none"#define KEEPALIVE_OFF		"off"#define FRAME_ACCEPTED		0		/* sending and xmitter busy */#define FRAME_DROPPED		1#define FRAME_ERROR		2		/* xmitter error */#define	FRAME_QUEUED		3		/* sending but more can come */#define	LINE_UP			1		/* Modem UP */#define PROTO_UP		2#define PROTO_LOOP		4#define	HW_OPEN			1#define	LINE_OPEN		2#define FW_LOADED		4#define IRQ_ALLOCATED		8#define DEBUG_COMX_RX		2#define	DEBUG_COMX_TX		4#define	DEBUG_HW_TX		16#define	DEBUG_HW_RX		32#define	DEBUG_HDLC_KEEPALIVE	64#define	DEBUG_COMX_PPP		128#define DEBUG_COMX_LAPB		256#define	DEBUG_COMX_DLCI		512#define	DEBUG_PAGESIZE		3072#define DEFAULT_DEBUG_SIZE	4096#define	DEFAULT_LINEUP_DELAY	1#define	FILE_PAGESIZE		3072#ifndef	COMX_PPP_MAJOR#define	COMX_PPP_MAJOR		88#endif#define COMX_CHANNEL(dev) ((struct comx_channel*)dev->priv)#define TWIN(dev) (COMX_CHANNEL(dev)->twin)#ifndef bytetypedef u8	byte;#endif#ifndef wordtypedef u16	word;#endif#ifndef	SEEK_SET#define	SEEK_SET	0#endif#ifndef	SEEK_CUR#define	SEEK_CUR	1#endif#ifndef	SEEK_END#define	SEEK_END	2#endifextern struct proc_dir_entry * comx_root_dir;extern int	comx_register_hardware(struct comx_hardware *comx_hw);extern int	comx_unregister_hardware(char *name);extern int	comx_register_protocol(struct comx_protocol *comx_line);extern int	comx_unregister_protocol(char *name);extern int	comx_rx(struct net_device *dev, struct sk_buff *skb);extern void	comx_status(struct net_device *dev, int status);extern void	comx_lineup_func(unsigned long d);extern int	comx_debug(struct net_device *dev, char *fmt, ...);extern int	comx_debug_skb(struct net_device *dev, struct sk_buff *skb, char *msg);extern int	comx_debug_bytes(struct net_device *dev, unsigned char *bytes, int len,		char *msg);extern int	comx_strcasecmp(const char *cs, const char *ct);extern struct inode_operations comx_normal_inode_ops;

⌨️ 快捷键说明

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