OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Update file format: A delta update file contains all the deltas needed | 5 // Update file format: A delta update file contains all the deltas needed |
6 // to update a system from one specific version to another specific | 6 // to update a system from one specific version to another specific |
7 // version. The update format is represented by this struct pseudocode: | 7 // version. The update format is represented by this struct pseudocode: |
8 // struct delta_update_file { | 8 // struct delta_update_file { |
9 // char magic[4] = "CrAU"; | 9 // char magic[4] = "CrAU"; |
10 // uint64 bom_offset; // Offset of protobuf DeltaArchiveManifest | 10 // uint64 bom_offset; // Offset of protobuf DeltaArchiveManifest |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 | 95 |
96 // File Data, not for directories | 96 // File Data, not for directories |
97 enum DataFormat { | 97 enum DataFormat { |
98 FULL = 0; // The data is the complete file | 98 FULL = 0; // The data is the complete file |
99 FULL_GZ = 1; // The data is the complete file gzipped | 99 FULL_GZ = 1; // The data is the complete file gzipped |
100 BSDIFF = 2; // The data is a bsdiff binary diff | 100 BSDIFF = 2; // The data is a bsdiff binary diff |
101 COURGETTE = 3; // The data is a courgette binary diff | 101 COURGETTE = 3; // The data is a courgette binary diff |
102 } | 102 } |
103 // If present, there is data associated with this File object and | 103 // If present, there is data associated with this File object and |
104 // data_offset and data_size must be set. | 104 // data_offset and data_size must be set. |
| 105 // If a file object doesn't have this set, it means the data is |
| 106 // unchanged from the old version of the file. |
105 optional DataFormat data_format = 4; | 107 optional DataFormat data_format = 4; |
106 // The offset into the delta file where the data (if any) is stored | 108 // The offset into the delta file where the data (if any) is stored |
107 optional uint32 data_offset = 5; | 109 optional uint32 data_offset = 5; |
108 // The length of the data in the delta file | 110 // The length of the data in the delta file |
109 optional uint32 data_length = 6; | 111 optional uint32 data_length = 6; |
110 | 112 |
111 // When a file is a hard link, hardlink_path exists and | 113 // When a file is a hard link, hardlink_path exists and |
112 // is the path within the DeltaArchiveManifest to the "original" file. | 114 // is the path within the DeltaArchiveManifest to the "original" file. |
113 // When iterating through a DeltaArchiveManifest, you will be guaranteed | 115 // When iterating through a DeltaArchiveManifest, you will be guaranteed |
114 // to hit a hardlink only after you've hit the path to the first file. | 116 // to hit a hardlink only after you've hit the path to the first file. |
(...skipping 10 matching lines...) Expand all Loading... |
125 } | 127 } |
126 repeated Child children = 9; | 128 repeated Child children = 9; |
127 } | 129 } |
128 repeated File files = 1; | 130 repeated File files = 1; |
129 } | 131 } |
130 | 132 |
131 message LinuxDevice { | 133 message LinuxDevice { |
132 required int32 major = 1; | 134 required int32 major = 1; |
133 required int32 minor = 2; | 135 required int32 minor = 2; |
134 } | 136 } |
OLD | NEW |