29 #ifndef __UPX_P_UNIX_H 30 #define __UPX_P_UNIX_H 1 44 virtual int getVersion()
const {
return 13; }
45 virtual const int *getFilters()
const {
return NULL; }
46 virtual int getStrategy(
Filter &);
51 virtual bool canPack();
52 virtual int canUnpack();
61 virtual void patchLoader() = 0;
62 virtual void patchLoaderChecksum();
67 virtual bool checkCompressionRatio(
unsigned,
unsigned)
const;
74 virtual void packExtent(
const Extent &x,
76 unsigned hdr_len = 0);
77 virtual void unpackExtent(
unsigned wanted,
OutputFile *fo,
78 unsigned &total_in,
unsigned &total_out,
79 unsigned &c_adler,
unsigned &u_adler,
80 bool first_PF_X,
unsigned szb_info );
85 unsigned overlay_offset;
95 __packed_struct(b_info)
98 unsigned char b_method;
100 unsigned char b_cto8;
101 unsigned char b_unused;
102 __packed_struct_end()
104 __packed_struct(l_info)
108 unsigned char l_version;
109 unsigned char l_format;
110 __packed_struct_end()
112 __packed_struct(p_info)
115 unsigned p_blocksize;
116 __packed_struct_end()
121 enum { OVERHEAD = 2048 };
136 __packed_struct(b_info)
139 unsigned char b_method;
140 unsigned char b_ftid;
141 unsigned char b_cto8;
142 unsigned char b_unused;
143 __packed_struct_end()
145 __packed_struct(l_info)
149 unsigned char l_version;
150 unsigned char l_format;
151 __packed_struct_end()
153 __packed_struct(p_info)
157 __packed_struct_end()
168 __packed_struct(b_info)
171 unsigned char b_method;
172 unsigned char b_ftid;
173 unsigned char b_cto8;
174 unsigned char b_unused;
175 __packed_struct_end()
177 __packed_struct(l_info)
181 unsigned char l_version;
182 unsigned char l_format;
183 __packed_struct_end()
185 __packed_struct(p_info)
189 __packed_struct_end()
202 PackSolarisSparc(
InputFile *f) : super(f) { }
203 virtual int getFormat()
const {
return UPX_F_SOLARIS_SPARC; }
204 virtual const char *getName()
const {
return "solaris/sparc"; }
206 virtual bool canPack();
209 virtual upx_byte *getLoader()
const;
210 virtual int getLoaderSize()
const;
212 virtual void patchLoader();