mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Decode "PN" system area.
This commit is contained in:
@@ -454,6 +454,15 @@ namespace DiscImageChef.Filesystems.ISO9660
|
|||||||
systemAreaOff += pxLength;
|
systemAreaOff += pxLength;
|
||||||
break;
|
break;
|
||||||
case RRIP_POSIX_DEV_NO:
|
case RRIP_POSIX_DEV_NO:
|
||||||
|
byte pnLength = data[systemAreaOff + 2];
|
||||||
|
|
||||||
|
entry.PosixDeviceNumber =
|
||||||
|
Marshal.ByteArrayToStructureLittleEndian<PosixDeviceNumber>(data, systemAreaOff,
|
||||||
|
Marshal
|
||||||
|
.SizeOf<PosixDeviceNumber
|
||||||
|
>());
|
||||||
|
systemAreaOff += pnLength;
|
||||||
|
break;
|
||||||
case RRIP_SYMLINK:
|
case RRIP_SYMLINK:
|
||||||
case RRIP_NAME:
|
case RRIP_NAME:
|
||||||
case RRIP_CHILDLINK:
|
case RRIP_CHILDLINK:
|
||||||
|
|||||||
@@ -182,6 +182,10 @@ namespace DiscImageChef.Filesystems.ISO9660
|
|||||||
stat.Attributes |= FileAttributes.Archive;
|
stat.Attributes |= FileAttributes.Archive;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(entry.PosixDeviceNumber != null)
|
||||||
|
stat.DeviceNo = (entry.PosixDeviceNumber.Value.dev_t_high << 32) +
|
||||||
|
entry.PosixDeviceNumber.Value.dev_t_low;
|
||||||
|
|
||||||
if(entry.AssociatedFile is null || entry.AssociatedFile.Extent == 0 || entry.AssociatedFile.Size == 0)
|
if(entry.AssociatedFile is null || entry.AssociatedFile.Extent == 0 || entry.AssociatedFile.Size == 0)
|
||||||
return Errno.NoError;
|
return Errno.NoError;
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ namespace DiscImageChef.Filesystems.ISO9660
|
|||||||
public byte Interleave;
|
public byte Interleave;
|
||||||
public PosixAttributes? PosixAttributes;
|
public PosixAttributes? PosixAttributes;
|
||||||
public PosixAttributesOld? PosixAttributesOld;
|
public PosixAttributesOld? PosixAttributesOld;
|
||||||
|
public PosixDeviceNumber? PosixDeviceNumber;
|
||||||
public DecodedDirectoryEntry ResourceFork;
|
public DecodedDirectoryEntry ResourceFork;
|
||||||
public uint Size;
|
public uint Size;
|
||||||
public DateTime? Timestamp;
|
public DateTime? Timestamp;
|
||||||
|
|||||||
Reference in New Issue
Block a user