c3631ce24ec67709abfac82b5229c024ec1362a6
[b43-tools.git] / fwcutter / fwcutter_list.h
1
2 /* file member lists */
3 struct extract _e08665c5c5b66beb9c3b2dd54aa80cb3[] =
4 {
5         { .name = "ucode2", .offset = 0x59ca0, .length = 0x3fe0, .type = EXT_UCODE_1, },
6         { .name = "ucode4", .offset = 0x5dc84, .length = 0x4e78, .type = EXT_UCODE_1, },
7         { .name = "ucode5", .offset = 0x62b00, .length = 0x5700, .type = EXT_UCODE_2, },
8         { .name = "ucode11", .offset = 0x68204, .length = 0x54a8, .type = EXT_UCODE_2, },
9         { .name = "pcm4", .offset = 0x6d6b0, .length = 0x520, .type = EXT_PCM, },
10         { .name = "pcm5", .offset = 0x6dbd4, .length = 0x520, .type = EXT_PCM, },
11         { .name = "a0g0bsinitvals2", .offset = 0x54ad0 + 0x30d8, .length = 0x18 - 8, .type = EXT_IV, },
12         { .name = "b0g0bsinitvals5", .offset = 0x54ad0 + 0x3ae0, .length = 0x100 - 8, .type = EXT_IV, },
13         { .name = "a0g0initvals5", .offset = 0x54ad0 + 0x3be0, .length = 0x9f0 - 8, .type = EXT_IV, },
14         { .name = "a0g1bsinitvals5", .offset = 0x54ad0 + 0x50c0, .length = 0x100 - 8, .type = EXT_IV, },
15         { .name = "a0g0initvals2", .offset = 0x54ad0 + 0x2320, .length = 0xdb8 - 8, .type = EXT_IV, },
16         { .name = "a0g1initvals5", .offset = 0x54ad0 + 0x45d0, .length = 0x9f0 - 8, .type = EXT_IV, },
17         { .name = "b0g0bsinitvals2", .offset = 0x54ad0 + 0x2308, .length = 0x18 - 8, .type = EXT_IV, },
18         { .name = "b0g0initvals5", .offset = 0x54ad0 + 0x30f0, .length = 0x9f0 - 8, .type = EXT_IV, },
19         { .name = "b0g0initvals2", .offset = 0x54ad0 + 0x1550, .length = 0xdb8 - 8, .type = EXT_IV, },
20         { .name = "a0g0bsinitvals5", .offset = 0x54ad0 + 0x4fc0, .length = 0x100 - 8, .type = EXT_IV, },
21         EXTRACT_LIST_END
22 };
23
24 struct extract _9207bc565c2fc9fa1591f6c7911d3fc0[] =
25 {
26         { .name = "ucode4",  .offset = 0x66220 +  0x7ad8, .length = 0x4e68, .type = EXT_UCODE_1, },
27         { .name = "ucode5",  .offset = 0x66220 +  0xc944, .length = 0x5640, .type = EXT_UCODE_2, },
28         { .name = "ucode11", .offset = 0x66220 + 0x11f90, .length = 0x67e0, .type = EXT_UCODE_2, },
29         { .name = "ucode13", .offset = 0x66220 + 0x18774, .length = 0x5f60, .type = EXT_UCODE_2, },
30         { .name = "pcm4", .offset = 0x66220 + 0x1e6d8, .length = 0x520, .type = EXT_PCM, },
31         { .name = "pcm5", .offset = 0x66220 + 0x1ebfc, .length = 0x520, .type = EXT_PCM, },
32         { .name = "b0g0initvals4",      .offset = 0x66220 + 0x1710, .length = 0xe90 - 8, .type = EXT_IV, },
33         { .name = "b0g0bsinitvals4",    .offset = 0x66220 + 0x25a0, .length = 0x18 - 8, .type = EXT_IV, },
34         { .name = "a0g0initvals4",      .offset = 0x66220 + 0x25b8, .length = 0xe90 - 8, .type = EXT_IV, },
35         { .name = "a0g0bsinitvals4",    .offset = 0x66220 + 0x3448, .length = 0x18 - 8, .type = EXT_IV, },
36         { .name = "b0g0initvals5",      .offset = 0x66220 + 0x3460, .length = 0xa28 - 8, .type = EXT_IV, },
37         { .name = "b0g0bsinitvals5",    .offset = 0x66220 + 0x3e88, .length = 0x100 - 8, .type = EXT_IV, },
38         { .name = "a0g0initvals5",      .offset = 0x66220 + 0x3f88, .length = 0xa28 - 8, .type = EXT_IV, },
39         { .name = "a0g1initvals5",      .offset = 0x66220 + 0x49b0, .length = 0xa28 - 8, .type = EXT_IV, },
40         { .name = "a0g0bsinitvals5",    .offset = 0x66220 + 0x53d8, .length = 0x100 - 8, .type = EXT_IV, },
41         { .name = "a0g1bsinitvals5",    .offset = 0x66220 + 0x54d8, .length = 0x100 - 8, .type = EXT_IV, },
42         { .name = "lp0initvals13",      .offset = 0x66220 + 0x5620, .length = 0xb38 - 8, .type = EXT_IV, },
43         { .name = "lp0bsinitvals13",    .offset = 0x66220 + 0x6158, .length = 0x100 - 8, .type = EXT_IV, },
44         { .name = "b0g0initvals13",     .offset = 0x66220 + 0x6258, .length = 0xb40 - 8, .type = EXT_IV, },
45         { .name = "b0g0bsinitvals13",.offset = 0x66220 + 0x6d98, .length = 0x100 - 8, .type = EXT_IV, },
46         { .name = "a0g1initvals13",     .offset = 0x66220 + 0x6e98, .length = 0xb40 - 8, .type = EXT_IV, },
47         { .name = "a0g1bsinitvals13",.offset = 0x66220 + 0x79d8, .length = 0x100 - 8, .type = EXT_IV, },
48         EXTRACT_LIST_END
49 };
50
51 struct extract _722e2e0d8cc04b8f118bb5afe6829ff9[] =
52 {
53         { .name = "ucode4",  .offset = 0x76a10 +  0x8960, .length = 0x4e68, .type = EXT_UCODE_1, },
54         { .name = "ucode5",  .offset = 0x76a10 +  0xd7cc, .length = 0x5640, .type = EXT_UCODE_2, },
55         { .name = "ucode11", .offset = 0x76a10 + 0x12e18, .length = 0x67e0, .type = EXT_UCODE_2, },
56         { .name = "ucode13", .offset = 0x76a10 + 0x195fc, .length = 0x5f60, .type = EXT_UCODE_2, },
57         { .name = "pcm4", .offset = 0x76a10 + 0x1f560, .length = 0x520, .type = EXT_PCM, },
58         { .name = "pcm5", .offset = 0x76a10 + 0x1fa84, .length = 0x520, .type = EXT_PCM, },
59         { .name = "b0g0initvals4",      .offset = 0x76a10 + 0x1840, .length = 0xe90 - 8, .type = EXT_IV, },
60         { .name = "b0g0bsinitvals4",    .offset = 0x76a10 + 0x26d0, .length = 0x18 - 8, .type = EXT_IV, },
61         { .name = "a0g0initvals4",      .offset = 0x76a10 + 0x26e8, .length = 0xe90 - 8, .type = EXT_IV, },
62         { .name = "a0g0bsinitvals4",    .offset = 0x76a10 + 0x3578, .length = 0x18 - 8, .type = EXT_IV, },
63         { .name = "b0g0initvals5",      .offset = 0x76a10 + 0x3590, .length = 0xa28 - 8, .type = EXT_IV, },
64         { .name = "b0g0bsinitvals5",    .offset = 0x76a10 + 0x3fb8, .length = 0x100 - 8, .type = EXT_IV, },
65         { .name = "a0g0initvals5",      .offset = 0x76a10 + 0x40b8, .length = 0xa28 - 8, .type = EXT_IV, },
66         { .name = "a0g1initvals5",      .offset = 0x76a10 + 0x4ae0, .length = 0xa28 - 8, .type = EXT_IV, },
67         { .name = "a0g0bsinitvals5",    .offset = 0x76a10 + 0x5508, .length = 0x100 - 8, .type = EXT_IV, },
68         { .name = "a0g1bsinitvals5",    .offset = 0x76a10 + 0x5608, .length = 0x100 - 8, .type = EXT_IV, },
69         { .name = "lp0initvals13",      .offset = 0x76a10 + 0x64a8, .length = 0xb38 - 8, .type = EXT_IV, },
70         { .name = "lp0bsinitvals13",    .offset = 0x76a10 + 0x6fe0, .length = 0x100 - 8, .type = EXT_IV, },
71         { .name = "b0g0initvals13",     .offset = 0x76a10 + 0x70e0, .length = 0xb40 - 8, .type = EXT_IV, },
72         { .name = "b0g0bsinitvals13",.offset = 0x76a10 + 0x7c20, .length = 0x100 - 8, .type = EXT_IV, },
73         { .name = "a0g1initvals13",     .offset = 0x76a10 + 0x7d20, .length = 0xb40 - 8, .type = EXT_IV, },
74         { .name = "a0g1bsinitvals13",.offset = 0x76a10 + 0x8860, .length = 0x100 - 8, .type = EXT_IV, },
75         EXTRACT_LIST_END
76 };
77
78 struct extract _1e4763b4cb8cfbaae43e5c6d3d6b2ae7[] =
79 {
80         { .name = "ucode5",  .offset = 0x71c80 +  0xacd0, .length = 0x5768, .type = EXT_UCODE_2, },
81         { .name = "ucode9",  .offset = 0x71c80 + 0x1043c, .length = 0x6240, .type = EXT_UCODE_2, },
82         { .name = "ucode11", .offset = 0x71c80 + 0x16680, .length = 0x74a0, .type = EXT_UCODE_2, },
83         { .name = "ucode13", .offset = 0x71c80 + 0x1db24, .length = 0x7de0, .type = EXT_UCODE_2, },
84         { .name = "ucode14", .offset = 0x71c80 + 0x25908, .length = 0x7a90, .type = EXT_UCODE_2, },
85         { .name = "ucode15", .offset = 0x71c80 + 0x2d39c, .length = 0x7710, .type = EXT_UCODE_3, },
86         { .name = "pcm5", .offset = 0x71c80 + 0x34ab0, .length = 0x520, .type = EXT_PCM, },
87         { .name = "b0g0initvals5",      .offset = 0x71c80 + 0x14d0, .length = 0xa10 - 8, .type = EXT_IV, },
88         { .name = "b0g0bsinitvals5",    .offset = 0x71c80 + 0x1ee0, .length = 0x100 - 8, .type = EXT_IV, },
89         { .name = "a0g0initvals5",      .offset = 0x71c80 + 0x1fe0, .length = 0xa10 - 8, .type = EXT_IV, },
90         { .name = "a0g1initvals5",      .offset = 0x71c80 + 0x29f0, .length = 0xa10 - 8, .type = EXT_IV, },
91         { .name = "a0g0bsinitvals5",    .offset = 0x71c80 + 0x3400, .length = 0x100 - 8, .type = EXT_IV, },
92         { .name = "a0g1bsinitvals5",    .offset = 0x71c80 + 0x3500, .length = 0x100 - 8, .type = EXT_IV, },
93         { .name = "b0g0initvals9",      .offset = 0x71c80 + 0x3600, .length = 0xae8 - 8, .type = EXT_IV, },
94         { .name = "b0g0bsinitvals9",    .offset = 0x71c80 + 0x40e8, .length = 0x100 - 8, .type = EXT_IV, },
95         { .name = "a0g0initvals9",      .offset = 0x71c80 + 0x41e8, .length = 0xae8 - 8, .type = EXT_IV, },
96         { .name = "a0g1initvals9",      .offset = 0x71c80 + 0x4cd0, .length = 0xae8 - 8, .type = EXT_IV, },
97         { .name = "a0g0bsinitvals9",    .offset = 0x71c80 + 0x57b8, .length = 0x100 - 8, .type = EXT_IV, },
98         { .name = "a0g1bsinitvals9",    .offset = 0x71c80 + 0x58b8, .length = 0x100 - 8, .type = EXT_IV, },
99         { .name = "n0initvals11",       .offset = 0x71c80 + 0x59b8, .length = 0xb78 - 8, .type = EXT_IV, },
100         { .name = "n0bsinitvals11",     .offset = 0x71c80 + 0x6530, .length = 0x100 - 8, .type = EXT_IV, },
101         { .name = "n0absinitvals11",    .offset = 0x71c80 + 0x6630, .length = 0x100 - 8, .type = EXT_IV, },
102         { .name = "lp0initvals13",      .offset = 0x71c80 + 0x6730, .length = 0x1360 - 8, .type = EXT_IV, },
103         { .name = "lp0bsinitvals13",    .offset = 0x71c80 + 0x7a90, .length = 0x100 - 8, .type = EXT_IV, },
104         { .name = "b0g0initvals13",     .offset = 0x71c80 + 0x7b90, .length = 0xb60 - 8, .type = EXT_IV, },
105         { .name = "b0g0bsinitvals13",.offset = 0x71c80 + 0x86f0, .length = 0x100 - 8, .type = EXT_IV, },
106         { .name = "a0g1initvals13",     .offset = 0x71c80 + 0x87f0, .length = 0xb60 - 8, .type = EXT_IV, },
107         { .name = "a0g1bsinitvals13",.offset = 0x71c80 + 0x9350, .length = 0x100 - 8, .type = EXT_IV, },
108         { .name = "lp0initvals14",      .offset = 0x71c80 + 0x9450, .length = 0xb48 - 8, .type = EXT_IV, },
109         { .name = "lp0bsinitvals14",    .offset = 0x71c80 + 0x9f98, .length = 0x100 - 8, .type = EXT_IV, },
110         { .name = "lp0initvals15",      .offset = 0x71c80 + 0xa098, .length = 0xb38 - 8, .type = EXT_IV, },
111         { .name = "lp0bsinitvals15",    .offset = 0x71c80 + 0xabd0, .length = 0x100 - 8, .type = EXT_IV, },
112         EXTRACT_LIST_END
113 };
114
115
116 /*
117  * Links change, so let's not put them into the README.
118  * I still put them here so we know where the file was obtained.
119  */
120 static const struct file files[] = 
121 {
122         {
123                 .name           = "wl_apsta.o",
124                 .ucode_version  = "295.14",
125                 .md5            = "e08665c5c5b66beb9c3b2dd54aa80cb3",
126                 .flags          = FW_FLAG_LE,
127                 .extract        = _e08665c5c5b66beb9c3b2dd54aa80cb3,
128         },
129         {
130                 /* http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2 */
131                 .name           = "wl_apsta.o",
132                 .ucode_version  = "351.126",
133                 .md5            = "9207bc565c2fc9fa1591f6c7911d3fc0",
134                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
135                 .extract        = _9207bc565c2fc9fa1591f6c7911d3fc0,
136         },
137         {
138                 /* http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2 */
139                 .name           = "wl_apsta_mimo.o",
140                 .ucode_version  = "351.126",
141                 .md5            = "722e2e0d8cc04b8f118bb5afe6829ff9",
142                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
143                 .extract        = _722e2e0d8cc04b8f118bb5afe6829ff9,
144         },
145         {
146                 /* ftp://ftp.linksys.com/opensourcecode/wrt150nv11/1.51.3/ */
147                 .name           = "wl_ap.o",
148                 .ucode_version  = "410.2160",
149                 .md5            = "1e4763b4cb8cfbaae43e5c6d3d6b2ae7",
150                 .flags          = FW_FLAG_LE | FW_FLAG_V4,
151                 .extract        = _1e4763b4cb8cfbaae43e5c6d3d6b2ae7,
152         },
153 };
154
155 #define FILES (sizeof(files) / sizeof(files[0]))