X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/e8e64a4f1d76aaeac3defa13243505cccd25c078..32b9a6d76790c73d3d2d36d9081a2581cc65d184:/lunaix-os/includes/hal/ahci/scsi.h diff --git a/lunaix-os/includes/hal/ahci/scsi.h b/lunaix-os/includes/hal/ahci/scsi.h index cce9af4..5d8d2db 100644 --- a/lunaix-os/includes/hal/ahci/scsi.h +++ b/lunaix-os/includes/hal/ahci/scsi.h @@ -14,49 +14,46 @@ #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; - uint8_t misc1; - uint32_t lba_be; - uint32_t length; - uint8_t misc2; - uint8_t ctrl; + u8_t opcode; + u8_t misc1; + u32_t lba_be; + u32_t length; + u8_t misc2; + u8_t ctrl; } __attribute__((packed)); struct scsi_cdb16 { - uint8_t opcode; - uint8_t misc1; - uint32_t lba_be_hi; - uint32_t lba_be_lo; - uint32_t length; - uint8_t misc2; - uint8_t ctrl; + u8_t opcode; + u8_t misc1; + u32_t lba_be_hi; + u32_t lba_be_lo; + u32_t length; + u8_t misc2; + u8_t ctrl; } __attribute__((packed)); void scsi_create_packet12(struct scsi_cdb12* cdb, - uint8_t opcode, - uint32_t lba, - uint32_t alloc_size); + u8_t opcode, + u32_t lba, + u32_t alloc_size); void scsi_create_packet16(struct scsi_cdb16* cdb, - uint8_t opcode, - uint64_t lba, - uint32_t alloc_size); + u8_t opcode, + lba_t lba, + u32_t alloc_size); void -scsi_read_buffer(struct hba_port* port, - uint64_t lba, - void* buffer, - uint32_t size); +scsi_submit(struct hba_device* dev, struct blkio_req* io_req); void -scsi_write_buffer(struct hba_port* port, - uint64_t lba, - void* buffer, - uint32_t size); +scsi_parse_capacity(struct hba_device* device, u32_t* parameter); #endif /* __LUNAIX_ATAPI_H */