WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros.
Adds definitions for PDCP checksums and apis to pass in
dictionaries
Signed-off-by: Sameer Vaze <svaze@qti.qualcomm.com>
---
lib/compressdev/rte_comp.h | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/lib/compressdev/rte_comp.h b/lib/compressdev/rte_comp.h
index 96d9b276dd..169d3d960e 100644
--- a/lib/compressdev/rte_comp.h
+++ b/lib/compressdev/rte_comp.h
@@ -101,6 +101,10 @@ enum rte_comp_op_status {
* is not an error case. Output data up to op.produced can be used and
* next op in the stream should continue on from op.consumed+1.
*/
+ RTE_COMP_OP_STATUS_CHECK_SUM_VALIDATION_FAILED,
+ /**< Checksum validation failed. Either calculated does checksum not match
+ * the one provided or there was an error calculating the checksum
+ */
};
/** Compression Algorithms */
@@ -166,6 +170,10 @@ enum rte_comp_checksum_type {
/**< Generates a xxHash-32 checksum, as used by LZ4.
* https://github.com/Cyan4973/xxHash/blob/dev/doc/xxhash_spec.md
*/
+ RTE_COMP_CHECKSUM_3GPP_PDCP_UDC,
+ /**< Generates checksum as defined under Uplink Data Compression
+ * checksum as defined in the 3GPP PDCP specification
+ */
};
/** Compression Huffman Type - used by DEFLATE algorithm */
@@ -201,6 +209,11 @@ enum rte_comp_flush_flag {
*/
};
+#define DEFLATE_MAX_WINDOW_SIZE (1ULL << 15)
+
+#define DEFLATE_MIN_WINDOW_SIZE (1ULL << 8)
+
+
/** Compression transform types */
enum rte_comp_xform_type {
RTE_COMP_COMPRESS,
@@ -305,6 +318,15 @@ struct rte_comp_compress_xform {
/**< Hash algorithm to be used with compress operation. Hash is always
* done on plaintext.
*/
+ uint8_t *dictionary;
+ /**<
+ * Pointer to memory containing dictionary to be used for inflate
+ * and deflate operations
+ */
+ uint16_t dictionary_len;
+ /**<
+ * Length of dictionary to be used
+ */
};
/**
@@ -328,6 +350,15 @@ struct rte_comp_decompress_xform {
/**< Hash algorithm to be used with decompress operation. Hash is always
* done on plaintext.
*/
+ uint8_t *dictionary;
+ /**<
+ * Pointer to memory containing dictionary to be used for inflate
+ * and deflate operations
+ */
+ uint16_t dictionary_len;
+ /**<
+ * Length of dictionary to be used
+ */
};
/**
--
2.31.1