feat: asynchronized SATA IO
[lunaix-os.git] / lunaix-os / includes / hal / ahci / scsi.h
index 5015641086c5fb3a9103dc1b1cc817c23c7db183..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;
@@ -44,8 +47,13 @@ scsi_create_packet12(struct scsi_cdb12* cdb,
 void
 scsi_create_packet16(struct scsi_cdb16* cdb,
                      uint8_t opcode,
-                     uint32_t lba_hi,
-                     uint32_t lba_lo,
+                     uint64_t lba,
                      uint32_t alloc_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 */