22 #ifndef DOCA_COMPRESS_H_
23 #define DOCA_COMPRESS_H_
124 struct doca_compress_task_compress_deflate;
179 uint64_t *max_buffer_size);
197 uint32_t *max_buf_list_len);
218 struct doca_compress *compress,
249 struct doca_buf
const *src_buff,
250 struct doca_buf *dst_buff,
252 struct doca_compress_task_compress_deflate **task);
274 struct doca_buf
const *src_buff);
286 const struct doca_compress_task_compress_deflate *task);
298 struct doca_buf *dst_buff);
344 struct doca_compress_task_decompress_deflate;
399 uint64_t *max_buffer_size);
417 uint32_t *max_buf_list_len);
439 struct doca_compress *compress,
469 struct doca_buf
const *src_buff,
470 struct doca_buf *dst_buff,
472 struct doca_compress_task_decompress_deflate **task);
494 struct doca_buf
const *src_buff);
506 const struct doca_compress_task_decompress_deflate *task);
518 struct doca_buf *dst_buff);
566 struct doca_compress_task_decompress_lz4_stream;
580 struct doca_compress_task_decompress_lz4_stream *task,
622 uint64_t *max_buffer_size);
640 uint32_t *max_buf_list_len);
661 struct doca_compress *compress,
696 uint8_t has_block_checksum,
697 uint8_t are_blocks_independent,
698 struct doca_buf
const *src_buff,
699 struct doca_buf *dst_buff,
701 struct doca_compress_task_decompress_lz4_stream **task);
712 struct doca_compress_task_decompress_lz4_stream *task);
724 struct doca_compress_task_decompress_lz4_stream *task,
725 uint8_t has_block_checksum);
738 const struct doca_compress_task_decompress_lz4_stream *task);
750 struct doca_compress_task_decompress_lz4_stream *task,
751 uint8_t are_blocks_independent);
763 const struct doca_compress_task_decompress_lz4_stream *task);
775 struct doca_buf
const *src_buff);
787 const struct doca_compress_task_decompress_lz4_stream *task);
799 struct doca_buf *dst_buff);
811 const struct doca_compress_task_decompress_lz4_stream *task);
825 const struct doca_compress_task_decompress_lz4_stream *task);
839 const struct doca_compress_task_decompress_lz4_stream *task);
849 struct doca_compress_task_decompress_lz4_block;
863 struct doca_compress_task_decompress_lz4_block *task,
905 uint64_t *max_buffer_size);
923 uint32_t *max_buf_list_len);
944 struct doca_compress *compress,
975 struct doca_buf
const *src_buff,
976 struct doca_buf *dst_buff,
978 struct doca_compress_task_decompress_lz4_block **task);
1000 struct doca_buf
const *src_buff);
1012 const struct doca_compress_task_decompress_lz4_block *task);
1024 struct doca_buf *dst_buff);
1036 const struct doca_compress_task_decompress_lz4_block *task);
static void task_error_cb(struct doca_task *se_task, union doca_data task_user_data, union doca_data ctx_user_data)
static void task_completion_cb(struct doca_task *se_task, union doca_data task_user_data, union doca_data ctx_user_data)
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
DOCA_EXPERIMENTAL uint32_t doca_compress_task_decompress_lz4_stream_get_xxh_cs(const struct doca_compress_task_decompress_lz4_stream *task)
get decompress LZ4 stream task xxHash-32 checksum
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_decompress_lz4_stream_get_max_buf_list_len(const struct doca_devinfo *devinfo, uint32_t *max_buf_list_len)
DOCA_EXPERIMENTAL doca_error_t doca_compress_task_compress_deflate_set_conf(struct doca_compress *compress, doca_compress_task_compress_deflate_completion_cb_t task_completion_cb, doca_compress_task_compress_deflate_completion_cb_t task_error_cb, uint32_t num_tasks)
This method sets the compress deflate task configuration.
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_compress_deflate_get_max_buf_list_len(const struct doca_devinfo *devinfo, uint32_t *max_buf_list_len)
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_decompress_lz4_stream_get_max_buf_size(const struct doca_devinfo *devinfo, uint64_t *max_buffer_size)
Get decompress LZ4 stream max size.
DOCA_EXPERIMENTAL struct doca_buf const * doca_compress_task_decompress_lz4_stream_get_src(const struct doca_compress_task_decompress_lz4_stream *task)
get decompress LZ4 stream task source
DOCA_EXPERIMENTAL doca_error_t doca_compress_task_decompress_lz4_stream_alloc_init(struct doca_compress *compress, uint8_t has_block_checksum, uint8_t are_blocks_independent, struct doca_buf const *src_buff, struct doca_buf *dst_buff, union doca_data user_data, struct doca_compress_task_decompress_lz4_stream **task)
Allocate decompress LZ4 stream task.
DOCA_EXPERIMENTAL struct doca_buf const * doca_compress_task_decompress_lz4_block_get_src(const struct doca_compress_task_decompress_lz4_block *task)
get decompress LZ4 block task source
void(* doca_compress_task_compress_deflate_completion_cb_t)(struct doca_compress_task_compress_deflate *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on compress deflate task completion.
DOCA_EXPERIMENTAL doca_error_t doca_compress_destroy(struct doca_compress *compress)
DOCA_EXPERIMENTAL doca_error_t doca_compress_task_decompress_deflate_set_conf(struct doca_compress *compress, doca_compress_task_decompress_deflate_completion_cb_t task_completion_cb, doca_compress_task_decompress_deflate_completion_cb_t task_error_cb, uint32_t num_tasks)
This method sets the decompress deflate task configuration.
DOCA_EXPERIMENTAL uint32_t doca_compress_task_compress_deflate_get_crc_cs(const struct doca_compress_task_compress_deflate *task)
get compress deflate task CRC checksum
DOCA_EXPERIMENTAL struct doca_buf * doca_compress_task_decompress_deflate_get_dst(const struct doca_compress_task_decompress_deflate *task)
get decompress deflate task destination
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_compress_deflate_is_supported(const struct doca_devinfo *devinfo)
Check if a compress deflate task is supported by a device.
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_decompress_lz4_block_get_max_buf_size(const struct doca_devinfo *devinfo, uint64_t *max_buffer_size)
Get decompress LZ4 block max size.
void(* doca_compress_task_decompress_deflate_completion_cb_t)(struct doca_compress_task_decompress_deflate *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on decompress deflate task completion.
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_decompress_deflate_get_max_buf_size(const struct doca_devinfo *devinfo, uint64_t *max_buffer_size)
Get decompress deflate max size.
DOCA_EXPERIMENTAL void doca_compress_task_decompress_lz4_stream_set_src(struct doca_compress_task_decompress_lz4_stream *task, struct doca_buf const *src_buff)
set decompress LZ4 stream task source
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_compress_deflate_get_max_buf_size(const struct doca_devinfo *devinfo, uint64_t *max_buffer_size)
Get compress deflate max size.
DOCA_EXPERIMENTAL struct doca_task * doca_compress_task_decompress_deflate_as_task(struct doca_compress_task_decompress_deflate *task)
convert decompress deflate task to doca_task
DOCA_EXPERIMENTAL void doca_compress_task_compress_deflate_set_src(struct doca_compress_task_compress_deflate *task, struct doca_buf const *src_buff)
set compress deflate task source
void(* doca_compress_task_decompress_lz4_block_completion_cb_t)(struct doca_compress_task_decompress_lz4_block *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on decompress LZ4 block task completion.
DOCA_EXPERIMENTAL uint32_t doca_compress_task_decompress_deflate_get_adler_cs(const struct doca_compress_task_decompress_deflate *task)
get decompress deflate task adler checksum
DOCA_EXPERIMENTAL doca_error_t doca_compress_create(struct doca_dev *dev, struct doca_compress **compress)
DOCA_EXPERIMENTAL void doca_compress_task_compress_deflate_set_dst(struct doca_compress_task_compress_deflate *task, struct doca_buf *dst_buff)
set compress deflate task destination
DOCA_EXPERIMENTAL struct doca_task * doca_compress_task_decompress_lz4_block_as_task(struct doca_compress_task_decompress_lz4_block *task)
convert decompress LZ4 block task to doca_task
DOCA_EXPERIMENTAL struct doca_buf const * doca_compress_task_decompress_deflate_get_src(const struct doca_compress_task_decompress_deflate *task)
get decompress deflate task source
void(* doca_compress_task_decompress_lz4_stream_completion_cb_t)(struct doca_compress_task_decompress_lz4_stream *task, union doca_data task_user_data, union doca_data ctx_user_data)
Function to execute on decompress LZ4 stream task completion.
DOCA_EXPERIMENTAL void doca_compress_task_decompress_lz4_block_set_src(struct doca_compress_task_decompress_lz4_block *task, struct doca_buf const *src_buff)
set decompress LZ4 block task source
DOCA_EXPERIMENTAL uint32_t doca_compress_task_decompress_deflate_get_crc_cs(const struct doca_compress_task_decompress_deflate *task)
get decompress deflate task CRC checksum
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_decompress_lz4_block_is_supported(const struct doca_devinfo *devinfo)
Check if a decompress LZ4 block task is supported by a device.
DOCA_EXPERIMENTAL uint32_t doca_compress_task_decompress_lz4_block_get_crc_cs(const struct doca_compress_task_decompress_lz4_block *task)
get decompress LZ4 block task CRC checksum
DOCA_EXPERIMENTAL struct doca_buf * doca_compress_task_decompress_lz4_stream_get_dst(const struct doca_compress_task_decompress_lz4_stream *task)
get decompress LZ4 stream task destination
DOCA_EXPERIMENTAL struct doca_ctx * doca_compress_as_ctx(struct doca_compress *compress)
DOCA_EXPERIMENTAL doca_error_t doca_compress_task_decompress_lz4_block_alloc_init(struct doca_compress *compress, struct doca_buf const *src_buff, struct doca_buf *dst_buff, union doca_data user_data, struct doca_compress_task_decompress_lz4_block **task)
Allocate decompress LZ4 block task.
DOCA_EXPERIMENTAL void doca_compress_task_decompress_lz4_stream_set_are_blocks_independent(struct doca_compress_task_decompress_lz4_stream *task, uint8_t are_blocks_independent)
set decompress LZ4 stream task are_blocks_independent flag
DOCA_EXPERIMENTAL uint32_t doca_compress_task_decompress_lz4_block_get_xxh_cs(const struct doca_compress_task_decompress_lz4_block *task)
get decompress LZ4 block task xxHash-32 checksum
DOCA_EXPERIMENTAL struct doca_task * doca_compress_task_compress_deflate_as_task(struct doca_compress_task_compress_deflate *task)
convert compress deflate task to doca_task
DOCA_EXPERIMENTAL struct doca_buf * doca_compress_task_compress_deflate_get_dst(const struct doca_compress_task_compress_deflate *task)
get compress deflate task destination
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_get_max_num_tasks(struct doca_compress *compress, uint32_t *max_num_tasks)
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_decompress_lz4_stream_is_supported(const struct doca_devinfo *devinfo)
Check if a decompress LZ4 stream task is supported by a device.
DOCA_EXPERIMENTAL void doca_compress_task_decompress_deflate_set_src(struct doca_compress_task_decompress_deflate *task, struct doca_buf const *src_buff)
set decompress deflate task source
DOCA_EXPERIMENTAL struct doca_buf * doca_compress_task_decompress_lz4_block_get_dst(const struct doca_compress_task_decompress_lz4_block *task)
get decompress LZ4 block task destination
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_decompress_deflate_get_max_buf_list_len(const struct doca_devinfo *devinfo, uint32_t *max_buf_list_len)
DOCA_EXPERIMENTAL doca_error_t doca_compress_task_decompress_lz4_stream_set_conf(struct doca_compress *compress, doca_compress_task_decompress_lz4_stream_completion_cb_t task_completion_cb, doca_compress_task_decompress_lz4_stream_completion_cb_t task_error_cb, uint32_t num_tasks)
This method sets the decompress LZ4 stream task configuration.
DOCA_EXPERIMENTAL uint32_t doca_compress_task_decompress_lz4_stream_get_crc_cs(const struct doca_compress_task_decompress_lz4_stream *task)
get decompress LZ4 stream task CRC checksum
DOCA_EXPERIMENTAL void doca_compress_task_decompress_lz4_stream_set_has_block_checksum(struct doca_compress_task_decompress_lz4_stream *task, uint8_t has_block_checksum)
set decompress LZ4 stream task has_block_checksum flag
DOCA_EXPERIMENTAL struct doca_task * doca_compress_task_decompress_lz4_stream_as_task(struct doca_compress_task_decompress_lz4_stream *task)
convert decompress LZ4 stream task to doca_task
DOCA_EXPERIMENTAL uint8_t doca_compress_task_decompress_lz4_stream_get_has_block_checksum(const struct doca_compress_task_decompress_lz4_stream *task)
get decompress LZ4 stream task has_block_checksum flag
DOCA_EXPERIMENTAL uint32_t doca_compress_task_compress_deflate_get_adler_cs(const struct doca_compress_task_compress_deflate *task)
get compress deflate task adler checksum
DOCA_EXPERIMENTAL uint8_t doca_compress_task_decompress_lz4_stream_get_are_blocks_independent(const struct doca_compress_task_decompress_lz4_stream *task)
get decompress LZ4 stream task are_blocks_independent flag
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_decompress_deflate_is_supported(const struct doca_devinfo *devinfo)
Check if a decompress deflate task is supported by a device.
DOCA_EXPERIMENTAL doca_error_t doca_compress_cap_task_decompress_lz4_block_get_max_buf_list_len(const struct doca_devinfo *devinfo, uint32_t *max_buf_list_len)
DOCA_EXPERIMENTAL doca_error_t doca_compress_task_compress_deflate_alloc_init(struct doca_compress *compress, struct doca_buf const *src_buff, struct doca_buf *dst_buff, union doca_data user_data, struct doca_compress_task_compress_deflate **task)
Allocate compress deflate task.
DOCA_EXPERIMENTAL doca_error_t doca_compress_task_decompress_lz4_block_set_conf(struct doca_compress *compress, doca_compress_task_decompress_lz4_block_completion_cb_t task_completion_cb, doca_compress_task_decompress_lz4_block_completion_cb_t task_error_cb, uint32_t num_tasks)
This method sets the decompress LZ4 block task configuration.
DOCA_EXPERIMENTAL void doca_compress_task_decompress_lz4_block_set_dst(struct doca_compress_task_decompress_lz4_block *task, struct doca_buf *dst_buff)
set decompress LZ4 block task destination
DOCA_EXPERIMENTAL void doca_compress_task_decompress_deflate_set_dst(struct doca_compress_task_decompress_deflate *task, struct doca_buf *dst_buff)
set decompress deflate task destination
DOCA_EXPERIMENTAL void doca_compress_task_decompress_lz4_stream_set_dst(struct doca_compress_task_decompress_lz4_stream *task, struct doca_buf *dst_buff)
set decompress LZ4 stream task destination
DOCA_EXPERIMENTAL doca_error_t doca_compress_task_decompress_deflate_alloc_init(struct doca_compress *compress, struct doca_buf const *src_buff, struct doca_buf *dst_buff, union doca_data user_data, struct doca_compress_task_decompress_deflate **task)
Allocate decompress deflate task.
DOCA_EXPERIMENTAL struct doca_buf const * doca_compress_task_compress_deflate_get_src(const struct doca_compress_task_compress_deflate *task)
get compress deflate task source
enum doca_error doca_error_t
DOCA API return codes.
Convenience type for representing opaque data.