Added structures for FreeBSD's XPT_DEV_MATCH.

This commit is contained in:
2017-12-07 18:08:09 +00:00
parent 2dd93480e4
commit f9e9bb4db0
2 changed files with 343 additions and 0 deletions

View File

@@ -253,5 +253,137 @@ namespace DiscImageChef.Devices.FreeBSD
/// <summary>Vendor Unique codes: 0x80->0x8F</summary>
XPT_VUNIQUE = 0x80
}
enum ccb_dev_match_status
{
CAM_DEV_MATCH_LAST,
CAM_DEV_MATCH_MORE,
CAM_DEV_MATCH_LIST_CHANGED,
CAM_DEV_MATCH_SIZE_ERROR,
CAM_DEV_MATCH_ERROR
}
enum dev_match_type
{
DEV_MATCH_PERIPH,
DEV_MATCH_DEVICE,
DEV_MATCH_BUS
}
[Flags]
enum periph_pattern_flags
{
PERIPH_MATCH_NONE = 0x000,
PERIPH_MATCH_PATH = 0x001,
PERIPH_MATCH_TARGET = 0x002,
PERIPH_MATCH_LUN = 0x004,
PERIPH_MATCH_NAME = 0x008,
PERIPH_MATCH_UNIT = 0x010,
// PERIPH_MATCH_ANY = 0x01f
}
[Flags]
enum dev_pattern_flags
{
DEV_MATCH_NONE = 0x000,
DEV_MATCH_PATH = 0x001,
DEV_MATCH_TARGET = 0x002,
DEV_MATCH_LUN = 0x004,
DEV_MATCH_INQUIRY = 0x008,
DEV_MATCH_DEVID = 0x010,
// DEV_MATCH_ANY = 0x00f
}
[Flags]
enum bus_pattern_flags
{
BUS_MATCH_NONE = 0x000,
BUS_MATCH_PATH = 0x001,
BUS_MATCH_NAME = 0x002,
BUS_MATCH_UNIT = 0x004,
BUS_MATCH_BUS_ID = 0x008,
// BUS_MATCH_ANY = 0x00f
}
[Flags]
enum dev_result_flags
{
DEV_RESULT_NOFLAG = 0x00,
DEV_RESULT_UNCONFIGURED = 0x01
}
enum cam_proto
{
PROTO_UNKNOWN,
PROTO_UNSPECIFIED,
/// <summary>
/// Small Computer System Interface
/// </summary>
PROTO_SCSI,
/// <summary>
/// AT Attachment
/// </summary>
PROTO_ATA,
/// <summary>
/// AT Attachment Packetized Interface
/// </summary>
PROTO_ATAPI,
/// <summary>
/// SATA Port Multiplier
/// </summary>
PROTO_SATAPM,
/// <summary>
/// SATA Enclosure Management Bridge
/// </summary>
PROTO_SEMB,
/// <summary>
/// NVMe
/// </summary>
PROTO_NVME,
/// <summary>
/// MMC, SD, SDIO
/// </summary>
PROTO_MMCSD,
}
[Flags]
enum mmc_card_features
{
CARD_FEATURE_MEMORY = 0x1,
CARD_FEATURE_SDHC = 0x1 << 1,
CARD_FEATURE_SDIO = 0x1 << 2,
CARD_FEATURE_SD20 = 0x1 << 3,
CARD_FEATURE_MMC = 0x1 << 4,
CARD_FEATURE_18V = 0x1 << 5,
}
enum cam_generations : uint
{
CAM_BUS_GENERATION = 0x00,
CAM_TARGET_GENERATION = 0x01,
CAM_DEV_GENERATION = 0x02,
CAM_PERIPH_GENERATION = 0x03,
}
[Flags]
enum dev_pos_type
{
CAM_DEV_POS_NONE = 0x000,
CAM_DEV_POS_BUS = 0x001,
CAM_DEV_POS_TARGET = 0x002,
CAM_DEV_POS_DEVICE = 0x004,
CAM_DEV_POS_PERIPH = 0x008,
CAM_DEV_POS_PDPTR = 0x010,
// CAM_DEV_POS_TYPEMASK = 0xf00,
CAM_DEV_POS_EDT = 0x100,
CAM_DEV_POS_PDRV = 0x200
}
}