View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   https://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.commons.compress.archivers.dump;
20  
21  /**
22   * Various constants associated with dump archives.
23   */
24  public final class DumpArchiveConstants {
25  
26      /**
27       * Enumerates compression types.
28       */
29      public enum COMPRESSION_TYPE {
30  
31          /**
32           * Compression code is -1.
33           */
34          UNKNOWN(-1),
35  
36          /**
37           * Compression code is 0.
38           */
39          ZLIB(0),
40  
41          /**
42           * Compression code is 1.
43           */
44          BZLIB(1),
45  
46          /**
47           * Compression code is 2.
48           */
49          LZO(2);
50  
51          /**
52           * Finds the matching enumeration value for the given code.
53           *
54           * @param code a code.
55           * @return a value, never null.
56           */
57          public static COMPRESSION_TYPE find(final int code) {
58              for (final COMPRESSION_TYPE e : values()) {
59                  if (e.code == code) {
60                      return e;
61                  }
62              }
63              return UNKNOWN;
64          }
65  
66          final int code;
67  
68          COMPRESSION_TYPE(final int code) {
69              this.code = code;
70          }
71      }
72  
73      /**
74       * Enumerates the types of tape segment.
75       */
76      public enum SEGMENT_TYPE {
77  
78          /**
79           * TAPE with code 1.
80           */
81          TAPE(1),
82  
83          /**
84           * INODE with code 2.
85           */
86          INODE(2),
87  
88          /**
89           * BITS with code 3.
90           */
91          BITS(3),
92  
93          /**
94           * ADDR with code 4.
95           */
96          ADDR(4),
97  
98          /**
99           * END with code 5.
100          */
101         END(5),
102 
103         /**
104          * CLRI with code 6.
105          */
106         CLRI(6);
107 
108         /**
109          * Finds the matching enumeration value for the given code.
110          *
111          * @param code a code.
112          * @return a value, or null if not found.
113          */
114         public static SEGMENT_TYPE find(final int code) {
115             for (final SEGMENT_TYPE e : values()) {
116                 if (e.code == code) {
117                     return e;
118                 }
119             }
120             return null;
121         }
122 
123         final int code;
124 
125         SEGMENT_TYPE(final int code) {
126             this.code = code;
127         }
128     }
129 
130     /**
131      * TP_SIZE value {@value}.
132      */
133     public static final int TP_SIZE = 1024;
134 
135     /**
136      * NTREC value {@value}.
137      */
138     public static final int NTREC = 10;
139 
140     /**
141      * HIGH_DENSITY_NTREC value {@value}.
142      */
143     public static final int HIGH_DENSITY_NTREC = 32;
144 
145     /**
146      * OFS_MAGIC value {@value}.
147      */
148     public static final int OFS_MAGIC = 60011;
149 
150     /**
151      * NFS_MAGIC value {@value}.
152      */
153     public static final int NFS_MAGIC = 60012;
154 
155     /**
156      * FS_UFS2_MAGIC value {@value}.
157      */
158     public static final int FS_UFS2_MAGIC = 0x19540119;
159 
160     /**
161      * CHECKSUM value {@value}.
162      */
163     public static final int CHECKSUM = 84446;
164 
165     /**
166      * LBLSIZE value {@value}.
167      */
168     public static final int LBLSIZE = 16;
169 
170     /**
171      * NAMELEN value {@value}.
172      */
173     public static final int NAMELEN = 64;
174 
175     /** Do not instantiate. */
176     private DumpArchiveConstants() {
177     }
178 }