summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Vater2025-08-01 15:10:21 +0200
committerSebastian Vater2025-08-01 15:10:21 +0200
commitbc883d683464aa3859326731edcde5dd4ee8b053 (patch)
treee0188f8e49e0728c19caeed9b0363194a296ce47
parentAdded basic formatting for of iSCSI header and implementation file for doxyge... (diff)
downloaddnbd3-bc883d683464aa3859326731edcde5dd4ee8b053.tar.gz
dnbd3-bc883d683464aa3859326731edcde5dd4ee8b053.tar.xz
dnbd3-bc883d683464aa3859326731edcde5dd4ee8b053.zip
Removed static iSCSI functions from header file and added CRC32C lookup table doxygen tag.
-rw-r--r--src/server/iscsi.c3
-rw-r--r--src/server/iscsi.h5
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