1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
#import "CSStreamHandle.h"
#include <bzlib.h>
#define CSBzip2Handle XADBzip2Handle
extern NSString *CSBzip2Exception;
@interface CSBzip2Handle:CSStreamHandle
{
CSHandle *parent;
off_t startoffs;
bz_stream bzs;
BOOL inited,checksumcorrect;
uint8_t inbuffer[16*1024];
}
+(CSBzip2Handle *)bzip2HandleWithHandle:(CSHandle *)handle;
+(CSBzip2Handle *)bzip2HandleWithHandle:(CSHandle *)handle length:(off_t)length;
// Initializers.
-(id)initWithHandle:(CSHandle *)handle length:(off_t)length name:(NSString *)descname;
-(void)dealloc;
// Implemented by this class.
-(void)resetStream;
-(int)streamAtMost:(int)num toBuffer:(void *)buffer;
// Checksum functions for XADMaster.
-(BOOL)hasChecksum;
-(BOOL)isChecksumCorrect;
// Internal methods.
-(void)_raiseBzip2:(int)error;
@end
|