FreeCalypso > hg > freecalypso-tools
view uptools/libcoding/grokdcs.c @ 718:098fea21ba13
doc/Host-tools-overview: tiffs-mkfs description updated
The first version of tiffs-mkfs did not include a journal file in the created
FFS, expecting the firmware to create it on first boot. All historical
firmwares prior to a recent FC fix (2020-05) contain a bug in that code path,
thus images made with the first version of tiffs-mkfs were only acceptable to
very recent FC firmwares. tiffs-mkfs has now been extended to include an empty
journal in the created FFS, thus the restriction of working with recent fw only
has been lifted.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sun, 23 Aug 2020 04:55:02 +0000 |
| parents | 097ce8431d11 |
| children |
line wrap: on
line source
/* * This library module implements the function that distills the complex * set of possible SMS DCS octet values to just one of 4 possibilities: * 7-bit text (7), 8-bit data octets (8), UCS-2 text (16) or compressed * data (9). * * The decoding is based on the 3GPP TS 23.038 V11.0.0 spec; * reserved encodings are treated as 7-bit text as the spec instructs. */ sms_dcs_classify(dcs) { if (!(dcs & 0x80)) { if (dcs & 0x20) return(9); switch (dcs & 0xC) { case 0: return(7); case 4: return(8); case 8: return(16); default: /* reserved, treating as 7-bit per the spec */ return(7); } } switch (dcs & 0xF0) { case 0x80: case 0x90: case 0xA0: case 0xB0: /* reserved, treating as 7-bit per the spec */ return(7); case 0xC0: case 0xD0: return(7); case 0xE0: return(16); case 0xF0: if (dcs & 4) return(8); else return(7); } }
