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 38 39 40 41 42 43 44 45
|
#import "XADArchiveParser.h"
#import "CSBlockStreamHandle.h"
#import <openssl/des.h>
@interface XADPackItParser:XADArchiveParser
{
NSMutableDictionary *currdesc;
CSHandle *currhandle;
}
+(int)requiredHeaderSize;
+(BOOL)recognizeFileWithHandle:(CSHandle *)handle firstBytes:(NSData *)data name:(NSString *)name;
-(void)parse;
-(CSHandle *)handleForEntryWithDictionary:(NSDictionary *)dict wantChecksum:(BOOL)checksum;
-(CSHandle *)handleForSolidStreamWithObject:(id)obj wantChecksum:(BOOL)checksum;
-(NSString *)formatName;
@end
@interface XADPackItXORHandle:CSBlockStreamHandle
{
uint8_t key[8],block[8];
}
-(id)initWithHandle:(CSHandle *)handle password:(NSData *)passdata;
-(id)initWithHandle:(CSHandle *)handle length:(off_t)length password:(NSData *)passdata;
-(int)produceBlockAtOffset:(off_t)pos;
@end
@interface XADPackItDESHandle:CSBlockStreamHandle
{
DES_cblock inblock,outblock;
DES_key_schedule schedule;
}
-(id)initWithHandle:(CSHandle *)handle password:(NSData *)passdata;
-(id)initWithHandle:(CSHandle *)handle length:(off_t)length password:(NSData *)passdata;
-(int)produceBlockAtOffset:(off_t)pos;
@end
|