libosmocore 1.11.0.30-c17053.202506162026
Osmocom core library
Loading...
Searching...
No Matches
osmo_io_fd Struct Reference

#include <osmo_io_internal.h>

Data Fields

struct llist_head list
 linked list for internal management
 
int fd
 actual operating-system level file decriptor
 
enum osmo_io_fd_mode mode
 type of read/write mode to use
 
uint32_t flags
 flags to guard closing/freeing of iofd
 
charname
 human-readable name to associte with fd
 
struct osmo_io_ops io_ops
 send/recv (msg) callback functions
 
struct msgbpending
 Pending msgb to keep partial data during segmentation.
 
voiddata
 data pointer passed through to call-back function
 
unsigned int priv_nr
 private number, extending data
 
size_t cmsg_size
 size of iofd_msghdr.cmsg[] when allocated in recvmsg path
 
struct { 
 
   const void *   ctx 
 talloc context from which to allocate msgb when reading More...
 
   unsigned int   size 
 size of msgb to allocate (excluding headroom) More...
 
   unsigned int   headroom 
 headroom to allocate when allocating msgb's More...
 
msgb_alloc 
 
struct { 
 
   unsigned int   max_length 
 maximum length of write queue More...
 
   unsigned int   current_length 
 current length of write queue More...
 
   struct llist_head   msg_queue 
 actual linked list implementing the transmit queue More...
 
tx_queue 
 
union { 
 
   struct { 
 
      struct osmo_fd   ofd 
 
   }   poll 
 
   struct { 
 
      bool   read_enabled 
 
      bool   write_enabled 
 
      void *   read_msghdr 
 
      void *   write_msghdr 
 
      struct osmo_fd   connect_ofd 
 
   }   uring 
 
u 
 

Field Documentation

◆ cmsg_size

size_t osmo_io_fd::cmsg_size

size of iofd_msghdr.cmsg[] when allocated in recvmsg path

Referenced by iofd_poll_ofd_cb_recvmsg_sendmsg(), and osmo_iofd_set_cmsg_size().

◆ connect_ofd

struct osmo_fd osmo_io_fd::connect_ofd

◆ ctx

const void* osmo_io_fd::ctx

talloc context from which to allocate msgb when reading

Referenced by iofd_handle_recv(), iofd_handle_segmented_read(), and osmo_iofd_setup().

◆ current_length

unsigned int osmo_io_fd::current_length

◆ data

void* osmo_io_fd::data

data pointer passed through to call-back function

Referenced by osmo_iofd_get_data(), osmo_iofd_set_data(), and osmo_iofd_setup().

◆ fd

int osmo_io_fd::fd

actual operating-system level file decriptor

Referenced by iofd_poll_register(), osmo_iofd_close(), osmo_iofd_get_fd(), osmo_iofd_register(), and osmo_iofd_setup().

◆ flags

uint32_t osmo_io_fd::flags

flags to guard closing/freeing of iofd

◆ headroom

unsigned int osmo_io_fd::headroom

headroom to allocate when allocating msgb's

Referenced by iofd_msgb_alloc(), osmo_iofd_set_alloc_info(), and osmo_iofd_setup().

◆ io_ops

◆ list

struct llist_head osmo_io_fd::list

linked list for internal management

◆ max_length

unsigned int osmo_io_fd::max_length

maximum length of write queue

Referenced by iofd_txqueue_enqueue(), osmo_iofd_set_txqueue_max_length(), and osmo_iofd_setup().

◆ mode

◆ msg_queue

struct llist_head osmo_io_fd::msg_queue

actual linked list implementing the transmit queue

Referenced by iofd_txqueue_dequeue(), iofd_txqueue_enqueue(), iofd_txqueue_enqueue_front(), and osmo_iofd_setup().

◆ [struct]

◆ name

char* osmo_io_fd::name

human-readable name to associte with fd

Referenced by osmo_iofd_get_name(), osmo_iofd_set_name(), and osmo_iofd_setup().

◆ ofd

◆ pending

struct msgb* osmo_io_fd::pending

Pending msgb to keep partial data during segmentation.

Referenced by iofd_handle_segmented_read(), iofd_msgb_pending(), osmo_iofd_close(), and osmo_iofd_setup().

◆ [struct]

◆ priv_nr

unsigned int osmo_io_fd::priv_nr

private number, extending data

Referenced by osmo_iofd_get_priv_nr(), and osmo_iofd_set_priv_nr().

◆ read_enabled

bool osmo_io_fd::read_enabled

◆ read_msghdr

void* osmo_io_fd::read_msghdr

◆ size

unsigned int osmo_io_fd::size

size of msgb to allocate (excluding headroom)

Referenced by iofd_msgb_alloc(), osmo_iofd_set_alloc_info(), and osmo_iofd_setup().

◆ [struct]

◆ [union]

◆ [struct]

struct { ... } osmo_io_fd::uring

◆ write_enabled

bool osmo_io_fd::write_enabled

◆ write_msghdr

void* osmo_io_fd::write_msghdr

The documentation for this struct was generated from the following file: