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

📄 cislib.h

📁 IXP425的BSP代码
💻 H
字号:
/* cisLib.h - PCMCIA CIS library header *//* Copyright 1984-1996 Wind River Systems, Inc. *//*modification history--------------------01d,02may01,dat  added WRS_PACK_ALIGN struct. spr 6716801c,16jan97,hdn  added CIS_MAX_TUPLES.01b,22feb96,hdn  cleaned up.01a,10feb95,hdn  written*/#ifndef __INCcislibh#define __INCcislibh#ifdef __cplusplusextern "C" {#endif#ifndef _ASMLANGUAGE/* * The following packing attribute is needed by code that reads the CIS tuples * to ensure the structure sizes can be used to calculate the proper offsets. */#ifndef WRS_PACK_ALIGN#   define WRS_PACK_ALIGN(x) __attribute__((packed, aligned(x)))#endiftypedef struct cisTupleA    {    u_char code;    u_char dummy0;    u_char link;    u_char dummy1;    } CIS_TUPLE_A;typedef struct cisTupleC    {    u_char code;    u_char link;    } WRS_PACK_ALIGN(2) CIS_TUPLE_C;typedef CIS_TUPLE_C CIS_TUPLE;typedef union cisByte2    {    u_char	c[2];    u_short	s;    } CIS_BYTE2;typedef union cisByte4    {    u_char	c[4];    u_int	l;    } CIS_BYTE4;typedef struct cisIo    {    u_int	start;    u_int	stop;    } CIS_IO;typedef struct cisMem    {    u_int	length;    u_int	cAddr;    u_int	hAddr;    } CIS_MEM;typedef struct cisConfig    {    DL_NODE	node;			/* Double Link Node */    u_char	index;			/* configuration index */    u_char	interfaceType;		/* interface type */    u_char	vcc[3];			/* vcc */    u_char	vpp1[3];		/* vpp1 */    u_char	vpp2[3];		/* vpp2 */    u_char	ioBuswidth;		/* io bus width */    u_char	ioAddrlines;		/* io address lines */    u_char	ioRanges;		/* io ranges */    CIS_IO	io[16];			/* io window info */    u_char	irqMode;		/* IRQ mode */    u_char	irqMask;		/* IRQ mask */    u_char	irqLevel;		/* IRQ level */    u_char	irqSpecial;		/* IRQ special */    CIS_BYTE2	irqBit;			/* IRQ bit */    CIS_MEM	mem[8];			/* memory window info */    u_char	twins;			/* twin */    u_char	audio;			/* audio */    u_char	readonly;		/* read only */    u_char	pwrdown;		/* power down */    } CIS_CONFIG;/* assume max number of tuples in attribute or common memory */#define	CIS_MAX_TUPLES		512/* memory window for Tuple and Configuration-register */#define	CIS_MEM_TUPLE		0#define	CIS_MEM_CONFIG		1/* Tuple codes */#define CISTPL_NULL		0x00#define CISTPL_DEVICE		0x01#define CISTPL_CHECKSUM		0x10#define CISTPL_LONGLINK_A	0x11#define CISTPL_LONGLINK_C	0x12#define CISTPL_LINKTARGET	0x13#define CISTPL_NO_LINK		0x14#define CISTPL_VERS_1		0x15#define CISTPL_ALTSTR		0x16#define CISTPL_DEVICE_A		0x17#define CISTPL_JEDEC_C		0x18#define CISTPL_JEDEC_A		0x19#define CISTPL_CONFIG		0x1a#define CISTPL_CFTABLE_ENTRY	0x1b#define CISTPL_DEVICE_OC	0x1c#define CISTPL_DEVICE_OA	0x1d#define CISTPL_DEVICE_GEO	0x1e#define CISTPL_DEVICE_GEO_A	0x1f#define CISTPL_MANFID		0x20#define CISTPL_FUNCID		0x21#define CISTPL_FUNCE		0x22#define CISTPL_SWIL		0x23#define CISTPL_VERS_2		0x40#define CISTPL_FORMAT		0x41#define CISTPL_GEOMETRY		0x42#define CISTPL_BYTEORDER	0x43#define CISTPL_DATE		0x44#define CISTPL_BATTERY		0x45#define CISTPL_ORG		0x46#define CISTPL_END		0xff/* device speed codes */#define DSPEED_NULL		0#define DSPEED_250NS		1#define DSPEED_200NS		2#define DSPEED_150NS		3#define DSPEED_100NS		4#define DSPEED_EXT		7/* device type codes */#define DTYPE_NULL		0x00#define DTYPE_ROM		0x10#define DTYPE_OTPROM		0x20#define DTYPE_EPROM		0x30#define DTYPE_EEPROM		0x40#define DTYPE_FLASH		0x50#define DTYPE_SRAM		0x60#define DTYPE_DRAM		0x70#define DTYPE_FUNCSPEC		0xd0#define DTYPE_EXTEND		0xe0/* function ID */#define FUNC_MULTI		0x0#define FUNC_MEMORY		0x1#define FUNC_SERIAL		0x2#define FUNC_PARALLEL		0x3#define FUNC_FIXEDDISK		0x4#define FUNC_VIDEO		0x5#define FUNC_LAN		0x6#define FUNC_AIMS		0x7/* function extension type and data */#define FUNCE_TYPE_DISK		0x01#define FUNCE_DATA_ATA		0x01/* configuration register: configuration option register */#define COR_SRESET		0x80#define COR_LEVIREQ		0x40/* configuration register: card configuration and status register */#define CCSR_CHANGED		0x80#define CCSR_SIGCHG		0x40#define CCSR_IOIS8		0x20#define CCSR_AUDIO		0x08#define CCSR_PWRDWN		0x04#define CCSR_INTR		0x02/* configuration register: pin replacement register */#define PRR_CBVD1		0x80#define PRR_CBVD2		0x40#define PRR_CRDY		0x20#define PRR_CWPROT		0x10#define PRR_RBVD1		0x08#define PRR_RBVD2		0x04#define PRR_RRDY		0x02#define PRR_RWPROT		0x01/* function declarations */#if defined(__STDC__) || defined(__cplusplus)extern STATUS	cisGet		(int sock);extern void	cisFree		(int sock);extern STATUS	cisConfigregGet	(int sock, int reg, int *pValue);extern STATUS	cisConfigregSet	(int sock, int reg, int value);extern void	cisShow		(int sock);#elseextern STATUS	cisGet		();extern void	cisFree		();extern STATUS	cisConfigregGet	();extern STATUS	cisConfigregSet	();extern void	cisShow		();#endif  /* __STDC__ */#endif	/* _ASMLANGUAGE */#ifdef __cplusplus}#endif#endif	/* __INCcislibh */

⌨️ 快捷键说明

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