10d65e1f8SGerd Hoffmann /* Copyright (C) 1998, 1999 Free Software Foundation, Inc. 20d65e1f8SGerd Hoffmann This file is part of the GNU C Library. 30d65e1f8SGerd Hoffmann 40d65e1f8SGerd Hoffmann The GNU C Library is free software; you can redistribute it and/or 50d65e1f8SGerd Hoffmann modify it under the terms of the GNU Lesser General Public 60d65e1f8SGerd Hoffmann License as published by the Free Software Foundation; either 70d65e1f8SGerd Hoffmann version 2.1 of the License, or (at your option) any later version. 80d65e1f8SGerd Hoffmann 90d65e1f8SGerd Hoffmann The GNU C Library is distributed in the hope that it will be useful, 100d65e1f8SGerd Hoffmann but WITHOUT ANY WARRANTY; without even the implied warranty of 110d65e1f8SGerd Hoffmann MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 120d65e1f8SGerd Hoffmann Lesser General Public License for more details. 130d65e1f8SGerd Hoffmann 140d65e1f8SGerd Hoffmann You should have received a copy of the GNU Lesser General Public 1570539e18SBlue Swirl License along with this library; if not, see <http://www.gnu.org/licenses/>. 1670539e18SBlue Swirl */ 170d65e1f8SGerd Hoffmann 180d65e1f8SGerd Hoffmann /* 190d65e1f8SGerd Hoffmann * This header file contains public constants and structures used by 200d65e1f8SGerd Hoffmann * the scsi code for linux. 210d65e1f8SGerd Hoffmann */ 22121d0712SMarkus Armbruster 2358ea30f5SMarkus Armbruster #ifndef SCSI_CONSTANTS_H 2458ea30f5SMarkus Armbruster #define SCSI_CONSTANTS_H 250d65e1f8SGerd Hoffmann 260d65e1f8SGerd Hoffmann /* 270d65e1f8SGerd Hoffmann * SCSI opcodes 280d65e1f8SGerd Hoffmann */ 290d65e1f8SGerd Hoffmann 300d65e1f8SGerd Hoffmann #define TEST_UNIT_READY 0x00 315e30a07dSHannes Reinecke #define REWIND 0x01 320d65e1f8SGerd Hoffmann #define REQUEST_SENSE 0x03 330d65e1f8SGerd Hoffmann #define FORMAT_UNIT 0x04 340d65e1f8SGerd Hoffmann #define READ_BLOCK_LIMITS 0x05 3540723a99SChristian Hoff #define INITIALIZE_ELEMENT_STATUS 0x07 360d65e1f8SGerd Hoffmann #define REASSIGN_BLOCKS 0x07 370d65e1f8SGerd Hoffmann #define READ_6 0x08 380d65e1f8SGerd Hoffmann #define WRITE_6 0x0a 3900a01ad4SPaolo Bonzini #define SET_CAPACITY 0x0b 400d65e1f8SGerd Hoffmann #define READ_REVERSE 0x0f 410d65e1f8SGerd Hoffmann #define WRITE_FILEMARKS 0x10 420d65e1f8SGerd Hoffmann #define SPACE 0x11 430d65e1f8SGerd Hoffmann #define INQUIRY 0x12 440d65e1f8SGerd Hoffmann #define RECOVER_BUFFERED_DATA 0x14 450d65e1f8SGerd Hoffmann #define MODE_SELECT 0x15 460d65e1f8SGerd Hoffmann #define RESERVE 0x16 470d65e1f8SGerd Hoffmann #define RELEASE 0x17 480d65e1f8SGerd Hoffmann #define COPY 0x18 490d65e1f8SGerd Hoffmann #define ERASE 0x19 500d65e1f8SGerd Hoffmann #define MODE_SENSE 0x1a 5115e58a21SChristian Hoff #define LOAD_UNLOAD 0x1b 52297b044aSJarkko Lavinen #define SCAN 0x1b 530d65e1f8SGerd Hoffmann #define START_STOP 0x1b 540d65e1f8SGerd Hoffmann #define RECEIVE_DIAGNOSTIC 0x1c 550d65e1f8SGerd Hoffmann #define SEND_DIAGNOSTIC 0x1d 560d65e1f8SGerd Hoffmann #define ALLOW_MEDIUM_REMOVAL 0x1e 57297b044aSJarkko Lavinen #define SET_WINDOW 0x24 585e30a07dSHannes Reinecke #define READ_CAPACITY_10 0x25 59297b044aSJarkko Lavinen #define GET_WINDOW 0x25 600d65e1f8SGerd Hoffmann #define READ_10 0x28 610d65e1f8SGerd Hoffmann #define WRITE_10 0x2a 62297b044aSJarkko Lavinen #define SEND 0x2a 630d65e1f8SGerd Hoffmann #define SEEK_10 0x2b 645e30a07dSHannes Reinecke #define LOCATE_10 0x2b 6540723a99SChristian Hoff #define POSITION_TO_ELEMENT 0x2b 665e30a07dSHannes Reinecke #define WRITE_VERIFY_10 0x2e 675e30a07dSHannes Reinecke #define VERIFY_10 0x2f 680d65e1f8SGerd Hoffmann #define SEARCH_HIGH 0x30 690d65e1f8SGerd Hoffmann #define SEARCH_EQUAL 0x31 70297b044aSJarkko Lavinen #define OBJECT_POSITION 0x31 710d65e1f8SGerd Hoffmann #define SEARCH_LOW 0x32 720d65e1f8SGerd Hoffmann #define SET_LIMITS 0x33 730d65e1f8SGerd Hoffmann #define PRE_FETCH 0x34 740d65e1f8SGerd Hoffmann #define READ_POSITION 0x34 75297b044aSJarkko Lavinen #define GET_DATA_BUFFER_STATUS 0x34 760d65e1f8SGerd Hoffmann #define SYNCHRONIZE_CACHE 0x35 770d65e1f8SGerd Hoffmann #define LOCK_UNLOCK_CACHE 0x36 7840723a99SChristian Hoff #define INITIALIZE_ELEMENT_STATUS_WITH_RANGE 0x37 790d65e1f8SGerd Hoffmann #define READ_DEFECT_DATA 0x37 800d65e1f8SGerd Hoffmann #define MEDIUM_SCAN 0x38 810d65e1f8SGerd Hoffmann #define COMPARE 0x39 820d65e1f8SGerd Hoffmann #define COPY_VERIFY 0x3a 830d65e1f8SGerd Hoffmann #define WRITE_BUFFER 0x3b 840d65e1f8SGerd Hoffmann #define READ_BUFFER 0x3c 850d65e1f8SGerd Hoffmann #define UPDATE_BLOCK 0x3d 865e30a07dSHannes Reinecke #define READ_LONG_10 0x3e 875e30a07dSHannes Reinecke #define WRITE_LONG_10 0x3f 880d65e1f8SGerd Hoffmann #define CHANGE_DEFINITION 0x40 895e30a07dSHannes Reinecke #define WRITE_SAME_10 0x41 905e30a07dSHannes Reinecke #define UNMAP 0x42 910d65e1f8SGerd Hoffmann #define READ_TOC 0x43 925e30a07dSHannes Reinecke #define REPORT_DENSITY_SUPPORT 0x44 935e30a07dSHannes Reinecke #define GET_CONFIGURATION 0x46 943e46d87dSPaolo Bonzini #define SANITIZE 0x48 956dc06f08SPaolo Bonzini #define GET_EVENT_STATUS_NOTIFICATION 0x4a 960d65e1f8SGerd Hoffmann #define LOG_SELECT 0x4c 970d65e1f8SGerd Hoffmann #define LOG_SENSE 0x4d 981a4f0c3aSPaolo Bonzini #define READ_DISC_INFORMATION 0x51 9900a01ad4SPaolo Bonzini #define RESERVE_TRACK 0x53 1000d65e1f8SGerd Hoffmann #define MODE_SELECT_10 0x55 1010d65e1f8SGerd Hoffmann #define RESERVE_10 0x56 1020d65e1f8SGerd Hoffmann #define RELEASE_10 0x57 1030d65e1f8SGerd Hoffmann #define MODE_SENSE_10 0x5a 10400a01ad4SPaolo Bonzini #define SEND_CUE_SHEET 0x5d 1050d65e1f8SGerd Hoffmann #define PERSISTENT_RESERVE_IN 0x5e 1060d65e1f8SGerd Hoffmann #define PERSISTENT_RESERVE_OUT 0x5f 1075e30a07dSHannes Reinecke #define VARLENGTH_CDB 0x7f 1085e30a07dSHannes Reinecke #define WRITE_FILEMARKS_16 0x80 109065c2599SPaolo Bonzini #define READ_REVERSE_16 0x81 11000a01ad4SPaolo Bonzini #define ALLOW_OVERWRITE 0x82 1115e30a07dSHannes Reinecke #define EXTENDED_COPY 0x83 112e4b65262SCong Meng #define ATA_PASSTHROUGH_16 0x85 1135e30a07dSHannes Reinecke #define ACCESS_CONTROL_IN 0x86 1145e30a07dSHannes Reinecke #define ACCESS_CONTROL_OUT 0x87 1155e30a07dSHannes Reinecke #define READ_16 0x88 1165e30a07dSHannes Reinecke #define COMPARE_AND_WRITE 0x89 1175e30a07dSHannes Reinecke #define WRITE_16 0x8a 1185e30a07dSHannes Reinecke #define WRITE_VERIFY_16 0x8e 1195e30a07dSHannes Reinecke #define VERIFY_16 0x8f 12000a01ad4SPaolo Bonzini #define PRE_FETCH_16 0x90 12100a01ad4SPaolo Bonzini #define SPACE_16 0x91 1225e30a07dSHannes Reinecke #define SYNCHRONIZE_CACHE_16 0x91 1235e30a07dSHannes Reinecke #define LOCATE_16 0x92 124ea3bd56fSChristoph Hellwig #define WRITE_SAME_16 0x93 1255e30a07dSHannes Reinecke #define ERASE_16 0x93 126f6515262SPaolo Bonzini #define SERVICE_ACTION_IN_16 0x9e 1275e30a07dSHannes Reinecke #define WRITE_LONG_16 0x9f 1285e30a07dSHannes Reinecke #define REPORT_LUNS 0xa0 129e4b65262SCong Meng #define ATA_PASSTHROUGH_12 0xa1 130c7126d5bSNicholas Bellinger #define MAINTENANCE_IN 0xa3 131c7126d5bSNicholas Bellinger #define MAINTENANCE_OUT 0xa4 1320d65e1f8SGerd Hoffmann #define MOVE_MEDIUM 0xa5 13340723a99SChristian Hoff #define EXCHANGE_MEDIUM 0xa6 13400a01ad4SPaolo Bonzini #define SET_READ_AHEAD 0xa7 1350d65e1f8SGerd Hoffmann #define READ_12 0xa8 1360d65e1f8SGerd Hoffmann #define WRITE_12 0xaa 137f6515262SPaolo Bonzini #define SERVICE_ACTION_IN_12 0xab 13800a01ad4SPaolo Bonzini #define ERASE_12 0xac 139b6c251abSPaolo Bonzini #define READ_DVD_STRUCTURE 0xad 1400d65e1f8SGerd Hoffmann #define WRITE_VERIFY_12 0xae 1415e30a07dSHannes Reinecke #define VERIFY_12 0xaf 1420d65e1f8SGerd Hoffmann #define SEARCH_HIGH_12 0xb0 1430d65e1f8SGerd Hoffmann #define SEARCH_EQUAL_12 0xb1 1440d65e1f8SGerd Hoffmann #define SEARCH_LOW_12 0xb2 1450d65e1f8SGerd Hoffmann #define READ_ELEMENT_STATUS 0xb8 1460d65e1f8SGerd Hoffmann #define SEND_VOLUME_TAG 0xb6 1475e30a07dSHannes Reinecke #define READ_DEFECT_DATA_12 0xb7 1480d65e1f8SGerd Hoffmann #define SET_CD_SPEED 0xbb 149b6c251abSPaolo Bonzini #define MECHANISM_STATUS 0xbd 150b6c251abSPaolo Bonzini #define READ_CD 0xbe 15100a01ad4SPaolo Bonzini #define SEND_DVD_STRUCTURE 0xbf 1520d65e1f8SGerd Hoffmann 1530d65e1f8SGerd Hoffmann /* 154f6515262SPaolo Bonzini * SERVICE ACTION IN subcodes 155f6515262SPaolo Bonzini */ 156f6515262SPaolo Bonzini #define SAI_READ_CAPACITY_16 0x10 157f6515262SPaolo Bonzini 158f6515262SPaolo Bonzini /* 1599ce1bb2dSChristian Hoff * READ POSITION service action codes 1609ce1bb2dSChristian Hoff */ 1619ce1bb2dSChristian Hoff #define SHORT_FORM_BLOCK_ID 0x00 1629ce1bb2dSChristian Hoff #define SHORT_FORM_VENDOR_SPECIFIC 0x01 1639ce1bb2dSChristian Hoff #define LONG_FORM 0x06 1649ce1bb2dSChristian Hoff #define EXTENDED_FORM 0x08 1659ce1bb2dSChristian Hoff 1669ce1bb2dSChristian Hoff /* 167f0171327SHannes Reinecke * SAM Status codes 1680d65e1f8SGerd Hoffmann */ 1690d65e1f8SGerd Hoffmann 1700d65e1f8SGerd Hoffmann #define GOOD 0x00 171f0171327SHannes Reinecke #define CHECK_CONDITION 0x02 172f0171327SHannes Reinecke #define CONDITION_GOOD 0x04 173f0171327SHannes Reinecke #define BUSY 0x08 174f0171327SHannes Reinecke #define INTERMEDIATE_GOOD 0x10 175f0171327SHannes Reinecke #define INTERMEDIATE_C_GOOD 0x14 176f0171327SHannes Reinecke #define RESERVATION_CONFLICT 0x18 177f0171327SHannes Reinecke #define COMMAND_TERMINATED 0x22 178f0171327SHannes Reinecke #define TASK_SET_FULL 0x28 179f0171327SHannes Reinecke #define ACA_ACTIVE 0x30 180f0171327SHannes Reinecke #define TASK_ABORTED 0x40 1810d65e1f8SGerd Hoffmann 1820d65e1f8SGerd Hoffmann #define STATUS_MASK 0x3e 1830d65e1f8SGerd Hoffmann 1840d65e1f8SGerd Hoffmann /* 1850d65e1f8SGerd Hoffmann * SENSE KEYS 1860d65e1f8SGerd Hoffmann */ 1870d65e1f8SGerd Hoffmann 1880d65e1f8SGerd Hoffmann #define NO_SENSE 0x00 1890d65e1f8SGerd Hoffmann #define RECOVERED_ERROR 0x01 1900d65e1f8SGerd Hoffmann #define NOT_READY 0x02 1910d65e1f8SGerd Hoffmann #define MEDIUM_ERROR 0x03 1920d65e1f8SGerd Hoffmann #define HARDWARE_ERROR 0x04 1930d65e1f8SGerd Hoffmann #define ILLEGAL_REQUEST 0x05 1940d65e1f8SGerd Hoffmann #define UNIT_ATTENTION 0x06 1950d65e1f8SGerd Hoffmann #define DATA_PROTECT 0x07 1960d65e1f8SGerd Hoffmann #define BLANK_CHECK 0x08 1970d65e1f8SGerd Hoffmann #define COPY_ABORTED 0x0a 1980d65e1f8SGerd Hoffmann #define ABORTED_COMMAND 0x0b 1990d65e1f8SGerd Hoffmann #define VOLUME_OVERFLOW 0x0d 2000d65e1f8SGerd Hoffmann #define MISCOMPARE 0x0e 2010d65e1f8SGerd Hoffmann 2020d65e1f8SGerd Hoffmann 2030d65e1f8SGerd Hoffmann /* 2040d65e1f8SGerd Hoffmann * DEVICE TYPES 2050d65e1f8SGerd Hoffmann */ 2060d65e1f8SGerd Hoffmann 2070d65e1f8SGerd Hoffmann #define TYPE_DISK 0x00 2080d65e1f8SGerd Hoffmann #define TYPE_TAPE 0x01 209f37bd73bSHannes Reinecke #define TYPE_PRINTER 0x02 2100d65e1f8SGerd Hoffmann #define TYPE_PROCESSOR 0x03 /* HP scanners use this */ 2110d65e1f8SGerd Hoffmann #define TYPE_WORM 0x04 /* Treated as ROM by our system */ 2120d65e1f8SGerd Hoffmann #define TYPE_ROM 0x05 2130d65e1f8SGerd Hoffmann #define TYPE_SCANNER 0x06 2140d65e1f8SGerd Hoffmann #define TYPE_MOD 0x07 /* Magneto-optical disk - 2150d65e1f8SGerd Hoffmann * - treated as TYPE_DISK */ 2160d65e1f8SGerd Hoffmann #define TYPE_MEDIUM_CHANGER 0x08 217f37bd73bSHannes Reinecke #define TYPE_STORAGE_ARRAY 0x0c /* Storage array device */ 2180d65e1f8SGerd Hoffmann #define TYPE_ENCLOSURE 0x0d /* Enclosure Services Device */ 219f37bd73bSHannes Reinecke #define TYPE_RBC 0x0e /* Simplified Direct-Access Device */ 220f37bd73bSHannes Reinecke #define TYPE_OSD 0x11 /* Object-storage Device */ 221afff2db6SDmitry Fomichev #define TYPE_ZBC 0x14 /* Host-managed Zoned SCSI Device */ 222fdaef069SPaolo Bonzini #define TYPE_WLUN 0x1e /* Well known LUN */ 223fdaef069SPaolo Bonzini #define TYPE_NOT_PRESENT 0x1f 224fdaef069SPaolo Bonzini #define TYPE_INACTIVE 0x20 2250d65e1f8SGerd Hoffmann #define TYPE_NO_LUN 0x7f 2260d65e1f8SGerd Hoffmann 22767cc61e4SPaolo Bonzini /* Mode page codes for mode sense/set */ 22809274de1SMark Cave-Ayland #define MODE_PAGE_VENDOR_SPECIFIC 0x00 22967cc61e4SPaolo Bonzini #define MODE_PAGE_R_W_ERROR 0x01 23067cc61e4SPaolo Bonzini #define MODE_PAGE_HD_GEOMETRY 0x04 23167cc61e4SPaolo Bonzini #define MODE_PAGE_FLEXIBLE_DISK_GEOMETRY 0x05 23267cc61e4SPaolo Bonzini #define MODE_PAGE_CACHING 0x08 23367cc61e4SPaolo Bonzini #define MODE_PAGE_AUDIO_CTL 0x0e 234*2a8b36a4SJeuk Kim #define MODE_PAGE_CONTROL 0x0a 23567cc61e4SPaolo Bonzini #define MODE_PAGE_POWER 0x1a 23667cc61e4SPaolo Bonzini #define MODE_PAGE_FAULT_FAIL 0x1c 23767cc61e4SPaolo Bonzini #define MODE_PAGE_TO_PROTECT 0x1d 23867cc61e4SPaolo Bonzini #define MODE_PAGE_CAPABILITIES 0x2a 23909d37867SMark Cave-Ayland #define MODE_PAGE_APPLE_VENDOR 0x30 24067cc61e4SPaolo Bonzini #define MODE_PAGE_ALLS 0x3f 24167cc32ebSVeres Lajos /* Not in Mt. Fuji, but in ATAPI 2.6 -- deprecated now in favor 24267cc61e4SPaolo Bonzini * of MODE_PAGE_SENSE_POWER */ 24367cc61e4SPaolo Bonzini #define MODE_PAGE_CDROM 0x0d 24467cc61e4SPaolo Bonzini 245f0f992e6SPaolo Bonzini /* Event notification classes for GET EVENT STATUS NOTIFICATION */ 246f0f992e6SPaolo Bonzini #define GESN_NO_EVENTS 0 247f0f992e6SPaolo Bonzini #define GESN_OPERATIONAL_CHANGE 1 248f0f992e6SPaolo Bonzini #define GESN_POWER_MANAGEMENT 2 249f0f992e6SPaolo Bonzini #define GESN_EXTERNAL_REQUEST 3 250f0f992e6SPaolo Bonzini #define GESN_MEDIA 4 251f0f992e6SPaolo Bonzini #define GESN_MULTIPLE_HOSTS 5 252f0f992e6SPaolo Bonzini #define GESN_DEVICE_BUSY 6 253f0f992e6SPaolo Bonzini 254f0f992e6SPaolo Bonzini /* Event codes for MEDIA event status notification */ 255f0f992e6SPaolo Bonzini #define MEC_NO_CHANGE 0 256f0f992e6SPaolo Bonzini #define MEC_EJECT_REQUESTED 1 257f0f992e6SPaolo Bonzini #define MEC_NEW_MEDIA 2 258f0f992e6SPaolo Bonzini #define MEC_MEDIA_REMOVAL 3 /* only for media changers */ 259f0f992e6SPaolo Bonzini #define MEC_MEDIA_CHANGED 4 /* only for media changers */ 260f0f992e6SPaolo Bonzini #define MEC_BG_FORMAT_COMPLETED 5 /* MRW or DVD+RW b/g format completed */ 261f0f992e6SPaolo Bonzini #define MEC_BG_FORMAT_RESTARTED 6 /* MRW or DVD+RW b/g format restarted */ 262f0f992e6SPaolo Bonzini 263f0f992e6SPaolo Bonzini #define MS_TRAY_OPEN 1 264f0f992e6SPaolo Bonzini #define MS_MEDIA_PRESENT 2 265f0f992e6SPaolo Bonzini 26667cc61e4SPaolo Bonzini /* 26767cc61e4SPaolo Bonzini * Based on values from <linux/cdrom.h> but extending CD_MINS 26867cc61e4SPaolo Bonzini * to the maximum common size allowed by the Orange's Book ATIP 26967cc61e4SPaolo Bonzini * 27067cc61e4SPaolo Bonzini * 90 and 99 min CDs are also available but using them as the 27167cc61e4SPaolo Bonzini * upper limit reduces the effectiveness of the heuristic to 27267cc61e4SPaolo Bonzini * detect DVDs burned to less than 25% of their maximum capacity 27367cc61e4SPaolo Bonzini */ 27467cc61e4SPaolo Bonzini 27567cc61e4SPaolo Bonzini /* Some generally useful CD-ROM information */ 27667cc61e4SPaolo Bonzini #define CD_MINS 80 /* max. minutes per CD */ 27767cc61e4SPaolo Bonzini #define CD_SECS 60 /* seconds per minute */ 27867cc61e4SPaolo Bonzini #define CD_FRAMES 75 /* frames per second */ 27967cc61e4SPaolo Bonzini #define CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */ 28067cc61e4SPaolo Bonzini #define CD_MAX_BYTES (CD_MINS * CD_SECS * CD_FRAMES * CD_FRAMESIZE) 28167cc61e4SPaolo Bonzini #define CD_MAX_SECTORS (CD_MAX_BYTES / 512) 28267cc61e4SPaolo Bonzini 28367cc61e4SPaolo Bonzini /* 28467cc61e4SPaolo Bonzini * The MMC values are not IDE specific and might need to be moved 28567cc61e4SPaolo Bonzini * to a common header if they are also needed for the SCSI emulation 28667cc61e4SPaolo Bonzini */ 28767cc61e4SPaolo Bonzini 28867cc61e4SPaolo Bonzini /* Profile list from MMC-6 revision 1 table 91 */ 28967cc61e4SPaolo Bonzini #define MMC_PROFILE_NONE 0x0000 29067cc61e4SPaolo Bonzini #define MMC_PROFILE_CD_ROM 0x0008 29167cc61e4SPaolo Bonzini #define MMC_PROFILE_CD_R 0x0009 29267cc61e4SPaolo Bonzini #define MMC_PROFILE_CD_RW 0x000A 29367cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_ROM 0x0010 29467cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_R_SR 0x0011 29567cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_RAM 0x0012 29667cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_RW_RO 0x0013 29767cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_RW_SR 0x0014 29867cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_R_DL_SR 0x0015 29967cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_R_DL_JR 0x0016 30067cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_RW_DL 0x0017 30167cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_DDR 0x0018 30267cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_PLUS_RW 0x001A 30367cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_PLUS_R 0x001B 30467cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_PLUS_RW_DL 0x002A 30567cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_PLUS_R_DL 0x002B 30667cc61e4SPaolo Bonzini #define MMC_PROFILE_BD_ROM 0x0040 30767cc61e4SPaolo Bonzini #define MMC_PROFILE_BD_R_SRM 0x0041 30867cc61e4SPaolo Bonzini #define MMC_PROFILE_BD_R_RRM 0x0042 30967cc61e4SPaolo Bonzini #define MMC_PROFILE_BD_RE 0x0043 31067cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_ROM 0x0050 31167cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_R 0x0051 31267cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_RAM 0x0052 31367cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_RW 0x0053 31467cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_R_DL 0x0058 31567cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_RW_DL 0x005A 31667cc61e4SPaolo Bonzini #define MMC_PROFILE_INVALID 0xFFFF 317cb9c377fSPaolo Bonzini 318604dfaaaSFam Zheng #define XCOPY_DESC_OFFSET 16 319604dfaaaSFam Zheng #define IDENT_DESCR_TGT_DESCR_SIZE 32 320604dfaaaSFam Zheng #define XCOPY_BLK2BLK_SEG_DESC_SIZE 28 321604dfaaaSFam Zheng 322cb9c377fSPaolo Bonzini #endif 323