2009-02-17 18:40:28 +00:00
|
|
|
Arbitrary Attribute Interchange Protocol
|
|
|
|
Interchange of Persistent File Attributes
|
|
|
|
|
|
|
|
Directory of Namespace "isofs."
|
|
|
|
|
|
|
|
by Thomas Schmitt - mailto:scdbackup@gmx.net
|
2016-11-13 08:39:53 +00:00
|
|
|
Libburnia project - mailto:bug-xorriso@gnu.org
|
2009-02-17 18:40:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
The following names are defined for AAIP namespace "isofs." as mentioned in
|
2015-09-25 17:07:53 +00:00
|
|
|
specification of AAIP. Unless explicitly stated otherwise, numbers with
|
|
|
|
names like *_LEN are 8 bit unsigned integers, those with *_BYTES are 32 bit
|
|
|
|
unsigned integers.
|
2009-02-17 18:40:28 +00:00
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Name:
|
2009-08-10 11:56:06 +00:00
|
|
|
isofs.ca
|
2009-02-17 18:40:28 +00:00
|
|
|
|
|
|
|
Purpose:
|
2009-08-10 11:56:06 +00:00
|
|
|
Records the range of checksummed image data (START, END), the number
|
|
|
|
of checksum items (COUNT), the number of bytes in a single checksum item
|
|
|
|
(SIZE), and the name of the checksum algorithm (CHECKSUM_TYPE).
|
|
|
|
END is also the block address of the start of the checksum recording
|
|
|
|
area in the image.
|
|
|
|
See also isofs.cx .
|
2015-09-25 17:07:53 +00:00
|
|
|
This attribute shall be attached to the root directory entry
|
2011-02-12 12:52:17 +00:00
|
|
|
and be global for the whole image.
|
2009-02-17 18:40:28 +00:00
|
|
|
|
|
|
|
Format of Value:
|
2009-08-10 11:56:06 +00:00
|
|
|
START_LEN | START_BYTES | END_LEN | END_BYTES |
|
|
|
|
COUNT_LEN | COUNT_BYTES | SIZE_LEN | SIZE_BYTES | CHECKSUM_TYPE
|
|
|
|
Each number is encoded as _LEN byte and _BYTES value string.
|
2009-02-17 18:40:28 +00:00
|
|
|
The _LEN fields comply to ISO 9660 Format section 7.1.1.
|
2009-08-10 11:56:06 +00:00
|
|
|
The byte strings START_BYTES, END_BYTES, COUNT_BYTES, SIZE_BYTES begin
|
|
|
|
with the most significant byte. Leading zero bytes are allowed.
|
|
|
|
CHECKSUM_TYPE consists of the bytes after
|
|
|
|
START_LEN + END_LEN + COUNT_LEN + SIZE_LEN + 4.
|
|
|
|
It shall be a string of printable characters without terminating 0-byte.
|
|
|
|
Type names shall be registered here.
|
|
|
|
For now there is:
|
|
|
|
"MD5" 128 bit message digest, see RFC 1321, see man md5sum
|
2009-02-17 18:40:28 +00:00
|
|
|
|
|
|
|
Example:
|
2009-08-10 11:56:06 +00:00
|
|
|
LBA range 32 to 1000000 , 520 checksums recorded, MD5
|
|
|
|
{ 1, 32,
|
|
|
|
3, 15, 66, 64,
|
|
|
|
2, 2, 8,
|
|
|
|
1, 16,
|
|
|
|
'M', 'D', '5' }
|
|
|
|
or
|
|
|
|
{ 4, 0, 0, 0, 32,
|
|
|
|
4, 0, 15, 66, 64,
|
|
|
|
4, 0, 0, 2, 8,
|
|
|
|
1, 16,
|
|
|
|
'M', 'D', '5' }
|
2009-02-17 18:40:28 +00:00
|
|
|
|
|
|
|
Registered:
|
2009-08-10 11:56:06 +00:00
|
|
|
16 Jul 2009 by Thomas Schmitt for libisofs.
|
|
|
|
|
2009-02-17 18:40:28 +00:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
2009-03-20 16:48:42 +00:00
|
|
|
Name:
|
|
|
|
isofs.cs
|
|
|
|
|
|
|
|
Purpose:
|
|
|
|
Records the name of the character set that was used as output character
|
|
|
|
set when writing the RRIP name tree of the ISO 9660 image. It shall be
|
|
|
|
suitable as parameter for function iconv_open(3).
|
2015-09-25 17:07:53 +00:00
|
|
|
This attribute shall be attached to the root directory entry and be
|
|
|
|
global for the whole image.
|
2009-03-20 16:48:42 +00:00
|
|
|
|
|
|
|
Format of Value:
|
|
|
|
Shall hold the character set name without terminating 0-byte.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
{ 'I', 'S', 'O', '-', '8', '8', '5', '9' , '-', '1' }
|
|
|
|
|
|
|
|
Registered:
|
|
|
|
18 Mar 2009 by Thomas Schmitt for libisofs.
|
2009-08-10 11:56:06 +00:00
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Name:
|
|
|
|
isofs.cx
|
|
|
|
|
|
|
|
Purpose:
|
|
|
|
Records the index of the file's checksum in the checksum area at the
|
|
|
|
end of the image. The byte address of the checksum is
|
|
|
|
checksum_area_lba * 2048 + isofs.cx * checksum_size
|
|
|
|
Default checksum algorithm is MD5 with a size of 16 byte.
|
|
|
|
See also isofs.ca .
|
|
|
|
|
|
|
|
Format of Value:
|
|
|
|
A byte string which begins with the most significant byte.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
Index 123456
|
|
|
|
{ 1, 226, 64 }
|
|
|
|
|
|
|
|
Registered:
|
|
|
|
16 Jul 2009 by Thomas Schmitt for libisofs.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Name:
|
|
|
|
isofs.di
|
|
|
|
|
|
|
|
Purpose:
|
|
|
|
Records .st_dev and .st_ino of struct stat of the file source in the
|
|
|
|
local filesystem. See man 2 stat.
|
2015-09-25 17:07:53 +00:00
|
|
|
Both values may be unsigned integers up to 255 bytes.
|
2009-08-10 11:56:06 +00:00
|
|
|
|
|
|
|
Format of Value:
|
|
|
|
DEV_LEN | DEV_BYTES | INO_LEN | INO_BYTES
|
|
|
|
The _LEN fields comply to ISO 9660 Format section 7.1.1.
|
|
|
|
The byte strings begin with the most significant byte.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
Device number 2001, inode number 176343
|
|
|
|
{ 2, 7, 209,
|
|
|
|
3, 2, 176, 215 }
|
|
|
|
|
|
|
|
Registered:
|
|
|
|
17 Feb 2009 by Thomas Schmitt for xorriso.
|
|
|
|
|
2009-03-20 16:48:42 +00:00
|
|
|
-------------------------------------------------------------------------------
|
2009-04-03 13:34:23 +00:00
|
|
|
|
2024-07-16 13:05:11 +00:00
|
|
|
Name:
|
|
|
|
isofs.fa
|
|
|
|
|
|
|
|
Purpose:
|
|
|
|
Records the file attribute flags as of Linux program chattr(1) and
|
|
|
|
ioctl(FS_IOC_GETFLAGS) in <linux/fs.h> as bits in a byte string.
|
|
|
|
Known from Debian GNU/Linux 8 to 12 are:
|
2024-09-07 16:19:48 +00:00
|
|
|
bit0= FS_SECRM_FL 's' zero blocks on deletion +
|
|
|
|
bit1= FS_UNRM_FL 'u' on delete prepare for undelete +
|
|
|
|
bit2= FS_COMPR_FL 'c' compress +
|
|
|
|
bit3= FS_SYNC_FL 'S' synchronous write +
|
|
|
|
bit4= FS_IMMUTABLE_FL 'i' immutable +*
|
|
|
|
bit5= FS_APPEND_FL 'a' appending write only +*
|
|
|
|
bit6= FS_NODUMP_FL 'd' dump(8) shall ignore this file +
|
|
|
|
bit7= FS_NOATIME_FL 'A' do not update atime +
|
2024-07-16 13:05:11 +00:00
|
|
|
bit8= FS_DIRTY_FL 'Z' compressed dirty file
|
2024-09-07 16:19:48 +00:00
|
|
|
bit9= FS_COMPRBLK_FL (? one or more compressed clusters)
|
|
|
|
bit10= FS_NOCOMP_FL 'm' do not compress +
|
2024-07-16 13:05:11 +00:00
|
|
|
bit11= FS_ECOMPR_FL 'E' compression error (old)
|
|
|
|
FS_ENCRYPT_FL 'E' encrypted file (new)
|
|
|
|
bit12= FS_BTREE_FL (? btree format dir)
|
2024-09-07 16:19:48 +00:00
|
|
|
FS_INDEX_FL 'I' hash-indexed directory
|
2024-07-16 13:05:11 +00:00
|
|
|
bit13= FS_IMAGIC_FL (? AFS directory)
|
2024-09-07 16:19:48 +00:00
|
|
|
bit14= FS_JOURNAL_DATA_FL 'j' data journalling +*
|
|
|
|
bit15= FS_NOTAIL_FL 't' no tail-merging +
|
|
|
|
bit16= FS_DIRSYNC_FL 'D' synchronous directory updates +/
|
|
|
|
bit17= FS_TOPDIR_FL 'T' top of directory hierarchy +/
|
2024-07-16 13:05:11 +00:00
|
|
|
bit18= FS_HUGE_FILE_FL ('h' huge file ? 'h' old, FS_HUGE_FILE_FL new)
|
|
|
|
bit19= FS_EXTENT_FL 'e' using extents
|
|
|
|
bit20= FS_DIRECTIO_FL (? use direct i/o) (old)
|
|
|
|
FS_VERITY_FL 'V' fs-verity enabled (new)
|
|
|
|
bit21= FS_EA_INODE_FL (? Inode used for large EA)
|
|
|
|
bit22= FS_EOFBLOCKS_FL (? reserved for ext4)
|
2024-09-07 16:19:48 +00:00
|
|
|
bit23= FS_NOCOW_FL 'C' no copy on write +
|
|
|
|
bit25= FS_DAX_FL 'x' direct access +
|
2024-07-16 13:05:11 +00:00
|
|
|
bit28= FS_INLINE_DATA_FL 'N' data stored in inode
|
2024-09-07 16:19:48 +00:00
|
|
|
bit29= FS_PROJINHERIT_FL 'P' project hierarchy +/
|
|
|
|
bit30= FS_CASEFOLD_FL 'F' case-insensitive directory lookups +/
|
2024-07-16 13:05:11 +00:00
|
|
|
bit31= FS_RESERVED_FL (? reserved for ext2 lib)
|
2024-09-07 16:19:48 +00:00
|
|
|
Marks for supposed settability properties according to man chattr:
|
|
|
|
"+" means "settable".
|
|
|
|
"*" means "superuser power is needed".
|
|
|
|
"/" means "for directories only".
|
2024-07-16 13:05:11 +00:00
|
|
|
|
|
|
|
Format of Value:
|
|
|
|
A byte string which begins with the most significant byte.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
(FS_SECRM_FL|FS_APPEND_FL|FS_NOCOMP_FL) = 0x421
|
|
|
|
{ 4 , 33 }
|
|
|
|
Registered:
|
|
|
|
12 Jul 2024 by Thomas Schmitt for libisofs.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
2012-06-07 21:15:16 +00:00
|
|
|
Name:
|
|
|
|
isofs.hb
|
|
|
|
|
|
|
|
Purpose:
|
|
|
|
Records the IsoHfsplusBlessings blessing of a IsoNode as defined
|
2015-05-10 07:34:45 +00:00
|
|
|
in libisofs.h. At image load time, this info may be converted back
|
2012-06-07 21:15:16 +00:00
|
|
|
into a relation between IsoImage and IsoNode so that it is available for
|
|
|
|
the HFS+ writer when a new ISO 9660 / HFS+ image gets produced.
|
|
|
|
|
|
|
|
Format of Value:
|
|
|
|
BLESSING
|
|
|
|
This is a single byte out of {'p', 'i', 's', '9', 'x'} for
|
|
|
|
ISO_HFSPLUS_BLESS_PPC_BOOTDIR, ISO_HFSPLUS_BLESS_INTEL_BOOTFILE,
|
|
|
|
ISO_HFSPLUS_BLESS_SHOWFOLDER, ISO_HFSPLUS_BLESS_OS9_FOLDER,
|
|
|
|
ISO_HFSPLUS_BLESS_OSX_FOLDER.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
{ 'p' }
|
|
|
|
|
|
|
|
Registered:
|
|
|
|
07 Jun 2012 by Thomas Schmitt for xorriso.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Name:
|
|
|
|
isofs.hx
|
|
|
|
|
|
|
|
Purpose:
|
|
|
|
Records the iso_hfsplus_xinfo_data information as defined in libisofs.h.
|
2015-05-10 07:34:45 +00:00
|
|
|
At image load time, this info may be converted back into an xinfo
|
2012-06-07 21:15:16 +00:00
|
|
|
attachment for iso_hfsplus_xinfo_func so that it is available for
|
|
|
|
the HFS+ writer when a new ISO 9660 / HFS+ image gets produced.
|
|
|
|
|
|
|
|
Format of Value:
|
|
|
|
VERSION_LEN | VERSION | CREATOR | TYPE
|
|
|
|
VERSION_LEN complies to ISO 9660 Format section 7.1.1.
|
|
|
|
The byte string VERSION begins with the most significant byte.
|
|
|
|
VERSION == 0 is the only one that is currently defined. It assures the
|
|
|
|
existence of 4 bytes CREATOR and 4 bytes TYPE.
|
|
|
|
Higher versions will keep these 8 bytes and possibly add new ones.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
{ 1, 0, 'Y', 'Y', 'D', 'N', 'T', 'E', 'X', 'T' }
|
|
|
|
|
|
|
|
Registered:
|
|
|
|
07 Jun 2012 by Thomas Schmitt for xorriso.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
2015-09-25 17:07:53 +00:00
|
|
|
Name:
|
|
|
|
isofs.nt
|
|
|
|
|
|
|
|
Purpose:
|
|
|
|
Records the name truncation mode and the truncation length for Rock Ridge
|
|
|
|
names. See iso_image_set_truncate_mode() in libisofs.h.
|
|
|
|
This attribute shall be attached to the root directory entry and be
|
|
|
|
global for the whole image.
|
|
|
|
|
|
|
|
Format of Value:
|
|
|
|
MODE_LEN | MODE_BYTES | LENGTH_LEN | LENGTH_BYTES
|
|
|
|
|
|
|
|
Example:
|
|
|
|
{ 1, 1, 1, 255 }
|
|
|
|
|
|
|
|
Registered:
|
|
|
|
24 Sep 2015 by Thomas Schmitt for libisofs.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
2009-04-03 13:34:23 +00:00
|
|
|
Name:
|
|
|
|
isofs.st
|
|
|
|
|
|
|
|
Purpose:
|
|
|
|
Records a time point at least 1 second before any nodes were added to a
|
|
|
|
freshly loaded or created ISO image. Nodes in the image which have
|
|
|
|
younger timestamps are suspect to have changed their content during
|
|
|
|
image production and might bear inconsistent content.
|
|
|
|
The RRIP timestamps have a blind second during which a change after
|
|
|
|
node registration would not be recognizable for incremental backups
|
|
|
|
which are based in "isofs.di" rather than on content comparison.
|
2015-09-25 17:07:53 +00:00
|
|
|
This attribute shall be attached to the root directory entry
|
2009-04-03 13:34:23 +00:00
|
|
|
and be global for the whole image.
|
|
|
|
|
|
|
|
Format of Value:
|
|
|
|
Shall hold UTC seconds since 1970 as decimal number string without
|
|
|
|
terminating 0-byte.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
{ '1', '2', '3', '8', '7', '4', '2', '2', '9', '6' }
|
|
|
|
|
|
|
|
Registered:
|
|
|
|
03 Apr 2009 by Thomas Schmitt for xorriso.
|
2009-08-10 11:56:06 +00:00
|
|
|
|
2009-04-03 13:34:23 +00:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
-------------------------------------------------------------------------------
|
2009-03-20 16:48:42 +00:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
2010-02-13 13:18:40 +00:00
|
|
|
This text is under
|
2024-07-16 13:05:11 +00:00
|
|
|
Copyright (c) 2009 - 2024 Thomas Schmitt <scdbackup@gmx.net>
|
2010-02-13 13:18:40 +00:00
|
|
|
It shall only be modified in sync with libisofs and other software which
|
|
|
|
makes use of AAIP. Please mail change requests to mailing list
|
2016-11-13 08:39:53 +00:00
|
|
|
<bug-xorriso@gnu.org> or to the copyright holder in private.
|
2010-02-13 13:18:40 +00:00
|
|
|
Only if you cannot reach the copyright holder for at least one month it is
|
|
|
|
permissible to modify this text under the same license as the affected
|
2018-10-06 18:40:08 +00:00
|
|
|
copy of libisofs. Currently: GNU General Public License version 2 or later.
|
2010-02-13 13:18:40 +00:00
|
|
|
If you do so, you commit yourself to taking reasonable effort to stay in
|
|
|
|
sync with the other interested users of this text.
|
|
|
|
|