/* * Copyright (C) 2014 Jörg Prante * * 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. */ package org.xbib.io.archive.cpio; /** * All constants needed by CPIO. */ 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. */ int BLOCK_SIZE = 512; }