Files
m241Neelima/vxworks-6.9/target/h/drv/pcmcia/pccardLib.h
T
2026-07-30 11:19:44 +05:30

136 lines
4.1 KiB
C

/* pccardLib.h - PCMCIA network interface header*/
/*
* Copyright (c) 1995-1997, 2002, 2009 Wind River Systems, Inc.
*
* The right to copy, distribute, modify or otherwise make use
* of this software may be licensed only pursuant to the terms
* of an applicable Wind River license agreement.
*/
/*
modification history
--------------------
01e,04aug09,e_d Added register interval to ATA_RESOURCE. (WIND00171937)
01d,30apr02,pmr SPR 76487: fixed configType comment.
01c,11dec97,hdn added TFFS support for flash PC card.
01b,22feb96,hdn cleaned up.
01a,19oct95,hdn written.
*/
#ifndef __INCpccardLibh
#define __INCpccardLibh
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _ASMLANGUAGE
#define ERROR_FIND -2 /* return code from Enabler */
#define PCCARD_3V 3 /* 3V for Vcc */
#define PCCARD_5V 5 /* 5V for Vcc or Vpp */
#define PCCARD_12V 12 /* 12V for Vpp */
#define PCCARD_IOWIN0 0 /* IO window 0 */
#define PCCARD_IOWIN1 1 /* IO window 1 */
#define PCCARD_FLASH 4 /* flash memory PC card */
typedef struct pccardEnabler
{
int type; /* type of a PC Card */
void *pResource; /* pointer to PC card resources */
int resourceNumEnt; /* number of PC card resource elements */
FUNCPTR enableRtn; /* enable routine */
FUNCPTR showRtn; /* show routine */
} PCCARD_ENABLER;
typedef struct pccardResource
{
int vcc; /* 3,5: Vcc */
int vpp; /* 5,12: Vpp */
int ioStart[2]; /* start IO address */
int ioStop[2]; /* stop IO address */
int ioExtraws; /* 0-2: extra wait state */
int memStart; /* start host address */
int memStop; /* stop host address */
int memExtraws; /* 0-2: extra wait state */
int memOffset; /* offset card address */
int memLength; /* size of the memory */
} PCCARD_RESOURCE;
typedef struct ataResource /* PCCARD ATA resources */
{
PCCARD_RESOURCE resource; /* must be the first member */
int ctrlType; /* controller type: IDE_LOCAL or ATA_PCMCIA */
int drives; /* 1,2: number of drives */
int intVector; /* interrupt vector */
int intLevel; /* IRQ level */
int configType; /* or'd configuration flags */
int semTimeout; /* timeout seconds for sync semaphore */
int wdgTimeout; /* timeout seconds for watch dog */
int sockTwin; /* socket number for twin card */
int pwrdown; /* power down mode */
UINT8 regInterval; /* reg interval for ATA ctroller */
} ATA_RESOURCE;
typedef struct sramResource /* PCCARD SRAM resources */
{
PCCARD_RESOURCE resource; /* must be the first member */
} SRAM_RESOURCE;
typedef struct eltResource /* PCCARD ELT resources */
{
PCCARD_RESOURCE resource; /* must be the first member */
int intVector; /* interrupt vector */
int intLevel; /* IRQ level */
int rxFrames; /* # of receive frames (0=default) */
int connector; /* Ethernet connector to use */
} ELT_RESOURCE;
typedef struct tffsResource /* PCCARD TFFS resources */
{
PCCARD_RESOURCE resource; /* must be the first member */
} TFFS_RESOURCE;
/* function declarations */
#if defined(__STDC__) || defined(__cplusplus)
extern STATUS pccardMount (int sock, char *pName);
extern STATUS pccardMkfs (int sock, char *pName);
extern STATUS pccardEltEnabler (int sock, ELT_RESOURCE *pEltResource,
int numEnt, FUNCPTR showRtn);
extern STATUS pccardAtaEnabler (int sock, ATA_RESOURCE *pAtaResource,
int numEnt, FUNCPTR showRtn);
extern STATUS pccardSramEnabler (int sock, SRAM_RESOURCE *pSramResource,
int numEnt, FUNCPTR showRtn);
extern STATUS pccardTffsEnabler (int sock, TFFS_RESOURCE *pTffsResource,
int numEnt, FUNCPTR showRtn);
extern void pccardShowInit (void);
#else
extern STATUS pccardMount ();
extern STATUS pccardMkfs ();
extern STATUS pccardEltEnabler ();
extern STATUS pccardAtaEnabler ();
extern STATUS pccardSramEnabler ();
extern STATUS pccardTffsEnabler ();
extern void pccardShowInit ();
#endif /* __STDC__ */
#endif /* _ASMLANGUAGE */
#ifdef __cplusplus
}
#endif
#endif /* __INCpccardLibh */