---
name: "rte_compressdev_pmd.h"
section: "3"
platform: "linux"
package: "dpdk-doc"
version: "24.11.4-0+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rte_compressdev_pmd.h"
---

# rte\_compressdev\_pmd.h(3)

## NAME

rte\_compressdev\_pmd.h

## SYNOPSIS

`#include <string.h>`\
 `#include <dev_driver.h>`\
 `#include 'rte_compressdev.h'`\
 `#include 'rte_compressdev_internal.h'`\

### Data Structures

struct **rte\_compressdev\_global**\
 struct **rte\_compressdev\_ops**\

### Typedefs

**typedef** int(\* **compressdev\_configure\_t**) (struct **rte\_compressdev** \*dev, struct **rte\_compressdev\_config** \*config)\
 **typedef** int(\* **compressdev\_start\_t**) (struct **rte\_compressdev** \*dev)\
 **typedef** void(\* **compressdev\_stop\_t**) (struct **rte\_compressdev** \*dev)\
 **typedef** int(\* **compressdev\_close\_t**) (struct **rte\_compressdev** \*dev)\
 **typedef** void(\* **compressdev\_stats\_get\_t**) (struct **rte\_compressdev** \*dev, struct **rte\_compressdev\_stats** \*stats)\
 **typedef** void(\* **compressdev\_stats\_reset\_t**) (struct **rte\_compressdev** \*dev)\
 **typedef** void(\* **compressdev\_info\_get\_t**) (struct **rte\_compressdev** \*dev, struct **rte\_compressdev\_info** \*dev\_info)\
 **typedef** int(\* **compressdev\_queue\_pair\_setup\_t**) (struct **rte\_compressdev** \*dev, uint16\_t qp\_id, uint32\_t max\_inflight\_ops, int socket\_id)\
 **typedef** int(\* **compressdev\_queue\_pair\_release\_t**) (struct **rte\_compressdev** \*dev, uint16\_t qp\_id)\
 **typedef** int(\* **compressdev\_stream\_create\_t**) (struct **rte\_compressdev** \*dev, const struct **rte\_comp\_xform** \*xform, void \*\*stream)\
 **typedef** int(\* **compressdev\_stream\_free\_t**) (struct **rte\_compressdev** \*dev, void \*stream)\
 **typedef** int(\* **compressdev\_private\_xform\_create\_t**) (struct **rte\_compressdev** \*dev, const struct **rte\_comp\_xform** \*xform, void \*\*private\_xform)\
 **typedef** int(\* **compressdev\_private\_xform\_free\_t**) (struct **rte\_compressdev** \*dev, void \*private\_xform)\

### Functions

struct **rte\_compressdev** \* **rte\_compressdev\_pmd\_get\_named\_dev** (const char \*name)\

## Detailed Description

RTE comp PMD APIs

**Note**

These APIs are for comp PMDs only and user applications should not call them directly.

Definition in file **rte\_compressdev\_pmd.h**.

## Typedef Documentation

### typedef int(\* compressdev\_configure\_t) (struct rte\_compressdev \*dev, struct rte\_compressdev\_config \*config)

Definitions of all functions exported by a driver through the generic structure of type *comp\_dev\_ops* supplied in the **rte\_compressdev structure associated with a device. Function used to configure device.**

**Parameters**

*dev* **Compress device** \
 *config* **Compress device configurations**

**Returns**

**Returns 0 on success**

**Definition at line 80 of file rte\_compressdev\_pmd.h.**

### typedef int(\* compressdev\_start\_t) (struct rte\_compressdev \*dev)

**Function used to start a configured device.**

**Parameters**

*dev* **Compress device**

**Returns**

**Returns 0 on success**

**Definition at line 91 of file rte\_compressdev\_pmd.h.**

### typedef void(\* compressdev\_stop\_t) (struct rte\_compressdev \*dev)

**Function used to stop a configured device.**

**Parameters**

*dev* **Compress device**

**Definition at line 99 of file rte\_compressdev\_pmd.h.**

### typedef int(\* compressdev\_close\_t) (struct rte\_compressdev \*dev)

**Function used to close a configured device.**

**Parameters**

*dev* **Compress device**

**Returns**

- •

  **0 on success.**

- •

  **EAGAIN if can't close as device is busy**

**Definition at line 110 of file rte\_compressdev\_pmd.h.**

### typedef void(\* compressdev\_stats\_get\_t) (struct rte\_compressdev \*dev, struct rte\_compressdev\_stats \*stats)

**Function used to get statistics of a device.**

**Parameters**

*dev* **Compress device** \
 *stats* **Compress device stats to populate**

**Definition at line 121 of file rte\_compressdev\_pmd.h.**

### typedef void(\* compressdev\_stats\_reset\_t) (struct rte\_compressdev \*dev)

**Function used to reset statistics of a device.**

**Parameters**

*dev* **Compress device**

**Definition at line 131 of file rte\_compressdev\_pmd.h.**

### typedef void(\* compressdev\_info\_get\_t) (struct rte\_compressdev \*dev, struct rte\_compressdev\_info \*dev\_info)

**Function used to get specific information of a device.**

**Parameters**

*dev* **Compress device** \
 *dev\_info* **Compress device information to populate**

**Definition at line 142 of file rte\_compressdev\_pmd.h.**

### typedef int(\* compressdev\_queue\_pair\_setup\_t) (struct rte\_compressdev \*dev, uint16\_t qp\_id, uint32\_t max\_inflight\_ops, int socket\_id)

**Setup a queue pair for a device.**

**Parameters**

*dev* **Compress device** \
 *qp\_id* **Queue pair identifier** \
 *max\_inflight\_ops* **Max inflight ops which qp must accommodate** \
 *socket\_id* **Socket identifier**

**Returns**

**Returns 0 on success.**

**Definition at line 159 of file rte\_compressdev\_pmd.h.**

### typedef int(\* compressdev\_queue\_pair\_release\_t) (struct rte\_compressdev \*dev, uint16\_t qp\_id)

**Release memory resources allocated by given queue pair.**

**Parameters**

*dev* **Compress device** \
 *qp\_id* **Queue pair identifier**

**Returns**

- •

  **0 on success.**

- •

  **EAGAIN if can't close as device is busy**

**Definition at line 173 of file rte\_compressdev\_pmd.h.**

### typedef int(\* compressdev\_stream\_create\_t) (struct rte\_compressdev \*dev, const struct rte\_comp\_xform \*xform, void \*\*stream)

**Create driver private stream data.**

**Parameters**

*dev* **Compressdev device** \
 *xform* **xform data** \
 *stream* **ptr where handle of pmd's private stream data should be stored**

**Returns**

- •

  **Returns 0 if private stream structure has been created successfully.**

- •

  **Returns -EINVAL if input parameters are invalid.**

- •

  **Returns -ENOTSUP if comp device does not support STATEFUL operations.**

- •

  **Returns -ENOTSUP if comp device does not support the comp transform.**

- •

  **Returns -ENOMEM if the private stream could not be allocated.**

**Definition at line 192 of file rte\_compressdev\_pmd.h.**

### typedef int(\* compressdev\_stream\_free\_t) (struct rte\_compressdev \*dev, void \*stream)

**Free driver private stream data.**

**Parameters**

*dev* **Compressdev device** \
 *stream* **handle of pmd's private stream data**

**Returns**

- •

  **0 if successful**

- •

  **\<0 in error cases**

- •

  **Returns -EINVAL if input parameters are invalid.**

- •

  **Returns -ENOTSUP if comp device does not support STATEFUL operations.**

- •

  **Returns -EBUSY if can't free stream as there are inflight operations**

**Definition at line 209 of file rte\_compressdev\_pmd.h.**

### typedef int(\* compressdev\_private\_xform\_create\_t) (struct rte\_compressdev \*dev, const struct rte\_comp\_xform \*xform, void \*\*private\_xform)

**Create driver private\_xform data.**

**Parameters**

*dev* **Compressdev device** \
 *xform* **xform data** \
 *private\_xform* **ptr where handle of pmd's private\_xform data should be stored**

**Returns**

- •

  **if successful returns 0 and valid private\_xform handle**

- •

  **\<0 in error cases**

- •

  **Returns -EINVAL if input parameters are invalid.**

- •

  **Returns -ENOTSUP if comp device does not support the comp transform.**

- •

  **Returns -ENOMEM if the private\_xform could not be allocated.**

**Definition at line 229 of file rte\_compressdev\_pmd.h.**

### typedef int(\* compressdev\_private\_xform\_free\_t) (struct rte\_compressdev \*dev, void \*private\_xform)

**Free driver private\_xform data.**

**Parameters**

*dev* **Compressdev device** \
 *private\_xform* **handle of pmd's private\_xform data**

**Returns**

- •

  **0 if successful**

- •

  **\<0 in error cases**

- •

  **Returns -EINVAL if input parameters are invalid.**

- •

  **Returns -EBUSY if can't free private\_xform due to inflight operations**

**Definition at line 245 of file rte\_compressdev\_pmd.h.**

## Function Documentation

### struct rte\_compressdev \* rte\_compressdev\_pmd\_get\_named\_dev (const char \* name)

**Get the rte\_compressdev structure device pointer for the named device.**

**Parameters**

*name* **Compress device name**

**Returns**

- •

  **The rte\_compressdev structure pointer for the given device identifier.**

## Author

**Generated automatically by Doxygen for DPDK from the source code.**
