FreeCalypso > hg > freecalypso-tools
comparison doc/TIFFS-IVA-usage @ 922:3152e23399a2
document SE K2x0 FFS quirks and our support for them
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Mon, 02 Jan 2023 00:50:19 +0000 |
| parents | d89b72f2181b |
| children | 11391cb6bdc0 |
comparison
equal
deleted
inserted
replaced
| 921:74d284add54d | 922:3152e23399a2 |
|---|---|
| 188 | 188 |
| 189 tiffs <...> catino [-v|-h] ino | 189 tiffs <...> catino [-v|-h] ino |
| 190 | 190 |
| 191 Just like regular cat, but takes an inode number instead of a pathname. Can be | 191 Just like regular cat, but takes an inode number instead of a pathname. Can be |
| 192 used to cat the old content of deleted or overwritten files. | 192 used to cat the old content of deleted or overwritten files. |
| 193 | |
| 194 Support for SE K2x0 extended filenames | |
| 195 ====================================== | |
| 196 | |
| 197 As explained in the SE-K2x0-FFS article, Sony Ericsson K200/220 phones use | |
| 198 TIFFS as their flexible data storage mechanism, but they also made their own | |
| 199 non-standard extension to TIFFS in terms of extended UCS-2 filenames. | |
| 200 | |
| 201 In order to allow listing full FFS trees from SE K2x0 phones with tiffs ls and | |
| 202 possibly also extracting them with tiffs xtr, we have made the following hackish | |
| 203 extension to our TIFFS IVA: whenever either of these two commands encounters an | |
| 204 "extended" filename (one which fails standard TIFFS filename validity checks but | |
| 205 has a terminating NUL that allows the name and data portions of the chunk to be | |
| 206 separated) in the visible tree walk, our tool replaces it (for the purpose of | |
| 207 listed pathname generation or extraction into host file system) with a | |
| 208 synthesized pseudonym of the form "!bogo%04x", where %04x is the FFS inode | |
| 209 number in hex. In the case of tiffs ls, the actual extended filename is then | |
| 210 printed on a separate line (immediately following the synthesized listing), with | |
| 211 non-printable-ASCII characters escaped in \x hex form. We've also extended the | |
| 212 individual-inode form of lsino command to list these extended filenames when | |
| 213 encountering such, and we've extended catino (which needs to skip past the name | |
| 214 to get to the beginning of the data portion of the head chunk) to not reject | |
| 215 file head chunks with extended filenames in them as long as the needed | |
| 216 separating NUL is found. |
