Commit | Line | Data |
---|---|---|
c0b04d1b RK |
1 | /* |
2 | * ecard.h | |
3 | * | |
4 | * Copyright 2007 Russell King | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License version 2 as | |
8 | * published by the Free Software Foundation. | |
9 | */ | |
10 | ||
11 | /* Definitions internal to ecard.c - for it's use only!! | |
12 | * | |
13 | * External expansion card header as read from the card | |
14 | */ | |
15 | struct ex_ecid { | |
16 | unsigned char r_irq:1; | |
17 | unsigned char r_zero:1; | |
18 | unsigned char r_fiq:1; | |
19 | unsigned char r_id:4; | |
20 | unsigned char r_a:1; | |
21 | ||
22 | unsigned char r_cd:1; | |
23 | unsigned char r_is:1; | |
24 | unsigned char r_w:2; | |
25 | unsigned char r_r1:4; | |
26 | ||
27 | unsigned char r_r2:8; | |
28 | ||
29 | unsigned char r_prod[2]; | |
30 | ||
31 | unsigned char r_manu[2]; | |
32 | ||
33 | unsigned char r_country; | |
34 | ||
35 | unsigned char r_fiqmask; | |
36 | unsigned char r_fiqoff[3]; | |
37 | ||
38 | unsigned char r_irqmask; | |
39 | unsigned char r_irqoff[3]; | |
40 | }; | |
41 | ||
42 | /* | |
43 | * Chunk directory entry as read from the card | |
44 | */ | |
45 | struct ex_chunk_dir { | |
46 | unsigned char r_id; | |
47 | unsigned char r_len[3]; | |
48 | unsigned long r_start; | |
49 | union { | |
50 | char string[256]; | |
51 | char data[1]; | |
52 | } d; | |
53 | #define c_id(x) ((x)->r_id) | |
54 | #define c_len(x) ((x)->r_len[0]|((x)->r_len[1]<<8)|((x)->r_len[2]<<16)) | |
55 | #define c_start(x) ((x)->r_start) | |
56 | }; |