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

📄 pcmcialib.h

📁 IXP425的BSP代码
💻 H
字号:
/* pcmciaLib.h - PCMCIA library header *//* Copyright 1984-1996 Wind River Systems, Inc. *//* Copyright (c) 1994 David A. Hinds -- All Rights Reserved *//*modification history--------------------01c,16jan97,hdn  added two new members to PCMCIA_CTRL.01b,22feb96,hdn  cleaned up.01a,19jan95,hdn  written based on David Hinds's version 2.2.3.*/#ifndef __INCpcmciah#define __INCpcmciah#ifdef __cplusplusextern "C" {#endif#include "vwModNum.h"/* pcmciaLib status codes */#define S_pcmciaLib_BATTERY_DEAD	(M_pcmciaLib | 1)#define S_pcmciaLib_BATTERY_WARNING	(M_pcmciaLib | 2)#ifndef _ASMLANGUAGE#include "dllLib.h"#include "blkIo.h"#include "sysLib.h"#include "dosFsLib.h"#include "drv/pcmcia/pccardLib.h"#define DOS_ID_OFFSET                   3#define FIRST_PARTITION_SECTOR_OFFSET   (0x1be + 8)#define VXDOS                           "VXDOS"#define VXEXT                           "VXEXT"#define PCMCIA_MAX_ARGS		6	/* max args to task level call */#define PCMCIA_MAX_MSGS		10	/* max number of PCMCIA event msgs */#define MAX_SOCKETS		8	/* XXX */#define PCMCIA_CIS_WINDOW	0	/* memory window for CIS */typedef struct pcmciaCard		/* for PC card */    {    int		type;			/* card type */    int		sock;			/* socket no. */    int		ctrl;			/* controller no. */    BOOL	detected;		/* TRUE if a card is detected */    BOOL	installed;		/* TRUE if a driver is installed */    BOOL	changed;		/* TRUE if a card is changed */    int		regBase;		/* config register base */    int		regMask;		/* config register mask */    int		cardStatus;		/* card status */    int		initStatus;		/* init status */    FUNCPTR	cscIntr;		/* CSC interrupt handler */    FUNCPTR	showRtn;		/* show routine */    DL_LIST	cisTupleList;		/* CIS tuple link list */    DL_LIST	cisConfigList;		/* CIS config tuple link list */    PCCARD_RESOURCE *pResource;		/* resources for the card */    BLK_DEV	*pBlkDev;		/* booting for block device */    NETIF	*pNetIf;		/* booting for ethernet device */    DOS_VOL_DESC *pDos;			/* DOS file system volume descriptor */    } PCMCIA_CARD;typedef struct pcmciaChip		/* for PCMCIA host adapter chip */    {    int		type;			/* type of PCMCIA adapter chip */    char	*name;			/* name of PCMCIA adapter chip */    BOOL	installed;		/* TRUE if it is installed */    int		socks;			/* number of sockets supported */    int		flags;			/* */    int		intLevel;		/* CSC interrupt level */    int		memWindows;		/* number of memory windows */    int		ioWindows;		/* number of io windows */    FUNCPTR	reset;			/* reset routine */    FUNCPTR	status;			/* status routine */    FUNCPTR	flagGet;		/* flag get routine */    FUNCPTR	flagSet;		/* flag set routine */    FUNCPTR	cscOn;			/* CSC on routine */    FUNCPTR	cscOff;			/* CSC off routine */    FUNCPTR	cscPoll;		/* CSC poll routine */    FUNCPTR	irqGet;			/* IRQ get routine */    FUNCPTR	irqSet;			/* IRQ set routine */    FUNCPTR	iowinGet;		/* io window get routine */    FUNCPTR	iowinSet;		/* io window set routine */    FUNCPTR	memwinGet;		/* memory window get routine */    FUNCPTR	memwinSet;		/* memory window set routine */    FUNCPTR	showRtn;		/* show routine */    } PCMCIA_CHIP;typedef struct pcmciaCtrl    {    int		socks;			/* number of sockets */    int		memBase;		/* mapping memory base addr */    PCMCIA_CHIP chip;			/* chip structure */    PCMCIA_CARD card[MAX_SOCKETS];	/* card structure */    } PCMCIA_CTRL;typedef struct pcmciaIowin    {    int		window;    int		flags;    int		extraws;    int		start;    int		stop;    } PCMCIA_IOWIN;typedef struct pcmciaMemwin    {    int		window;    int		flags;    int		extraws;    int		start;    int		stop;    int		cardstart;    } PCMCIA_MEMWIN;typedef struct pcmciaAdapter    {    int		type;			/* type of a PCMCIA adapter chip */    int		ioBase;			/* IO base address */    int		intVec;			/* CSC interrupt vector */    int		intLevel;		/* CSC interrupt level */    FUNCPTR	initRtn;		/* initialize routine */    FUNCPTR	showRtn;		/* show routine */    } PCMCIA_ADAPTER;typedef struct pcmciaMsg    {    VOIDFUNCPTR	func;			/* pointer to function to invoke */    int		arg [PCMCIA_MAX_ARGS];	/* args for function */    } PCMCIA_MSG;/* supported PCMCIA host adapter chip type */#define PCMCIA_PCIC		0x01#define PCMCIA_TCIC		0x02/* supported PC card type */#define PCCARD_SRAM		0x01#define PCCARD_ATA		0x02#define PCCARD_LAN_ELT		0x03/* configuration register number */#define CONFIG_OPTION_REG	0#define CONFIG_STATUS_REG	1#define PIN_REPLACEMENT_REG	2#define SOCKET_COPY_REG		3/* bits in configuration option register */#define COPTION_SRESET		0x80#define COPTION_LEVIRQ		0x40/* bits in configuration status register */#define CSTATUS_CHANGED		0x80#define CSTATUS_SIGCHG		0x40#define CSTATUS_IOIS8		0x20#define CSTATUS_AUDIO		0x08#define CSTATUS_PWRDWN		0x04#define CSTATUS_INTR		0x02/* bits in pin replacement register */#define PINREP_CBVD1		0x80#define PINREP_CBVD2		0x40#define PINREP_CRDYBSY		0x20#define PINREP_CWPROT		0x10#define PINREP_RBVD1		0x08#define PINREP_RBVD2		0x04#define PINREP_RRDYBSY		0x02#define PINREP_RWPROT		0x01/* definitions for card status flags */#define PC_WRPROT		0x001#define PC_CARDLOCK		0x002#define PC_NO_CARD		0x004#define PC_IS_CARD		0x008#define PC_BATDEAD		0x010#define PC_BATWARN		0x020#define PC_READY		0x040#define PC_DETECT		0x080#define PC_POWERON		0x100#define PC_GPI			0x200#define PC_STSCHG		0x400/* various card configuration flags */#define PC_PWR_OFF		0x00#define PC_VCC_MASK		0x03#define PC_VCC_3V		0x01#define PC_VCC_5V		0x02#define PC_VPP_MASK		0x0C#define PC_VPP_5V		0x04#define PC_VPP_12V		0x08#define PC_PWR_AUTO		0x10#define PC_IOCARD		0x20#define PC_RESET		0x40/* flags for I/O port and memory windows */#define MAP_ACTIVE		0x01#define MAP_16BIT		0x02#define MAP_0WS			0x04#define MAP_CS16		0x08#define MAP_WRPROT		0x10#define MAP_ATTRIB		0x20/* function declarations */#if defined(__STDC__) || defined(__cplusplus)extern STATUS 	pcmciaInit	(void);extern STATUS 	pcmciaJobAdd	(VOIDFUNCPTR func, int arg1, int arg2, 				 int arg3, int arg4, int arg5, int arg6);extern void 	pcmciad		(void);extern void 	pcmciaShowInit	(void);extern void 	pcmciaShow	(int sock);#elseextern STATUS 	pcmciaInit	();extern STATUS 	pcmciaJobAdd	();extern void 	pcmciad		();extern void 	pcmciaShowInit	();extern void 	pcmciaShow	();#endif	/* __STDC__ */#endif	/* _ASMLANGUAGE */#ifdef __cplusplus}#endif#endif	/* __INCpcmciah */

⌨️ 快捷键说明

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