html/ 0000755 0001750 0001750 00000000000 14722461220 011002 5 ustar build build html/osmux__output_8c.html 0000644 0001750 0001750 00000032477 14722461217 015237 0 ustar build build
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|
Osmocom multiplex protocol helpers (output) More...
#include <stdio.h>
#include <string.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/timer.h>
#include <osmocom/core/timer_compat.h>
#include <osmocom/core/select.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/logging.h>
#include <osmocom/netif/amr.h>
#include <osmocom/netif/rtp.h>
#include <osmocom/netif/osmux.h>
#include <arpa/inet.h>
Macros | |
#define | DELTA_RTP_MSG 20000 |
#define | DELTA_RTP_TIMESTAMP 160 |
Functions | |
struct osmux_hdr * | osmux_xfrm_output_pull (struct msgb *msg) |
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. More... | |
void | osmux_xfrm_output_flush (struct osmux_out_handle *h) |
Flush all scheduled RTP packets still pending to be transmitted. More... | |
struct osmux_out_handle * | osmux_xfrm_output_alloc (void *ctx) |
Allocate a new osmux out handle. More... | |
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_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_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. More... | |
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. More... | |
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. More... | |
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. More... | |
Osmocom multiplex protocol helpers (output)
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|
one per OSmux circuit_id, ie. More...
#include <osmux.h>
one per OSmux circuit_id, ie.
one per RTP flow.
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|
Osmocom Jitter Buffer helpers. More...
#include <stdint.h>
#include <stdbool.h>
#include <time.h>
#include <osmocom/core/timer.h>
Go to the source code of this file.
Data Structures | |
struct | osmo_jibuf |
A structure representing a single instance of a jitter buffer. More... | |
Typedefs | |
typedef void(* | osmo_jibuf_dequeue_cb) (struct msgb *msg, void *data) |
Functions | |
struct osmo_jibuf * | osmo_jibuf_alloc (void *talloc_ctx) |
Allocate a new jitter buffer instance. More... | |
void | osmo_jibuf_delete (struct osmo_jibuf *jb) |
Destroy a previously allocated jitter buffer instance. More... | |
int | osmo_jibuf_enqueue (struct osmo_jibuf *jb, struct msgb *msg) |
Try to enqueue a packet into the jitter buffer. More... | |
bool | osmo_jibuf_empty (struct osmo_jibuf *jb) |
Check whether the jitter buffer instance has packets queued or not. More... | |
void | osmo_jibuf_set_min_delay (struct osmo_jibuf *jb, uint32_t min_delay) |
Set minimum buffer size for the jitter buffer. More... | |
void | osmo_jibuf_set_max_delay (struct osmo_jibuf *jb, uint32_t max_delay) |
Set maximum buffer size for the jitter buffer. More... | |
void | osmo_jibuf_enable_skew_compensation (struct osmo_jibuf *jb, bool enable) |
Toggle use of skew detection and compensation mechanism. More... | |
void | osmo_jibuf_set_dequeue_cb (struct osmo_jibuf *jb, osmo_jibuf_dequeue_cb dequeue_cb, void *cb_data) |
Set dequeue callback for the jitter buffer. More... | |
Osmocom Jitter Buffer helpers.
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|
A structure representing a single instance of a jitter buffer. More...
#include <jibuf.h>
A structure representing a single instance of a jitter buffer.
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <time.h>
#include <sys/fcntl.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/ioctl.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <osmocom/core/timer.h>
#include <osmocom/core/select.h>
#include <osmocom/core/utils.h>
#include <osmocom/gsm/tlv.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/osmo_io.h>
#include <osmocom/core/panic.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/socket.h>
#include <osmocom/netif/stream.h>
#include <osmocom/netif/stream_private.h>
#include "config.h"
#include <osmocom/netif/sctp.h>
Macros | |
#define | LOGSLNK(link, level, fmt, args...) |
#define | LOGSSRV(srv, level, fmt, args...) |
#define | OSMO_STREAM_SRV_F_RECONF (1 << 0) |
#define | OSMO_STREAM_SRV_F_NODELAY (1 << 1) |
#define | OSMO_STREAM_SRV_F_FLUSH_DESTROY (1 << 0) |
Functions | |
struct osmo_stream_srv_link * | osmo_stream_srv_link_create (void *ctx) |
Create an Osmocom Stream Server Link. More... | |
void | osmo_stream_srv_link_set_name (struct osmo_stream_srv_link *link, const char *name) |
Set a name on the srv_link object (used during logging). More... | |
const char * | osmo_stream_srv_link_get_name (const struct osmo_stream_srv_link *link) |
Retrieve name previously set on the srv_link object (see osmo_stream_srv_link_set_name()). More... | |
void | osmo_stream_srv_link_set_nodelay (struct osmo_stream_srv_link *link, bool nodelay) |
Set the NODELAY socket option to avoid Nagle-like behavior. More... | |
int | osmo_stream_srv_link_set_priority (struct osmo_stream_srv_link *link, int sk_prio) |
Set the priority value of the stream socket. More... | |
int | osmo_stream_srv_link_set_ip_dscp (struct osmo_stream_srv_link *link, uint8_t ip_dscp) |
Set the DSCP (differentiated services code point) of the stream socket. More... | |
void | osmo_stream_srv_link_set_addr (struct osmo_stream_srv_link *link, const char *addr) |
Set the local address to which we bind. More... | |
int | osmo_stream_srv_link_set_addrs (struct osmo_stream_srv_link *link, const char **addr, size_t addrcnt) |
Set the local address set to which we bind. More... | |
void | osmo_stream_srv_link_set_port (struct osmo_stream_srv_link *link, uint16_t port) |
Set the local port number to which we bind. More... | |
void | osmo_stream_srv_link_set_proto (struct osmo_stream_srv_link *link, uint16_t proto) |
Set the protocol for the stream server link. More... | |
int | osmo_stream_srv_link_set_type (struct osmo_stream_srv_link *link, int type) |
Set the socket type for the stream server link. More... | |
int | osmo_stream_srv_link_set_domain (struct osmo_stream_srv_link *link, int domain) |
Set the socket type for the stream server link. More... | |
void | osmo_stream_srv_link_set_data (struct osmo_stream_srv_link *link, void *data) |
Set application private data of the stream server link. More... | |
void * | osmo_stream_srv_link_get_data (struct osmo_stream_srv_link *link) |
Retrieve application private data of the stream server link. More... | |
int | osmo_stream_srv_link_set_tx_queue_max_length (struct osmo_stream_srv_link *link, unsigned int size) |
Set the maximum length queue of the stream servers accepted and allocated from this server link. More... | |
char * | osmo_stream_srv_link_get_sockname (const struct osmo_stream_srv_link *link) |
Retrieve description of the stream server link e. More... | |
struct osmo_fd * | osmo_stream_srv_link_get_ofd (struct osmo_stream_srv_link *link) |
Retrieve Osmocom File Descriptor of the stream server link. More... | |
int | osmo_stream_srv_link_get_fd (const struct osmo_stream_srv_link *link) |
Retrieve File Descriptor of the stream server link. More... | |
void | osmo_stream_srv_link_set_accept_cb (struct osmo_stream_srv_link *link, int(*accept_cb)(struct osmo_stream_srv_link *link, int fd)) |
Set the accept() call-back of the stream server link. More... | |
void | osmo_stream_srv_link_destroy (struct osmo_stream_srv_link *link) |
Destroy the stream server link. More... | |
int | osmo_stream_srv_link_open (struct osmo_stream_srv_link *link) |
Open the stream server link. More... | |
bool | osmo_stream_srv_link_is_opened (const struct osmo_stream_srv_link *link) |
Check whether the stream server link is opened. More... | |
void | osmo_stream_srv_link_close (struct osmo_stream_srv_link *link) |
Close the stream server link and unregister from select loop. More... | |
int | osmo_stream_srv_link_set_param (struct osmo_stream_srv_link *link, enum osmo_stream_srv_link_param par, void *val, size_t val_len) |
Set given parameter of stream_srv_link to given value. More... | |
struct osmo_stream_srv * | osmo_stream_srv_create (void *ctx, struct osmo_stream_srv_link *link, int fd, osmo_stream_srv_read_cb_t read_cb, osmo_stream_srv_closed_cb_t closed_cb, void *data) |
Create a legacy osmo_fd mode Stream Server inside the specified link. More... | |
struct osmo_stream_srv * | osmo_stream_srv_create2 (void *ctx, struct osmo_stream_srv_link *link, int fd, void *data) |
Create an osmo_iofd mode Stream Server inside the specified link. More... | |
void | osmo_stream_srv_set_name (struct osmo_stream_srv *conn, const char *name) |
Set a name on the srv object (used during logging). More... | |
const char * | osmo_stream_srv_get_name (const struct osmo_stream_srv *conn) |
Retrieve name previously set on the srv object (see osmo_stream_srv_set_name()). More... | |
void | osmo_stream_srv_set_read_cb (struct osmo_stream_srv *conn, osmo_stream_srv_read_cb2_t read_cb) |
Set the call-back function for incoming data on an osmo_io stream_srv. More... | |
void | osmo_stream_srv_set_closed_cb (struct osmo_stream_srv *conn, osmo_stream_srv_closed_cb_t closed_cb) |
Set the call-back function called when the stream server socket was closed. More... | |
void | osmo_stream_srv_set_flush_and_destroy (struct osmo_stream_srv *conn) |
Prepare to send out all pending messages on the connection's Tx queue. More... | |
void | osmo_stream_srv_set_data (struct osmo_stream_srv *conn, void *data) |
Set application private data of the stream server. More... | |
void | osmo_stream_srv_set_segmentation_cb (struct osmo_stream_srv *conn, osmo_stream_srv_segmentation_cb_t segmentation_cb) |
Set the segmentation callback for target osmo_stream_srv structure. More... | |
void * | osmo_stream_srv_get_data (struct osmo_stream_srv *conn) |
Retrieve application private data of the stream server. More... | |
const char * | osmo_stream_srv_get_sockname (const struct osmo_stream_srv *conn) |
Retrieve the stream server socket description. More... | |
struct osmo_fd * | osmo_stream_srv_get_ofd (struct osmo_stream_srv *conn) |
Retrieve Osmocom File Descriptor of a stream server in osmo_fd mode. More... | |
int | osmo_stream_srv_get_fd (const struct osmo_stream_srv *conn) |
Retrieve File Descriptor of the stream server. More... | |
struct osmo_io_fd * | osmo_stream_srv_get_iofd (const struct osmo_stream_srv *srv) |
Retrieve osmo_io descriptor of the stream server socket. More... | |
struct osmo_stream_srv_link * | osmo_stream_srv_get_master (struct osmo_stream_srv *conn) |
Retrieve the master (Link) from a Stream Server. More... | |
void | osmo_stream_srv_destroy (struct osmo_stream_srv *conn) |
Destroy given Stream Server. More... | |
void | osmo_stream_srv_send (struct osmo_stream_srv *conn, struct msgb *msg) |
Enqueue data to be sent via an Osmocom stream server. More... | |
int | osmo_stream_srv_recv (struct osmo_stream_srv *conn, struct msgb *msg) |
Receive data via an Osmocom stream server in osmo_fd mode. More... | |
void | osmo_stream_srv_clear_tx_queue (struct osmo_stream_srv *conn) |
#define LOGSLNK | ( | link, | |
level, | |||
fmt, | |||
args... | |||
) |
#define LOGSSRV | ( | srv, | |
level, | |||
fmt, | |||
args... | |||
) |
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|
Data Fields | |
uint8_t | data [0] |
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|
libosmo-netif 1.5.1.23-95b2
Osmocom network interface library
|