1/*
2 * ext2_err.c:
3 * This file is automatically generated; please do not edit it.
4 */
5
6#include <stdlib.h>
7
8#define N_(a) a
9
10static const char * const text[] = {
11	N_(	"EXT2FS Library version 1.42.9"),
12	N_(	"Wrong magic number for ext2_filsys structure"),
13	N_(	"Wrong magic number for badblocks_list structure"),
14	N_(	"Wrong magic number for badblocks_iterate structure"),
15	N_(	"Wrong magic number for inode_scan structure"),
16	N_(	"Wrong magic number for io_channel structure"),
17	N_(	"Wrong magic number for unix io_channel structure"),
18	N_(	"Wrong magic number for io_manager structure"),
19	N_(	"Wrong magic number for block_bitmap structure"),
20	N_(	"Wrong magic number for inode_bitmap structure"),
21	N_(	"Wrong magic number for generic_bitmap structure"),
22	N_(	"Wrong magic number for test io_channel structure"),
23	N_(	"Wrong magic number for directory block list structure"),
24	N_(	"Wrong magic number for icount structure"),
25	N_(	"Wrong magic number for Powerquest io_channel structure"),
26	N_(	"Wrong magic number for ext2 file structure"),
27	N_(	"Wrong magic number for Ext2 Image Header"),
28	N_(	"Wrong magic number for inode io_channel structure"),
29	N_(	"Wrong magic number for ext4 extent handle"),
30	N_(	"Bad magic number in super-block"),
31	N_(	"Filesystem revision too high"),
32	N_(	"Attempt to write to filesystem opened read-only"),
33	N_(	"Can't read group descriptors"),
34	N_(	"Can't write group descriptors"),
35	N_(	"Corrupt group descriptor: bad block for block bitmap"),
36	N_(	"Corrupt group descriptor: bad block for inode bitmap"),
37	N_(	"Corrupt group descriptor: bad block for inode table"),
38	N_(	"Can't write an inode bitmap"),
39	N_(	"Can't read an inode bitmap"),
40	N_(	"Can't write a block bitmap"),
41	N_(	"Can't read a block bitmap"),
42	N_(	"Can't write an inode table"),
43	N_(	"Can't read an inode table"),
44	N_(	"Can't read next inode"),
45	N_(	"Filesystem has unexpected block size"),
46	N_(	"EXT2 directory corrupted"),
47	N_(	"Attempt to read block from filesystem resulted in short read"),
48	N_(	"Attempt to write block to filesystem resulted in short write"),
49	N_(	"No free space in the directory"),
50	N_(	"Inode bitmap not loaded"),
51	N_(	"Block bitmap not loaded"),
52	N_(	"Illegal inode number"),
53	N_(	"Illegal block number"),
54	N_(	"Internal error in ext2fs_expand_dir"),
55	N_(	"Not enough space to build proposed filesystem"),
56	N_(	"Illegal block number passed to ext2fs_mark_block_bitmap"),
57	N_(	"Illegal block number passed to ext2fs_unmark_block_bitmap"),
58	N_(	"Illegal block number passed to ext2fs_test_block_bitmap"),
59	N_(	"Illegal inode number passed to ext2fs_mark_inode_bitmap"),
60	N_(	"Illegal inode number passed to ext2fs_unmark_inode_bitmap"),
61	N_(	"Illegal inode number passed to ext2fs_test_inode_bitmap"),
62	N_(	"Attempt to fudge end of block bitmap past the real end"),
63	N_(	"Attempt to fudge end of inode bitmap past the real end"),
64	N_(	"Illegal indirect block found" ),
65	N_(	"Illegal doubly indirect block found" ),
66	N_(	"Illegal triply indirect block found" ),
67	N_(	"Block bitmaps are not the same"),
68	N_(	"Inode bitmaps are not the same"),
69	N_(	"Illegal or malformed device name"),
70	N_(	"A block group is missing an inode table"),
71	N_(	"The ext2 superblock is corrupt"),
72	N_(	"Illegal generic bit number passed to ext2fs_mark_generic_bitmap"),
73	N_(	"Illegal generic bit number passed to ext2fs_unmark_generic_bitmap"),
74	N_(	"Illegal generic bit number passed to ext2fs_test_generic_bitmap"),
75	N_(	"Too many symbolic links encountered."),
76	N_(	"The callback function will not handle this case"),
77	N_(	"The inode is from a bad block in the inode table"),
78	N_(	"Filesystem has unsupported feature(s)"),
79	N_(	"Filesystem has unsupported read-only feature(s)"),
80	N_(	"IO Channel failed to seek on read or write"),
81	N_(	"Memory allocation failed"),
82	N_(	"Invalid argument passed to ext2 library"),
83	N_(	"Could not allocate block in ext2 filesystem"),
84	N_(	"Could not allocate inode in ext2 filesystem"),
85	N_(	"Ext2 inode is not a directory"),
86	N_(	"Too many references in table"),
87	N_(	"File not found by ext2_lookup"),
88	N_(	"File open read-only"),
89	N_(	"Ext2 directory block not found"),
90	N_(	"Ext2 directory already exists"),
91	N_(	"Unimplemented ext2 library function"),
92	N_(	"User cancel requested"),
93	N_(	"Ext2 file too big"),
94	N_(	"Supplied journal device not a block device"),
95	N_(	"Journal superblock not found"),
96	N_(	"Journal must be at least 1024 blocks"),
97	N_(	"Unsupported journal version"),
98	N_(	"Error loading external journal"),
99	N_(	"Journal not found"),
100	N_(	"Directory hash unsupported"),
101	N_(	"Illegal extended attribute block number"),
102	N_(	"Cannot create filesystem with requested number of inodes"),
103	N_(	"E2image snapshot not in use"),
104	N_(	"Too many reserved group descriptor blocks"),
105	N_(	"Resize inode is corrupt"),
106	N_(	"Tried to set block bmap with missing indirect block"),
107	N_(	"TDB: Success"),
108	N_(	"TDB: Corrupt database"),
109	N_(	"TDB: IO Error"),
110	N_(	"TDB: Locking error"),
111	N_(	"TDB: Out of memory"),
112	N_(	"TDB: Record exists"),
113	N_(	"TDB: Lock exists on other keys"),
114	N_(	"TDB: Invalid parameter"),
115	N_(	"TDB: Record does not exist"),
116	N_(	"TDB: Write not permitted"),
117	N_(	"Ext2fs directory block list is empty"),
118	N_(	"Attempt to modify a block mapping via a read-only block iterator"),
119	N_(	"Wrong magic number for ext4 extent saved path"),
120	N_(	"Wrong magic number for 64-bit generic bitmap"),
121	N_(	"Wrong magic number for 64-bit block bitmap"),
122	N_(	"Wrong magic number for 64-bit inode bitmap"),
123	N_(	"Wrong magic number --- RESERVED_13"),
124	N_(	"Wrong magic number --- RESERVED_14"),
125	N_(	"Wrong magic number --- RESERVED_15"),
126	N_(	"Wrong magic number --- RESERVED_16"),
127	N_(	"Wrong magic number --- RESERVED_17"),
128	N_(	"Wrong magic number --- RESERVED_18"),
129	N_(	"Wrong magic number --- RESERVED_19"),
130	N_(	"Corrupt extent header"),
131	N_(	"Corrupt extent index"),
132	N_(	"Corrupt extent"),
133	N_(	"No free space in extent map"),
134	N_(	"Inode does not use extents"),
135	N_(	"No 'next' extent"),
136	N_(	"No 'previous' extent"),
137	N_(	"No 'up' extent"),
138	N_(	"No 'down' extent"),
139	N_(	"No current node"),
140	N_(	"Ext2fs operation not supported"),
141	N_(	"No room to insert extent in node"),
142	N_(	"Splitting would result in empty node"),
143	N_(	"Extent not found"),
144	N_(	"Operation not supported for inodes containing extents"),
145	N_(	"Extent length is invalid"),
146	N_(	"I/O Channel does not support 64-bit block numbers"),
147	N_(	"Can't check if filesystem is mounted due to missing mtab file"),
148	N_(	"Filesystem too large to use legacy bitmaps"),
149	N_(	"MMP: invalid magic number"),
150	N_(	"MMP: device currently active"),
151	N_(	"MMP: fsck being run"),
152	N_(	"MMP: block number beyond filesystem range"),
153	N_(	"MMP: undergoing an unknown operation"),
154	N_(	"MMP: filesystem still in use"),
155	N_(	"MMP: open with O_DIRECT failed"),
156	N_(	"Block group descriptor size incorrect"),
157	N_(	"Inode checksum does not match inode"),
158	N_(	"Inode bitmap checksum does not match bitmap"),
159	N_(	"Extent block checksum does not match extent block"),
160	N_(	"Directory block does not have space for checksum"),
161	N_(	"Directory block checksum does not match directory block"),
162	N_(	"Extended attribute block checksum does not match block"),
163	N_(	"Superblock checksum does not match superblock"),
164	N_(	"Unknown checksum algorithm"),
165	N_(	"MMP block checksum does not match MMP block"),
166	N_(	"Ext2 file already exists"),
167    0
168};
169
170struct error_table {
171    char const * const * msgs;
172    long base;
173    int n_msgs;
174};
175struct et_list {
176    struct et_list *next;
177    const struct error_table * table;
178};
179extern struct et_list *_et_list;
180
181const struct error_table et_ext2_error_table = { text, 2133571328L, 156 };
182
183static struct et_list link = { 0, 0 };
184
185void initialize_ext2_error_table_r(struct et_list **list);
186void initialize_ext2_error_table(void);
187
188void initialize_ext2_error_table(void) {
189    initialize_ext2_error_table_r(&_et_list);
190}
191
192/* For Heimdal compatibility */
193void initialize_ext2_error_table_r(struct et_list **list)
194{
195    struct et_list *et, **end;
196
197    for (end = list, et = *list; et; end = &et->next, et = et->next)
198        if (et->table->msgs == text)
199            return;
200    et = malloc(sizeof(struct et_list));
201    if (et == 0) {
202        if (!link.table)
203            et = &link;
204        else
205            return;
206    }
207    et->table = &et_ext2_error_table;
208    et->next = 0;
209    *end = et;
210}
211