summaryrefslogtreecommitdiff
path: root/xdelta3/xdelta3.c
diff options
context:
space:
mode:
Diffstat (limited to 'xdelta3/xdelta3.c')
-rw-r--r--xdelta3/xdelta3.c44
1 files changed, 41 insertions, 3 deletions
diff --git a/xdelta3/xdelta3.c b/xdelta3/xdelta3.c
index 0242c57..20c7f9b 100644
--- a/xdelta3/xdelta3.c
+++ b/xdelta3/xdelta3.c
@@ -329,14 +329,14 @@
329 329
330typedef enum { 330typedef enum {
331 VCD_DJW_ID = 1, 331 VCD_DJW_ID = 1,
332 VCD_FGK_ID = 16, /* Note: these are not standard IANA-allocated IDs! */ 332 VCD_FGK_ID = 16 /* Note: these are not standard IANA-allocated IDs! */
333} xd3_secondary_ids; 333} xd3_secondary_ids;
334 334
335typedef enum { 335typedef enum {
336 SEC_NOFLAGS = 0, 336 SEC_NOFLAGS = 0,
337 337
338 /* Note: SEC_COUNT_FREQS Not implemented (to eliminate 1st Huffman pass) */ 338 /* Note: SEC_COUNT_FREQS Not implemented (to eliminate 1st Huffman pass) */
339 SEC_COUNT_FREQS = (1 << 0), 339 SEC_COUNT_FREQS = (1 << 0)
340} xd3_secondary_flags; 340} xd3_secondary_flags;
341 341
342typedef enum { 342typedef enum {
@@ -344,7 +344,7 @@ typedef enum {
344 * compressor. */ 344 * compressor. */
345 INST_SECTION, /* The header section is not compressed, therefore not 345 INST_SECTION, /* The header section is not compressed, therefore not
346 * listed here. */ 346 * listed here. */
347 ADDR_SECTION, 347 ADDR_SECTION
348} xd3_section_type; 348} xd3_section_type;
349 349
350typedef unsigned int xd3_rtype; 350typedef unsigned int xd3_rtype;
@@ -782,6 +782,44 @@ const xd3_sec_type djw_sec_type =
782#endif /* __XDELTA3_C_HEADER_PASS__ */ 782#endif /* __XDELTA3_C_HEADER_PASS__ */
783#ifdef __XDELTA3_C_INLINE_PASS__ 783#ifdef __XDELTA3_C_INLINE_PASS__
784 784
785const uint16_t __single_hash[256] =
786{
787 /* Random numbers generated using SLIB's pseudo-random number generator.
788 * This hashes the input alphabet. */
789 0xbcd1, 0xbb65, 0x42c2, 0xdffe, 0x9666, 0x431b, 0x8504, 0xeb46,
790 0x6379, 0xd460, 0xcf14, 0x53cf, 0xdb51, 0xdb08, 0x12c8, 0xf602,
791 0xe766, 0x2394, 0x250d, 0xdcbb, 0xa678, 0x02af, 0xa5c6, 0x7ea6,
792 0xb645, 0xcb4d, 0xc44b, 0xe5dc, 0x9fe6, 0x5b5c, 0x35f5, 0x701a,
793 0x220f, 0x6c38, 0x1a56, 0x4ca3, 0xffc6, 0xb152, 0x8d61, 0x7a58,
794 0x9025, 0x8b3d, 0xbf0f, 0x95a3, 0xe5f4, 0xc127, 0x3bed, 0x320b,
795 0xb7f3, 0x6054, 0x333c, 0xd383, 0x8154, 0x5242, 0x4e0d, 0x0a94,
796 0x7028, 0x8689, 0x3a22, 0x0980, 0x1847, 0xb0f1, 0x9b5c, 0x4176,
797 0xb858, 0xd542, 0x1f6c, 0x2497, 0x6a5a, 0x9fa9, 0x8c5a, 0x7743,
798 0xa8a9, 0x9a02, 0x4918, 0x438c, 0xc388, 0x9e2b, 0x4cad, 0x01b6,
799 0xab19, 0xf777, 0x365f, 0x1eb2, 0x091e, 0x7bf8, 0x7a8e, 0x5227,
800 0xeab1, 0x2074, 0x4523, 0xe781, 0x01a3, 0x163d, 0x3b2e, 0x287d,
801 0x5e7f, 0xa063, 0xb134, 0x8fae, 0x5e8e, 0xb7b7, 0x4548, 0x1f5a,
802 0xfa56, 0x7a24, 0x900f, 0x42dc, 0xcc69, 0x02a0, 0x0b22, 0xdb31,
803 0x71fe, 0x0c7d, 0x1732, 0x1159, 0xcb09, 0xe1d2, 0x1351, 0x52e9,
804 0xf536, 0x5a4f, 0xc316, 0x6bf9, 0x8994, 0xb774, 0x5f3e, 0xf6d6,
805 0x3a61, 0xf82c, 0xcc22, 0x9d06, 0x299c, 0x09e5, 0x1eec, 0x514f,
806 0x8d53, 0xa650, 0x5c6e, 0xc577, 0x7958, 0x71ac, 0x8916, 0x9b4f,
807 0x2c09, 0x5211, 0xf6d8, 0xcaaa, 0xf7ef, 0x287f, 0x7a94, 0xab49,
808 0xfa2c, 0x7222, 0xe457, 0xd71a, 0x00c3, 0x1a76, 0xe98c, 0xc037,
809 0x8208, 0x5c2d, 0xdfda, 0xe5f5, 0x0b45, 0x15ce, 0x8a7e, 0xfcad,
810 0xaa2d, 0x4b5c, 0xd42e, 0xb251, 0x907e, 0x9a47, 0xc9a6, 0xd93f,
811 0x085e, 0x35ce, 0xa153, 0x7e7b, 0x9f0b, 0x25aa, 0x5d9f, 0xc04d,
812 0x8a0e, 0x2875, 0x4a1c, 0x295f, 0x1393, 0xf760, 0x9178, 0x0f5b,
813 0xfa7d, 0x83b4, 0x2082, 0x721d, 0x6462, 0x0368, 0x67e2, 0x8624,
814 0x194d, 0x22f6, 0x78fb, 0x6791, 0xb238, 0xb332, 0x7276, 0xf272,
815 0x47ec, 0x4504, 0xa961, 0x9fc8, 0x3fdc, 0xb413, 0x007a, 0x0806,
816 0x7458, 0x95c6, 0xccaa, 0x18d6, 0xe2ae, 0x1b06, 0xf3f6, 0x5050,
817 0xc8e8, 0xf4ac, 0xc04c, 0xf41c, 0x992f, 0xae44, 0x5f1b, 0x1113,
818 0x1738, 0xd9a8, 0x19ea, 0x2d33, 0x9698, 0x2fe9, 0x323f, 0xcde2,
819 0x6d71, 0xe37d, 0xb697, 0x2c4f, 0x4373, 0x9102, 0x075d, 0x8e25,
820 0x1672, 0xec28, 0x6acb, 0x86cc, 0x186e, 0x9414, 0xd674, 0xd1a5
821};
822
785/**************************************************************** 823/****************************************************************
786 Instruction tables 824 Instruction tables
787 *****************************************************************/ 825 *****************************************************************/