Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(292)

Unified Diff: sdch/open_vcdiff/depot/opensource/open-vcdiff/src/vcdiff_defs.h

Issue 5203: Transition to pulling open-vcdiff from repository, instead of using snapshot... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sdch/open_vcdiff/depot/opensource/open-vcdiff/src/vcdiff_defs.h
===================================================================
--- sdch/open_vcdiff/depot/opensource/open-vcdiff/src/vcdiff_defs.h (revision 2678)
+++ sdch/open_vcdiff/depot/opensource/open-vcdiff/src/vcdiff_defs.h (working copy)
@@ -1,196 +0,0 @@
-// Copyright 2008 Google Inc.
-// Author: Lincoln Smith
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Types and value definitions to support the implementation of RFC 3284 -
-// The VCDIFF Generic Differencing and Compression Data Format.
-// The RFC text can be found at http://www.faqs.org/rfcs/rfc3284.html
-// Many of the definitions below reference sections in that text.
-
-#ifndef OPEN_VCDIFF_VCDIFF_DEFS_H_
-#define OPEN_VCDIFF_VCDIFF_DEFS_H_
-
-#include <config.h>
-#include <stdint.h> // int32_t
-#include <climits> // UCHAR_MAX
-
-namespace open_vcdiff {
-
-enum VCDiffResult {
- RESULT_SUCCESS = 0,
- // Many functions within open-vcdiff return signed integer types,
- // and can also return either of these special negative values:
- //
- // An error occurred while performing the requested operation.
- RESULT_ERROR = -1,
- // The end of available data was reached
- // before the requested operation could be completed.
- RESULT_END_OF_DATA = -2
-};
-
-// The delta file header section as described in section 4.1 of the RFC:
-//
-// "Each delta file starts with a header section organized as below.
-// Note the convention that square-brackets enclose optional items.
-//
-// Header1 - byte = 0xD6
-// Header2 - byte = 0xC3
-// Header3 - byte = 0xC4
-// Header4 - byte
-// Hdr_Indicator - byte
-// [Secondary compressor ID] - byte
-// [Length of code table data] - integer
-// [Code table data]
-//
-// The first three Header bytes are the ASCII characters 'V', 'C' and
-// 'D' with their most significant bits turned on (in hexadecimal, the
-// values are 0xD6, 0xC3, and 0xC4). The fourth Header byte is
-// currently set to zero. In the future, it might be used to indicate
-// the version of Vcdiff."
-//
-typedef struct DeltaFileHeader {
- unsigned char header1; // Always 0xD6 ('V' | 0x80)
- unsigned char header2; // Always 0xC3 ('C' | 0x80)
- unsigned char header3; // Always 0xC4 ('D' | 0x80)
- unsigned char header4; // 0x00 for standard format, 'S' if extensions used
- unsigned char hdr_indicator;
-} DeltaFileHeader;
-
-// The possible values for the Hdr_Indicator field, as described
-// in section 4.1 of the RFC:
-//
-// "The Hdr_Indicator byte shows if there is any initialization data
-// required to aid in the reconstruction of data in the Window sections.
-// This byte MAY have non-zero values for either, both, or neither of
-// the two bits VCD_DECOMPRESS and VCD_CODETABLE below:
-//
-// 7 6 5 4 3 2 1 0
-// +-+-+-+-+-+-+-+-+
-// | | | | | | | | |
-// +-+-+-+-+-+-+-+-+
-// ^ ^
-// | |
-// | +-- VCD_DECOMPRESS
-// +---- VCD_CODETABLE
-//
-// If bit 0 (VCD_DECOMPRESS) is non-zero, this indicates that a
-// secondary compressor may have been used to further compress certain
-// parts of the delta encoding data [...]"
-// [Secondary compressors are not supported by open-vcdiff.]
-//
-// "If bit 1 (VCD_CODETABLE) is non-zero, this indicates that an
-// application-defined code table is to be used for decoding the delta
-// instructions. [...]"
-//
-const unsigned char VCD_DECOMPRESS = 0x01;
-const unsigned char VCD_CODETABLE = 0x02;
-
-// The possible values for the Win_Indicator field, as described
-// in section 4.2 of the RFC:
-//
-// "Win_Indicator:
-//
-// This byte is a set of bits, as shown:
-//
-// 7 6 5 4 3 2 1 0
-// +-+-+-+-+-+-+-+-+
-// | | | | | | | | |
-// +-+-+-+-+-+-+-+-+
-// ^ ^
-// | |
-// | +-- VCD_SOURCE
-// +---- VCD_TARGET
-//
-// If bit 0 (VCD_SOURCE) is non-zero, this indicates that a
-// segment of data from the "source" file was used as the
-// corresponding source window of data to encode the target
-// window. The decoder will use this same source data segment to
-// decode the target window.
-//
-// If bit 1 (VCD_TARGET) is non-zero, this indicates that a
-// segment of data from the "target" file was used as the
-// corresponding source window of data to encode the target
-// window. As above, this same source data segment is used to
-// decode the target window.
-//
-// The Win_Indicator byte MUST NOT have more than one of the bits
-// set (non-zero). It MAY have none of these bits set."
-//
-const unsigned char VCD_SOURCE = 0x01;
-const unsigned char VCD_TARGET = 0x02;
-// If this flag is set, the delta window includes an Adler32 checksum
-// of the target window data. Not part of the RFC draft standard.
-const unsigned char VCD_CHECKSUM = 0x04;
-
-// The possible values for the Delta_Indicator field, as described
-// in section 4.3 of the RFC:
-//
-// "Delta_Indicator:
-// This byte is a set of bits, as shown:
-//
-// 7 6 5 4 3 2 1 0
-// +-+-+-+-+-+-+-+-+
-// | | | | | | | | |
-// +-+-+-+-+-+-+-+-+
-// ^ ^ ^
-// | | |
-// | | +-- VCD_DATACOMP
-// | +---- VCD_INSTCOMP
-// +------ VCD_ADDRCOMP
-//
-// VCD_DATACOMP: bit value 1.
-// VCD_INSTCOMP: bit value 2.
-// VCD_ADDRCOMP: bit value 4.
-//
-// [...] If the bit VCD_DECOMPRESS (Section 4.1) was on, each of these
-// sections may have been compressed using the specified secondary
-// compressor. The bit positions 0 (VCD_DATACOMP), 1
-// (VCD_INSTCOMP), and 2 (VCD_ADDRCOMP) respectively indicate, if
-// non-zero, that the corresponding parts are compressed."
-// [Secondary compressors are not supported, so open-vcdiff decoding will fail
-// if these bits are not all zero.]
-//
-const unsigned char VCD_DATACOMP = 0x01;
-const unsigned char VCD_INSTCOMP = 0x02;
-const unsigned char VCD_ADDRCOMP = 0x04;
-
-// A COPY address has 32 bits, which places a limit
-// of 2GB on the maximum combined size of the dictionary plus
-// the target window (= the chunk of data to be encoded.)
-typedef int32_t VCDAddress;
-
-// The address modes used for COPY instructions, as defined in
-// section 5.3 of the RFC.
-//
-// The first two modes (0 and 1) are defined as SELF (addressing forward
-// from the beginning of the source window) and HERE (addressing backward
-// from the current position in the source window + previously decoded
-// target data.)
-//
-// After those first two modes, there are a variable number of NEAR modes
-// (which take a recently-used address and add a positive offset to it)
-// and SAME modes (which match a previously-used address using a "hash" of
-// the lowest bits of the address.) The number of NEAR and SAME modes
-// depends on the defined size of the address cache; since this number is
-// variable, these modes cannot be specified as enum values.
-enum VCDiffModes {
- VCD_SELF_MODE = 0,
- VCD_HERE_MODE = 1,
- VCD_FIRST_NEAR_MODE = 2,
- VCD_MAX_MODES = UCHAR_MAX + 1 // 256
-};
-
-} // namespace open_vcdiff
-
-#endif // OPEN_VCDIFF_VCDIFF_DEFS_H_

Powered by Google App Engine
This is Rietveld 408576698