osmo_sercomm_inst Struct Reference
Seriall Communications (HDLC)

one instance of a sercomm multiplex/demultiplex More...

`#include <sercomm.h>`

## Data Fields

int | initialized
| Has this instance been initialized? More...
int | uart_id
| UART Identifier. More...
struct {
struct llist_head dlci_queues [_SC_DLCI_MAX]
| per-DLC queue of pending transmit msgbs More...
struct msgb * msg
| msgb currently being transmitted More...
int state
| transmit state More...
uint8_t * next_char
| next to-be-transmitted char in msg More...
} | tx
| transmit side More...
struct {
dlci_cb_t dlci_handler [_SC_DLCI_MAX]
| per-DLC handler call-back functions More...
unsigned int msg_size
| msgb allocation size for rx msgs More...
struct msgb * msg
| currently received msgb More...
int state
| receive state More...
uint8_t dlci
| DLCI of currently received msgb. More...
uint8_t ctrl
| CTRL of currently received msgb. More...
} | rx
| receive side More...

## Detailed Description

one instance of a sercomm multiplex/demultiplex

## Field Documentation

## ctrl

uint8_t osmo_sercomm_inst::ctrl

CTRL of currently received msgb.

Referenced by osmo_sercomm_drv_rx_char().

## dlci

uint8_t osmo_sercomm_inst::dlci

DLCI of currently received msgb.

Referenced by osmo_sercomm_drv_rx_char().

## dlci_handler

dlci_cb_t osmo_sercomm_inst::dlci_handler[_SC_DLCI_MAX]

per-DLC handler call-back functions

Referenced by dispatch_rx_msg(), and osmo_sercomm_register_rx_cb().

## dlci_queues

struct llist_head osmo_sercomm_inst::dlci_queues[_SC_DLCI_MAX]

per-DLC queue of pending transmit msgbs

Referenced by osmo_sercomm_change_speed(), osmo_sercomm_drv_pull(), osmo_sercomm_init(), osmo_sercomm_sendmsg(), and osmo_sercomm_tx_queue_depth().

## initialized

int osmo_sercomm_inst::initialized

Has this instance been initialized?

Referenced by osmo_sercomm_init(), and osmo_sercomm_initialized().

## msg

struct msgb* osmo_sercomm_inst::msg

msgb currently being transmitted

currently received msgb

Referenced by osmo_sercomm_change_speed(), osmo_sercomm_drv_pull(), osmo_sercomm_drv_rx_char(), and osmo_sercomm_init().

## msg_size

unsigned int osmo_sercomm_inst::msg_size

msgb allocation size for rx msgs

Referenced by osmo_sercomm_drv_rx_char(), and osmo_sercomm_init().

## next_char

uint8_t* osmo_sercomm_inst::next_char

next to-be-transmitted char in msg

Referenced by osmo_sercomm_change_speed(), and osmo_sercomm_drv_pull().

## rx

struct { ... } osmo_sercomm_inst::rx

receive side

Referenced by dispatch_rx_msg(), osmo_sercomm_drv_rx_char(), osmo_sercomm_init(), and osmo_sercomm_register_rx_cb().

## state

int osmo_sercomm_inst::state

transmit state

receive state

Referenced by osmo_sercomm_drv_pull(), and osmo_sercomm_drv_rx_char().

## tx

struct { ... } osmo_sercomm_inst::tx

transmit side

Referenced by osmo_sercomm_change_speed(), osmo_sercomm_drv_pull(), osmo_sercomm_init(), osmo_sercomm_sendmsg(), and osmo_sercomm_tx_queue_depth().

## uart_id

int osmo_sercomm_inst::uart_id

UART Identifier.

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

- include/osmocom/core/sercomm.h