Home | History | Annotate | Download | only in squashfs-tools
      1 #ifndef XZ_WRAPPER_H
      2 #define XZ_WRAPPER_H
      3 /*
      4  * Squashfs
      5  *
      6  * Copyright (c) 2010
      7  * Phillip Lougher <phillip (at) squashfs.org.uk>
      8  *
      9  * This program is free software; you can redistribute it and/or
     10  * modify it under the terms of the GNU General Public License
     11  * as published by the Free Software Foundation; either version 2,
     12  * or (at your option) any later version.
     13  *
     14  * This program is distributed in the hope that it will be useful,
     15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17  * GNU General Public License for more details.
     18  *
     19  * You should have received a copy of the GNU General Public License
     20  * along with this program; if not, write to the Free Software
     21  * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     22  *
     23  * xz_wrapper.h
     24  *
     25  */
     26 
     27 #ifndef linux
     28 #define __BYTE_ORDER BYTE_ORDER
     29 #define __BIG_ENDIAN BIG_ENDIAN
     30 #define __LITTLE_ENDIAN LITTLE_ENDIAN
     31 #else
     32 #include <endian.h>
     33 #endif
     34 
     35 #if __BYTE_ORDER == __BIG_ENDIAN
     36 extern unsigned int inswap_le32(unsigned int);
     37 
     38 #define SQUASHFS_INSWAP_COMP_OPTS(s) { \
     39 	(s)->dictionary_size = inswap_le32((s)->dictionary_size); \
     40 	(s)->flags = inswap_le32((s)->flags); \
     41 }
     42 #else
     43 #define SQUASHFS_INSWAP_COMP_OPTS(s)
     44 #endif
     45 
     46 #define MEMLIMIT (32 * 1024 * 1024)
     47 
     48 struct bcj {
     49 	char	 	*name;
     50 	lzma_vli	id;
     51 	int		selected;
     52 };
     53 
     54 struct filter {
     55 	void		*buffer;
     56 	lzma_filter	filter[3];
     57 	size_t		length;
     58 };
     59 
     60 struct xz_stream {
     61 	struct filter	*filter;
     62 	int		filters;
     63 	int		dictionary_size;
     64 	lzma_options_lzma opt;
     65 };
     66 
     67 struct comp_opts {
     68 	int dictionary_size;
     69 	int flags;
     70 };
     71 #endif
     72