cdrom: use TEST UNIT READY to detect ready medium
[seabios.git] / src / blockcmd.h
index 28a48895cd79044790647334481f8c2771fa84d2..49921b05d86fdfc2006da4a45b55f2608bc61332 100644 (file)
@@ -32,7 +32,9 @@ struct cdbres_read_capacity {
     u32 blksize;
 } PACKED;
 
-#define CDB_CMD_REQUEST_SENSE 0x03
+#define CDB_CMD_TEST_UNIT_READY  0x00
+#define CDB_CMD_INQUIRY          0x12
+#define CDB_CMD_REQUEST_SENSE    0x03
 
 struct cdb_request_sense {
     u8 command;
@@ -55,4 +57,23 @@ struct cdbres_request_sense {
     u32 reserved_0e;
 } PACKED;
 
+struct cdbres_inquiry {
+    u8 pdt;
+    u8 removable;
+    u8 reserved_02[2];
+    u8 additional;
+    u8 reserved_05[3];
+    char vendor[8];
+    char product[16];
+    char rev[4];
+} PACKED;
+
+// blockcmd.c
+int cdb_get_inquiry(struct disk_op_s *op, struct cdbres_inquiry *data);
+int cdb_get_sense(struct disk_op_s *op, struct cdbres_request_sense *data);
+int cdb_test_unit_ready(struct disk_op_s *op);
+int cdb_read_capacity(struct disk_op_s *op, struct cdbres_read_capacity *data);
+int cdb_inquiry(struct disk_op_s *op, struct cdbres_inquiry *data);
+int cdb_read(struct disk_op_s *op);
+
 #endif // blockcmd.h