---
name: "rte_swx_extern_type_member_func_t"
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_swx_extern.h"
---

# rte\_swx\_extern\_type\_member\_func\_t(3)

Part of [rte\_swx\_extern.h(3)](/rte_swx_extern.h/3.md).

## NAME

rte\_swx\_extern.h

## SYNOPSIS

`#include <stdint.h>`\

### Typedefs

**typedef** void \*(\* **rte\_swx\_extern\_type\_constructor\_t**) (const char \*args)\
 **typedef** void(\* **rte\_swx\_extern\_type\_destructor\_t**) (void \*object)\
 **typedef** int(\* **rte\_swx\_extern\_type\_member\_func\_t**) (void \*object, void \*mailbox)\
 **typedef** int(\* **rte\_swx\_extern\_func\_t**) (void \*mailbox)\

## Detailed Description

RTE SWX Extern objects and functions

Extern object and extern function interfaces. The extern objects and extern functions provide the mechanisms to hook external functionality into the packet processing pipeline.

Definition in file **rte\_swx\_extern.h**.

## Typedef Documentation

### typedef void \*(\* rte\_swx\_extern\_type\_constructor\_t) (const char \*args)

Extern object constructor

**Parameters**

*args* Extern object constructor arguments. It may be NULL.

**Returns**

Extern object handle.

Definition at line **30** of file **rte\_swx\_extern.h**.

### typedef void(\* rte\_swx\_extern\_type\_destructor\_t) (void \*object)

Extern object destructor

**Parameters**

*object* Extern object handle.

Definition at line **39** of file **rte\_swx\_extern.h**.

### typedef int(\* rte\_swx\_extern\_type\_member\_func\_t) (void \*object, void \*mailbox)

Extern object member function

The mailbox is used to pass input arguments to the member function and retrieve the output results. The mailbox mechanism allows for multiple concurrent executions of the same member function for the same extern object.

Multiple invocations of the same member function may be required in order for the associated operation to complete. The completion is flagged by a return value of 1, in which case the results are available in the mailbox; in case of a return value of 0, the operation is not yet completed, so the member function must be invoked again with exactly the same object and mailbox arguments.

**Parameters**

*object* Extern object handle. \
 *mailbox* Extern object mailbox.

**Returns**

0 when the operation is not yet completed, and 1 when the operation is completed. No other return values are allowed.

Definition at line **64** of file **rte\_swx\_extern.h**.

### typedef int(\* rte\_swx\_extern\_func\_t) (void \*mailbox)

The mailbox is used to pass input arguments to the extern function and retrieve the output results. The mailbox mechanism allows for multiple concurrent executions of the same extern function.

Multiple invocations of the same extern function may be required in order for the associated operation to complete. The completion is flagged by a return value of 1, in which case the results are available in the mailbox; in case of a return value of 0, the operation is not yet completed, so the extern function must be invoked again with exactly the same mailbox argument.

**Parameters**

*mailbox* Extern object mailbox.

**Returns**

0 when the operation is not yet completed, and 1 when the operation is completed. No other return values are allowed.

Definition at line **87** of file **rte\_swx\_extern.h**.

## Author

Generated automatically by Doxygen for DPDK from the source code.
