feat: asynchronized SATA IO
[lunaix-os.git] / lunaix-os / includes / hal / ahci / scsi.h
index 0635614abec7d7bfd696a929e5ee980a1aaa7076..e1bbb713e2b99c3ae73050f29679275e73d30187 100644 (file)
@@ -14,6 +14,9 @@
 #define SCSI_WRITE_BLOCKS_16 0x8a
 #define SCSI_WRITE_BLOCKS_12 0xaa
 
+#define SCSI_CDB16 16
+#define SCSI_CDB12 12
+
 struct scsi_cdb12
 {
     uint8_t opcode;
@@ -47,16 +50,10 @@ scsi_create_packet16(struct scsi_cdb16* cdb,
                      uint64_t lba,
                      uint32_t alloc_size);
 
-int
-scsi_read_buffer(struct hba_device* dev,
-                 uint64_t lba,
-                 void* buffer,
-                 uint32_t size);
-
-int
-scsi_write_buffer(struct hba_device* dev,
-                  uint64_t lba,
-                  void* buffer,
-                  uint32_t size);
+void
+scsi_submit(struct hba_device* dev, struct blkio_req* io_req);
+
+void
+scsi_parse_capacity(struct hba_device* device, uint32_t* parameter);
 
 #endif /* __LUNAIX_ATAPI_H */