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

📄 cistpl.h

📁 嵌入式系统设计与实验教材二源码linux内核移植与编译
💻 H
📖 第 1 页 / 共 2 页
字号:
#define CISTPL_LAN_TECH_LOCALTALK	0x04#define CISTPL_LAN_TECH_FDDI		0x05#define CISTPL_LAN_TECH_ATM		0x06#define CISTPL_LAN_TECH_WIRELESS	0x07typedef struct cistpl_lan_tech_t {    u_char	tech;} cistpl_lan_tech_t;typedef struct cistpl_lan_speed_t {    u_int	speed;} cistpl_lan_speed_t;/* LAN media definitions */#define CISTPL_LAN_MEDIA_UTP		0x01#define CISTPL_LAN_MEDIA_STP		0x02#define CISTPL_LAN_MEDIA_THIN_COAX	0x03#define CISTPL_LAN_MEDIA_THICK_COAX	0x04#define CISTPL_LAN_MEDIA_FIBER		0x05#define CISTPL_LAN_MEDIA_900MHZ		0x06#define CISTPL_LAN_MEDIA_2GHZ		0x07#define CISTPL_LAN_MEDIA_5GHZ		0x08#define CISTPL_LAN_MEDIA_DIFF_IR	0x09#define CISTPL_LAN_MEDIA_PTP_IR		0x0atypedef struct cistpl_lan_media_t {    u_char	media;} cistpl_lan_media_t;typedef struct cistpl_lan_node_id_t {    u_char	nb;    u_char	id[16];} cistpl_lan_node_id_t;typedef struct cistpl_lan_connector_t {    u_char	code;} cistpl_lan_connector_t;/*======================================================================    IDE Function Extension Tuples======================================================================*/#define CISTPL_IDE_INTERFACE		0x01typedef struct cistpl_ide_interface_t {    u_char	interface;} cistpl_ide_interface_t;/* First feature byte */#define CISTPL_IDE_SILICON		0x04#define CISTPL_IDE_UNIQUE		0x08#define CISTPL_IDE_DUAL			0x10/* Second feature byte */#define CISTPL_IDE_HAS_SLEEP		0x01#define CISTPL_IDE_HAS_STANDBY		0x02#define CISTPL_IDE_HAS_IDLE		0x04#define CISTPL_IDE_LOW_POWER		0x08#define CISTPL_IDE_REG_INHIBIT		0x10#define CISTPL_IDE_HAS_INDEX		0x20#define CISTPL_IDE_IOIS16		0x40typedef struct cistpl_ide_feature_t {    u_char	feature1;    u_char	feature2;} cistpl_ide_feature_t;#define CISTPL_FUNCE_IDE_IFACE		0x01#define CISTPL_FUNCE_IDE_MASTER		0x02#define CISTPL_FUNCE_IDE_SLAVE		0x03/*======================================================================    Configuration Table Entries======================================================================*/#define CISTPL_BAR_SPACE	0x07#define CISTPL_BAR_SPACE_IO	0x10#define CISTPL_BAR_PREFETCH	0x20#define CISTPL_BAR_CACHEABLE	0x40#define CISTPL_BAR_1MEG_MAP	0x80typedef struct cistpl_bar_t {    u_char	attr;    u_int	size;} cistpl_bar_t;typedef struct cistpl_config_t {    u_char	last_idx;    u_int	base;    u_int	rmask[4];    u_char	subtuples;} cistpl_config_t;/* These are bits in the 'present' field, and indices in 'param' */#define CISTPL_POWER_VNOM	0#define CISTPL_POWER_VMIN	1#define CISTPL_POWER_VMAX	2#define CISTPL_POWER_ISTATIC	3#define CISTPL_POWER_IAVG	4#define CISTPL_POWER_IPEAK	5#define CISTPL_POWER_IDOWN	6#define CISTPL_POWER_HIGHZ_OK	0x01#define CISTPL_POWER_HIGHZ_REQ	0x02typedef struct cistpl_power_t {    u_char	present;    u_char	flags;    u_int	param[7];} cistpl_power_t;typedef struct cistpl_timing_t {    u_int	wait, waitscale;    u_int	ready, rdyscale;    u_int	reserved, rsvscale;} cistpl_timing_t;#define CISTPL_IO_LINES_MASK	0x1f#define CISTPL_IO_8BIT		0x20#define CISTPL_IO_16BIT		0x40#define CISTPL_IO_RANGE		0x80#define CISTPL_IO_MAX_WIN	16typedef struct cistpl_io_t {    u_char	flags;    u_char	nwin;    struct {	u_int	base;	u_int	len;    } win[CISTPL_IO_MAX_WIN];} cistpl_io_t;typedef struct cistpl_irq_t {    u_int	IRQInfo1;    u_int	IRQInfo2;} cistpl_irq_t;#define CISTPL_MEM_MAX_WIN	8typedef struct cistpl_mem_t {    u_char	flags;    u_char	nwin;    struct {	u_int	len;	u_int	card_addr;	u_int	host_addr;    } win[CISTPL_MEM_MAX_WIN];} cistpl_mem_t;#define CISTPL_CFTABLE_DEFAULT		0x0001#define CISTPL_CFTABLE_BVDS		0x0002#define CISTPL_CFTABLE_WP		0x0004#define CISTPL_CFTABLE_RDYBSY		0x0008#define CISTPL_CFTABLE_MWAIT		0x0010#define CISTPL_CFTABLE_AUDIO		0x0800#define CISTPL_CFTABLE_READONLY		0x1000#define CISTPL_CFTABLE_PWRDOWN		0x2000typedef struct cistpl_cftable_entry_t {    u_char		index;    u_short		flags;    u_char		interface;    cistpl_power_t	vcc, vpp1, vpp2;    cistpl_timing_t	timing;    cistpl_io_t		io;    cistpl_irq_t	irq;    cistpl_mem_t	mem;    u_char		subtuples;} cistpl_cftable_entry_t;#define CISTPL_CFTABLE_MASTER		0x000100#define CISTPL_CFTABLE_INVALIDATE	0x000200#define CISTPL_CFTABLE_VGA_PALETTE	0x000400#define CISTPL_CFTABLE_PARITY		0x000800#define CISTPL_CFTABLE_WAIT		0x001000#define CISTPL_CFTABLE_SERR		0x002000#define CISTPL_CFTABLE_FAST_BACK	0x004000#define CISTPL_CFTABLE_BINARY_AUDIO	0x010000#define CISTPL_CFTABLE_PWM_AUDIO	0x020000typedef struct cistpl_cftable_entry_cb_t {    u_char		index;    u_int		flags;    cistpl_power_t	vcc, vpp1, vpp2;    u_char		io;    cistpl_irq_t	irq;    u_char		mem;    u_char		subtuples;} cistpl_cftable_entry_cb_t;typedef struct cistpl_device_geo_t {    u_char		ngeo;    struct {	u_char		buswidth;	u_int		erase_block;	u_int		read_block;	u_int		write_block;	u_int		partition;	u_int		interleave;    } geo[CISTPL_MAX_DEVICES];} cistpl_device_geo_t;typedef struct cistpl_vers_2_t {    u_char	vers;    u_char	comply;    u_short	dindex;    u_char	vspec8, vspec9;    u_char	nhdr;    u_char	vendor, info;    char	str[244];} cistpl_vers_2_t;typedef struct cistpl_org_t {    u_char	data_org;    char	desc[30];} cistpl_org_t;#define CISTPL_ORG_FS		0x00#define CISTPL_ORG_APPSPEC	0x01#define CISTPL_ORG_XIP		0x02typedef struct cistpl_format_t {    u_char	type;    u_char	edc;    u_int	offset;    u_int	length;} cistpl_format_t;#define CISTPL_FORMAT_DISK	0x00#define CISTPL_FORMAT_MEM	0x01#define CISTPL_EDC_NONE		0x00#define CISTPL_EDC_CKSUM	0x01#define CISTPL_EDC_CRC		0x02#define CISTPL_EDC_PCC		0x03typedef union cisparse_t {    cistpl_device_t		device;    cistpl_checksum_t		checksum;    cistpl_longlink_t		longlink;    cistpl_longlink_mfc_t	longlink_mfc;    cistpl_vers_1_t		version_1;    cistpl_altstr_t		altstr;    cistpl_jedec_t		jedec;    cistpl_manfid_t		manfid;    cistpl_funcid_t		funcid;    cistpl_funce_t		funce;    cistpl_bar_t		bar;    cistpl_config_t		config;    cistpl_cftable_entry_t	cftable_entry;    cistpl_cftable_entry_cb_t	cftable_entry_cb;    cistpl_device_geo_t		device_geo;    cistpl_vers_2_t		vers_2;    cistpl_org_t		org;    cistpl_format_t		format;} cisparse_t;typedef struct tuple_t {    u_int	Attributes;    cisdata_t 	DesiredTuple;    u_int	Flags;		/* internal use */    u_int	LinkOffset;	/* internal use */    u_int	CISOffset;	/* internal use */    cisdata_t	TupleCode;    cisdata_t	TupleLink;    cisdata_t	TupleOffset;    cisdata_t	TupleDataMax;    cisdata_t	TupleDataLen;    cisdata_t	*TupleData;} tuple_t;/* Special cisdata_t value */#define RETURN_FIRST_TUPLE	0xff/* Attributes for tuple calls */#define TUPLE_RETURN_LINK	0x01#define TUPLE_RETURN_COMMON	0x02/* For ValidateCIS */typedef struct cisinfo_t {    u_int	Chains;} cisinfo_t;#define CISTPL_MAX_CIS_SIZE	0x200/* For ReplaceCIS */typedef struct cisdump_t {    u_int	Length;    cisdata_t	Data[CISTPL_MAX_CIS_SIZE];} cisdump_t;int pcmcia_get_first_tuple(client_handle_t handle, tuple_t *tuple);int pcmcia_get_next_tuple(client_handle_t handle, tuple_t *tuple);int pcmcia_get_tuple_data(client_handle_t handle, tuple_t *tuple);int pcmcia_parse_tuple(client_handle_t handle, tuple_t *tuple, cisparse_t *parse);int pcmcia_validate_cis(client_handle_t handle, cisinfo_t *info);int pcmcia_replace_cis(client_handle_t handle, cisdump_t *cis);#endif /* LINUX_CISTPL_H */

⌨️ 快捷键说明

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