NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
compress_common.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <doca_dev.h>
#include <doca_compress.h>
#include <doca_mmap.h>
#include <doca_error.h>
Include dependency graph for compress_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  compress_cfg
 
struct  compress_resources
 
struct  compress_zlib_header
 

Macros

#define USER_MAX_FILE_NAME   255 /* Max file name length */
 
#define MAX_FILE_NAME   (USER_MAX_FILE_NAME + 1) /* Max file name string length */
 
#define SLEEP_IN_NANOS   (10 * 1000) /* Sample the task every 10 microseconds */
 
#define NUM_COMPRESS_TASKS   (1) /* Number of compress tasks */
 
#define ADLER_CHECKSUM_SHIFT   (32) /* The shift for the Adler checksum within the output checksum */
 
#define ZLIB_HEADER_SIZE   (2) /* The header size in zlib */
 
#define ZLIB_TRAILER_SIZE   (4) /* The trailer size in zlib (the 32-bit checksum) */
 
#define ZLIB_COMPATIBILITY_ADDITIONAL_MEMORY   (ZLIB_HEADER_SIZE + ZLIB_TRAILER_SIZE)
 

Enumerations

enum  compress_mode { COMPRESS_MODE_COMPRESS_DEFLATE , COMPRESS_MODE_DECOMPRESS_DEFLATE , COMPRESS_MODE_DECOMPRESS_LZ4_STREAM }
 

Functions

struct compress_zlib_header __attribute__ ((packed))
 
doca_error_t register_compress_params (void)
 
doca_error_t register_deflate_params (void)
 
doca_error_t register_lz4_stream_params (void)
 
void init_compress_zlib_header (struct compress_zlib_header *zlib_header)
 
doca_error_t verify_compress_zlib_header (struct compress_zlib_header *zlib_header)
 
doca_error_t parse_lz4_frame (struct doca_buf *src_buf, struct compress_cfg *cfg, bool *has_content_checksum, uint32_t *content_checksum)
 
doca_error_t allocate_compress_resources (const char *pci_addr, uint32_t max_bufs, struct compress_resources *resources)
 
doca_error_t destroy_compress_resources (struct compress_resources *resources)
 
doca_error_t submit_compress_deflate_task (struct compress_resources *resources, struct doca_buf *src_buf, struct doca_buf *dst_buf, uint64_t *output_checksum)
 
doca_error_t submit_decompress_deflate_task (struct compress_resources *resources, struct doca_buf *src_buf, struct doca_buf *dst_buf, uint64_t *output_checksum)
 
doca_error_t submit_decompress_lz4_stream_task (struct compress_resources *resources, uint8_t has_block_checksum, uint8_t are_blocks_independent, struct doca_buf *src_buf, struct doca_buf *dst_buf, uint32_t *output_crc_checksum, uint32_t *output_xxh_checksum)
 
doca_error_t compress_task_compress_deflate_is_supported (struct doca_devinfo *devinfo)
 
doca_error_t compress_task_decompress_deflate_is_supported (struct doca_devinfo *devinfo)
 
doca_error_t compress_task_decompress_lz4_stream_is_supported (struct doca_devinfo *devinfo)
 
void compress_completed_callback (struct doca_compress_task_compress_deflate *compress_task, union doca_data task_user_data, union doca_data ctx_user_data)
 
void compress_error_callback (struct doca_compress_task_compress_deflate *compress_task, union doca_data task_user_data, union doca_data ctx_user_data)
 
void decompress_deflate_completed_callback (struct doca_compress_task_decompress_deflate *decompress_task, union doca_data task_user_data, union doca_data ctx_user_data)
 
void decompress_deflate_error_callback (struct doca_compress_task_decompress_deflate *decompress_task, union doca_data task_user_data, union doca_data ctx_user_data)
 
void decompress_lz4_stream_completed_callback (struct doca_compress_task_decompress_lz4_stream *decompress_task, union doca_data task_user_data, union doca_data ctx_user_data)
 
void decompress_lz4_stream_error_callback (struct doca_compress_task_decompress_lz4_stream *decompress_task, union doca_data task_user_data, union doca_data ctx_user_data)
 

Variables

uint8_t cmf
 
uint8_t flg
 

Macro Definition Documentation

◆ ADLER_CHECKSUM_SHIFT

#define ADLER_CHECKSUM_SHIFT   (32) /* The shift for the Adler checksum within the output checksum */

Definition at line 42 of file compress_common.h.

◆ MAX_FILE_NAME

#define MAX_FILE_NAME   (USER_MAX_FILE_NAME + 1) /* Max file name string length */

Definition at line 39 of file compress_common.h.

◆ NUM_COMPRESS_TASKS

#define NUM_COMPRESS_TASKS   (1) /* Number of compress tasks */

Definition at line 41 of file compress_common.h.

◆ SLEEP_IN_NANOS

#define SLEEP_IN_NANOS   (10 * 1000) /* Sample the task every 10 microseconds */

Definition at line 40 of file compress_common.h.

◆ USER_MAX_FILE_NAME

#define USER_MAX_FILE_NAME   255 /* Max file name length */

Definition at line 38 of file compress_common.h.

◆ ZLIB_COMPATIBILITY_ADDITIONAL_MEMORY

#define ZLIB_COMPATIBILITY_ADDITIONAL_MEMORY   (ZLIB_HEADER_SIZE + ZLIB_TRAILER_SIZE)

Definition at line 46 of file compress_common.h.

◆ ZLIB_HEADER_SIZE

#define ZLIB_HEADER_SIZE   (2) /* The header size in zlib */

Definition at line 43 of file compress_common.h.

◆ ZLIB_TRAILER_SIZE

#define ZLIB_TRAILER_SIZE   (4) /* The trailer size in zlib (the 32-bit checksum) */

Definition at line 44 of file compress_common.h.

Enumeration Type Documentation

◆ compress_mode

Enumerator
COMPRESS_MODE_COMPRESS_DEFLATE 
COMPRESS_MODE_DECOMPRESS_DEFLATE 
COMPRESS_MODE_DECOMPRESS_LZ4_STREAM 

Definition at line 49 of file compress_common.h.

Function Documentation

◆ __attribute__()

struct compress_zlib_header __attribute__ ( (packed)  )

Definition at line 1 of file telemetry_exporter.h.

◆ allocate_compress_resources()

doca_error_t allocate_compress_resources ( const char *  pci_addr,
uint32_t  max_bufs,
struct compress_resources resources 
)

Definition at line 659 of file compress_common.c.

◆ compress_completed_callback()

void compress_completed_callback ( struct doca_compress_task_compress_deflate *  compress_task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1043 of file compress_common.c.

◆ compress_error_callback()

void compress_error_callback ( struct doca_compress_task_compress_deflate *  compress_task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1066 of file compress_common.c.

◆ compress_task_compress_deflate_is_supported()

doca_error_t compress_task_compress_deflate_is_supported ( struct doca_devinfo *  devinfo)

Definition at line 1028 of file compress_common.c.

◆ compress_task_decompress_deflate_is_supported()

doca_error_t compress_task_decompress_deflate_is_supported ( struct doca_devinfo *  devinfo)

Definition at line 1033 of file compress_common.c.

◆ compress_task_decompress_lz4_stream_is_supported()

doca_error_t compress_task_decompress_lz4_stream_is_supported ( struct doca_devinfo *  devinfo)

Definition at line 1038 of file compress_common.c.

◆ decompress_deflate_completed_callback()

void decompress_deflate_completed_callback ( struct doca_compress_task_decompress_deflate *  decompress_task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1086 of file compress_common.c.

◆ decompress_deflate_error_callback()

void decompress_deflate_error_callback ( struct doca_compress_task_decompress_deflate *  decompress_task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1109 of file compress_common.c.

◆ decompress_lz4_stream_completed_callback()

void decompress_lz4_stream_completed_callback ( struct doca_compress_task_decompress_lz4_stream *  decompress_task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1129 of file compress_common.c.

◆ decompress_lz4_stream_error_callback()

void decompress_lz4_stream_error_callback ( struct doca_compress_task_decompress_lz4_stream *  decompress_task,
union doca_data  task_user_data,
union doca_data  ctx_user_data 
)

Definition at line 1152 of file compress_common.c.

◆ destroy_compress_resources()

doca_error_t destroy_compress_resources ( struct compress_resources resources)

Definition at line 793 of file compress_common.c.

◆ init_compress_zlib_header()

void init_compress_zlib_header ( struct compress_zlib_header zlib_header)

Definition at line 429 of file compress_common.c.

◆ parse_lz4_frame()

doca_error_t parse_lz4_frame ( struct doca_buf *  src_buf,
struct compress_cfg cfg,
bool has_content_checksum,
uint32_t *  content_checksum 
)

Definition at line 487 of file compress_common.c.

◆ register_compress_params()

doca_error_t register_compress_params ( void  )

Definition at line 190 of file compress_common.c.

◆ register_deflate_params()

doca_error_t register_deflate_params ( void  )

Definition at line 284 of file compress_common.c.

◆ register_lz4_stream_params()

doca_error_t register_lz4_stream_params ( void  )

Definition at line 348 of file compress_common.c.

◆ submit_compress_deflate_task()

doca_error_t submit_compress_deflate_task ( struct compress_resources resources,
struct doca_buf *  src_buf,
struct doca_buf *  dst_buf,
uint64_t *  output_checksum 
)

Definition at line 843 of file compress_common.c.

◆ submit_decompress_deflate_task()

doca_error_t submit_decompress_deflate_task ( struct compress_resources resources,
struct doca_buf *  src_buf,
struct doca_buf *  dst_buf,
uint64_t *  output_checksum 
)

Definition at line 902 of file compress_common.c.

◆ submit_decompress_lz4_stream_task()

doca_error_t submit_decompress_lz4_stream_task ( struct compress_resources resources,
uint8_t  has_block_checksum,
uint8_t  are_blocks_independent,
struct doca_buf *  src_buf,
struct doca_buf *  dst_buf,
uint32_t *  output_crc_checksum,
uint32_t *  output_xxh_checksum 
)

Definition at line 961 of file compress_common.c.

◆ verify_compress_zlib_header()

doca_error_t verify_compress_zlib_header ( struct compress_zlib_header zlib_header)

Definition at line 444 of file compress_common.c.

Variable Documentation

◆ cmf

uint8_t cmf

The CMF byte represents the Compression Method and Compression Info

Definition at line 0 of file compress_common.h.

◆ flg

uint8_t flg

The FLG byte represents various flags, including FCHECK and FLEVEL

Definition at line 1 of file compress_common.h.