136 lines
4.1 KiB
C
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 */
|