libosmo-netif 1.6.0.16-c51c Osmocom network interface library

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions | Variables
osmux.h File Reference
Osmocom Multiplex Protocol

Osmocom multiplex protocol helpers. More...

`#include <osmocom/core/endian.h>`
`#include <osmocom/core/timer.h>`
`#include <osmocom/core/msgb.h>`

Go to the source code of this file.

## Data Structures
struct | osmux_hdr
| Osmux protocol header. More...
struct | osmux_in_handle
| one to handle all existing RTP flows More...
struct | osmux_out_handle
| one per OSmux circuit_id, ie. More...

## Macros
#define | OSMUX_DEFAULT_PORT 1984
#define | OSMUX_FT_SIGNAL 0
#define | OSMUX_FT_VOICE_AMR 1
#define | OSMUX_FT_DUMMY 2
#define | OSMUX_CID_MAX 255 /* determined by circuit_id */
#define | OSMUX_MAX_CONCURRENT_CALLS 8
#define | OSMUX_BATCH_DEFAULT_MAX 1472

## Typedefs
typedef struct msgb *(* | rtp_msgb_alloc_cb_t) (void *rtp_msgb_alloc_priv_data, unsigned int msg_len)

## Functions
struct osmux_hdr | __attribute__ ((packed))
int | osmux_snprintf (char *buf, size_t size, struct msgb *msg)
| Print osmux header fields and payload from msg into buffer buf.
struct osmux_in_handle * | osmux_xfrm_input_alloc (void *ctx)
| Allocate a new osmux in handle (osmux source, tx side)
void | osmux_xfrm_input_init (struct osmux_in_handle *h) OSMO_DEPRECATED("Use osmux_xfrm_input_alloc() instead")
void | osmux_xfrm_input_fini (struct osmux_in_handle *h) OSMO_DEPRECATED("Use talloc_free() instead")
void | osmux_xfrm_input_set_name (struct osmux_in_handle *h, const char *name)
int | osmux_xfrm_input_set_batch_factor (struct osmux_in_handle *h, uint8_t batch_factor)
void | osmux_xfrm_input_set_batch_size (struct osmux_in_handle *h, uint16_t batch_size)
void | osmux_xfrm_input_set_initial_seqnum (struct osmux_in_handle *h, uint8_t osmux_seqnum)
void | osmux_xfrm_input_set_deliver_cb (struct osmux_in_handle *h, void(*deliver_cb)(struct msgb *msg, void *data), void *data)
void * | osmux_xfrm_input_get_deliver_cb_data (struct osmux_in_handle *h)
int | osmux_xfrm_input_open_circuit (struct osmux_in_handle *h, int ccid, int dummy)
void | osmux_xfrm_input_close_circuit (struct osmux_in_handle *h, int ccid)
int | osmux_xfrm_input (struct osmux_in_handle *h, struct msgb *msg, int ccid)
| osmux_xfrm_input - add RTP message to OSmux batch
void | osmux_xfrm_input_deliver (struct osmux_in_handle *h)
struct osmux_out_handle * | osmux_xfrm_output_alloc (void *ctx)
| Allocate a new osmux out handle.
void | osmux_xfrm_output_init (struct osmux_out_handle *h, uint32_t rtp_ssrc) OSMO_DEPRECATED("Use osmux_xfrm_output_alloc() and osmux_xfrm_output_set_rtp_*() instead")
void | osmux_xfrm_output_init2 (struct osmux_out_handle *h, uint32_t rtp_ssrc, uint8_t rtp_payload_type) OSMO_DEPRECATED("Use osmux_xfrm_output_alloc() and osmux_xfrm_output_set_rtp_*() instead")
void | osmux_xfrm_output_set_rtp_ssrc (struct osmux_out_handle *h, uint32_t rtp_ssrc)
| Set SSRC of generated RTP packets from Osmux frames.
void | osmux_xfrm_output_set_rtp_pl_type (struct osmux_out_handle *h, uint32_t rtp_payload_type)
| Set Payload Type of generated RTP packets from Osmux frames.
void | osmux_xfrm_output_set_tx_cb (struct osmux_out_handle *h, void(*tx_cb)(struct msgb *msg, void *data), void *data)
| Set transmission callback to call when a generated RTP packet is to be transmitted.
void | osmux_xfrm_output_set_rtp_msgb_alloc_cb (struct osmux_out_handle *h, rtp_msgb_alloc_cb_t cb, void *cb_data)
| Set callback to call when an RTP packet to be generated is to be allocated.
int | osmux_xfrm_output_sched (struct osmux_out_handle *h, struct osmux_hdr *osmuxh)
| Generate RTP packets from osmux frame AMR payload set and schedule them for transmission at appropriate time.
void | osmux_xfrm_output_flush (struct osmux_out_handle *h)
| Flush all scheduled RTP packets still pending to be transmitted.
struct osmux_hdr * | osmux_xfrm_output_pull (struct msgb *msg)

## Variables
uint8_t | seq
uint8_t | circuit_id
uint8_t | data [0]
struct osmux_in_handle | __attribute__

## Detailed Description

Osmocom multiplex protocol helpers.