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 23121d0712SMarkus Armbruster #ifndef BLOCK_SCSI_H 24121d0712SMarkus Armbruster #define BLOCK_SCSI_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 520d65e1f8SGerd Hoffmann #define START_STOP 0x1b 530d65e1f8SGerd Hoffmann #define RECEIVE_DIAGNOSTIC 0x1c 540d65e1f8SGerd Hoffmann #define SEND_DIAGNOSTIC 0x1d 550d65e1f8SGerd Hoffmann #define ALLOW_MEDIUM_REMOVAL 0x1e 565e30a07dSHannes Reinecke #define READ_CAPACITY_10 0x25 570d65e1f8SGerd Hoffmann #define READ_10 0x28 580d65e1f8SGerd Hoffmann #define WRITE_10 0x2a 590d65e1f8SGerd Hoffmann #define SEEK_10 0x2b 605e30a07dSHannes Reinecke #define LOCATE_10 0x2b 6140723a99SChristian Hoff #define POSITION_TO_ELEMENT 0x2b 625e30a07dSHannes Reinecke #define WRITE_VERIFY_10 0x2e 635e30a07dSHannes Reinecke #define VERIFY_10 0x2f 640d65e1f8SGerd Hoffmann #define SEARCH_HIGH 0x30 650d65e1f8SGerd Hoffmann #define SEARCH_EQUAL 0x31 660d65e1f8SGerd Hoffmann #define SEARCH_LOW 0x32 670d65e1f8SGerd Hoffmann #define SET_LIMITS 0x33 680d65e1f8SGerd Hoffmann #define PRE_FETCH 0x34 690d65e1f8SGerd Hoffmann #define READ_POSITION 0x34 700d65e1f8SGerd Hoffmann #define SYNCHRONIZE_CACHE 0x35 710d65e1f8SGerd Hoffmann #define LOCK_UNLOCK_CACHE 0x36 7240723a99SChristian Hoff #define INITIALIZE_ELEMENT_STATUS_WITH_RANGE 0x37 730d65e1f8SGerd Hoffmann #define READ_DEFECT_DATA 0x37 740d65e1f8SGerd Hoffmann #define MEDIUM_SCAN 0x38 750d65e1f8SGerd Hoffmann #define COMPARE 0x39 760d65e1f8SGerd Hoffmann #define COPY_VERIFY 0x3a 770d65e1f8SGerd Hoffmann #define WRITE_BUFFER 0x3b 780d65e1f8SGerd Hoffmann #define READ_BUFFER 0x3c 790d65e1f8SGerd Hoffmann #define UPDATE_BLOCK 0x3d 805e30a07dSHannes Reinecke #define READ_LONG_10 0x3e 815e30a07dSHannes Reinecke #define WRITE_LONG_10 0x3f 820d65e1f8SGerd Hoffmann #define CHANGE_DEFINITION 0x40 835e30a07dSHannes Reinecke #define WRITE_SAME_10 0x41 845e30a07dSHannes Reinecke #define UNMAP 0x42 850d65e1f8SGerd Hoffmann #define READ_TOC 0x43 865e30a07dSHannes Reinecke #define REPORT_DENSITY_SUPPORT 0x44 875e30a07dSHannes Reinecke #define GET_CONFIGURATION 0x46 883e46d87dSPaolo Bonzini #define SANITIZE 0x48 896dc06f08SPaolo Bonzini #define GET_EVENT_STATUS_NOTIFICATION 0x4a 900d65e1f8SGerd Hoffmann #define LOG_SELECT 0x4c 910d65e1f8SGerd Hoffmann #define LOG_SENSE 0x4d 921a4f0c3aSPaolo Bonzini #define READ_DISC_INFORMATION 0x51 9300a01ad4SPaolo Bonzini #define RESERVE_TRACK 0x53 940d65e1f8SGerd Hoffmann #define MODE_SELECT_10 0x55 950d65e1f8SGerd Hoffmann #define RESERVE_10 0x56 960d65e1f8SGerd Hoffmann #define RELEASE_10 0x57 970d65e1f8SGerd Hoffmann #define MODE_SENSE_10 0x5a 9800a01ad4SPaolo Bonzini #define SEND_CUE_SHEET 0x5d 990d65e1f8SGerd Hoffmann #define PERSISTENT_RESERVE_IN 0x5e 1000d65e1f8SGerd Hoffmann #define PERSISTENT_RESERVE_OUT 0x5f 1015e30a07dSHannes Reinecke #define VARLENGTH_CDB 0x7f 1025e30a07dSHannes Reinecke #define WRITE_FILEMARKS_16 0x80 103065c2599SPaolo Bonzini #define READ_REVERSE_16 0x81 10400a01ad4SPaolo Bonzini #define ALLOW_OVERWRITE 0x82 1055e30a07dSHannes Reinecke #define EXTENDED_COPY 0x83 106e4b65262SCong Meng #define ATA_PASSTHROUGH_16 0x85 1075e30a07dSHannes Reinecke #define ACCESS_CONTROL_IN 0x86 1085e30a07dSHannes Reinecke #define ACCESS_CONTROL_OUT 0x87 1095e30a07dSHannes Reinecke #define READ_16 0x88 1105e30a07dSHannes Reinecke #define COMPARE_AND_WRITE 0x89 1115e30a07dSHannes Reinecke #define WRITE_16 0x8a 1125e30a07dSHannes Reinecke #define WRITE_VERIFY_16 0x8e 1135e30a07dSHannes Reinecke #define VERIFY_16 0x8f 11400a01ad4SPaolo Bonzini #define PRE_FETCH_16 0x90 11500a01ad4SPaolo Bonzini #define SPACE_16 0x91 1165e30a07dSHannes Reinecke #define SYNCHRONIZE_CACHE_16 0x91 1175e30a07dSHannes Reinecke #define LOCATE_16 0x92 118ea3bd56fSChristoph Hellwig #define WRITE_SAME_16 0x93 1195e30a07dSHannes Reinecke #define ERASE_16 0x93 120f6515262SPaolo Bonzini #define SERVICE_ACTION_IN_16 0x9e 1215e30a07dSHannes Reinecke #define WRITE_LONG_16 0x9f 1225e30a07dSHannes Reinecke #define REPORT_LUNS 0xa0 123e4b65262SCong Meng #define ATA_PASSTHROUGH_12 0xa1 124c7126d5bSNicholas Bellinger #define MAINTENANCE_IN 0xa3 125c7126d5bSNicholas Bellinger #define MAINTENANCE_OUT 0xa4 1260d65e1f8SGerd Hoffmann #define MOVE_MEDIUM 0xa5 12740723a99SChristian Hoff #define EXCHANGE_MEDIUM 0xa6 12800a01ad4SPaolo Bonzini #define SET_READ_AHEAD 0xa7 1290d65e1f8SGerd Hoffmann #define READ_12 0xa8 1300d65e1f8SGerd Hoffmann #define WRITE_12 0xaa 131f6515262SPaolo Bonzini #define SERVICE_ACTION_IN_12 0xab 13200a01ad4SPaolo Bonzini #define ERASE_12 0xac 133b6c251abSPaolo Bonzini #define READ_DVD_STRUCTURE 0xad 1340d65e1f8SGerd Hoffmann #define WRITE_VERIFY_12 0xae 1355e30a07dSHannes Reinecke #define VERIFY_12 0xaf 1360d65e1f8SGerd Hoffmann #define SEARCH_HIGH_12 0xb0 1370d65e1f8SGerd Hoffmann #define SEARCH_EQUAL_12 0xb1 1380d65e1f8SGerd Hoffmann #define SEARCH_LOW_12 0xb2 1390d65e1f8SGerd Hoffmann #define READ_ELEMENT_STATUS 0xb8 1400d65e1f8SGerd Hoffmann #define SEND_VOLUME_TAG 0xb6 1415e30a07dSHannes Reinecke #define READ_DEFECT_DATA_12 0xb7 1420d65e1f8SGerd Hoffmann #define SET_CD_SPEED 0xbb 143b6c251abSPaolo Bonzini #define MECHANISM_STATUS 0xbd 144b6c251abSPaolo Bonzini #define READ_CD 0xbe 14500a01ad4SPaolo Bonzini #define SEND_DVD_STRUCTURE 0xbf 1460d65e1f8SGerd Hoffmann 147b9e77bc7SAlexey Kardashevskiy const char *scsi_command_name(uint8_t cmd); 148b9e77bc7SAlexey Kardashevskiy 1490d65e1f8SGerd Hoffmann /* 150f6515262SPaolo Bonzini * SERVICE ACTION IN subcodes 151f6515262SPaolo Bonzini */ 152f6515262SPaolo Bonzini #define SAI_READ_CAPACITY_16 0x10 153f6515262SPaolo Bonzini 154f6515262SPaolo Bonzini /* 1559ce1bb2dSChristian Hoff * READ POSITION service action codes 1569ce1bb2dSChristian Hoff */ 1579ce1bb2dSChristian Hoff #define SHORT_FORM_BLOCK_ID 0x00 1589ce1bb2dSChristian Hoff #define SHORT_FORM_VENDOR_SPECIFIC 0x01 1599ce1bb2dSChristian Hoff #define LONG_FORM 0x06 1609ce1bb2dSChristian Hoff #define EXTENDED_FORM 0x08 1619ce1bb2dSChristian Hoff 1629ce1bb2dSChristian Hoff /* 163f0171327SHannes Reinecke * SAM Status codes 1640d65e1f8SGerd Hoffmann */ 1650d65e1f8SGerd Hoffmann 1660d65e1f8SGerd Hoffmann #define GOOD 0x00 167f0171327SHannes Reinecke #define CHECK_CONDITION 0x02 168f0171327SHannes Reinecke #define CONDITION_GOOD 0x04 169f0171327SHannes Reinecke #define BUSY 0x08 170f0171327SHannes Reinecke #define INTERMEDIATE_GOOD 0x10 171f0171327SHannes Reinecke #define INTERMEDIATE_C_GOOD 0x14 172f0171327SHannes Reinecke #define RESERVATION_CONFLICT 0x18 173f0171327SHannes Reinecke #define COMMAND_TERMINATED 0x22 174f0171327SHannes Reinecke #define TASK_SET_FULL 0x28 175f0171327SHannes Reinecke #define ACA_ACTIVE 0x30 176f0171327SHannes Reinecke #define TASK_ABORTED 0x40 1770d65e1f8SGerd Hoffmann 1780d65e1f8SGerd Hoffmann #define STATUS_MASK 0x3e 1790d65e1f8SGerd Hoffmann 1800d65e1f8SGerd Hoffmann /* 1810d65e1f8SGerd Hoffmann * SENSE KEYS 1820d65e1f8SGerd Hoffmann */ 1830d65e1f8SGerd Hoffmann 1840d65e1f8SGerd Hoffmann #define NO_SENSE 0x00 1850d65e1f8SGerd Hoffmann #define RECOVERED_ERROR 0x01 1860d65e1f8SGerd Hoffmann #define NOT_READY 0x02 1870d65e1f8SGerd Hoffmann #define MEDIUM_ERROR 0x03 1880d65e1f8SGerd Hoffmann #define HARDWARE_ERROR 0x04 1890d65e1f8SGerd Hoffmann #define ILLEGAL_REQUEST 0x05 1900d65e1f8SGerd Hoffmann #define UNIT_ATTENTION 0x06 1910d65e1f8SGerd Hoffmann #define DATA_PROTECT 0x07 1920d65e1f8SGerd Hoffmann #define BLANK_CHECK 0x08 1930d65e1f8SGerd Hoffmann #define COPY_ABORTED 0x0a 1940d65e1f8SGerd Hoffmann #define ABORTED_COMMAND 0x0b 1950d65e1f8SGerd Hoffmann #define VOLUME_OVERFLOW 0x0d 1960d65e1f8SGerd Hoffmann #define MISCOMPARE 0x0e 1970d65e1f8SGerd Hoffmann 1980d65e1f8SGerd Hoffmann 1990d65e1f8SGerd Hoffmann /* 2000d65e1f8SGerd Hoffmann * DEVICE TYPES 2010d65e1f8SGerd Hoffmann */ 2020d65e1f8SGerd Hoffmann 2030d65e1f8SGerd Hoffmann #define TYPE_DISK 0x00 2040d65e1f8SGerd Hoffmann #define TYPE_TAPE 0x01 205f37bd73bSHannes Reinecke #define TYPE_PRINTER 0x02 2060d65e1f8SGerd Hoffmann #define TYPE_PROCESSOR 0x03 /* HP scanners use this */ 2070d65e1f8SGerd Hoffmann #define TYPE_WORM 0x04 /* Treated as ROM by our system */ 2080d65e1f8SGerd Hoffmann #define TYPE_ROM 0x05 2090d65e1f8SGerd Hoffmann #define TYPE_SCANNER 0x06 2100d65e1f8SGerd Hoffmann #define TYPE_MOD 0x07 /* Magneto-optical disk - 2110d65e1f8SGerd Hoffmann * - treated as TYPE_DISK */ 2120d65e1f8SGerd Hoffmann #define TYPE_MEDIUM_CHANGER 0x08 213f37bd73bSHannes Reinecke #define TYPE_STORAGE_ARRAY 0x0c /* Storage array device */ 2140d65e1f8SGerd Hoffmann #define TYPE_ENCLOSURE 0x0d /* Enclosure Services Device */ 215f37bd73bSHannes Reinecke #define TYPE_RBC 0x0e /* Simplified Direct-Access Device */ 216f37bd73bSHannes Reinecke #define TYPE_OSD 0x11 /* Object-storage Device */ 217fdaef069SPaolo Bonzini #define TYPE_WLUN 0x1e /* Well known LUN */ 218fdaef069SPaolo Bonzini #define TYPE_NOT_PRESENT 0x1f 219fdaef069SPaolo Bonzini #define TYPE_INACTIVE 0x20 2200d65e1f8SGerd Hoffmann #define TYPE_NO_LUN 0x7f 2210d65e1f8SGerd Hoffmann 22267cc61e4SPaolo Bonzini /* Mode page codes for mode sense/set */ 22367cc61e4SPaolo Bonzini #define MODE_PAGE_R_W_ERROR 0x01 22467cc61e4SPaolo Bonzini #define MODE_PAGE_HD_GEOMETRY 0x04 22567cc61e4SPaolo Bonzini #define MODE_PAGE_FLEXIBLE_DISK_GEOMETRY 0x05 22667cc61e4SPaolo Bonzini #define MODE_PAGE_CACHING 0x08 22767cc61e4SPaolo Bonzini #define MODE_PAGE_AUDIO_CTL 0x0e 22867cc61e4SPaolo Bonzini #define MODE_PAGE_POWER 0x1a 22967cc61e4SPaolo Bonzini #define MODE_PAGE_FAULT_FAIL 0x1c 23067cc61e4SPaolo Bonzini #define MODE_PAGE_TO_PROTECT 0x1d 23167cc61e4SPaolo Bonzini #define MODE_PAGE_CAPABILITIES 0x2a 23267cc61e4SPaolo Bonzini #define MODE_PAGE_ALLS 0x3f 23367cc32ebSVeres Lajos /* Not in Mt. Fuji, but in ATAPI 2.6 -- deprecated now in favor 23467cc61e4SPaolo Bonzini * of MODE_PAGE_SENSE_POWER */ 23567cc61e4SPaolo Bonzini #define MODE_PAGE_CDROM 0x0d 23667cc61e4SPaolo Bonzini 237f0f992e6SPaolo Bonzini /* Event notification classes for GET EVENT STATUS NOTIFICATION */ 238f0f992e6SPaolo Bonzini #define GESN_NO_EVENTS 0 239f0f992e6SPaolo Bonzini #define GESN_OPERATIONAL_CHANGE 1 240f0f992e6SPaolo Bonzini #define GESN_POWER_MANAGEMENT 2 241f0f992e6SPaolo Bonzini #define GESN_EXTERNAL_REQUEST 3 242f0f992e6SPaolo Bonzini #define GESN_MEDIA 4 243f0f992e6SPaolo Bonzini #define GESN_MULTIPLE_HOSTS 5 244f0f992e6SPaolo Bonzini #define GESN_DEVICE_BUSY 6 245f0f992e6SPaolo Bonzini 246f0f992e6SPaolo Bonzini /* Event codes for MEDIA event status notification */ 247f0f992e6SPaolo Bonzini #define MEC_NO_CHANGE 0 248f0f992e6SPaolo Bonzini #define MEC_EJECT_REQUESTED 1 249f0f992e6SPaolo Bonzini #define MEC_NEW_MEDIA 2 250f0f992e6SPaolo Bonzini #define MEC_MEDIA_REMOVAL 3 /* only for media changers */ 251f0f992e6SPaolo Bonzini #define MEC_MEDIA_CHANGED 4 /* only for media changers */ 252f0f992e6SPaolo Bonzini #define MEC_BG_FORMAT_COMPLETED 5 /* MRW or DVD+RW b/g format completed */ 253f0f992e6SPaolo Bonzini #define MEC_BG_FORMAT_RESTARTED 6 /* MRW or DVD+RW b/g format restarted */ 254f0f992e6SPaolo Bonzini 255f0f992e6SPaolo Bonzini #define MS_TRAY_OPEN 1 256f0f992e6SPaolo Bonzini #define MS_MEDIA_PRESENT 2 257f0f992e6SPaolo Bonzini 25867cc61e4SPaolo Bonzini /* 25967cc61e4SPaolo Bonzini * Based on values from <linux/cdrom.h> but extending CD_MINS 26067cc61e4SPaolo Bonzini * to the maximum common size allowed by the Orange's Book ATIP 26167cc61e4SPaolo Bonzini * 26267cc61e4SPaolo Bonzini * 90 and 99 min CDs are also available but using them as the 26367cc61e4SPaolo Bonzini * upper limit reduces the effectiveness of the heuristic to 26467cc61e4SPaolo Bonzini * detect DVDs burned to less than 25% of their maximum capacity 26567cc61e4SPaolo Bonzini */ 26667cc61e4SPaolo Bonzini 26767cc61e4SPaolo Bonzini /* Some generally useful CD-ROM information */ 26867cc61e4SPaolo Bonzini #define CD_MINS 80 /* max. minutes per CD */ 26967cc61e4SPaolo Bonzini #define CD_SECS 60 /* seconds per minute */ 27067cc61e4SPaolo Bonzini #define CD_FRAMES 75 /* frames per second */ 27167cc61e4SPaolo Bonzini #define CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */ 27267cc61e4SPaolo Bonzini #define CD_MAX_BYTES (CD_MINS * CD_SECS * CD_FRAMES * CD_FRAMESIZE) 27367cc61e4SPaolo Bonzini #define CD_MAX_SECTORS (CD_MAX_BYTES / 512) 27467cc61e4SPaolo Bonzini 27567cc61e4SPaolo Bonzini /* 27667cc61e4SPaolo Bonzini * The MMC values are not IDE specific and might need to be moved 27767cc61e4SPaolo Bonzini * to a common header if they are also needed for the SCSI emulation 27867cc61e4SPaolo Bonzini */ 27967cc61e4SPaolo Bonzini 28067cc61e4SPaolo Bonzini /* Profile list from MMC-6 revision 1 table 91 */ 28167cc61e4SPaolo Bonzini #define MMC_PROFILE_NONE 0x0000 28267cc61e4SPaolo Bonzini #define MMC_PROFILE_CD_ROM 0x0008 28367cc61e4SPaolo Bonzini #define MMC_PROFILE_CD_R 0x0009 28467cc61e4SPaolo Bonzini #define MMC_PROFILE_CD_RW 0x000A 28567cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_ROM 0x0010 28667cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_R_SR 0x0011 28767cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_RAM 0x0012 28867cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_RW_RO 0x0013 28967cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_RW_SR 0x0014 29067cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_R_DL_SR 0x0015 29167cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_R_DL_JR 0x0016 29267cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_RW_DL 0x0017 29367cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_DDR 0x0018 29467cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_PLUS_RW 0x001A 29567cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_PLUS_R 0x001B 29667cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_PLUS_RW_DL 0x002A 29767cc61e4SPaolo Bonzini #define MMC_PROFILE_DVD_PLUS_R_DL 0x002B 29867cc61e4SPaolo Bonzini #define MMC_PROFILE_BD_ROM 0x0040 29967cc61e4SPaolo Bonzini #define MMC_PROFILE_BD_R_SRM 0x0041 30067cc61e4SPaolo Bonzini #define MMC_PROFILE_BD_R_RRM 0x0042 30167cc61e4SPaolo Bonzini #define MMC_PROFILE_BD_RE 0x0043 30267cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_ROM 0x0050 30367cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_R 0x0051 30467cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_RAM 0x0052 30567cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_RW 0x0053 30667cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_R_DL 0x0058 30767cc61e4SPaolo Bonzini #define MMC_PROFILE_HDDVD_RW_DL 0x005A 30867cc61e4SPaolo Bonzini #define MMC_PROFILE_INVALID 0xFFFF 309cb9c377fSPaolo Bonzini 310cb9c377fSPaolo Bonzini #endif 311