From bc883d683464aa3859326731edcde5dd4ee8b053 Mon Sep 17 00:00:00 2001 From: Sebastian Vater Date: Fri, 1 Aug 2025 15:10:21 +0200 Subject: Removed static iSCSI functions from header file and added CRC32C lookup table doxygen tag. --- src/server/iscsi.c | 3 ++- src/server/iscsi.h | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/server/iscsi.c b/src/server/iscsi.c index 48a4883..49e0f46 100644 --- a/src/server/iscsi.c +++ b/src/server/iscsi.c @@ -1017,7 +1017,8 @@ iscsi_bhs_packet *iscsi_append_ds_packet(iscsi_bhs_packet *packet_data, const in return packet_data; } -static const uint32_t crc32c_lut[] = { // Created with a polynomial reflect value of 0x82F63B78 +/// CRC32C lookup table. Created with a polynomial reflect value of 0x82F63B78. +static const uint32_t crc32c_lut[] = { 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB, 0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24, 0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384, diff --git a/src/server/iscsi.h b/src/server/iscsi.h index 8047dbc..690166b 100644 --- a/src/server/iscsi.h +++ b/src/server/iscsi.h @@ -224,7 +224,7 @@ typedef struct iscsi_hashmap { typedef int (*iscsi_hashmap_callback)(uint8_t *key, const size_t key_size, uint8_t *value, uint8_t *user_data); // A Callback for iterating over map, freeing and removing entries. // user_data is free for personal use -iscsi_hashmap *hashmap_create(const uint capacity); // Creates an empty hash map with either specified or default capacity +iscsi_hashmap *iscsi_hashmap_create(const uint capacity); // Creates an empty hash map with either specified or default capacity void iscsi_hashmap_destroy(iscsi_hashmap *map); // Deallocates the hash map objects and buckets, not elements // Use iscsi_hashmap_iterate to deallocate the elements themselves uint8_t *iscsi_hashmap_key_create(const uint8_t *data, const size_t len); // Creates a key suitable for hashmap usage (ensures 8-byte boundary and zero padding) @@ -5558,8 +5558,6 @@ void iscsi_calc_header_digest(const iscsi_bhs_packet *packet_data); // Calculate int iscsi_validate_header_digest(const iscsi_bhs_packet *packet_data); // Validates a stored iSCSI header digest (CRC32C) with actual header data void iscsi_calc_data_digest(const iscsi_bhs_packet *packet_data, const int header_digest_size); // Calculate iSCSI data digest (CRC32C) int iscsi_validate_data_digest(const iscsi_bhs_packet *packet_data, const int header_digest_size); // Validates a stored iSCSI data digest (CRC32C) with actual DataSegment -static int iscsi_validate_text_key_value_pair(const uint8_t *packet_data, const uint32_t len); // Validates a single text key / value pair according to iSCSI specs -static int iscsi_validate_key_value_pairs(const uint8_t *packet_data, uint len); // Validates all text key / value pairs according to iSCSI specs int iscsi_validate_packet(const struct iscsi_bhs_packet *packet_data, const uint32_t len, const int header_digest_size, const int data_digest_size); // Check if valid iSCSI packet and validate if necessarily @@ -5632,7 +5630,6 @@ typedef struct iscsi_key_value_pair_packet { uint len; } iscsi_key_value_pair_packet; -static int iscsi_parse_text_key_value_pair(iscsi_hashmap *pairs, const uint8_t *packet_data, const uint32_t len); // Extracts a single text key / value pairs out of an iSCSI packet into a hash map int iscsi_parse_key_value_pairs(iscsi_hashmap *pairs, const uint8_t *packet_data, uint len, int cbit, uint8_t **partial_pair); // Extracts all text key / value pairs out of an iSCSI packet into a hash map int iscsi_create_key_value_pair_packet_callback(uint8_t *key, const size_t key_size, uint8_t *value, uint8_t *user_data); // Creates a single partial iSCSI packet stream out of a single text key and value pair iscsi_key_value_pair_packet *iscsi_create_key_value_pairs_packet(const iscsi_hashmap *pairs); // Creates a properly aligned iSCSI packet DataSegment out of a hash map containing text key and value pairs -- cgit v1.2.3-55-g7522