1/*
2 * bulkmem.h -- Definitions for bulk memory services
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * The initial developer of the original code is David A. Hinds
9 * <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
10 * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
11 *
12 * (C) 1999		David A. Hinds
13 */
14
15#ifndef _LINUX_BULKMEM_H
16#define _LINUX_BULKMEM_H
17
18/* For GetFirstRegion and GetNextRegion */
19typedef struct region_info_t {
20    u_int		Attributes;
21    u_int		CardOffset;
22    u_int		RegionSize;
23    u_int		AccessSpeed;
24    u_int		BlockSize;
25    u_int		PartMultiple;
26    u_char		JedecMfr, JedecInfo;
27    memory_handle_t	next;
28} region_info_t;
29
30#define REGION_TYPE		0x0001
31#define REGION_TYPE_CM		0x0000
32#define REGION_TYPE_AM		0x0001
33#define REGION_PREFETCH		0x0008
34#define REGION_CACHEABLE	0x0010
35#define REGION_BAR_MASK		0xe000
36#define REGION_BAR_SHIFT	13
37
38int pcmcia_get_first_region(struct pcmcia_device *handle, region_info_t *rgn);
39int pcmcia_get_next_region(struct pcmcia_device *handle, region_info_t *rgn);
40
41#endif /* _LINUX_BULKMEM_H */
42