home *** CD-ROM | disk | FTP | other *** search
- From: attunix!kevra (Lorraine Kevra)
-
- [ This is the current cpio proposal for 1003.1 -mod ]
-
-
-
- FOR COMPUTER ENVIRONMENTS Std 1003.1-Draft 11
-
-
-
- Editor's Note: The following section has been proposed as a b
- replacement for, or an addition to, the previous section. b
- The small group that considered the issue at the June 1987 b
- meeting determined that indications were needed on how to b
- extend this subsection to account for at least the following b
- items: b
-
- o+ symbolic links b
-
- o+ contiguous files b
-
- o+ file name length b
-
- o+ i-node number size b
-
- There is a possibility that these concerns may be addressed b
- by text in the Rationale, rather than in the body of the b
- standard. b
-
-
- 10.3.1 cpio Archive Format b
- The byte-oriented cpio archive format is a series of b
- entries, each comprised of a header that describes the file, b
- the name of the file, and then the contents of the file. b
-
- An archive may be recorded as a series of fixed size blocks b
- of bytes. This blocking shall be used only to make physical b
- I/O more efficient. The last group of blocks is always at b
- the full size. b
-
- For the byte-oriented cpio archive format, the individual b
- entry information must be in the order indicated and is b
- described by: b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- UNAPPROVED DRAFT. All Rights Reserved by IEEE.
- Do not specify or claim conformance to this document.
-
-
-
-
-
-
-
- Std 1003.1-Draft 11 PORTABLE OPERATING SYSTEM
-
-
-
- Byte-Oriented cpio Archive Entry b
- Header b
- Field Name Length Interpreted as b
- __________ __________ _______________ b
- c_magic 6 bytes octal number b
- c_dev 6 bytes octal number b
- c_ino 6 bytes octal number b
- c_mode 6 bytes octal number b
- c_uid 6 bytes octal number b
- c_gid 6 bytes octal number b
- c_nlink 6 bytes octal number b
- c_rdev 6 bytes octal number b
- c_mtime 11 bytes octal number b
- c_namesize 6 bytes octal number b
- c_filesize 11 bytes octal number b
-
- File Name b
- Field Name Length Interpreted as b
- __________ __________ _______________ b
- c_name c_namesize pathname string b
-
- File Data b
- Field Name Length Interpreted as b
- __________ __________ _______________ b
- c_filedata c_filesize data b
-
- 22 10.3.1.1 Header b
- 23 For each file in the archive, a header as defined above b
- 24 shall be written. The information in the header fields b
- 25 shall be written as streams of bytes interpreted as octal b
- 26 numbers and shall be right-justified and zero filled. The b
- 27 fields shall be interpreted as follows: b
-
- 28 o+ c_magic shall identify the archive as being a b
- 29 transportable archive by containing the magic bytes as b
- 30 defined by MAGIC ("070707"). b
-
- 31 o+ c_dev and c_ino shall contain values which uniquely b
- 32 identify the file within the archive (i.e., no files b
- 33 shall contain the same pair of c_dev and c_ino values b
- 34 unless they are links to the same file). The values b
- 35 shall be determined in an implementation defined b
- 36 manner. b
-
- 37 o+ c_mode shall contain the file type and access b
- 38 permissions as defined in the tables below. b
-
-
-
- UNAPPROVED DRAFT. All Rights Reserved by IEEE.
- Do not specify or claim conformance to this document.
-
-
-
-
-
-
-
- FOR COMPUTER ENVIRONMENTS Std 1003.1-Draft 11
-
-
-
- 39 o+ c_uid shall contain the user id of the owner. b
-
- 40 o+ c_gid shall contain the group id of the group. b
-
- 41 o+ c_nlink shall contain the number of links referencing b
- 42 the file at the time the archive was created. b
-
- 43 o+ c_rdev shall contain implementation defined information b
- 44 for character or block special files. b
-
- 45 o+ c_mtime shall contain the latest time of modification b
- 46 of the file. b
-
- 47 o+ c_namesize shall contain the length of the path name, b
- 48 including the terminating null byte. b
-
- 49 o+ c_filesize shall contain the length of the file. This b
- 50 is the length of the data section following the header b
- 51 structure. b
-
- 52 10.3.1.2 File Name b
- 53 c_name shall contain the path name of the file. The length b
- 54 of the name is determined by c_namesize; the maximum length b
- 55 of this string is 256 bytes. b
-
- 56 10.3.1.3 File Data b
- 57 Following c_name, there shall be c_filesize bytes of data. b
- 58 Interpretation of such data shall occur in a manner b
- 59 dependent on the file. If c_filesize is zero, no data shall b
- 60 be contained in c_filedata. b
-
- 61 10.3.1.4 Special Entries b
- 62 Special files, directories, and the trailer are recorded b
- 63 with c_filesize equal to zero. The header for the next file b
- 64 entry in the archive shall be written directly after the b
- 65 last byte of the file entry preceding it. A header denoting b
- 66 the file name ``TRAILER!!!'' shall indicate the end of the b
- 67 archive; the contents of bytes in the last block of the b
- 68 archive following such a header are undefined. b
-
- 69 10.3.1.5 cpio Values b
- 70 Values needed by the cpio archive format are described as b
- 71 follows: b
-
-
-
-
-
-
- UNAPPROVED DRAFT. All Rights Reserved by IEEE.
- Do not specify or claim conformance to this document.
-
-
-
-
-
-
-
- Std 1003.1-Draft 11 PORTABLE OPERATING SYSTEM
-
-
-
- Values for c_mode field b
- File permissions b
- Name Value Indicates b
- _______ ______ __________________ b
- C_IRUSR 000400 read by owner b
- C_IWUSR 000200 write by owner b
- C_IXUSR 000100 execute by owner b
- C_IRGRP 000040 read by group b
- C_IWGRP 000020 write by group b
- C_IXGRP 000010 execute by group b
- C_IROTH 000004 read by others b
- C_IWOTH 000002 write by others b
- C_IXOTH 000001 execute by others b
- C_ISUID 004000 set uid b
- C_ISGID 002000 set gid b
- C_ISVTX 001000 reserved b
-
-
-
- Values for c_mode field b
- File type b
- Name Value Indicates b
- ________ ______ _________________ b
- C_ISDIR 040000 directory b
- C_ISFIFO 010000 FIFO b
- C_ISREG 100000 regular file b
- C_ISBLK 060000 block special b
- C_ISCHR 020000 character special b
- 110000 reserved b
- 120000 reserved b
- 140000 reserved b
-
- 101 C_ISDIR, C_ISFIFO, and C_ISREG shall be supported on a POSIX b
- 102 conforming system; additional values defined above are b
- 103 reserved for compatibility with existing systems. b
- 104 Additional file types may be supported; however, such files b
- 105 should not be written on archives intended for transport to b
- 106 portable systems. b
-
- 107 10.3.1.6 References b
- 108 <grp.h> sS9.2.1, <pwd.h> sS9.2.2, <sys/stat.h> sS5.6.1, chmod() b
- 109 sS5.6.4, link() sS5.3.4, mkdir() sS5.4.1, read() sS6.4.1, stat() b
- 110 sS5.6.2.
- 111
-
-
-
-
-
- UNAPPROVED DRAFT. All Rights Reserved by IEEE.
- Do not specify or claim conformance to this document.
-
-
-
-
-
-
-
- Volume-Number: Volume 12, Number 12
-
-