Files
Aaru/Aaru.Filesystems/ISO9660/Consts/RRIP.cs

92 lines
3.3 KiB
C#
Raw Normal View History

// /***************************************************************************
2020-02-27 12:31:25 +00:00
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : RRIP.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : ISO9660 filesystem plugin.
//
// --[ Description ] ----------------------------------------------------------
//
// RRIP extensions constants and enumerations.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
2022-02-18 10:02:53 +00:00
// Copyright © 2011-2022 Natalia Portillo
// In the loving memory of Facunda "Tata" Suárez Domínguez, R.I.P. 2019/07/24
// ****************************************************************************/
2017-12-19 19:33:46 +00:00
2020-07-20 07:47:12 +01:00
// ReSharper disable UnusedMember.Local
2022-03-07 07:36:44 +00:00
using System;
namespace Aaru.Filesystems;
2022-03-06 13:29:38 +00:00
public sealed partial class ISO9660
{
2022-03-06 13:29:38 +00:00
const ushort RRIP_MAGIC = 0x5252; // "RR"
const ushort RRIP_POSIX_ATTRIBUTES = 0x5058; // "PX"
const ushort RRIP_POSIX_DEV_NO = 0x504E; // "PN"
const ushort RRIP_SYMLINK = 0x534C; // "SL"
const ushort RRIP_NAME = 0x4E4D; // "NM"
const ushort RRIP_CHILDLINK = 0x434C; // "CL"
const ushort RRIP_PARENTLINK = 0x504C; // "PL"
const ushort RRIP_RELOCATED_DIR = 0x5245; // "RE"
const ushort RRIP_TIMESTAMPS = 0x5446; // "TF"
const ushort RRIP_SPARSE = 0x5346; // "SF"
2022-03-06 13:29:38 +00:00
[Flags]
enum PosixMode : uint
{
OwnerRead = 0x0100, OwnerWrite = 0x0080, OwnerExecute = 0x0040,
GroupRead = 0x0020, GroupWrite = 0x0010, GroupExecute = 0x0008,
OtherRead = 0x0004, OtherWrite = 0x0002, OtherExecute = 0x0001,
SetUID = 0x0800, SetGid = 0x0400, IsVTX = 0x0200,
Socket = 0xC000, Symlink = 0xA000, Regular = 0x8000,
Block = 0x6000, Character = 0x2000, Directory = 0x4000,
Pipe = 0x1000
2022-03-06 13:29:38 +00:00
}
2022-03-06 13:29:38 +00:00
[Flags]
enum SymlinkFlags : byte
{
Continue = 1
}
2022-03-06 13:29:38 +00:00
[Flags]
enum SymlinkComponentFlags : byte
{
Continue = 1, Current = 2, Parent = 4,
Root = 8, Mountpoint = 16, Networkname = 32
2022-03-06 13:29:38 +00:00
}
2022-03-06 13:29:38 +00:00
[Flags]
enum AlternateNameFlags : byte
{
Continue = 1, Current = 2, Parent = 4,
2022-03-06 13:29:38 +00:00
Networkname = 32
}
2022-03-06 13:29:38 +00:00
[Flags]
enum TimestampFlags : byte
{
Creation = 1 << 0, Modification = 1 << 1, Access = 1 << 2,
AttributeChange = 1 << 3, Backup = 1 << 4, Expiration = 1 << 5,
Effective = 1 << 6, LongFormat = 1 << 7
}
2017-12-19 20:33:03 +00:00
}