Blame posix/cpio.h

Packit Service 82fcde
/* Extended cpio format from POSIX.1.
Packit Service 82fcde
   This file is part of the GNU C Library.
Packit Service 82fcde
   Copyright (C) 1992-2018 Free Software Foundation, Inc.
Packit Service 82fcde
   NOTE: The canonical source of this file is maintained with the GNU cpio.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is free software; you can redistribute it and/or
Packit Service 82fcde
   modify it under the terms of the GNU Lesser General Public
Packit Service 82fcde
   License as published by the Free Software Foundation; either
Packit Service 82fcde
   version 2.1 of the License, or (at your option) any later version.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service 82fcde
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 82fcde
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 82fcde
   Lesser General Public License for more details.
Packit Service 82fcde
Packit Service 82fcde
   You should have received a copy of the GNU Lesser General Public
Packit Service 82fcde
   License along with the GNU C Library; if not, see
Packit Service 82fcde
   <http://www.gnu.org/licenses/>.  */
Packit Service 82fcde
Packit Service 82fcde
#ifndef _CPIO_H
Packit Service 82fcde
#define _CPIO_H 1
Packit Service 82fcde
Packit Service 82fcde
/* A cpio archive consists of a sequence of files.
Packit Service 82fcde
   Each file has a 76 byte header,
Packit Service 82fcde
   a variable length, NUL terminated filename,
Packit Service 82fcde
   and variable length file data.
Packit Service 82fcde
   A header for a filename "TRAILER!!!" indicates the end of the archive.  */
Packit Service 82fcde
Packit Service 82fcde
/* All the fields in the header are ISO 646 (approximately ASCII) strings
Packit Service 82fcde
   of octal numbers, left padded, not NUL terminated.
Packit Service 82fcde
Packit Service 82fcde
   Field Name	Length in Bytes	Notes
Packit Service 82fcde
   c_magic	6		must be "070707"
Packit Service 82fcde
   c_dev	6
Packit Service 82fcde
   c_ino	6
Packit Service 82fcde
   c_mode	6		see below for value
Packit Service 82fcde
   c_uid	6
Packit Service 82fcde
   c_gid	6
Packit Service 82fcde
   c_nlink	6
Packit Service 82fcde
   c_rdev	6		only valid for chr and blk special files
Packit Service 82fcde
   c_mtime	11
Packit Service 82fcde
   c_namesize	6		count includes terminating NUL in pathname
Packit Service 82fcde
   c_filesize	11		must be 0 for FIFOs and directories  */
Packit Service 82fcde
Packit Service 82fcde
/* Value for the field `c_magic'.  */
Packit Service 82fcde
#define MAGIC	"070707"
Packit Service 82fcde
Packit Service 82fcde
/* Values for c_mode, OR'd together: */
Packit Service 82fcde
Packit Service 82fcde
#define C_IRUSR		000400
Packit Service 82fcde
#define C_IWUSR		000200
Packit Service 82fcde
#define C_IXUSR		000100
Packit Service 82fcde
#define C_IRGRP		000040
Packit Service 82fcde
#define C_IWGRP		000020
Packit Service 82fcde
#define C_IXGRP		000010
Packit Service 82fcde
#define C_IROTH		000004
Packit Service 82fcde
#define C_IWOTH		000002
Packit Service 82fcde
#define C_IXOTH		000001
Packit Service 82fcde
Packit Service 82fcde
#define C_ISUID		004000
Packit Service 82fcde
#define C_ISGID		002000
Packit Service 82fcde
#define C_ISVTX		001000
Packit Service 82fcde
Packit Service 82fcde
#define C_ISBLK		060000
Packit Service 82fcde
#define C_ISCHR		020000
Packit Service 82fcde
#define C_ISDIR		040000
Packit Service 82fcde
#define C_ISFIFO	010000
Packit Service 82fcde
#define C_ISSOCK	0140000
Packit Service 82fcde
#define C_ISLNK		0120000
Packit Service 82fcde
#define C_ISCTG		0110000
Packit Service 82fcde
#define C_ISREG		0100000
Packit Service 82fcde
Packit Service 82fcde
#endif /* cpio.h */