#ifndef RESOURCES_CARD_H
#define RESOURCES_CARD_H 1

/*
** $VER: card.h 1.9 (04.09.92)
** Includes Release 38.56
**
** card.resource include file
**
** (C) Copyright 1991-1992 Commodore-Amiga, Inc.
** All Rights Reserved
**
*/
#ifndef EXEC_TYPES_H
#include "exec/types.h"
#endif

#ifndef EXEC_NODES_H
#include "exec/nodes.h"
#endif

#ifndef EXEC_INTERRUPTS_H
#include "exec/interrupts.h"
#endif

#define CARDRESNAME "card.resource"



struct CardHandle {
 struct Node cah_CardNode;
 struct Interrupt *cah_CardRemoved;
 struct Interrupt *cah_CardInserted;
 struct Interrupt *cah_CardStatus;
 UBYTE cah_CardFlags;
};

struct DeviceTData {
 ULONG dtd_DTsize; 
 ULONG dtd_DTspeed; 
 UBYTE dtd_DTtype; 
 UBYTE dtd_DTflags; 
};

struct CardMemoryMap {
 UBYTE *cmm_CommonMemory;
 UBYTE *cmm_AttributeMemory;
 UBYTE *cmm_IOMemory;
};



#define CARDB_RESETREMOVE 0
#define CARDF_RESETREMOVE (1<<CARDB_RESETREMOVE)

#define CARDB_IFAVAILABLE 1
#define CARDF_IFAVAILABLE (1<<CARDB_IFAVAILABLE)

#define CARDB_DELAYOWNERSHIP 2
#define CARDF_DELAYOWNERSHIP (1<<CARDB_DELAYOWNERSHIP)



#define CARDB_REMOVEHANDLE 0
#define CARDF_REMOVEHANDLE (1<<CARDB_REMOVEHANDLE)



#define CARD_STATUSB_CCDET 6
#define CARD_STATUSF_CCDET (1<<CARD_STATUSB_CCDET)

#define CARD_STATUSB_BVD1 5
#define CARD_STATUSF_BVD1 (1<<CARD_STATUSB_BVD1)

#define CARD_STATUSB_SC 5
#define CARD_STATUSF_SC (1<<CARD_STATUSB_SC)

#define CARD_STATUSB_BVD2 4
#define CARD_STATUSF_BVD2 (1<<CARD_STATUSB_BVD2)

#define CARD_STATUSB_DA 4
#define CARD_STATUSF_DA (1<<CARD_STATUSB_DA)

#define CARD_STATUSB_WR 3
#define CARD_STATUSF_WR (1<<CARD_STATUSB_WR)

#define CARD_STATUSB_BSY 2
#define CARD_STATUSF_BSY (1<<CARD_STATUSB_BSY)

#define CARD_STATUSB_IRQ 2
#define CARD_STATUSF_IRQ (1<<CARD_STATUSB_IRQ)



#define CARD_VOLTAGE_0V 0 
#define CARD_VOLTAGE_5V 1
#define CARD_VOLTAGE_12V 2



#define CARD_ENABLEB_DIGAUDIO 1
#define CARD_ENABLEF_DIGAUDIO (1<<CARD_ENABLEB_DIGAUDIO)

#define CARD_DISABLEB_WP 3
#define CARD_DISABLEF_WP (1<<CARD_DISABLEB_WP)




#define CARD_INTERFACE_AMIGA_0 0



#define CISTPL_AMIGAXIP 0x91

struct TP_AmigaXIP {
 UBYTE TPL_CODE;
 UBYTE TPL_LINK;
 UBYTE TP_XIPLOC[4];
 UBYTE TP_XIPFLAGS;
 UBYTE TP_XIPRESRV;
 };


#define XIPFLAGSB_AUTORUN 0
#define XIPFLAGSF_AUTORUN (1<<XIPFLAGSB_AUTORUN)

#endif 
