summaryrefslogtreecommitdiff
path: root/src/com/github/junrar/rarfile/BaseBlock.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/github/junrar/rarfile/BaseBlock.java')
-rw-r--r--src/com/github/junrar/rarfile/BaseBlock.java179
1 files changed, 0 insertions, 179 deletions
diff --git a/src/com/github/junrar/rarfile/BaseBlock.java b/src/com/github/junrar/rarfile/BaseBlock.java
deleted file mode 100644
index 68c2d94..0000000
--- a/src/com/github/junrar/rarfile/BaseBlock.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (c) 2007 innoSysTec (R) GmbH, Germany. All rights reserved.
- * Original author: Edmund Wagner
- * Creation date: 22.05.2007
- *
- * Source: $HeadURL$
- * Last changed: $LastChangedDate$
- *
- *
- * the unrar licence applies to all junrar source and binary distributions
- * you are not allowed to use this source to re-create the RAR compression algorithm
- *
- * Here some html entities which can be used for escaping javadoc tags:
- * "&": "&" or "&"
- * "<": "&#060;" or "&lt;"
- * ">": "&#062;" or "&gt;"
- * "@": "&#064;"
- */
-package com.github.junrar.rarfile;
-
-import com.github.junrar.io.Raw;
-
-
-
-/**
- * Base class of all rar headers
- *
- * @author $LastChangedBy$
- * @version $LastChangedRevision$
- */
-public class BaseBlock{
-
- //Log //logger = LogFactory.getLog(BaseBlock.class.getName());
-
- public static final short BaseBlockSize = 7;
-
- //TODO move somewhere else
-
- public static final short MHD_VOLUME = 0x0001;
- public static final short MHD_COMMENT = 0x0002;
- public static final short MHD_LOCK = 0x0004;
- public static final short MHD_SOLID = 0x0008;
- public static final short MHD_PACK_COMMENT = 0x0010;
- public static final short MHD_NEWNUMBERING = 0x0010;
- public static final short MHD_AV = 0x0020;
- public static final short MHD_PROTECT = 0x0040;
- public static final short MHD_PASSWORD = 0x0080;
- public static final short MHD_FIRSTVOLUME = 0x0100;
- public static final short MHD_ENCRYPTVER = 0x0200;
-
-
- public static final short LHD_SPLIT_BEFORE = 0x0001;
- public static final short LHD_SPLIT_AFTER = 0x0002;
- public static final short LHD_PASSWORD = 0x0004;
- public static final short LHD_COMMENT = 0x0008;
- public static final short LHD_SOLID = 0x0010;
-
- public static final short LHD_WINDOWMASK = 0x00e0;
- public static final short LHD_WINDOW64 = 0x0000;
- public static final short LHD_WINDOW128 = 0x0020;
- public static final short LHD_WINDOW256 = 0x0040;
- public static final short LHD_WINDOW512 = 0x0060;
- public static final short LHD_WINDOW1024 = 0x0080;
- public static final short LHD_WINDOW2048 = 0x00a0;
- public static final short LHD_WINDOW4096 = 0x00c0;
- public static final short LHD_DIRECTORY = 0x00e0;
-
- public static final short LHD_LARGE = 0x0100;
- public static final short LHD_UNICODE = 0x0200;
- public static final short LHD_SALT = 0x0400;
- public static final short LHD_VERSION = 0x0800;
- public static final short LHD_EXTTIME = 0x1000;
- public static final short LHD_EXTFLAGS = 0x2000;
-
- public static final short SKIP_IF_UNKNOWN = 0x4000;
- public static final short LONG_BLOCK = -0x8000;
-
- public static final short EARC_NEXT_VOLUME = 0x0001;
- public static final short EARC_DATACRC = 0x0002;
- public static final short EARC_REVSPACE = 0x0004;
- public static final short EARC_VOLNUMBER = 0x0008;
-
-
- protected long positionInFile;
-
- protected short headCRC = 0;
- protected byte headerType = 0;
- protected short flags = 0;
- protected short headerSize = 0 ;
-
- /**
- *
- */
- public BaseBlock(){
-
- }
-
- public BaseBlock(BaseBlock bb){
- this.flags = bb.getFlags();
- this.headCRC = bb.getHeadCRC();
- this.headerType = bb.getHeaderType().getHeaderByte();
- this.headerSize = bb.getHeaderSize();
- this.positionInFile = bb.getPositionInFile();
- }
- public BaseBlock(byte[] baseBlockHeader){
-
- int pos = 0;
- this.headCRC = Raw.readShortLittleEndian(baseBlockHeader, pos);
- pos+=2;
- this.headerType |= baseBlockHeader[pos]&0xff;
- pos++;
- this.flags = Raw.readShortLittleEndian(baseBlockHeader, pos);
- pos+=2;
- this.headerSize = Raw.readShortLittleEndian(baseBlockHeader, pos);
- }
-
-
- public boolean hasArchiveDataCRC(){
- return (this.flags & EARC_DATACRC)!=0;
- }
-
- public boolean hasVolumeNumber(){
- return (this.flags & EARC_VOLNUMBER)!=0;
- }
-
- public boolean hasEncryptVersion(){
- return (flags & MHD_ENCRYPTVER)!=0;
- }
-
- /**
- * @return is it a sub block
- */
- public boolean isSubBlock()
- {
- if (UnrarHeadertype.SubHeader.equals(headerType)){
- return(true);
- }
- if (UnrarHeadertype.NewSubHeader.equals(headerType) && (flags & LHD_SOLID)!=0)
- {
- return(true);
- }
- return(false);
-
- }
-
- public long getPositionInFile() {
- return positionInFile;
- }
-
- public short getFlags() {
- return flags;
- }
-
- public short getHeadCRC() {
- return headCRC;
- }
-
- public short getHeaderSize() {
- return headerSize;
- }
-
- public UnrarHeadertype getHeaderType() {
- return UnrarHeadertype.findType(headerType);
- }
-
- public void setPositionInFile(long positionInFile) {
- this.positionInFile = positionInFile;
- }
-
- public void print(){
- StringBuilder str =new StringBuilder();
- str.append("HeaderType: " + getHeaderType());
- str.append("\nHeadCRC: "+Integer.toHexString(getHeadCRC()));
- str.append("\nFlags: "+Integer.toHexString(getFlags()));
- str.append("\nHeaderSize: "+getHeaderSize());
- str.append("\nPosition in file: "+getPositionInFile());
- //logger.info(str.toString());
- }
-}