From 61ab7a4c50b463da2989a4da867d745fe9d9c78f Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 4 Nov 2020 03:18:23 +0000 Subject: [PATCH] Mark FreeBSD code as obsolete. Pending removal. FreeBSD is not supported by .NET Core, you're on your own. There are no plans to support it for .NET 5. Many things left to implement. AaruRemote works as of this commit date. Code will be removed in Aaru 6.0, can be bring back if there's enough interest and future .NET support. --- Aaru.Devices/FreeBSD/Command.cs | 8 ++- Aaru.Devices/FreeBSD/Enums.cs | 26 ++++++---- Aaru.Devices/FreeBSD/Extern.cs | 1 + Aaru.Devices/FreeBSD/ListDevices.cs | 2 + Aaru.Devices/FreeBSD/Structs.cs | 78 ++++++++++++++--------------- 5 files changed, 65 insertions(+), 50 deletions(-) diff --git a/Aaru.Devices/FreeBSD/Command.cs b/Aaru.Devices/FreeBSD/Command.cs index 4c194901c..7dbe9db47 100644 --- a/Aaru.Devices/FreeBSD/Command.cs +++ b/Aaru.Devices/FreeBSD/Command.cs @@ -40,7 +40,7 @@ using static Aaru.Devices.FreeBSD.Extern; namespace Aaru.Devices.FreeBSD { - [SuppressMessage("ReSharper", "BitwiseOperatorOnEnumWithoutFlags")] + [SuppressMessage("ReSharper", "BitwiseOperatorOnEnumWithoutFlags"), Obsolete] internal static class Command { const int CAM_MAX_CDBLEN = 16; @@ -58,6 +58,7 @@ namespace Aaru.Devices.FreeBSD /// True if SCSI error returned non-OK status and contains SCSI /// sense /// + [Obsolete] internal static int SendScsiCommand64(IntPtr dev, byte[] cdb, ref byte[] buffer, out byte[] senseBuffer, uint timeout, CcbFlags direction, out double duration, out bool sense) { @@ -176,6 +177,7 @@ namespace Aaru.Devices.FreeBSD /// True if SCSI error returned non-OK status and contains SCSI /// sense /// + [Obsolete] internal static int SendScsiCommand(IntPtr dev, byte[] cdb, ref byte[] buffer, out byte[] senseBuffer, uint timeout, CcbFlags direction, out double duration, out bool sense) { @@ -284,6 +286,7 @@ namespace Aaru.Devices.FreeBSD /// Converts ATA protocol to CAM flags /// ATA protocol /// CAM flags + [Obsolete] static CcbFlags AtaProtocolToCamFlags(AtaProtocol protocol) { switch(protocol) @@ -312,6 +315,7 @@ namespace Aaru.Devices.FreeBSD /// Registers to send to drive /// Registers returned by drive /// ATA protocol to use + [Obsolete] internal static int SendAtaCommand(IntPtr dev, AtaRegistersChs registers, out AtaErrorRegistersChs errorRegisters, AtaProtocol protocol, ref byte[] buffer, uint timeout, out double duration, out bool sense) @@ -414,6 +418,7 @@ namespace Aaru.Devices.FreeBSD /// Registers to send to drive /// Registers returned by drive /// ATA protocol to use + [Obsolete] internal static int SendAtaCommand(IntPtr dev, AtaRegistersLba28 registers, out AtaErrorRegistersLba28 errorRegisters, AtaProtocol protocol, ref byte[] buffer, uint timeout, out double duration, out bool sense) @@ -516,6 +521,7 @@ namespace Aaru.Devices.FreeBSD /// Registers to send to drive /// Registers returned by drive /// ATA protocol to use + [Obsolete] internal static int SendAtaCommand(IntPtr dev, AtaRegistersLba48 registers, out AtaErrorRegistersLba48 errorRegisters, AtaProtocol protocol, ref byte[] buffer, uint timeout, out double duration, out bool sense) diff --git a/Aaru.Devices/FreeBSD/Enums.cs b/Aaru.Devices/FreeBSD/Enums.cs index ae036d564..d162786b4 100644 --- a/Aaru.Devices/FreeBSD/Enums.cs +++ b/Aaru.Devices/FreeBSD/Enums.cs @@ -35,7 +35,7 @@ using System; namespace Aaru.Devices.FreeBSD { - [Flags] + [Flags, Obsolete] internal enum FileFlags { /// O_RDONLY @@ -78,7 +78,7 @@ namespace Aaru.Devices.FreeBSD CloseOnExec = 0x00100000 } - [Flags] + [Flags, Obsolete] internal enum CamAtaIoFlags : byte { /// 48-bit command @@ -94,7 +94,7 @@ namespace Aaru.Devices.FreeBSD } /// XPT Opcodes for xpt_action - [Flags] + [Flags, Obsolete] internal enum XptOpcode { // Function code flags are bits greater than 0xff @@ -201,18 +201,20 @@ namespace Aaru.Devices.FreeBSD XptVunique = 0x80 } + [Obsolete] internal enum CcbDevMatchStatus { CamDevMatchLast, CamDevMatchMore, CamDevMatchListChanged, CamDevMatchSizeError, CamDevMatchError } + [Obsolete] internal enum DevMatchType { DevMatchPeriph = 0, DevMatchDevice, DevMatchBus } - [Flags] + [Flags, Obsolete] internal enum PeriphPatternFlags { PeriphMatchNone = 0x000, PeriphMatchPath = 0x001, PeriphMatchTarget = 0x002, @@ -221,7 +223,7 @@ namespace Aaru.Devices.FreeBSD // PERIPH_MATCH_ANY = 0x01f } - [Flags] + [Flags, Obsolete] internal enum DevPatternFlags { DevMatchNone = 0x000, DevMatchPath = 0x001, DevMatchTarget = 0x002, @@ -230,7 +232,7 @@ namespace Aaru.Devices.FreeBSD // DEV_MATCH_ANY = 0x00f } - [Flags] + [Flags, Obsolete] internal enum BusPatternFlags { BusMatchNone = 0x000, BusMatchPath = 0x001, BusMatchName = 0x002, @@ -239,12 +241,13 @@ namespace Aaru.Devices.FreeBSD // BUS_MATCH_ANY = 0x00f } - [Flags] + [Flags, Obsolete] internal enum DevResultFlags { DevResultNoflag = 0x00, DevResultUnconfigured = 0x01 } + [Obsolete] internal enum CamProto { ProtoUnknown, ProtoUnspecified, @@ -271,20 +274,21 @@ namespace Aaru.Devices.FreeBSD ProtoMmcsd } - [Flags] + [Flags, Obsolete] internal enum MmcCardFeatures { CardFeatureMemory = 0x1, CardFeatureSdhc = 0x1 << 1, CardFeatureSdio = 0x1 << 2, CardFeatureSd20 = 0x1 << 3, CardFeatureMmc = 0x1 << 4, CardFeature18V = 0x1 << 5 } + [Obsolete] internal enum CamGenerations : uint { CamBusGeneration = 0x00, CamTargetGeneration = 0x01, CamDevGeneration = 0x02, CamPeriphGeneration = 0x03 } - [Flags] + [Flags, Obsolete] internal enum DevPosType { CamDevPosNone = 0x000, CamDevPosBus = 0x001, CamDevPosTarget = 0x002, @@ -294,12 +298,13 @@ namespace Aaru.Devices.FreeBSD CamDevPosEdt = 0x100, CamDevPosPdrv = 0x200 } + [Obsolete] internal enum FreebsdIoctl : uint { Camiocommand = 0xC4D81802 } - [Flags] + [Flags, Obsolete] internal enum CcbFlags : uint { /// The CDB field is a pointer @@ -389,6 +394,7 @@ namespace Aaru.Devices.FreeBSD CamUnlocked = 0x80000000 } + [Obsolete] internal enum CamStatus : uint { /// CCB request is in progress diff --git a/Aaru.Devices/FreeBSD/Extern.cs b/Aaru.Devices/FreeBSD/Extern.cs index f47c1f26b..0c4b4c753 100644 --- a/Aaru.Devices/FreeBSD/Extern.cs +++ b/Aaru.Devices/FreeBSD/Extern.cs @@ -36,6 +36,7 @@ using System.Runtime.InteropServices; namespace Aaru.Devices.FreeBSD { + [Obsolete] internal static class Extern { [DllImport("libc", CharSet = CharSet.Ansi, SetLastError = true)] diff --git a/Aaru.Devices/FreeBSD/ListDevices.cs b/Aaru.Devices/FreeBSD/ListDevices.cs index 0f88f9656..17198fb64 100644 --- a/Aaru.Devices/FreeBSD/ListDevices.cs +++ b/Aaru.Devices/FreeBSD/ListDevices.cs @@ -42,10 +42,12 @@ using Marshal = System.Runtime.InteropServices.Marshal; namespace Aaru.Devices.FreeBSD { + [Obsolete] internal static class ListDevices { /// Gets a list of all known storage devices on FreeBSD /// List of devices + [Obsolete] internal static DeviceInfo[] GetList() { string[] passDevices = Directory.GetFiles("/dev/", "pass*", SearchOption.TopDirectoryOnly); diff --git a/Aaru.Devices/FreeBSD/Structs.cs b/Aaru.Devices/FreeBSD/Structs.cs index 30704ebc6..ac08fb5e6 100644 --- a/Aaru.Devices/FreeBSD/Structs.cs +++ b/Aaru.Devices/FreeBSD/Structs.cs @@ -45,7 +45,7 @@ using target_id_t = System.UInt32; namespace Aaru.Devices.FreeBSD { - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct AtaCmd { public CamAtaIoFlags flags; @@ -64,7 +64,7 @@ namespace Aaru.Devices.FreeBSD public byte control; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct AtaRes { public CamAtaIoFlags flags; @@ -81,7 +81,7 @@ namespace Aaru.Devices.FreeBSD public byte sector_count_exp; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CamPinfo { public uint priority; @@ -89,7 +89,7 @@ namespace Aaru.Devices.FreeBSD public int index; } - [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct ListEntry { /// LIST_ENTRY(ccb_hdr)=le->*le_next @@ -98,14 +98,14 @@ namespace Aaru.Devices.FreeBSD public IntPtr LePrev; } - [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct SlistEntry { /// SLIST_ENTRY(ccb_hdr)=sle->*sle_next public IntPtr SleNext; } - [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct TailqEntry { /// TAILQ_ENTRY(ccb_hdr)=tqe->*tqe_next @@ -114,14 +114,14 @@ namespace Aaru.Devices.FreeBSD public IntPtr TqePrev; } - [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct StailqEntry { /// STAILQ_ENTRY(ccb_hdr)=stqe->*stqe_next public IntPtr StqeNext; } - [StructLayout(LayoutKind.Explicit), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Explicit), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CamqEntry { [FieldOffset(0)] @@ -134,7 +134,7 @@ namespace Aaru.Devices.FreeBSD public StailqEntry stqe; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct Timeval { public long tv_sec; @@ -142,7 +142,7 @@ namespace Aaru.Devices.FreeBSD public IntPtr tv_usec; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbQosArea { public Timeval etime; @@ -150,7 +150,7 @@ namespace Aaru.Devices.FreeBSD public UIntPtr periph_data; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbHdr { public CamPinfo pinfo; @@ -176,7 +176,7 @@ namespace Aaru.Devices.FreeBSD public Timeval softtimeout; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct ScsiSenseData { const int SSD_FULL_SIZE = 252; @@ -186,7 +186,7 @@ namespace Aaru.Devices.FreeBSD } /// SCSI I/O Request CCB used for the XPT_SCSI_IO and XPT_CONT_TARGET_IO function codes. - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbScsiio { public CcbHdr ccb_h; @@ -232,7 +232,7 @@ namespace Aaru.Devices.FreeBSD } /// SCSI I/O Request CCB used for the XPT_SCSI_IO and XPT_CONT_TARGET_IO function codes. - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbScsiio64 { public CcbHdr ccb_h; @@ -279,7 +279,7 @@ namespace Aaru.Devices.FreeBSD } /// ATA I/O Request CCB used for the XPT_ATA_IO function code. - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbAtaio { public CcbHdr ccb_h; @@ -301,7 +301,7 @@ namespace Aaru.Devices.FreeBSD public uint unused; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct NvmeCommand { readonly ushort opc_fuse_rsvd1; @@ -340,7 +340,7 @@ namespace Aaru.Devices.FreeBSD public byte Rsvd1 => (byte)(opc_fuse_rsvd1 & 0x3F); } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct NvmeStatus { readonly ushort status; @@ -364,7 +364,7 @@ namespace Aaru.Devices.FreeBSD public byte Dnr => (byte)(status & 0x1); } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct NvmeCompletion { /// command-specific @@ -386,7 +386,7 @@ namespace Aaru.Devices.FreeBSD } /// NVMe I/O Request CCB used for the XPT_NVME_IO and XPT_NVME_ADMIN function codes. - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbNvmeio { public CcbHdr ccb_h; @@ -406,7 +406,7 @@ namespace Aaru.Devices.FreeBSD public ushort unused; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct PeriphMatchPattern { const int DEV_IDLEN = 16; @@ -420,7 +420,7 @@ namespace Aaru.Devices.FreeBSD public PeriphPatternFlags flags; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct DeviceIdMatchPattern { public byte id_len; @@ -428,7 +428,7 @@ namespace Aaru.Devices.FreeBSD public byte[] id; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct ScsiStaticInquiryPattern { const int SID_VENDOR_SIZE = 8; @@ -444,7 +444,7 @@ namespace Aaru.Devices.FreeBSD public byte[] revision; } - [StructLayout(LayoutKind.Explicit), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Explicit), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct DeviceMatchPatternData { [FieldOffset(0)] @@ -453,7 +453,7 @@ namespace Aaru.Devices.FreeBSD public DeviceIdMatchPattern devid_pat; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct DeviceMatchPattern { public uint path_id; @@ -463,7 +463,7 @@ namespace Aaru.Devices.FreeBSD public DeviceMatchPatternData data; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct BusMatchPattern { const int DEV_IDLEN = 16; @@ -476,7 +476,7 @@ namespace Aaru.Devices.FreeBSD readonly BusPatternFlags flags; } - [StructLayout(LayoutKind.Explicit), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Explicit), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct MatchPattern { [FieldOffset(0)] @@ -487,14 +487,14 @@ namespace Aaru.Devices.FreeBSD public BusMatchPattern bus_pattern; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct DevMatchPattern { public DevMatchType type; public MatchPattern pattern; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct PeriphMatchResult { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] @@ -505,7 +505,7 @@ namespace Aaru.Devices.FreeBSD public lun_id_t target_lun; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct MmcCid { public uint mid; @@ -519,7 +519,7 @@ namespace Aaru.Devices.FreeBSD public byte fwrev; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct MmcParams { /// Card model @@ -552,7 +552,7 @@ namespace Aaru.Devices.FreeBSD public byte sdio_func_count; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct DeviceMatchResult { public path_id_t path_id; @@ -567,7 +567,7 @@ namespace Aaru.Devices.FreeBSD public MmcParams mmc_ident_data; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct BusMatchResult { public path_id_t path_id; @@ -578,7 +578,7 @@ namespace Aaru.Devices.FreeBSD public uint bus_id; } - [StructLayout(LayoutKind.Explicit), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Explicit), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct MatchResult { [FieldOffset(0)] @@ -589,14 +589,14 @@ namespace Aaru.Devices.FreeBSD public BusMatchResult bus_result; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct DevMatchResult { public DevMatchType type; public MatchResult result; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbDmCookie { public IntPtr bus; @@ -606,7 +606,7 @@ namespace Aaru.Devices.FreeBSD public IntPtr pdrv; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbDevPosition { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] @@ -615,7 +615,7 @@ namespace Aaru.Devices.FreeBSD public CcbDmCookie cookie; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbDevMatch { public CcbHdr ccb_h; @@ -635,7 +635,7 @@ namespace Aaru.Devices.FreeBSD public CcbDevPosition pos; } - [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CamDevice { const int MAXPATHLEN = 1024; @@ -690,7 +690,7 @@ namespace Aaru.Devices.FreeBSD public int Fd; } - [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] + [StructLayout(LayoutKind.Sequential), SuppressMessage("ReSharper", "MemberCanBePrivate.Global"), Obsolete] internal struct CcbGetdev { public CcbHdr ccb_h;