1 // pcmcia.h - Header file for PCMCIA support
6 typedef unsigned char u_char
;
7 typedef unsigned short u_short
;
8 typedef unsigned int u_int
;
9 typedef unsigned long u_long
;
11 typedef u_short ioaddr_t
;
15 #define MAXPCCCONFIGS 8
17 typedef enum ebpdriver_t
{ I82365
, SOMEDRIVER
} ebpdriver_t
;
18 typedef enum interface_func_t
{ INIT
, SHUTDOWN
, MAPATTRMEM
, UNMAPATTRMEM
, SELECTCONFIG
} interface_func_t
;
19 typedef enum ebpstatus_t
{ EMPTY
, HASCARD
, INITIALIZED
, SUSPENDED
, OTHERDEVICE
, UNKNOWN
} ebpstatus_t
;
21 struct driver_interact_t
{
23 int (*f
)(interface_func_t
,int,int,int,int);
30 // Internal usage of the drivers:
36 int possibleconfignum
;
42 extern struct pccsock_t pccsock
[MAXPCCSOCKS
];
43 extern u_int pccsocks
;
53 int i82365_interfacer(interface_func_t
,int,int,int,void *);
59 //*********************************************************** cc.h:
60 /* Definitions for card status flags for GetStatus */
61 #define SS_WRPROT 0x0001
62 #define SS_CARDLOCK 0x0002
63 #define SS_EJECTION 0x0004
64 #define SS_INSERTION 0x0008
65 #define SS_BATDEAD 0x0010
66 #define SS_BATWARN 0x0020
67 #define SS_READY 0x0040
68 #define SS_DETECT 0x0080
69 #define SS_POWERON 0x0100
71 #define SS_STSCHG 0x0400
72 #define SS_CARDBUS 0x0800
73 #define SS_3VCARD 0x1000
74 #define SS_XVCARD 0x2000
75 #define SS_PENDING 0x4000
77 /* cc.h: for InquireSocket */
78 typedef struct socket_cap_t
{
84 //struct pci_dev *cb_dev;
85 //struct bus_operations *bus;
89 /* InquireSocket capabilities */
90 #define SS_CAP_PAGE_REGS 0x0001
91 #define SS_CAP_VIRTUAL_BUS 0x0002
92 #define SS_CAP_MEM_ALIGN 0x0004
93 #define SS_CAP_STATIC_MAP 0x0008
94 #define SS_CAP_PCCARD 0x4000
95 #define SS_CAP_CARDBUS 0x8000
97 /* for GetSocket, SetSocket */
98 typedef struct socket_state_t
{
105 extern socket_state_t dead_socket
;
107 /* Socket configuration flags */
108 #define SS_PWR_AUTO 0x0010
109 #define SS_IOCARD 0x0020
110 #define SS_RESET 0x0040
111 #define SS_DMA_MODE 0x0080
112 #define SS_SPKR_ENA 0x0100
113 #define SS_OUTPUT_ENA 0x0200
114 #define SS_DEBOUNCED 0x0400 /* Tell driver that the debounce delay has ended */
115 #define SS_ZVCARD 0x0800
117 /* Flags for I/O port and memory windows */
118 #define MAP_ACTIVE 0x01
119 #define MAP_16BIT 0x02
120 #define MAP_AUTOSZ 0x04
122 #define MAP_WRPROT 0x10
123 #define MAP_ATTRIB 0x20
124 #define MAP_USE_WAIT 0x40
125 #define MAP_PREFETCH 0x80
127 /* Use this just for bridge windows */
128 #define MAP_IOSPACE 0x20
130 typedef struct pccard_io_map
{
134 ioaddr_t start
, stop
;
138 typedef struct pccard_mem_map
{
142 u_long sys_start
, sys_stop
;
146 typedef struct cb_bridge_map
{
151 // need the global function pointer struct? *TODO*
152 //************************************* end cc.h
156 #endif /* PCMCIA_H */