From 7e4b33dd31371afcb5d2d612bdcf116f11ba4634 Mon Sep 17 00:00:00 2001 From: Bernhard Kohl Date: Fri, 23 Nov 2012 23:14:08 +0100 Subject: [PATCH] scsi-lowlevel: make scsi_get_uint16/32() global and add scsi_set_uint16/32() This is a preparation to use the (un)marshalling functions anywhere in the library. Signed-off-by: Bernhard Kohl --- include/scsi-lowlevel.h | 5 +++++ lib/scsi-lowlevel.c | 20 ++++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) 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 */