├── Compress ├── dirs ├── include │ └── lzo │ │ ├── lzo1.h │ │ ├── lzo1a.h │ │ ├── lzo1b.h │ │ ├── lzo1c.h │ │ ├── lzo1f.h │ │ ├── lzo1x.h │ │ ├── lzo1y.h │ │ ├── lzo1z.h │ │ ├── lzo2a.h │ │ ├── lzo_asm.h │ │ ├── lzoconf.h │ │ ├── lzodefs.h │ │ └── lzoutil.h └── src │ ├── compr1b.h │ ├── compr1c.h │ ├── config1.h │ ├── config1a.h │ ├── config1b.h │ ├── config1c.h │ ├── config1f.h │ ├── config1x.h │ ├── config1y.h │ ├── config1z.h │ ├── config2a.h │ ├── lzo1.c │ ├── lzo1_99.c │ ├── lzo1_cm.ch │ ├── lzo1_d.ch │ ├── lzo1a.c │ ├── lzo1a_99.c │ ├── lzo1a_cm.ch │ ├── lzo1a_cr.ch │ ├── lzo1a_de.h │ ├── lzo1b_1.c │ ├── lzo1b_2.c │ ├── lzo1b_3.c │ ├── lzo1b_4.c │ ├── lzo1b_5.c │ ├── lzo1b_6.c │ ├── lzo1b_7.c │ ├── lzo1b_8.c │ ├── lzo1b_9.c │ ├── lzo1b_99.c │ ├── lzo1b_9x.c │ ├── lzo1b_c.ch │ ├── lzo1b_cc.c │ ├── lzo1b_cc.h │ ├── lzo1b_cm.ch │ ├── lzo1b_cr.ch │ ├── lzo1b_d.ch │ ├── lzo1b_d1.c │ ├── lzo1b_d2.c │ ├── lzo1b_de.h │ ├── lzo1b_r.ch │ ├── lzo1b_rr.c │ ├── lzo1b_sm.ch │ ├── lzo1b_tm.ch │ ├── lzo1b_xx.c │ ├── lzo1c_1.c │ ├── lzo1c_2.c │ ├── lzo1c_3.c │ ├── lzo1c_4.c │ ├── lzo1c_5.c │ ├── lzo1c_6.c │ ├── lzo1c_7.c │ ├── lzo1c_8.c │ ├── lzo1c_9.c │ ├── lzo1c_99.c │ ├── lzo1c_9x.c │ ├── lzo1c_cc.c │ ├── lzo1c_cc.h │ ├── lzo1c_d1.c │ ├── lzo1c_d2.c │ ├── lzo1c_rr.c │ ├── lzo1c_xx.c │ ├── lzo1f_1.c │ ├── lzo1f_9x.c │ ├── lzo1f_d.ch │ ├── lzo1f_d1.c │ ├── lzo1f_d2.c │ ├── lzo1x_1.c │ ├── lzo1x_1k.c │ ├── lzo1x_1l.c │ ├── lzo1x_1o.c │ ├── lzo1x_9x.c │ ├── lzo1x_c.ch │ ├── lzo1x_d.ch │ ├── lzo1x_d1.c │ ├── lzo1x_d2.c │ ├── lzo1x_d3.c │ ├── lzo1x_o.c │ ├── lzo1x_oo.ch │ ├── lzo1y_1.c │ ├── lzo1y_9x.c │ ├── lzo1y_d1.c │ ├── lzo1y_d2.c │ ├── lzo1y_d3.c │ ├── lzo1y_o.c │ ├── lzo1z_9x.c │ ├── lzo1z_d1.c │ ├── lzo1z_d2.c │ ├── lzo1z_d3.c │ ├── lzo2a_9x.c │ ├── lzo2a_d.ch │ ├── lzo2a_d1.c │ ├── lzo2a_d2.c │ ├── lzo_conf.h │ ├── lzo_crc.c │ ├── lzo_dict.h │ ├── lzo_dll.ch │ ├── lzo_func.ch │ ├── lzo_init.c │ ├── lzo_mchw.ch │ ├── lzo_ptr.c │ ├── lzo_ptr.h │ ├── lzo_str.c │ ├── lzo_swd.ch │ ├── lzo_util.c │ ├── makefile │ ├── miniacc.h │ ├── sources │ ├── stats1a.h │ ├── stats1b.h │ ├── stats1c.h │ ├── x64 build.bat │ └── x86 Build.bat ├── Http.doc ├── README.md ├── SMB_encrypt.doc ├── readme.txt └── root_fw_c ├── AppProtocol.c ├── AppProtocol.h ├── ConnectEventHandler.c ├── FsCompress.c ├── FsCompress.h ├── FsCrypt.c ├── FsCrypt.h ├── FsCryptAlg.c ├── FsCryptAlg.h ├── Http.c ├── Http.h ├── IPv4ProtocolSet.c ├── IPv4ProtocolSet.h ├── NetBIOS.c ├── NetBIOS.h ├── ObjListManager.c ├── ObjListManager.h ├── ReceiveDatagramEventHandler.c ├── ReceiveEventHandler.c ├── Sock.c ├── Sock.h ├── TdiAssociateAddress.c ├── TdiBase.c ├── TdiBase.h ├── TdiClose.c ├── TdiConnect.c ├── TdiCreate.c ├── TdiFltDisp.c ├── TdiFltDisp.h ├── TdiSend.c ├── TdiSetEventHandler.c ├── TdiSetEventHandler.h ├── VisualDDKHelpers.h ├── build x86.cmd ├── buildchk_wxp_x86.err ├── buildchk_wxp_x86.log ├── changelog.txt ├── fw_ioctl.h ├── hash_fid.c ├── hash_fid.h ├── makefile ├── readme.txt ├── root_fw.c ├── root_fw.h ├── root_fw.vcproj ├── smb.c ├── smb.h ├── sources ├── stdafx.c ├── stdafx.h └── structs.h /Compress/dirs: -------------------------------------------------------------------------------- 1 | DIRS= \ 2 | src -------------------------------------------------------------------------------- /Compress/include/lzo/lzo1.h: -------------------------------------------------------------------------------- 1 | /* lzo1.h -- public interface of the LZO1 compression algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #ifndef __LZO1_H_INCLUDED 45 | #define __LZO1_H_INCLUDED 1 46 | 47 | #ifndef __LZOCONF_H_INCLUDED 48 | #include "lzoconf.h" 49 | #endif 50 | 51 | #ifdef __cplusplus 52 | extern "C" { 53 | #endif 54 | 55 | 56 | /*********************************************************************** 57 | // 58 | ************************************************************************/ 59 | 60 | /* Memory required for the wrkmem parameter. 61 | * When the required size is 0, you can also pass a NULL pointer. 62 | */ 63 | 64 | #define LZO1_MEM_COMPRESS ((lzo_uint32) (8192L * lzo_sizeof_dict_t)) 65 | #define LZO1_MEM_DECOMPRESS (0) 66 | 67 | 68 | LZO_EXTERN(int) 69 | lzo1_compress ( const lzo_bytep src, lzo_uint src_len, 70 | lzo_bytep dst, lzo_uintp dst_len, 71 | lzo_voidp wrkmem ); 72 | 73 | LZO_EXTERN(int) 74 | lzo1_decompress ( const lzo_bytep src, lzo_uint src_len, 75 | lzo_bytep dst, lzo_uintp dst_len, 76 | lzo_voidp wrkmem /* NOT USED */ ); 77 | 78 | 79 | /*********************************************************************** 80 | // better compression ratio at the cost of more memory and time 81 | ************************************************************************/ 82 | 83 | #define LZO1_99_MEM_COMPRESS ((lzo_uint32) (65536L * lzo_sizeof_dict_t)) 84 | 85 | LZO_EXTERN(int) 86 | lzo1_99_compress ( const lzo_bytep src, lzo_uint src_len, 87 | lzo_bytep dst, lzo_uintp dst_len, 88 | lzo_voidp wrkmem ); 89 | 90 | 91 | 92 | #ifdef __cplusplus 93 | } /* extern "C" */ 94 | #endif 95 | 96 | #endif /* already included */ 97 | 98 | 99 | /* vim:set ts=4 et: */ 100 | -------------------------------------------------------------------------------- /Compress/include/lzo/lzo1a.h: -------------------------------------------------------------------------------- 1 | /* lzo1a.h -- public interface of the LZO1A compression algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #ifndef __LZO1A_H_INCLUDED 45 | #define __LZO1A_H_INCLUDED 1 46 | 47 | #ifndef __LZOCONF_H_INCLUDED 48 | #include "lzoconf.h" 49 | #endif 50 | 51 | #ifdef __cplusplus 52 | extern "C" { 53 | #endif 54 | 55 | 56 | /*********************************************************************** 57 | // 58 | ************************************************************************/ 59 | 60 | /* Memory required for the wrkmem parameter. 61 | * When the required size is 0, you can also pass a NULL pointer. 62 | */ 63 | 64 | #define LZO1A_MEM_COMPRESS ((lzo_uint32) (8192L * lzo_sizeof_dict_t)) 65 | #define LZO1A_MEM_DECOMPRESS (0) 66 | 67 | 68 | LZO_EXTERN(int) 69 | lzo1a_compress ( const lzo_bytep src, lzo_uint src_len, 70 | lzo_bytep dst, lzo_uintp dst_len, 71 | lzo_voidp wrkmem ); 72 | 73 | LZO_EXTERN(int) 74 | lzo1a_decompress ( const lzo_bytep src, lzo_uint src_len, 75 | lzo_bytep dst, lzo_uintp dst_len, 76 | lzo_voidp wrkmem /* NOT USED */ ); 77 | 78 | 79 | /*********************************************************************** 80 | // better compression ratio at the cost of more memory and time 81 | ************************************************************************/ 82 | 83 | #define LZO1A_99_MEM_COMPRESS ((lzo_uint32) (65536L * lzo_sizeof_dict_t)) 84 | 85 | LZO_EXTERN(int) 86 | lzo1a_99_compress ( const lzo_bytep src, lzo_uint src_len, 87 | lzo_bytep dst, lzo_uintp dst_len, 88 | lzo_voidp wrkmem ); 89 | 90 | 91 | 92 | #ifdef __cplusplus 93 | } /* extern "C" */ 94 | #endif 95 | 96 | #endif /* already included */ 97 | 98 | 99 | /* vim:set ts=4 et: */ 100 | -------------------------------------------------------------------------------- /Compress/include/lzo/lzo1f.h: -------------------------------------------------------------------------------- 1 | /* lzo1f.h -- public interface of the LZO1F compression algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #ifndef __LZO1F_H_INCLUDED 45 | #define __LZO1F_H_INCLUDED 1 46 | 47 | #ifndef __LZOCONF_H_INCLUDED 48 | #include "lzoconf.h" 49 | #endif 50 | 51 | #ifdef __cplusplus 52 | extern "C" { 53 | #endif 54 | 55 | 56 | /*********************************************************************** 57 | // 58 | ************************************************************************/ 59 | 60 | /* Memory required for the wrkmem parameter. 61 | * When the required size is 0, you can also pass a NULL pointer. 62 | */ 63 | 64 | #define LZO1F_MEM_COMPRESS ((lzo_uint32) (16384L * lzo_sizeof_dict_t)) 65 | #define LZO1F_MEM_DECOMPRESS (0) 66 | 67 | 68 | /* decompression */ 69 | LZO_EXTERN(int) 70 | lzo1f_decompress ( const lzo_bytep src, lzo_uint src_len, 71 | lzo_bytep dst, lzo_uintp dst_len, 72 | lzo_voidp wrkmem /* NOT USED */ ); 73 | 74 | /* safe decompression with overrun testing */ 75 | LZO_EXTERN(int) 76 | lzo1f_decompress_safe ( const lzo_bytep src, lzo_uint src_len, 77 | lzo_bytep dst, lzo_uintp dst_len, 78 | lzo_voidp wrkmem /* NOT USED */ ); 79 | 80 | 81 | /*********************************************************************** 82 | // 83 | ************************************************************************/ 84 | 85 | LZO_EXTERN(int) 86 | lzo1f_1_compress ( const lzo_bytep src, lzo_uint src_len, 87 | lzo_bytep dst, lzo_uintp dst_len, 88 | lzo_voidp wrkmem ); 89 | 90 | 91 | /*********************************************************************** 92 | // better compression ratio at the cost of more memory and time 93 | ************************************************************************/ 94 | 95 | #define LZO1F_999_MEM_COMPRESS ((lzo_uint32) (5 * 16384L * sizeof(short))) 96 | 97 | LZO_EXTERN(int) 98 | lzo1f_999_compress ( const lzo_bytep src, lzo_uint src_len, 99 | lzo_bytep dst, lzo_uintp dst_len, 100 | lzo_voidp wrkmem ); 101 | 102 | 103 | 104 | #ifdef __cplusplus 105 | } /* extern "C" */ 106 | #endif 107 | 108 | #endif /* already included */ 109 | 110 | 111 | /* vim:set ts=4 et: */ 112 | -------------------------------------------------------------------------------- /Compress/include/lzo/lzo2a.h: -------------------------------------------------------------------------------- 1 | /* lzo2a.h -- public interface of the LZO2A compression algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #ifndef __LZO2A_H_INCLUDED 45 | #define __LZO2A_H_INCLUDED 1 46 | 47 | #ifndef __LZOCONF_H_INCLUDED 48 | #include "lzoconf.h" 49 | #endif 50 | 51 | #ifdef __cplusplus 52 | extern "C" { 53 | #endif 54 | 55 | 56 | /*********************************************************************** 57 | // 58 | ************************************************************************/ 59 | 60 | #define LZO2A_MEM_DECOMPRESS (0) 61 | 62 | /* decompression */ 63 | LZO_EXTERN(int) 64 | lzo2a_decompress ( const lzo_bytep src, lzo_uint src_len, 65 | lzo_bytep dst, lzo_uintp dst_len, 66 | lzo_voidp wrkmem /* NOT USED */ ); 67 | 68 | /* safe decompression with overrun testing */ 69 | LZO_EXTERN(int) 70 | lzo2a_decompress_safe ( const lzo_bytep src, lzo_uint src_len, 71 | lzo_bytep dst, lzo_uintp dst_len, 72 | lzo_voidp wrkmem /* NOT USED */ ); 73 | 74 | 75 | /*********************************************************************** 76 | // better compression ratio at the cost of more memory and time 77 | ************************************************************************/ 78 | 79 | #define LZO2A_999_MEM_COMPRESS ((lzo_uint32) (8 * 16384L * sizeof(short))) 80 | 81 | LZO_EXTERN(int) 82 | lzo2a_999_compress ( const lzo_bytep src, lzo_uint src_len, 83 | lzo_bytep dst, lzo_uintp dst_len, 84 | lzo_voidp wrkmem ); 85 | 86 | 87 | 88 | #ifdef __cplusplus 89 | } /* extern "C" */ 90 | #endif 91 | 92 | #endif /* already included */ 93 | 94 | 95 | /* vim:set ts=4 et: */ 96 | -------------------------------------------------------------------------------- /Compress/include/lzo/lzoutil.h: -------------------------------------------------------------------------------- 1 | /* lzoutil.h -- utilitiy functions for use by applications [DEPRECATED] 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #ifndef __LZOUTIL_H_INCLUDED 45 | #define __LZOUTIL_H_INCLUDED 1 46 | 47 | #ifndef __LZOCONF_H_INCLUDED 48 | #include "lzoconf.h" 49 | #endif 50 | 51 | #ifdef __cplusplus 52 | extern "C" { 53 | #endif 54 | 55 | 56 | /*********************************************************************** 57 | // LZO-v1 deprecated macros (which were used in the old example programs) 58 | // DO NOT USE 59 | ************************************************************************/ 60 | 61 | #define lzo_alloc(a,b) (malloc((a)*(b))) 62 | #define lzo_malloc(a) (malloc(a)) 63 | #define lzo_free(a) (free(a)) 64 | 65 | #define lzo_fread(f,b,s) (fread(b,1,s,f)) 66 | #define lzo_fwrite(f,b,s) (fwrite(b,1,s,f)) 67 | 68 | 69 | #ifdef __cplusplus 70 | } /* extern "C" */ 71 | #endif 72 | 73 | #endif /* already included */ 74 | 75 | 76 | /* vim:set ts=4 et: */ 77 | -------------------------------------------------------------------------------- /Compress/src/compr1b.h: -------------------------------------------------------------------------------- 1 | /* compr1b.h -- 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define LZO_NEED_DICT_H 1 45 | #include "config1b.h" 46 | 47 | 48 | #if !defined(COMPRESS_ID) 49 | #define COMPRESS_ID LZO_CPP_ECONCAT2(DD_BITS,CLEVEL) 50 | #endif 51 | 52 | 53 | #include "lzo1b_c.ch" 54 | 55 | 56 | /*********************************************************************** 57 | // 58 | ************************************************************************/ 59 | 60 | #define LZO_COMPRESS \ 61 | LZO_CPP_ECONCAT3(lzo1b_,COMPRESS_ID,_compress) 62 | 63 | #define LZO_COMPRESS_FUNC \ 64 | LZO_CPP_ECONCAT3(_lzo1b_,COMPRESS_ID,_compress_func) 65 | 66 | 67 | 68 | /*********************************************************************** 69 | // 70 | ************************************************************************/ 71 | 72 | const lzo_compress_t LZO_COMPRESS_FUNC = do_compress; 73 | 74 | LZO_PUBLIC(int) 75 | LZO_COMPRESS ( const lzo_bytep in, lzo_uint in_len, 76 | lzo_bytep out, lzo_uintp out_len, 77 | lzo_voidp wrkmem ) 78 | { 79 | return _lzo1b_do_compress(in,in_len,out,out_len,wrkmem,do_compress); 80 | } 81 | 82 | /* 83 | vi:ts=4:et 84 | */ 85 | -------------------------------------------------------------------------------- /Compress/src/compr1c.h: -------------------------------------------------------------------------------- 1 | /* compr1c.h -- 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define LZO_NEED_DICT_H 1 45 | #include "config1c.h" 46 | 47 | 48 | #if !defined(COMPRESS_ID) 49 | #define COMPRESS_ID LZO_CPP_ECONCAT2(DD_BITS,CLEVEL) 50 | #endif 51 | 52 | 53 | #include "lzo1b_c.ch" 54 | 55 | 56 | /*********************************************************************** 57 | // 58 | ************************************************************************/ 59 | 60 | #define LZO_COMPRESS \ 61 | LZO_CPP_ECONCAT3(lzo1c_,COMPRESS_ID,_compress) 62 | 63 | #define LZO_COMPRESS_FUNC \ 64 | LZO_CPP_ECONCAT3(_lzo1c_,COMPRESS_ID,_compress_func) 65 | 66 | 67 | 68 | /*********************************************************************** 69 | // 70 | ************************************************************************/ 71 | 72 | const lzo_compress_t LZO_COMPRESS_FUNC = do_compress; 73 | 74 | LZO_PUBLIC(int) 75 | LZO_COMPRESS ( const lzo_bytep in, lzo_uint in_len, 76 | lzo_bytep out, lzo_uintp out_len, 77 | lzo_voidp wrkmem ) 78 | { 79 | return _lzo1c_do_compress(in,in_len,out,out_len,wrkmem,do_compress); 80 | } 81 | 82 | /* 83 | vi:ts=4:et 84 | */ 85 | -------------------------------------------------------------------------------- /Compress/src/config1.h: -------------------------------------------------------------------------------- 1 | /* config1.h -- configuration for the LZO1 algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | #ifndef __LZO_CONFIG1_H 50 | #define __LZO_CONFIG1_H 1 51 | 52 | #include "lzo_conf.h" 53 | #include "lzo/lzo1.h" 54 | 55 | #define LZO_NO_R1 1 56 | #include "config1a.h" 57 | 58 | #endif /* already included */ 59 | 60 | 61 | /* 62 | vi:ts=4:et 63 | */ 64 | 65 | -------------------------------------------------------------------------------- /Compress/src/config1f.h: -------------------------------------------------------------------------------- 1 | /* config1f.h -- configuration for the LZO1F algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO_CONFIG1F_H 51 | #define __LZO_CONFIG1F_H 1 52 | 53 | #include "lzo_conf.h" 54 | #include "lzo/lzo1f.h" 55 | 56 | 57 | /*********************************************************************** 58 | // 59 | ************************************************************************/ 60 | 61 | #define LZO_EOF_CODE 1 62 | #undef LZO_DETERMINISTIC 63 | 64 | #define M2_MAX_OFFSET 0x0800 65 | #define M3_MAX_OFFSET 0x3fff 66 | 67 | #define M2_MIN_LEN 3 68 | #define M2_MAX_LEN 8 69 | #define M3_MIN_LEN 3 70 | #define M3_MAX_LEN 33 71 | 72 | #define M3_MARKER 224 73 | 74 | 75 | /*********************************************************************** 76 | // 77 | ************************************************************************/ 78 | 79 | #ifndef MIN_LOOKAHEAD 80 | #define MIN_LOOKAHEAD (M2_MAX_LEN + 1) 81 | #endif 82 | 83 | #if defined(LZO_NEED_DICT_H) 84 | 85 | #ifndef LZO_HASH 86 | #define LZO_HASH LZO_HASH_LZO_INCREMENTAL_A 87 | #endif 88 | #define DL_MIN_LEN M2_MIN_LEN 89 | #include "lzo_dict.h" 90 | 91 | #endif 92 | 93 | 94 | 95 | #endif /* already included */ 96 | 97 | /* 98 | vi:ts=4:et 99 | */ 100 | 101 | -------------------------------------------------------------------------------- /Compress/src/config1x.h: -------------------------------------------------------------------------------- 1 | /* config1x.h -- configuration for the LZO1X algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO_CONFIG1X_H 51 | #define __LZO_CONFIG1X_H 1 52 | 53 | #if !defined(LZO1X) && !defined(LZO1Y) && !defined(LZO1Z) 54 | # define LZO1X 1 55 | #endif 56 | 57 | #include "lzo_conf.h" 58 | #if !defined(__LZO_IN_MINILZO) 59 | #include "../Include/lzo/lzo1x.h" 60 | #endif 61 | 62 | 63 | /*********************************************************************** 64 | // 65 | ************************************************************************/ 66 | 67 | #ifndef LZO_EOF_CODE 68 | #define LZO_EOF_CODE 1 69 | #endif 70 | #undef LZO_DETERMINISTIC 71 | 72 | #define M1_MAX_OFFSET 0x0400 73 | #ifndef M2_MAX_OFFSET 74 | #define M2_MAX_OFFSET 0x0800 75 | #endif 76 | #define M3_MAX_OFFSET 0x4000 77 | #define M4_MAX_OFFSET 0xbfff 78 | 79 | #define MX_MAX_OFFSET (M1_MAX_OFFSET + M2_MAX_OFFSET) 80 | 81 | #define M1_MIN_LEN 2 82 | #define M1_MAX_LEN 2 83 | #define M2_MIN_LEN 3 84 | #ifndef M2_MAX_LEN 85 | #define M2_MAX_LEN 8 86 | #endif 87 | #define M3_MIN_LEN 3 88 | #define M3_MAX_LEN 33 89 | #define M4_MIN_LEN 3 90 | #define M4_MAX_LEN 9 91 | 92 | #define M1_MARKER 0 93 | #define M2_MARKER 64 94 | #define M3_MARKER 32 95 | #define M4_MARKER 16 96 | 97 | 98 | /*********************************************************************** 99 | // 100 | ************************************************************************/ 101 | 102 | #ifndef MIN_LOOKAHEAD 103 | #define MIN_LOOKAHEAD (M2_MAX_LEN + 1) 104 | #endif 105 | 106 | #if defined(LZO_NEED_DICT_H) 107 | 108 | #ifndef LZO_HASH 109 | #define LZO_HASH LZO_HASH_LZO_INCREMENTAL_B 110 | #endif 111 | #define DL_MIN_LEN M2_MIN_LEN 112 | #include "lzo_dict.h" 113 | 114 | #endif 115 | 116 | 117 | 118 | #endif /* already included */ 119 | 120 | /* 121 | vi:ts=4:et 122 | */ 123 | 124 | -------------------------------------------------------------------------------- /Compress/src/config1y.h: -------------------------------------------------------------------------------- 1 | /* config1y.h -- configuration for the LZO1Y algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO_CONFIG1Y_H 51 | #define __LZO_CONFIG1Y_H 1 52 | 53 | #if !defined(LZO1Y) 54 | # define LZO1Y 1 55 | #endif 56 | 57 | #include "lzo_conf.h" 58 | #include "lzo/lzo1y.h" 59 | 60 | #define M2_MAX_LEN 14 61 | #define M2_MAX_OFFSET 0x0400 62 | #include "config1x.h" 63 | 64 | #endif /* already included */ 65 | 66 | /* 67 | vi:ts=4:et 68 | */ 69 | 70 | -------------------------------------------------------------------------------- /Compress/src/config1z.h: -------------------------------------------------------------------------------- 1 | /* config1z.h -- configuration for the LZO1Z algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO_CONFIG1Z_H 51 | #define __LZO_CONFIG1Z_H 1 52 | 53 | #if !defined(LZO1Z) 54 | # define LZO1Z 1 55 | #endif 56 | 57 | #include "lzo_conf.h" 58 | #include "lzo/lzo1z.h" 59 | 60 | #define M2_MAX_OFFSET 0x0700 61 | #include "config1x.h" 62 | 63 | #endif /* already included */ 64 | 65 | /* 66 | vi:ts=4:et 67 | */ 68 | 69 | -------------------------------------------------------------------------------- /Compress/src/lzo1_cm.ch: -------------------------------------------------------------------------------- 1 | /* lzo1_cm.ch -- implementation of the LZO1 compression algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #include "lzo1a_cm.ch" 51 | 52 | 53 | /* 54 | vi:ts=4:et 55 | */ 56 | -------------------------------------------------------------------------------- /Compress/src/lzo1a_cr.ch: -------------------------------------------------------------------------------- 1 | /* lzo1a_cr.ch -- literal run handling for the the LZO1A algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the LZO package and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO1A_CR_H 51 | #define __LZO1A_CR_H 1 52 | 53 | 54 | /*********************************************************************** 55 | // code a literal run 56 | ************************************************************************/ 57 | 58 | static lzo_bytep 59 | store_run(lzo_bytep const oo, const lzo_bytep const ii, lzo_uint r_len) 60 | { 61 | register lzo_bytep op; 62 | register const lzo_bytep ip; 63 | register lzo_uint t; 64 | 65 | op = oo; 66 | ip = ii; 67 | assert(r_len > 0); 68 | 69 | /* code a long R0 run */ 70 | if (r_len >= 512) 71 | { 72 | unsigned r_bits = 6; /* 256 << 6 == 16384 */ 73 | lzo_uint tt = 32768u; 74 | 75 | while (r_len >= (t = tt)) 76 | { 77 | r_len -= t; 78 | *op++ = 0; *op++ = (R0MAX - R0MIN); 79 | MEMCPY8_DS(op, ip, t); 80 | LZO_STATS(lzo_stats->r0long_runs++); 81 | } 82 | tt >>= 1; 83 | do { 84 | if (r_len >= (t = tt)) 85 | { 86 | r_len -= t; 87 | *op++ = 0; *op++ = LZO_BYTE((R0FAST - R0MIN) + r_bits); 88 | MEMCPY8_DS(op, ip, t); 89 | LZO_STATS(lzo_stats->r0long_runs++); 90 | } 91 | tt >>= 1; 92 | } while (--r_bits > 0); 93 | } 94 | assert(r_len < 512); 95 | 96 | while (r_len >= (t = R0FAST)) 97 | { 98 | r_len -= t; 99 | *op++ = 0; *op++ = (R0FAST - R0MIN); 100 | MEMCPY8_DS(op, ip, t); 101 | LZO_STATS(lzo_stats->r0fast_runs++); 102 | } 103 | 104 | t = r_len; 105 | if (t >= R0MIN) 106 | { 107 | /* code a short R0 run */ 108 | *op++ = 0; *op++ = LZO_BYTE(t - R0MIN); 109 | MEMCPY_DS(op, ip, t); 110 | LZO_STATS(lzo_stats->r0short_runs++); 111 | } 112 | else if (t > 0) 113 | { 114 | /* code a short literal run */ 115 | LZO_STATS(lzo_stats->lit_runs++); 116 | LZO_STATS(lzo_stats->lit_run[t]++); 117 | *op++ = LZO_BYTE(t); 118 | MEMCPY_DS(op, ip, t); 119 | } 120 | 121 | return op; 122 | } 123 | 124 | 125 | 126 | #endif /* already included */ 127 | 128 | /* 129 | vi:ts=4:et 130 | */ 131 | 132 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_1.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_1.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 1 45 | 46 | #define DDBITS 0 47 | #define CLEVEL 1 48 | #include "compr1b.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_2.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_2.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 2 45 | 46 | #define DDBITS 0 47 | #define CLEVEL 2 48 | #include "compr1b.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_3.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_3.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 3 45 | 46 | #define DDBITS 0 47 | #define CLEVEL 3 48 | #include "compr1b.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_4.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_4.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 4 45 | 46 | #define DDBITS 1 47 | #define CLEVEL 2 48 | #include "compr1b.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_5.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_5.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 5 45 | 46 | #define DDBITS 1 47 | #define CLEVEL 3 48 | #include "compr1b.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_6.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_6.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 6 45 | 46 | #define DDBITS 1 47 | #define CLEVEL 5 48 | #include "compr1b.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_7.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_7.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 7 45 | 46 | #define DDBITS 2 47 | #define CLEVEL 3 48 | #include "compr1b.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_8.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_8.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 8 45 | 46 | #define DDBITS 2 47 | #define CLEVEL 8 48 | #include "compr1b.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_9.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_9.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 9 45 | 46 | #define DDBITS 2 47 | #define CLEVEL 9 48 | #include "compr1b.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_99.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_99.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 99 45 | 46 | #define DDBITS 3 47 | #define CLEVEL 9 48 | 49 | #define D_BITS 16 50 | #define MATCH_IP_END in_end 51 | #include "compr1b.h" 52 | 53 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_cc.h: -------------------------------------------------------------------------------- 1 | /* lzo1b_cc.h -- definitions for the the LZO1B compression driver 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO1B_CC_H 51 | #define __LZO1B_CC_H 1 52 | 53 | 54 | /*********************************************************************** 55 | // 56 | ************************************************************************/ 57 | 58 | extern const lzo_compress_t _lzo1b_1_compress_func; 59 | extern const lzo_compress_t _lzo1b_2_compress_func; 60 | extern const lzo_compress_t _lzo1b_3_compress_func; 61 | extern const lzo_compress_t _lzo1b_4_compress_func; 62 | extern const lzo_compress_t _lzo1b_5_compress_func; 63 | extern const lzo_compress_t _lzo1b_6_compress_func; 64 | extern const lzo_compress_t _lzo1b_7_compress_func; 65 | extern const lzo_compress_t _lzo1b_8_compress_func; 66 | extern const lzo_compress_t _lzo1b_9_compress_func; 67 | 68 | extern const lzo_compress_t _lzo1b_99_compress_func; 69 | 70 | 71 | /*********************************************************************** 72 | // 73 | ************************************************************************/ 74 | 75 | LZO_EXTERN(lzo_bytep ) 76 | _lzo1b_store_run ( lzo_bytep const oo, const lzo_bytep const ii, 77 | lzo_uint r_len); 78 | 79 | #define STORE_RUN _lzo1b_store_run 80 | 81 | 82 | lzo_compress_t _lzo1b_get_compress_func(int clevel); 83 | 84 | int _lzo1b_do_compress ( const lzo_bytep in, lzo_uint in_len, 85 | lzo_bytep out, lzo_uintp out_len, 86 | lzo_voidp wrkmem, 87 | lzo_compress_t func ); 88 | 89 | 90 | #endif /* already included */ 91 | 92 | /* 93 | vi:ts=4:et 94 | */ 95 | 96 | 97 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_d1.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_d1.c -- LZO1B decompression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1b.h" 45 | 46 | #undef LZO_TEST_OVERRUN 47 | #define DO_DECOMPRESS lzo1b_decompress 48 | 49 | #include "lzo1b_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_d2.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_d2.c -- LZO1B decompression with overrun testing 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1b.h" 45 | 46 | #define LZO_TEST_OVERRUN 1 47 | #define DO_DECOMPRESS lzo1b_decompress_safe 48 | 49 | #include "lzo1b_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_r.ch: -------------------------------------------------------------------------------- 1 | /* lzo1b_r.ch -- literal run handling for the the LZO1B/LZO1C algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /*********************************************************************** 45 | // store a literal run (internal) 46 | ************************************************************************/ 47 | 48 | LZO_PUBLIC(lzo_bytep ) 49 | STORE_RUN ( lzo_bytep const oo, const lzo_bytep const ii, lzo_uint r_len) 50 | { 51 | register lzo_bytep op; 52 | register const lzo_bytep ip; 53 | register lzo_uint t; 54 | 55 | LZO_STATS(lzo_stats->literals += r_len); 56 | 57 | op = oo; 58 | ip = ii; 59 | assert(r_len > 0); 60 | 61 | /* code a long R0 run */ 62 | if (r_len >= 512) 63 | { 64 | unsigned r_bits = 6; /* 256 << 6 == 16384 */ 65 | lzo_uint tt = 32768u; 66 | 67 | while (r_len >= (t = tt)) 68 | { 69 | r_len -= t; 70 | *op++ = 0; *op++ = (R0FAST - R0MIN) + 7; 71 | MEMCPY8_DS(op, ip, t); 72 | LZO_STATS(lzo_stats->r0long_runs++); 73 | } 74 | tt >>= 1; 75 | do { 76 | if (r_len >= (t = tt)) 77 | { 78 | r_len -= t; 79 | *op++ = 0; *op++ = LZO_BYTE((R0FAST - R0MIN) + r_bits); 80 | MEMCPY8_DS(op, ip, t); 81 | LZO_STATS(lzo_stats->r0long_runs++); 82 | } 83 | tt >>= 1; 84 | } while (--r_bits > 0); 85 | } 86 | assert(r_len < 512); 87 | 88 | while (r_len >= (t = R0FAST)) 89 | { 90 | r_len -= t; 91 | *op++ = 0; *op++ = (R0FAST - R0MIN); 92 | MEMCPY8_DS(op, ip, t); 93 | LZO_STATS(lzo_stats->r0fast_runs++); 94 | } 95 | 96 | t = r_len; 97 | if (t >= R0MIN) 98 | { 99 | /* code a short R0 run */ 100 | *op++ = 0; *op++ = LZO_BYTE(t - R0MIN); 101 | MEMCPY_DS(op, ip, t); 102 | LZO_STATS(lzo_stats->r0short_runs++); 103 | } 104 | else if (t > 0) 105 | { 106 | /* code a short literal run */ 107 | LZO_STATS(lzo_stats->lit_runs++); 108 | LZO_STATS(lzo_stats->lit_run[t]++); 109 | *op++ = LZO_BYTE(t); 110 | MEMCPY_DS(op, ip, t); 111 | } 112 | 113 | return op; 114 | } 115 | 116 | 117 | /* 118 | vi:ts=4:et 119 | */ 120 | 121 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_rr.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_rr.c -- literal run handling 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1b.h" 45 | 46 | #include "lzo1b_r.ch" 47 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_tm.ch: -------------------------------------------------------------------------------- 1 | /* lzo1b_tm.ch -- implementation of the LZO1B compression algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | 51 | /*********************************************************************** 52 | // test for a potential match 53 | ************************************************************************/ 54 | 55 | 56 | #if (DD_BITS == 0) 57 | 58 | try_match: 59 | #if !defined(NDEBUG) && (LZO_DICT_USE_PTR) 60 | #if (LZO_DETERMINISTIC) 61 | assert(m_pos == NULL || m_pos >= in); 62 | assert(m_pos == NULL || m_pos < ip); 63 | #endif 64 | m_pos_sav = m_pos; 65 | #endif 66 | if (m_pos[0] == ip[0] && m_pos[1] == ip[1] && m_pos[2] == ip[2]) 67 | { 68 | m_pos += 3; 69 | goto match; 70 | } 71 | 72 | 73 | #else /* (DD_BITS == 0) */ 74 | 75 | 76 | /* test potential match */ 77 | 78 | if (m_len > M2_MIN_LEN) 79 | goto match; 80 | if (m_len == M2_MIN_LEN) 81 | { 82 | #if (_MAX_OFFSET == _M2_MAX_OFFSET) 83 | goto match; 84 | #else 85 | if (m_off <= M2_MAX_OFFSET) 86 | goto match; 87 | #if 0 && (M3_MIN_LEN == M2_MIN_LEN) 88 | if (ip == ii) 89 | goto match; 90 | #endif 91 | #endif 92 | } 93 | goto literal; 94 | 95 | 96 | #endif /* (DD_BITS == 0) */ 97 | 98 | 99 | 100 | /* 101 | vi:ts=4:et 102 | */ 103 | -------------------------------------------------------------------------------- /Compress/src/lzo1b_xx.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_xx.c -- LZO1B compression public entry point 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1b.h" 45 | 46 | 47 | /*********************************************************************** 48 | // 49 | ************************************************************************/ 50 | 51 | static const lzo_compress_t * const c_funcs [9] = 52 | { 53 | &_lzo1b_1_compress_func, 54 | &_lzo1b_2_compress_func, 55 | &_lzo1b_3_compress_func, 56 | &_lzo1b_4_compress_func, 57 | &_lzo1b_5_compress_func, 58 | &_lzo1b_6_compress_func, 59 | &_lzo1b_7_compress_func, 60 | &_lzo1b_8_compress_func, 61 | &_lzo1b_9_compress_func 62 | }; 63 | 64 | 65 | lzo_compress_t _lzo1b_get_compress_func(int clevel) 66 | { 67 | const lzo_compress_t *f; 68 | 69 | if (clevel < LZO1B_BEST_SPEED || clevel > LZO1B_BEST_COMPRESSION) 70 | { 71 | if (clevel == LZO1B_DEFAULT_COMPRESSION) 72 | clevel = LZO1B_BEST_SPEED; 73 | else 74 | return 0; 75 | } 76 | f = c_funcs[clevel-1]; 77 | assert(f && *f); 78 | return *f; 79 | } 80 | 81 | 82 | LZO_PUBLIC(int) 83 | lzo1b_compress ( const lzo_bytep src, lzo_uint src_len, 84 | lzo_bytep dst, lzo_uintp dst_len, 85 | lzo_voidp wrkmem, 86 | int clevel ) 87 | { 88 | lzo_compress_t f; 89 | 90 | f = _lzo1b_get_compress_func(clevel); 91 | if (!f) 92 | return LZO_E_ERROR; 93 | return _lzo1b_do_compress(src,src_len,dst,dst_len,wrkmem,f); 94 | } 95 | 96 | 97 | 98 | /* 99 | vi:ts=4:et 100 | */ 101 | 102 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_1.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_1.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 1 45 | 46 | #define DDBITS 0 47 | #define CLEVEL 1 48 | #include "compr1c.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_2.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_2.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 2 45 | 46 | #define DDBITS 0 47 | #define CLEVEL 2 48 | #include "compr1c.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_3.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_3.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 3 45 | 46 | #define DDBITS 0 47 | #define CLEVEL 3 48 | #include "compr1c.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_4.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_4.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 4 45 | 46 | #define DDBITS 1 47 | #define CLEVEL 2 48 | #include "compr1c.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_5.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_5.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 5 45 | 46 | #define DDBITS 1 47 | #define CLEVEL 3 48 | #include "compr1c.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_6.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_6.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 6 45 | 46 | #define DDBITS 1 47 | #define CLEVEL 5 48 | #include "compr1c.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_7.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_7.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 7 45 | 46 | #define DDBITS 2 47 | #define CLEVEL 3 48 | #include "compr1c.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_8.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_8.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 8 45 | 46 | #define DDBITS 2 47 | #define CLEVEL 8 48 | #include "compr1c.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_9.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_9.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 9 45 | 46 | #define DDBITS 2 47 | #define CLEVEL 9 48 | #include "compr1c.h" 49 | 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_99.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_99.c -- main internal configuration file for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define COMPRESS_ID 99 45 | 46 | #define DDBITS 3 47 | #define CLEVEL 9 48 | 49 | #define D_BITS 16 50 | #define MATCH_IP_END in_end 51 | #include "compr1c.h" 52 | 53 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_cc.h: -------------------------------------------------------------------------------- 1 | /* lzo1c_cc.h -- definitions for the the LZO1C compression driver 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO1C_CC_H 51 | #define __LZO1C_CC_H 1 52 | 53 | 54 | /*********************************************************************** 55 | // 56 | ************************************************************************/ 57 | 58 | extern const lzo_compress_t _lzo1c_1_compress_func; 59 | extern const lzo_compress_t _lzo1c_2_compress_func; 60 | extern const lzo_compress_t _lzo1c_3_compress_func; 61 | extern const lzo_compress_t _lzo1c_4_compress_func; 62 | extern const lzo_compress_t _lzo1c_5_compress_func; 63 | extern const lzo_compress_t _lzo1c_6_compress_func; 64 | extern const lzo_compress_t _lzo1c_7_compress_func; 65 | extern const lzo_compress_t _lzo1c_8_compress_func; 66 | extern const lzo_compress_t _lzo1c_9_compress_func; 67 | 68 | extern const lzo_compress_t _lzo1c_99_compress_func; 69 | 70 | 71 | /*********************************************************************** 72 | // 73 | ************************************************************************/ 74 | 75 | LZO_EXTERN(lzo_bytep ) 76 | _lzo1c_store_run ( lzo_bytep const oo, const lzo_bytep const ii, 77 | lzo_uint r_len); 78 | 79 | #define STORE_RUN _lzo1c_store_run 80 | 81 | 82 | lzo_compress_t _lzo1c_get_compress_func(int clevel); 83 | 84 | int _lzo1c_do_compress ( const lzo_bytep in, lzo_uint in_len, 85 | lzo_bytep out, lzo_uintp out_len, 86 | lzo_voidp wrkmem, 87 | lzo_compress_t func ); 88 | 89 | 90 | #endif /* already included */ 91 | 92 | /* 93 | vi:ts=4:et 94 | */ 95 | 96 | 97 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_d1.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_d1.c -- LZO1C decompression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1c.h" 45 | 46 | #undef LZO_TEST_OVERRUN 47 | #define DO_DECOMPRESS lzo1c_decompress 48 | 49 | #include "lzo1b_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_d2.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_d2.c -- LZO1C decompression with overrun testing 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1c.h" 45 | 46 | #define LZO_TEST_OVERRUN 1 47 | #define DO_DECOMPRESS lzo1c_decompress_safe 48 | 49 | #include "lzo1b_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_rr.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_rr.c -- literal run handling 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1c.h" 45 | 46 | #include "lzo1b_r.ch" 47 | -------------------------------------------------------------------------------- /Compress/src/lzo1c_xx.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_xx.c -- LZO1C compression public entry point 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1c.h" 45 | 46 | 47 | /*********************************************************************** 48 | // 49 | ************************************************************************/ 50 | 51 | static const lzo_compress_t * const c_funcs [9] = 52 | { 53 | &_lzo1c_1_compress_func, 54 | &_lzo1c_2_compress_func, 55 | &_lzo1c_3_compress_func, 56 | &_lzo1c_4_compress_func, 57 | &_lzo1c_5_compress_func, 58 | &_lzo1c_6_compress_func, 59 | &_lzo1c_7_compress_func, 60 | &_lzo1c_8_compress_func, 61 | &_lzo1c_9_compress_func 62 | }; 63 | 64 | 65 | lzo_compress_t _lzo1c_get_compress_func(int clevel) 66 | { 67 | const lzo_compress_t *f; 68 | 69 | if (clevel < LZO1C_BEST_SPEED || clevel > LZO1C_BEST_COMPRESSION) 70 | { 71 | if (clevel == LZO1C_DEFAULT_COMPRESSION) 72 | clevel = LZO1C_BEST_SPEED; 73 | else 74 | return 0; 75 | } 76 | f = c_funcs[clevel-1]; 77 | assert(f && *f); 78 | return *f; 79 | } 80 | 81 | 82 | LZO_PUBLIC(int) 83 | lzo1c_compress ( const lzo_bytep src, lzo_uint src_len, 84 | lzo_bytep dst, lzo_uintp dst_len, 85 | lzo_voidp wrkmem, 86 | int clevel ) 87 | { 88 | lzo_compress_t f; 89 | 90 | f = _lzo1c_get_compress_func(clevel); 91 | if (!f) 92 | return LZO_E_ERROR; 93 | return _lzo1c_do_compress(src,src_len,dst,dst_len,wrkmem,f); 94 | } 95 | 96 | 97 | 98 | /* 99 | vi:ts=4:et 100 | */ 101 | 102 | -------------------------------------------------------------------------------- /Compress/src/lzo1f_d1.c: -------------------------------------------------------------------------------- 1 | /* lzo1f_d1.c -- LZO1F decompression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1f.h" 45 | 46 | #undef LZO_TEST_OVERRUN 47 | #define DO_DECOMPRESS lzo1f_decompress 48 | 49 | #include "lzo1f_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1f_d2.c: -------------------------------------------------------------------------------- 1 | /* lzo1f_d2.c -- LZO1F decompression with overrun testing 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1f.h" 45 | 46 | #define LZO_TEST_OVERRUN 1 47 | #define DO_DECOMPRESS lzo1f_decompress_safe 48 | 49 | #include "lzo1f_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1x_1.c: -------------------------------------------------------------------------------- 1 | /* lzo1x_1.c -- LZO1X-1 compression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "lzo_conf.h" 45 | #if 1 && defined(UA_GET32) 46 | #undef LZO_DICT_USE_PTR 47 | #define LZO_DICT_USE_PTR 0 48 | #undef lzo_dict_t 49 | #define lzo_dict_t unsigned short 50 | #endif 51 | 52 | #define LZO_NEED_DICT_H 1 53 | #ifndef D_BITS 54 | #define D_BITS 14 55 | #endif 56 | #define D_INDEX1(d,p) d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5) 57 | #define D_INDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f) 58 | #if 1 59 | #define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS))) 60 | #else 61 | #define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS))) 62 | #endif 63 | #include "config1x.h" 64 | #define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR) 65 | 66 | #ifndef DO_COMPRESS 67 | #define DO_COMPRESS lzo1x_1_compress 68 | #endif 69 | 70 | #include "lzo1x_c.ch" 71 | -------------------------------------------------------------------------------- /Compress/src/lzo1x_1k.c: -------------------------------------------------------------------------------- 1 | /* lzo1x_1k.c -- LZO1X-1(11) compression (needs only 8kB work memory) 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "lzo_conf.h" 45 | #if 1 && defined(UA_GET32) 46 | #undef LZO_DICT_USE_PTR 47 | #define LZO_DICT_USE_PTR 0 48 | #undef lzo_dict_t 49 | #define lzo_dict_t unsigned short 50 | #endif 51 | 52 | #define LZO_NEED_DICT_H 1 53 | #ifndef D_BITS 54 | #define D_BITS 11 55 | #endif 56 | #define D_INDEX1(d,p) d = DM(DMUL(0x21,DX2(p,3,5)) >> 5) 57 | #define D_INDEX2(d,p) d = d ^ D_MASK 58 | #if 1 59 | #define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS))) 60 | #else 61 | #define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS))) 62 | #endif 63 | #include "config1x.h" 64 | #define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR) 65 | 66 | #ifndef DO_COMPRESS 67 | #define DO_COMPRESS lzo1x_1_11_compress 68 | #endif 69 | 70 | #include "lzo1x_c.ch" 71 | -------------------------------------------------------------------------------- /Compress/src/lzo1x_1l.c: -------------------------------------------------------------------------------- 1 | /* lzo1x_1l.c -- LZO1X-1(12) compression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "lzo_conf.h" 45 | #if 1 && defined(UA_GET32) 46 | #undef LZO_DICT_USE_PTR 47 | #define LZO_DICT_USE_PTR 0 48 | #undef lzo_dict_t 49 | #define lzo_dict_t unsigned short 50 | #endif 51 | 52 | #define LZO_NEED_DICT_H 1 53 | #ifndef D_BITS 54 | #define D_BITS 12 55 | #endif 56 | #define D_INDEX1(d,p) d = DM(DMUL(0x21,DX2(p,4,5)) >> 5) 57 | #define D_INDEX2(d,p) d = d ^ D_MASK 58 | #if 1 59 | #define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS))) 60 | #else 61 | #define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS))) 62 | #endif 63 | #include "config1x.h" 64 | #define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR) 65 | 66 | #ifndef DO_COMPRESS 67 | #define DO_COMPRESS lzo1x_1_12_compress 68 | #endif 69 | 70 | #include "lzo1x_c.ch" 71 | -------------------------------------------------------------------------------- /Compress/src/lzo1x_1o.c: -------------------------------------------------------------------------------- 1 | /* lzo1x_1o.c -- LZO1X-1(15) compression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "lzo_conf.h" 45 | #if 1 && defined(UA_GET32) 46 | #undef LZO_DICT_USE_PTR 47 | #define LZO_DICT_USE_PTR 0 48 | #undef lzo_dict_t 49 | #define lzo_dict_t unsigned short 50 | #define D_BITS 13 51 | #endif 52 | 53 | #define LZO_NEED_DICT_H 1 54 | #ifndef D_BITS 55 | #define D_BITS 15 56 | #endif 57 | #define D_INDEX1(d,p) d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5) 58 | #define D_INDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f) 59 | #if 1 60 | #define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS))) 61 | #else 62 | #define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS))) 63 | #endif 64 | #include "config1x.h" 65 | #define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR) 66 | 67 | #ifndef DO_COMPRESS 68 | #define DO_COMPRESS lzo1x_1_15_compress 69 | #endif 70 | 71 | #include "lzo1x_c.ch" 72 | -------------------------------------------------------------------------------- /Compress/src/lzo1x_d1.c: -------------------------------------------------------------------------------- 1 | /* lzo1x_d1.c -- LZO1X decompression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1x.h" 45 | 46 | #undef LZO_TEST_OVERRUN 47 | #define DO_DECOMPRESS lzo1x_decompress 48 | 49 | #include "lzo1x_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1x_d2.c: -------------------------------------------------------------------------------- 1 | /* lzo1x_d2.c -- LZO1X decompression with overrun testing 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1x.h" 45 | 46 | #define LZO_TEST_OVERRUN 1 47 | #define DO_DECOMPRESS lzo1x_decompress_safe 48 | 49 | #include "lzo1x_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1x_d3.c: -------------------------------------------------------------------------------- 1 | /* lzo1x_d3.c -- LZO1X decompression with preset dictionary 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1x.h" 45 | 46 | #define LZO_TEST_OVERRUN 1 47 | 48 | 49 | #define SLOW_MEMCPY(a,b,l) { do *a++ = *b++; while (--l > 0); } 50 | #define FAST_MEMCPY(a,b,l) { lzo_memcpy(a,b,l); a += l; } 51 | 52 | #if 1 && defined(FAST_MEMCPY) 53 | # define DICT_MEMMOVE(op,m_pos,m_len,m_off) \ 54 | if (m_off >= (m_len)) \ 55 | FAST_MEMCPY(op,m_pos,m_len) \ 56 | else \ 57 | SLOW_MEMCPY(op,m_pos,m_len) 58 | #else 59 | # define DICT_MEMMOVE(op,m_pos,m_len,m_off) \ 60 | SLOW_MEMCPY(op,m_pos,m_len) 61 | #endif 62 | 63 | #if !defined(FAST_MEMCPY) 64 | # define FAST_MEMCPY SLOW_MEMCPY 65 | #endif 66 | 67 | 68 | #define COPY_DICT_DICT(m_len,m_off) \ 69 | { \ 70 | register const lzo_bytep m_pos; \ 71 | m_off -= pd(op, out); assert(m_off > 0); \ 72 | if (m_off > dict_len) goto lookbehind_overrun; \ 73 | m_pos = dict_end - m_off; \ 74 | if (m_len > m_off) \ 75 | { \ 76 | m_len -= m_off; \ 77 | FAST_MEMCPY(op,m_pos,m_off) \ 78 | m_pos = out; \ 79 | SLOW_MEMCPY(op,m_pos,m_len) \ 80 | } \ 81 | else \ 82 | FAST_MEMCPY(op,m_pos,m_len) \ 83 | } 84 | 85 | #define COPY_DICT(m_len,m_off) \ 86 | assert(m_len >= 2); assert(m_off > 0); assert(op > out); \ 87 | if (m_off <= pd(op, out)) \ 88 | { \ 89 | register const lzo_bytep m_pos = op - m_off; \ 90 | DICT_MEMMOVE(op,m_pos,m_len,m_off) \ 91 | } \ 92 | else \ 93 | COPY_DICT_DICT(m_len,m_off) 94 | 95 | 96 | 97 | 98 | LZO_PUBLIC(int) 99 | lzo1x_decompress_dict_safe ( const lzo_bytep in, lzo_uint in_len, 100 | lzo_bytep out, lzo_uintp out_len, 101 | lzo_voidp wrkmem /* NOT USED */, 102 | const lzo_bytep dict, lzo_uint dict_len) 103 | 104 | 105 | #include "lzo1x_d.ch" 106 | 107 | 108 | /* 109 | vi:ts=4:et 110 | */ 111 | 112 | -------------------------------------------------------------------------------- /Compress/src/lzo1x_o.c: -------------------------------------------------------------------------------- 1 | /* lzo1x_o.c -- LZO1X compressed data optimizer 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1x.h" 45 | 46 | #define DO_OPTIMIZE lzo1x_optimize 47 | 48 | #include "lzo1x_oo.ch" 49 | -------------------------------------------------------------------------------- /Compress/src/lzo1y_1.c: -------------------------------------------------------------------------------- 1 | /* lzo1y_1.c -- LZO1Y-1 compression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "lzo_conf.h" 45 | #if 1 && defined(UA_GET32) 46 | #undef LZO_DICT_USE_PTR 47 | #define LZO_DICT_USE_PTR 0 48 | #undef lzo_dict_t 49 | #define lzo_dict_t unsigned short 50 | #endif 51 | 52 | #define LZO_NEED_DICT_H 1 53 | #ifndef D_BITS 54 | #define D_BITS 14 55 | #endif 56 | #define D_INDEX1(d,p) d = DX3(p,5,5,6); d += d >> 5; d = DM(d) 57 | #define D_INDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f) 58 | #if 1 59 | #define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS))) 60 | #else 61 | #define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS))) 62 | #endif 63 | #include "config1y.h" 64 | #define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR) 65 | 66 | #ifndef DO_COMPRESS 67 | #define DO_COMPRESS lzo1y_1_compress 68 | #endif 69 | 70 | #include "lzo1x_c.ch" 71 | -------------------------------------------------------------------------------- /Compress/src/lzo1y_9x.c: -------------------------------------------------------------------------------- 1 | /* lzo1y_9x.c -- implementation of the LZO1Y-999 compression algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define LZO1Y 1 45 | #include "lzo1x_9x.c" 46 | -------------------------------------------------------------------------------- /Compress/src/lzo1y_d1.c: -------------------------------------------------------------------------------- 1 | /* lzo1y_d1.c -- LZO1Y decompression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1y.h" 45 | 46 | #undef LZO_TEST_OVERRUN 47 | #define DO_DECOMPRESS lzo1y_decompress 48 | 49 | #include "lzo1x_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1y_d2.c: -------------------------------------------------------------------------------- 1 | /* lzo1y_d2.c -- LZO1Y decompression with overrun testing 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1y.h" 45 | 46 | #define LZO_TEST_OVERRUN 1 47 | #define DO_DECOMPRESS lzo1y_decompress_safe 48 | 49 | #include "lzo1x_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1y_d3.c: -------------------------------------------------------------------------------- 1 | /* lzo1y_d3.c -- LZO1Y decompression with preset dictionary 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1y.h" 45 | 46 | #define lzo1x_decompress_dict_safe lzo1y_decompress_dict_safe 47 | 48 | #include "lzo1x_d3.c" 49 | -------------------------------------------------------------------------------- /Compress/src/lzo1y_o.c: -------------------------------------------------------------------------------- 1 | /* lzo1y_o.c -- LZO1Y compressed data optimizer 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1y.h" 45 | 46 | #define DO_OPTIMIZE lzo1y_optimize 47 | 48 | #include "lzo1x_oo.ch" 49 | -------------------------------------------------------------------------------- /Compress/src/lzo1z_9x.c: -------------------------------------------------------------------------------- 1 | /* lzo1z_9x.c -- implementation of the LZO1Z-999 compression algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #define LZO1Z 1 45 | #include "lzo1x_9x.c" 46 | -------------------------------------------------------------------------------- /Compress/src/lzo1z_d1.c: -------------------------------------------------------------------------------- 1 | /* lzo1z_d1.c -- LZO1Z decompression 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1z.h" 45 | 46 | #undef LZO_TEST_OVERRUN 47 | #define DO_DECOMPRESS lzo1z_decompress 48 | 49 | #include "lzo1x_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1z_d2.c: -------------------------------------------------------------------------------- 1 | /* lzo1z_d2.c -- LZO1Z decompression with overrun testing 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1z.h" 45 | 46 | #define LZO_TEST_OVERRUN 1 47 | #define DO_DECOMPRESS lzo1z_decompress_safe 48 | 49 | #include "lzo1x_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo1z_d3.c: -------------------------------------------------------------------------------- 1 | /* lzo1z_d3.c -- LZO1Z decompression with preset dictionary 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config1z.h" 45 | 46 | #define lzo1x_decompress_dict_safe lzo1z_decompress_dict_safe 47 | 48 | #include "lzo1x_d3.c" 49 | -------------------------------------------------------------------------------- /Compress/src/lzo2a_d1.c: -------------------------------------------------------------------------------- 1 | /* lzo2a_d1.c -- LZO2A decompression with overrun testing 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config2a.h" 45 | 46 | #undef LZO_TEST_OVERRUN 47 | #define DO_DECOMPRESS lzo2a_decompress 48 | 49 | #include "lzo2a_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo2a_d2.c: -------------------------------------------------------------------------------- 1 | /* lzo2a_d2.c -- LZO2A decompression with overrun testing 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "config2a.h" 45 | 46 | #define LZO_TEST_OVERRUN 1 47 | #define DO_DECOMPRESS lzo2a_decompress_safe 48 | 49 | #include "lzo2a_d.ch" 50 | -------------------------------------------------------------------------------- /Compress/src/lzo_dll.ch: -------------------------------------------------------------------------------- 1 | /* lzo_dll.ch -- DLL initialization of the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /*********************************************************************** 45 | // Windows 16 bit + Watcom C + DLL 46 | ************************************************************************/ 47 | 48 | #if (LZO_OS_WIN16 && LZO_CC_WATCOMC) && defined(__SW_BD) 49 | 50 | /* don't pull in - we don't need it */ 51 | #if 0 52 | BOOL FAR PASCAL LibMain ( HANDLE hInstance, WORD wDataSegment, 53 | WORD wHeapSize, LPSTR lpszCmdLine ) 54 | #else 55 | int __far __pascal LibMain ( int a, short b, short c, long d ) 56 | #endif 57 | { 58 | LZO_UNUSED(a); LZO_UNUSED(b); LZO_UNUSED(c); LZO_UNUSED(d); 59 | return 1; 60 | } 61 | 62 | #endif 63 | 64 | 65 | /* 66 | vi:ts=4:et 67 | */ 68 | -------------------------------------------------------------------------------- /Compress/src/lzo_ptr.c: -------------------------------------------------------------------------------- 1 | /* lzo_ptr.c -- low-level pointer constructs 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "lzo_conf.h" 45 | 46 | 47 | /*********************************************************************** 48 | // 49 | ************************************************************************/ 50 | 51 | LZO_PUBLIC(lzo_uintptr_t) 52 | __lzo_ptr_linear(const lzo_voidp ptr) 53 | { 54 | lzo_uintptr_t p; 55 | 56 | #if (LZO_ARCH_I086) 57 | p = (((lzo_uintptr_t)(ACC_PTR_FP_SEG(ptr))) << (16 - ACC_MM_AHSHIFT)) + (ACC_PTR_FP_OFF(ptr)); 58 | #elif (LZO_MM_PVP) 59 | p = (lzo_uintptr_t) (ptr); 60 | p = (p << 3) | (p >> 61); 61 | #else 62 | p = (lzo_uintptr_t) PTR_LINEAR(ptr); 63 | #endif 64 | 65 | return p; 66 | } 67 | 68 | 69 | /*********************************************************************** 70 | // 71 | ************************************************************************/ 72 | 73 | LZO_PUBLIC(unsigned) 74 | __lzo_align_gap(const lzo_voidp ptr, lzo_uint size) 75 | { 76 | #if defined(__LZO_UINTPTR_T_IS_POINTER) 77 | size_t n = (size_t) ptr; 78 | n = (((n + size - 1) / size) * size) - n; 79 | #else 80 | lzo_uintptr_t p, n; 81 | p = __lzo_ptr_linear(ptr); 82 | n = (((p + size - 1) / size) * size) - p; 83 | #endif 84 | 85 | assert(size > 0); 86 | assert((long)n >= 0); 87 | assert(n <= size); 88 | return (unsigned)n; 89 | } 90 | 91 | 92 | 93 | /* 94 | vi:ts=4:et 95 | */ 96 | -------------------------------------------------------------------------------- /Compress/src/lzo_str.c: -------------------------------------------------------------------------------- 1 | /* lzo_str.c -- string functions for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | #include "lzo_conf.h" 45 | 46 | #undef lzo_memcmp 47 | #undef lzo_memcpy 48 | #undef lzo_memmove 49 | #undef lzo_memset 50 | 51 | 52 | /*********************************************************************** 53 | // slow but portable stuff, only used in assertions 54 | ************************************************************************/ 55 | 56 | #if !(__LZO_MMODEL_HUGE) 57 | # undef ACC_HAVE_MM_HUGE_PTR 58 | #endif 59 | #define acc_hsize_t lzo_uint 60 | #define acc_hvoid_p lzo_voidp 61 | #define acc_hbyte_p lzo_bytep 62 | #define ACCLIB_PUBLIC(r,f) LZO_PUBLIC(r) f 63 | #ifndef __ACCLIB_FUNCNAME 64 | #define __ACCLIB_FUNCNAME(f) f 65 | #endif 66 | #define acc_hmemcmp __ACCLIB_FUNCNAME(lzo_memcmp) 67 | #define acc_hmemcpy __ACCLIB_FUNCNAME(lzo_memcpy) 68 | #define acc_hmemmove __ACCLIB_FUNCNAME(lzo_memmove) 69 | #define acc_hmemset __ACCLIB_FUNCNAME(lzo_memset) 70 | #define ACC_WANT_ACCLIB_HMEMCPY 1 71 | #include "miniacc.h" 72 | #undef ACCLIB_PUBLIC 73 | 74 | 75 | /* 76 | vi:ts=4:et 77 | */ 78 | -------------------------------------------------------------------------------- /Compress/src/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | -------------------------------------------------------------------------------- /Compress/src/sources: -------------------------------------------------------------------------------- 1 | TARGETPATH = ..\lib 2 | TARGETNAME=Compress 3 | TARGETTYPE=LIBRARY 4 | DRIVERTYPE=FS 5 | INCLUDES=$(BASEDIR)\inc\ddk; 6 | TARGETLIBS= $(TARGETLIBS) \ 7 | $(DDK_LIB_PATH)\ntstrsafe.lib\ 8 | $(DDK_LIB_PATH)\Tdi.lib 9 | 10 | SOURCES=lzo1x_1o.c\ 11 | lzo1x_d1.c\ 12 | lzo1x_d2.c 13 | 14 | 15 | MSC_WARNING_LEVEL=/W2 /WX 16 | 17 | 18 | -------------------------------------------------------------------------------- /Compress/src/stats1a.h: -------------------------------------------------------------------------------- 1 | /* stats1a.h -- statistics for the the LZO1A algorithm 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the LZO package and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO_STATS1A_H 51 | #define __LZO_STATS1A_H 1 52 | 53 | #ifdef __cplusplus 54 | extern "C" { 55 | #endif 56 | 57 | 58 | 59 | /*********************************************************************** 60 | // collect statistical information when compressing 61 | // used for finetuning, view with a debugger 62 | ************************************************************************/ 63 | 64 | #if (LZO_COLLECT_STATS) 65 | # define LZO_STATS(expr) expr 66 | #else 67 | # define LZO_STATS(expr) ((void) 0) 68 | #endif 69 | 70 | 71 | /*********************************************************************** 72 | // 73 | ************************************************************************/ 74 | 75 | typedef struct { 76 | 77 | /* configuration */ 78 | unsigned rbits; 79 | unsigned clevel; 80 | 81 | /* internal configuration */ 82 | unsigned dbits; 83 | unsigned lbits; 84 | 85 | /* constants */ 86 | unsigned min_match_short; 87 | unsigned max_match_short; 88 | unsigned min_match_long; 89 | unsigned max_match_long; 90 | unsigned min_offset; 91 | unsigned max_offset; 92 | unsigned r0min; 93 | unsigned r0fast; 94 | unsigned r0max; 95 | 96 | /* counts */ 97 | long short_matches; 98 | long long_matches; 99 | long r1_matches; 100 | long lit_runs; 101 | long lit_runs_after_long_match; 102 | long r0short_runs; 103 | long r0fast_runs; 104 | long r0long_runs; 105 | 106 | /* */ 107 | long lit_run[RSIZE]; 108 | long lit_run_after_long_match[RSIZE]; 109 | long short_match[MAX_MATCH_SHORT + 1]; 110 | long long_match[MAX_MATCH_LONG + 1]; 111 | long marker[256]; 112 | 113 | /* these could prove useful for further optimizations */ 114 | long short_match_offset_osize[MAX_MATCH_SHORT + 1]; 115 | long short_match_offset_256[MAX_MATCH_SHORT + 1]; 116 | long short_match_offset_1024[MAX_MATCH_SHORT + 1]; 117 | long matches_out_of_range; 118 | long matches_out_of_range_2; 119 | long matches_out_of_range_4; 120 | long match_out_of_range[MAX_MATCH_SHORT + 1]; 121 | 122 | /* */ 123 | long in_len; 124 | long out_len; 125 | } 126 | lzo1a_stats_t; 127 | 128 | extern lzo1a_stats_t *lzo1a_stats; 129 | 130 | 131 | 132 | #ifdef __cplusplus 133 | } /* extern "C" */ 134 | #endif 135 | 136 | #endif /* already included */ 137 | 138 | /* 139 | vi:ts=4:et 140 | */ 141 | -------------------------------------------------------------------------------- /Compress/src/stats1b.h: -------------------------------------------------------------------------------- 1 | /* stats1b.h -- statistics for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO_STATS1B_H 51 | #define __LZO_STATS1B_H 1 52 | 53 | #ifdef __cplusplus 54 | extern "C" { 55 | #endif 56 | 57 | 58 | /*********************************************************************** 59 | // Collect statistical information when compressing. 60 | // Useful for finetuning the compression algorithm. 61 | // Examine the symbol 'lzo1b_stats' with a debugger. 62 | ************************************************************************/ 63 | 64 | #if (LZO_COLLECT_STATS) 65 | # define LZO_STATS(expr) expr 66 | #else 67 | # define LZO_STATS(expr) ((void) 0) 68 | #endif 69 | 70 | 71 | #if (LZO_COLLECT_STATS) 72 | 73 | typedef struct 74 | { 75 | /* algorithm configuration */ 76 | unsigned r_bits; 77 | unsigned m3o_bits; 78 | unsigned dd_bits; 79 | unsigned clevel; 80 | 81 | /* internal configuration */ 82 | unsigned d_bits; 83 | long min_lookahead; 84 | long max_lookbehind; 85 | const char *compress_id; 86 | 87 | /* counts */ 88 | long lit_runs; 89 | long r0short_runs; 90 | long r0fast_runs; 91 | long r0long_runs; 92 | long m1_matches; 93 | long m2_matches; 94 | long m3_matches; 95 | long m4_matches; 96 | long r1_matches; 97 | 98 | /* */ 99 | long lit_run[R0MIN]; 100 | long m2_match[M2_MAX_LEN + 1]; 101 | long m3_match[M3_MAX_LEN + 1]; 102 | #if (M3O_BITS < 8) 103 | long lit_runs_after_m3_match; 104 | long lit_run_after_m3_match[LZO_SIZE(8-M3O_BITS)]; 105 | #endif 106 | 107 | /* */ 108 | long matches; 109 | long match_bytes; 110 | long literals; 111 | long literal_overhead; 112 | long literal_bytes; 113 | double literal_overhead_percent; 114 | 115 | /* */ 116 | long unused_dict_entries; 117 | double unused_dict_entries_percent; 118 | 119 | /* */ 120 | long in_len; 121 | long out_len; 122 | } 123 | lzo1b_stats_t; 124 | 125 | 126 | void _lzo1b_stats_init(lzo1b_stats_t *lzo_stats); 127 | void _lzo1b_stats_calc(lzo1b_stats_t *lzo_stats); 128 | 129 | extern lzo1b_stats_t * const lzo1b_stats; 130 | 131 | #define lzo_stats_t lzo1b_stats_t 132 | #define lzo_stats lzo1b_stats 133 | 134 | #endif 135 | 136 | 137 | #ifdef __cplusplus 138 | } /* extern "C" */ 139 | #endif 140 | 141 | #endif /* already included */ 142 | 143 | /* 144 | vi:ts=4:et 145 | */ 146 | -------------------------------------------------------------------------------- /Compress/src/stats1c.h: -------------------------------------------------------------------------------- 1 | /* stats1c.h -- statistics for the the LZO library 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer 6 | Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer 7 | Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer 8 | Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 9 | Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 10 | Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 11 | Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 12 | Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 13 | Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 14 | Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 15 | Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 16 | Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 17 | Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 18 | Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 19 | Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 20 | Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 21 | All Rights Reserved. 22 | 23 | The LZO library is free software; you can redistribute it and/or 24 | modify it under the terms of the GNU General Public License as 25 | published by the Free Software Foundation; either version 2 of 26 | the License, or (at your option) any later version. 27 | 28 | The LZO library is distributed in the hope that it will be useful, 29 | but WITHOUT ANY WARRANTY; without even the implied warranty of 30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 | GNU General Public License for more details. 32 | 33 | You should have received a copy of the GNU General Public License 34 | along with the LZO library; see the file COPYING. 35 | If not, write to the Free Software Foundation, Inc., 36 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 37 | 38 | Markus F.X.J. Oberhumer 39 | 40 | http://www.oberhumer.com/opensource/lzo/ 41 | */ 42 | 43 | 44 | /* WARNING: this file should *not* be used by applications. It is 45 | part of the implementation of the library and is subject 46 | to change. 47 | */ 48 | 49 | 50 | #ifndef __LZO_STATS1C_H 51 | #define __LZO_STATS1C_H 1 52 | 53 | #define lzo1b_stats_t lzo1c_stats_t 54 | #define lzo1b_stats lzo1c_stats 55 | #define _lzo1b_stats_init _lzo1c_stats_init 56 | #define _lzo1b_stats_calc _lzo1c_stats_calc 57 | 58 | #include "stats1b.h" 59 | 60 | #endif /* already included */ 61 | 62 | /* 63 | vi:ts=4:et 64 | */ 65 | -------------------------------------------------------------------------------- /Compress/src/x64 build.bat: -------------------------------------------------------------------------------- 1 | C:\WINDOWS\system32\cmd.exe /k C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x64 WIN7 -------------------------------------------------------------------------------- /Compress/src/x86 Build.bat: -------------------------------------------------------------------------------- 1 | C:\WINDOWS\system32\cmd.exe /k C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x86 WXP -------------------------------------------------------------------------------- /Http.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/Http.doc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TDI-Demo 2 | 3 | TDI encrypt 4 | 5 | 在tdi层对http,smb协议传输的文件进行加解密。 6 | 7 | 8 | root_fwc/smb.c 处理smb协议加解密 9 | root_fw_c/smb.h smb相关数据结构 10 | 11 | root_fw_c/http.c 12 | root_fw_c/http.h 13 | -------------------------------------------------------------------------------- /SMB_encrypt.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/SMB_encrypt.doc -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/readme.txt -------------------------------------------------------------------------------- /root_fw_c/AppProtocol.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/AppProtocol.c -------------------------------------------------------------------------------- /root_fw_c/AppProtocol.h: -------------------------------------------------------------------------------- 1 | #ifndef _APP_PROTOCOL_H 2 | #define _APP_PROTOCOL_H 3 | #include 4 | #include 5 | #include 6 | #include "stdafx.h" 7 | 8 | typedef unsigned int UINT, *PUINT; 9 | 10 | 11 | UINT AppProtocolAnalyze( 12 | BOOLEAN SendData, 13 | PUCHAR buffer, 14 | PULONG length, 15 | PFILE_OBJECT AddressFileObject, 16 | PFILE_OBJECT ConnectFileObject 17 | ); 18 | 19 | VOID AppClearReceiveBuffer(PFILE_OBJECT AddressFileObject); 20 | 21 | #endif -------------------------------------------------------------------------------- /root_fw_c/ConnectEventHandler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/ConnectEventHandler.c -------------------------------------------------------------------------------- /root_fw_c/FsCompress.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/FsCompress.c -------------------------------------------------------------------------------- /root_fw_c/FsCompress.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../Compress/include/lzo/lzoconf.h" 3 | #include "../Compress/include/lzo/lzo1x.h" 4 | 5 | #define Tagi 'x00x' 6 | 7 | typedef unsigned char BYTE; 8 | typedef unsigned long DWORD; 9 | typedef unsigned short WORD; 10 | typedef int BOOL; 11 | 12 | typedef BYTE _BYTE; 13 | typedef DWORD _DWORD; 14 | typedef WORD _WORD; 15 | 16 | int FsDataCompress62(BYTE* pucData, 17 | DWORD dwLength, 18 | BYTE* pucCompress, 19 | DWORD* pdwCompressLength); 20 | 21 | int FsDataDecompress62(BYTE* pucCompress, 22 | DWORD dwCompressLength, 23 | BYTE* pucData, 24 | DWORD* pdwLength); 25 | 26 | signed int FsDataDecompress6364(BYTE* pucCompress, DWORD dwCompressLength, BYTE* pucData, DWORD* pdwLength); 27 | int FsDataCompress6364(BYTE* pucData, DWORD dwDataLength, BYTE* pucCompress, DWORD* pdwCompressLength); 28 | 29 | int FsDataCompressDo62(BYTE* pucData, 30 | DWORD dwLength, 31 | BYTE* pucCompress, 32 | DWORD* pdwCompressLength, 33 | BYTE* pucBuffer); 34 | 35 | BYTE* AnalyseFileType6364(BYTE* pucData, DWORD dwLength, int nMaxLength, DWORD* pdwCount); -------------------------------------------------------------------------------- /root_fw_c/FsCrypt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/FsCrypt.c -------------------------------------------------------------------------------- /root_fw_c/FsCrypt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/FsCrypt.h -------------------------------------------------------------------------------- /root_fw_c/FsCryptAlg.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define FS_PWD_SIZE 16 4 | ULONG 5 | FsKeyProcess(UCHAR* KeyOut, UCHAR* KeyIn, ULONG KeyLength); 6 | 7 | ULONG 8 | FsDataProcess(UCHAR* Key, UCHAR* Data, ULONG DataLength); 9 | 10 | ULONG 11 | FsEnDecryptData(UCHAR* Data, ULONG DataLength, UCHAR* Key, UCHAR* Buffer); -------------------------------------------------------------------------------- /root_fw_c/Http.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/Http.c -------------------------------------------------------------------------------- /root_fw_c/Http.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/Http.h -------------------------------------------------------------------------------- /root_fw_c/IPv4ProtocolSet.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/IPv4ProtocolSet.c -------------------------------------------------------------------------------- /root_fw_c/IPv4ProtocolSet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/IPv4ProtocolSet.h -------------------------------------------------------------------------------- /root_fw_c/NetBIOS.c: -------------------------------------------------------------------------------- 1 | #include "NetBIOS.h" 2 | #include "smb.h" 3 | 4 | UINT netbios_send_ndis_packet(PAPP_FICTION_PROCESS pProcess) 5 | { 6 | UINT status = 0; 7 | 8 | if (pProcess->sendBuffer.MaximumLength - 4 >4) 9 | { 10 | pProcess->sendBuffer.Offset += 4; 11 | pProcess->sendBuffer.length -= 4; 12 | status = smb_send_ndis_packet(pProcess); 13 | pProcess->sendBuffer.Offset -= 4; 14 | pProcess->sendBuffer.length +=4; 15 | } 16 | 17 | return status; 18 | } 19 | UINT netbios_receive_ndis_packet(PAPP_FICTION_PROCESS pProcess) 20 | { 21 | UINT status = 0; 22 | 23 | if (pProcess->receiveBuffer.MaximumLength - 4 >4) 24 | { 25 | pProcess->receiveBuffer.Offset += 4; 26 | pProcess->receiveBuffer.length -= 4; 27 | status = smb_receive_ndis_packet(pProcess); 28 | pProcess->receiveBuffer.Offset -= 4; 29 | pProcess->receiveBuffer.length +=4; 30 | } 31 | return status; 32 | } 33 | 34 | VOID netbios_clear_receive_buffer(PAPP_FICTION_PROCESS pProcess) 35 | { 36 | smbClearReceiveBuffer(pProcess); 37 | } -------------------------------------------------------------------------------- /root_fw_c/NetBIOS.h: -------------------------------------------------------------------------------- 1 | #ifndef __PACKET_NETBIOS_H__ 2 | #define __PACKET_NETBIOS_H__ 3 | #include 4 | #include "stdafx.h" 5 | 6 | typedef struct _NET_BIOS 7 | { 8 | //UCHAR MgsType; //1 9 | //ULONG length; //3 10 | ULONG NetBios; 11 | }NET_BIOS, *PNET_BIOS;//sizeof(NET_BIOS)==4 12 | 13 | UINT netbios_send_ndis_packet(PAPP_FICTION_PROCESS pProcess); 14 | UINT netbios_receive_ndis_packet(PAPP_FICTION_PROCESS pProcess); 15 | 16 | VOID netbios_clear_receive_buffer(PAPP_FICTION_PROCESS pProcess); 17 | 18 | #endif -------------------------------------------------------------------------------- /root_fw_c/ObjListManager.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/ObjListManager.c -------------------------------------------------------------------------------- /root_fw_c/ObjListManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/ObjListManager.h -------------------------------------------------------------------------------- /root_fw_c/ReceiveDatagramEventHandler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/ReceiveDatagramEventHandler.c -------------------------------------------------------------------------------- /root_fw_c/ReceiveEventHandler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/ReceiveEventHandler.c -------------------------------------------------------------------------------- /root_fw_c/Sock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/Sock.c -------------------------------------------------------------------------------- /root_fw_c/Sock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/Sock.h -------------------------------------------------------------------------------- /root_fw_c/TdiAssociateAddress.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiAssociateAddress.c -------------------------------------------------------------------------------- /root_fw_c/TdiBase.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiBase.c -------------------------------------------------------------------------------- /root_fw_c/TdiBase.h: -------------------------------------------------------------------------------- 1 | #ifndef _TDI_BASE_H 2 | #define _TDI_BASE_H 3 | 4 | #include 5 | #include 6 | 7 | BOOLEAN 8 | TdiGetIpAddressAndPort( 9 | IN PTRANSPORT_ADDRESS TransportAddress, 10 | OUT PULONG IpAddress, 11 | OUT PUSHORT IpPort 12 | ); 13 | 14 | BOOLEAN 15 | TdiGetIpAddressAndPortByTAAddress( 16 | IN PTA_ADDRESS TaAddress, 17 | OUT PULONG IpAddress, 18 | OUT PUSHORT IpPort 19 | ); 20 | #endif 21 | 22 | -------------------------------------------------------------------------------- /root_fw_c/TdiClose.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiClose.c -------------------------------------------------------------------------------- /root_fw_c/TdiConnect.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiConnect.c -------------------------------------------------------------------------------- /root_fw_c/TdiCreate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiCreate.c -------------------------------------------------------------------------------- /root_fw_c/TdiFltDisp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiFltDisp.c -------------------------------------------------------------------------------- /root_fw_c/TdiFltDisp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiFltDisp.h -------------------------------------------------------------------------------- /root_fw_c/TdiSend.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiSend.c -------------------------------------------------------------------------------- /root_fw_c/TdiSetEventHandler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiSetEventHandler.c -------------------------------------------------------------------------------- /root_fw_c/TdiSetEventHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/TdiSetEventHandler.h -------------------------------------------------------------------------------- /root_fw_c/VisualDDKHelpers.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /*! \file 4 | \brief Contains definitions making handles and NTSTATUS variables recognizable by debugger 5 | This file contains definitions for special helper structures and enums, so NTSTATUS and HANDLE 6 | variables will not appear in debugger as "unsigned long" and "void *". 7 | 8 | Once the variable type is recognized correctly, VisualDDK can display additional information 9 | about this types, such as translated NTSTATUS code and object referenced by handle. 10 | */ 11 | 12 | #ifdef _DEBUG 13 | 14 | #include 15 | #include 16 | 17 | typedef enum NTSTATUS_VisualDDK_Helper {} NTSTATUS_VisualDDK_Helper_t; 18 | C_ASSERT(sizeof(NTSTATUS_VisualDDK_Helper_t) == sizeof(NTSTATUS)); 19 | 20 | #define NTSTATUS NTSTATUS_VisualDDK_Helper_t 21 | 22 | typedef struct HANDLE_VisualDDK_Helper *HANDLE_VisualDDK_Helper_t, **PHANDLE_VisualDDK_Helper_t; 23 | C_ASSERT(sizeof(HANDLE_VisualDDK_Helper_t) == sizeof(HANDLE)); 24 | C_ASSERT(sizeof(PHANDLE_VisualDDK_Helper_t) == sizeof(PHANDLE)); 25 | 26 | #define HANDLE HANDLE_VisualDDK_Helper_t 27 | #define PHANDLE PHANDLE_VisualDDK_Helper_t 28 | 29 | #endif -------------------------------------------------------------------------------- /root_fw_c/build x86.cmd: -------------------------------------------------------------------------------- 1 | cmd /k "C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x86 WXP & CD /D %~dp0" -------------------------------------------------------------------------------- /root_fw_c/buildchk_wxp_x86.err: -------------------------------------------------------------------------------- 1 | 1>errors in directory g:\kuaipan2\tdi\root_fw_c 2 | 1>g:\kuaipan2\tdi\root_fw_c\smb.c(3) : error C1083: Cannot open include file: 'FsCrypt.h': No such file or directory 3 | 1>link : error LNK1181: cannot open input file 'g:\kuaipan2\tdi\root_fw_c\objchk_wxp_x86\i386\smb.obj' 4 | -------------------------------------------------------------------------------- /root_fw_c/changelog.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/changelog.txt -------------------------------------------------------------------------------- /root_fw_c/fw_ioctl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/fw_ioctl.h -------------------------------------------------------------------------------- /root_fw_c/hash_fid.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/hash_fid.c -------------------------------------------------------------------------------- /root_fw_c/hash_fid.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/hash_fid.h -------------------------------------------------------------------------------- /root_fw_c/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | -------------------------------------------------------------------------------- /root_fw_c/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/readme.txt -------------------------------------------------------------------------------- /root_fw_c/root_fw.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/root_fw.c -------------------------------------------------------------------------------- /root_fw_c/root_fw.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/root_fw.h -------------------------------------------------------------------------------- /root_fw_c/smb.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/smb.c -------------------------------------------------------------------------------- /root_fw_c/smb.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/smb.h -------------------------------------------------------------------------------- /root_fw_c/sources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/sources -------------------------------------------------------------------------------- /root_fw_c/stdafx.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/stdafx.c -------------------------------------------------------------------------------- /root_fw_c/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/stdafx.h -------------------------------------------------------------------------------- /root_fw_c/structs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uniking/TDI-Demo/a7178781e0631e8a916e5c89295fb77397ed0d7c/root_fw_c/structs.h --------------------------------------------------------------------------------