diff options
Diffstat (limited to 'src/main/java/org/apache/commons/compress/archivers/cpio/CpioConstants.java')
-rw-r--r-- | src/main/java/org/apache/commons/compress/archivers/cpio/CpioConstants.java | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/src/main/java/org/apache/commons/compress/archivers/cpio/CpioConstants.java b/src/main/java/org/apache/commons/compress/archivers/cpio/CpioConstants.java new file mode 100644 index 000000000..efba28251 --- /dev/null +++ b/src/main/java/org/apache/commons/compress/archivers/cpio/CpioConstants.java @@ -0,0 +1,143 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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. + */ +package org.apache.commons.compress.archivers.cpio; + +/** + * All constants needed by CPIO. + * + * based on code from the jRPM project (jrpm.sourceforge.net) + * + */ +public interface CpioConstants { + /** magic number of a cpio entry in the new format */ + String MAGIC_NEW = "070701"; + + /** magic number of a cpio entry in the new format with crc */ + String MAGIC_NEW_CRC = "070702"; + + /** magic number of a cpio entry in the old ascii format */ + String MAGIC_OLD_ASCII = "070707"; + + /** magic number of a cpio entry in the old binary format */ + int MAGIC_OLD_BINARY = 070707; + + // These FORMAT_ constants are internal to the code + + /** write/read a CpioArchiveEntry in the new format */ + short FORMAT_NEW = 1; + + /** write/read a CpioArchiveEntry in the new format with crc */ + short FORMAT_NEW_CRC = 2; + + /** write/read a CpioArchiveEntry in the old ascii format */ + short FORMAT_OLD_ASCII = 4; + + /** write/read a CpioArchiveEntry in the old binary format */ + short FORMAT_OLD_BINARY = 8; + + /** Mask for both new formats */ + short FORMAT_NEW_MASK = 3; + + /** Mask for both old formats */ + short FORMAT_OLD_MASK = 12; + + /* + * Constants for the MODE bits + */ + + /** Mask for all file type bits. */ + int S_IFMT = 0170000; + + // http://www.opengroup.org/onlinepubs/9699919799/basedefs/cpio.h.html + // has a list of the C_xxx constatnts + + /** Defines a socket */ + int C_ISSOCK = 0140000; + + /** Defines a symbolic link */ + int C_ISLNK = 0120000; + + /** HP/UX network special (C_ISCTG) */ + int C_ISNWK = 0110000; + + /** Defines a regular file */ + int C_ISREG = 0100000; + + /** Defines a block device */ + int C_ISBLK = 0060000; + + /** Defines a directory */ + int C_ISDIR = 0040000; + + /** Defines a character device */ + int C_ISCHR = 0020000; + + /** Defines a pipe */ + int C_ISFIFO = 0010000; + + + /** Set user ID */ + int C_ISUID = 0004000; + + /** Set group ID */ + int C_ISGID = 0002000; + + /** On directories, restricted deletion flag. */ + int C_ISVTX = 0001000; + + + /** Permits the owner of a file to read the file */ + int C_IRUSR = 0000400; + + /** Permits the owner of a file to write to the file */ + int C_IWUSR = 0000200; + + /** Permits the owner of a file to execute the file or to search the directory */ + int C_IXUSR = 0000100; + + + /** Permits a file's group to read the file */ + int C_IRGRP = 0000040; + + /** Permits a file's group to write to the file */ + int C_IWGRP = 0000020; + + /** Permits a file's group to execute the file or to search the directory */ + int C_IXGRP = 0000010; + + + /** Permits others to read the file */ + int C_IROTH = 0000004; + + /** Permits others to write to the file */ + int C_IWOTH = 0000002; + + /** Permits others to execute the file or to search the directory */ + int C_IXOTH = 0000001; + + /** The special trailer marker */ + String CPIO_TRAILER = "TRAILER!!!"; + + /** + * The default block size. + * + * @since 1.1 + */ + int BLOCK_SIZE = 512; +} |