rte_bbdev_pmd.h(3)

πŸ’– rte_bbdev_pmd.h β€” the driver-side glow-up πŸ’–

okay bestie, listen. this is a page from the Library Functions Manual, and it's all about rte_bbdev_pmd.h β€” the header that lets device drivers slide into the bbdev interface. it's giving backstage pass energy, not main-character-app energy. iykyk πŸŽ€


✨ NAME ✨

rte_bbdev_pmd.h β€” the driver-facing bbdev header, no cap πŸ’…


🌸 SYNOPSIS 🌸

#include <stdint.h>
#include <rte_log.h>
#include 'rte_bbdev.h'
heads up: that last include is written with single quotes in the original, bestie. i'm not touching it. copy it exactly or the compiler will absolutely side-eye you 😭

πŸ¦‹ Data Structures

  • struct rte_bbdev_ops β€” yes, the whole vibe lives in one struct

πŸ“ Macros

  • #define RTE_BBDEV_DEFAULT_MAX_NB_QUEUES RTE_MAX_LCORE
  • #define RTE_BBDEV_QUEUE_SIZE_LIMIT 16384

🧚 Typedefs

typedef int(* rte_bbdev_setup_queues_t) (struct rte_bbdev *dev, uint16_t
    num_queues, int socket_id)

πŸ‘‘ Functions

struct rte_bbdev * rte_bbdev_get_named_dev (const char *name)
void rte_bbdev_pmd_callback_process (struct rte_bbdev *dev, enum
    rte_bbdev_event_type event, void *ret_param)

πŸ’œ Detailed Description πŸ’œ

Wireless base band driver-facing APIs. periodt.

This API provides the mechanism for device drivers to register with the bbdev interface. User applications should not use this API. like, fr fr β€” this is the drivers' group chat, not yours. πŸ™ˆ

Definition in file rte_bbdev_pmd.h.


🌈 Macro Definition Documentation 🌈

πŸ’– #define RTE_BBDEV_DEFAULT_MAX_NB_QUEUES RTE_MAX_LCORE

Suggested value for SW based devices ✨

Definition at line 27 of file rte_bbdev_pmd.h.

πŸ’– #define RTE_BBDEV_QUEUE_SIZE_LIMIT 16384

Suggested value for SW based devices ✨

Definition at line 30 of file rte_bbdev_pmd.h.

not me realizing both macros have the exact same one-line description. iconic. we stan a consistent king πŸ’…

πŸŽ€ Typedef Documentation πŸŽ€

πŸ¦‹ typedef int(* rte_bbdev_setup_queues_t) (struct rte_bbdev *dev, uint16_t num_queues, int socket_id)

Definitions of all functions exported by a driver through the generic structure of type rte_bbdev_ops supplied in the rte_bbdev structure associated with a device. so basically it's the roster of everything a driver hands over, all bundled in rte_bbdev_ops, which itself rides inside the rte_bbdev struct for that device. chef's kiss 🫢

Definition at line 78 of file rte_bbdev_pmd.h.


⭐ Function Documentation ⭐

πŸ’« struct rte_bbdev * rte_bbdev_get_named_dev (const char * name)

Get the device structure for a named device. like a little lookup, but make it fashion.

Parameters

  • name β€” Name of the device

Returns

  • The device structure pointer, or
  • NULL otherwise
so either you get your device, or you get NULL and you're on your own, bestie. always check. 😭

πŸ’« void rte_bbdev_pmd_callback_process (struct rte_bbdev * dev, enum rte_bbdev_event_type event, void * ret_param)

Executes all the user application registered callbacks for the specific device and event type. it's the group-notification moment β€” everybody who signed up for that device + that event gets pinged. πŸ”₯

Parameters

  • dev β€” Pointer to the device structure.
  • event β€” Event type.
  • ret_param β€” To pass data back to user application.

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for DPDK from the source code. yes, a robot wrote this and honestly? it ate. πŸ€–βœ¨


and that's the whole page, bestie 🫢 this was DPDK, Version 25.11.3, and the manual reference is rte_bbdev_pmd.h(3) β€” slay, stay fluffy, and remember: drivers only! πŸ’…πŸŒΈπŸŒˆ

πŸ“¦ where this page comes from