libosmocore 1.13.1.1-afb4 Osmocom core library

Data Structures | Macros | Enumerations | Functions | Variables
osmo_io_internal.h File Reference
`#include "../config.h"`
`#include <unistd.h>`
`#include <stdbool.h>`
`#include <osmocom/core/osmo_io.h>`
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/msgb.h>`
`#include <osmocom/core/select.h>`
`#include <osmocom/core/socket.h>`

Go to the source code of this file.

## Data Structures
struct | iofd_backend_ops
struct | osmo_io_fd
struct | iofd_msghdr
| serialized version of 'struct msghdr' employed by sendmsg/recvmsg More...

## Macros
#define | OSMO_IO_DEFAULT_MSGB_SIZE 1024
#define | OSMO_IO_DEFAULT_MSGB_HEADROOM 128
#define | OSMO_IO_BACKEND_DEFAULT "POLL"
#define | IOFD_FLAG_CLOSED (1<<0)
#define | IOFD_FLAG_IN_CALLBACK (1<<1)
#define | IOFD_FLAG_TO_FREE (1<<2)
#define | IOFD_FLAG_NOTIFY_CONNECTED (1<<3)
#define | IOFD_FLAG_FD_REGISTERED (1<<4)
#define | IOFD_FLAG_SET(iofd, flag) (iofd)->flags |= (flag)
#define | IOFD_FLAG_UNSET(iofd, flag) (iofd)->flags &= ~(flag)
#define | IOFD_FLAG_ISSET(iofd, flag) ((iofd)->flags & (flag))
#define | IOFD_MSGHDR_MAX_READ_SQES 32
#define | IOFD_MSGHDR_IO_BUFFERS 8

## Enumerations
enum | iofd_msg_action { IOFD_ACT_READ , IOFD_ACT_WRITE , IOFD_ACT_RECVFROM , IOFD_ACT_SENDTO , IOFD_ACT_RECVMSG , IOFD_ACT_SENDMSG }
enum | iofd_seg_act { IOFD_SEG_ACT_HANDLE_ONE , IOFD_SEG_ACT_HANDLE_MORE , IOFD_SEG_ACT_DEFER }

## Functions
struct iofd_msghdr * | iofd_msghdr_alloc (struct osmo_io_fd *iofd, enum iofd_msg_action action, struct msgb *msg, size_t cmsg_size)
| Allocate the msghdr. More...
void | iofd_msghdr_free (struct iofd_msghdr *msghdr)
| Free the msghdr. More...
struct msgb * | iofd_msgb_alloc2 (struct osmo_io_fd *iofd, size_t size)
| convenience wrapper to call msgb_alloc with parameters from osmo_io_fd (of given size) More...
struct msgb * | iofd_msgb_alloc (struct osmo_io_fd *iofd)
| convenience wrapper to call msgb_alloc with parameters from osmo_io_fd More...
void | iofd_handle_recv (struct osmo_io_fd *iofd, struct msgb *msg, int rc, struct iofd_msghdr *msghdr)
| completion handler: Internal function called by osmo_io_backend after a given I/O operation has completed More...
void | iofd_handle_send_completion (struct osmo_io_fd *iofd, int rc, struct iofd_msghdr *msghdr)
| completion handler: Internal function called by osmo_io_backend after a given I/O operation has completed More...
int | iofd_txqueue_enqueue (struct osmo_io_fd *iofd, struct iofd_msghdr *msghdr)
| Enqueue a message to be sent. More...
void | iofd_txqueue_enqueue_front (struct osmo_io_fd *iofd, struct iofd_msghdr *msghdr)
| Enqueue a message at the front. More...
struct iofd_msghdr * | iofd_txqueue_dequeue (struct osmo_io_fd *iofd)
| Dequeue a message from the front. More...

## Variables
const struct iofd_backend_ops | iofd_poll_ops

## Macro Definition Documentation

## ◆ IOFD_FLAG_CLOSED

#define IOFD_FLAG_CLOSED (1<<0)

## ◆ IOFD_FLAG_FD_REGISTERED

#define IOFD_FLAG_FD_REGISTERED (1<<4)

## ◆ IOFD_FLAG_IN_CALLBACK

#define IOFD_FLAG_IN_CALLBACK (1<<1)

## ◆ IOFD_FLAG_ISSET

#define IOFD_FLAG_ISSET | ( |  | iofd,
|  |  | flag
| ) |  | ((iofd)->flags & (flag))

## ◆ IOFD_FLAG_NOTIFY_CONNECTED

#define IOFD_FLAG_NOTIFY_CONNECTED (1<<3)

## ◆ IOFD_FLAG_SET

#define IOFD_FLAG_SET | ( |  | iofd,
|  |  | flag
| ) |  | (iofd)->flags |= (flag)

## ◆ IOFD_FLAG_TO_FREE

#define IOFD_FLAG_TO_FREE (1<<2)

## ◆ IOFD_FLAG_UNSET

#define IOFD_FLAG_UNSET | ( |  | iofd,
|  |  | flag
| ) |  | (iofd)->flags &= ~(flag)

## ◆ IOFD_MSGHDR_IO_BUFFERS

#define IOFD_MSGHDR_IO_BUFFERS 8

## ◆ IOFD_MSGHDR_MAX_READ_SQES

#define IOFD_MSGHDR_MAX_READ_SQES 32

## ◆ OSMO_IO_BACKEND_DEFAULT

#define OSMO_IO_BACKEND_DEFAULT "POLL"

## ◆ OSMO_IO_DEFAULT_MSGB_HEADROOM

#define OSMO_IO_DEFAULT_MSGB_HEADROOM 128

## ◆ OSMO_IO_DEFAULT_MSGB_SIZE

#define OSMO_IO_DEFAULT_MSGB_SIZE 1024

## Enumeration Type Documentation

## ◆ iofd_msg_action

enum iofd_msg_action

Enumerator
IOFD_ACT_READ |
IOFD_ACT_WRITE |
IOFD_ACT_RECVFROM |
IOFD_ACT_SENDTO |
IOFD_ACT_RECVMSG |
IOFD_ACT_SENDMSG |

## ◆ iofd_seg_act

enum iofd_seg_act

Enumerator
IOFD_SEG_ACT_HANDLE_ONE |
IOFD_SEG_ACT_HANDLE_MORE |
IOFD_SEG_ACT_DEFER |

## Variable Documentation

## ◆ iofd_poll_ops

const struct iofd_backend_ops iofd_poll_ops
| extern

Referenced by __attribute__(), and iofd_poll_ofd_cb_recvmsg_sendmsg().