diff --git a/include/scsi-lowlevel.h b/include/scsi-lowlevel.h index 40707b4..109694c 100644 --- a/include/scsi-lowlevel.h +++ b/include/scsi-lowlevel.h @@ -724,6 +724,11 @@ EXTERN struct scsi_task *scsi_cdb_report_supported_opcodes(int report_timeouts, void *scsi_malloc(struct scsi_task *task, size_t size); +inline uint32_t scsi_get_uint32(const unsigned char *c); +inline uint16_t scsi_get_uint16(const unsigned char *c); +inline void scsi_set_uint32(unsigned char *c, uint32_t val); +inline void scsi_set_uint16(unsigned char *c, uint16_t val); + #ifdef __cplusplus } #endif diff --git a/lib/scsi-lowlevel.c b/lib/scsi-lowlevel.c index ab2940f..0cf7f0a 100644 --- a/lib/scsi-lowlevel.c +++ b/lib/scsi-lowlevel.c @@ -160,18 +160,30 @@ scsi_sense_ascq_str(int ascq) return value_string_find(ascqs, ascq); } -static uint32_t -scsi_get_uint32(unsigned char *c) +inline uint32_t +scsi_get_uint32(const unsigned char *c) { return ntohl(*(uint32_t *)c); } -static uint16_t -scsi_get_uint16(unsigned char *c) +inline uint16_t +scsi_get_uint16(const unsigned char *c) { return ntohs(*(uint16_t *)c); } +inline void +scsi_set_uint32(unsigned char *c, uint32_t val) +{ + *(uint32_t *)c = htonl(val); +} + +inline void +scsi_set_uint16(unsigned char *c, uint16_t val) +{ + *(uint16_t *)c = htons(val); +} + /* * TESTUNITREADY */