aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/apache/commons/compress/archivers/cpio/CpioConstants.java
diff options
context:
space:
mode:
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.java143
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;
+}