libosmo-netif 1.4.0.19-26cd.202312252026
Osmocom network interface library
datagram.h
1#ifndef _OSMO_DGRAM_H_
2#define _OSMO_DGRAM_H_
3
4struct osmo_dgram_tx;
5
6struct osmo_dgram_tx *osmo_dgram_tx_create(void *ctx);
7void osmo_dgram_tx_destroy(struct osmo_dgram_tx *conn);
8
9void osmo_dgram_tx_set_addr(struct osmo_dgram_tx *conn, const char *addr);
10void osmo_dgram_tx_set_port(struct osmo_dgram_tx *conn, uint16_t port);
11void osmo_dgram_tx_set_local_addr(struct osmo_dgram_tx *conn, const char *addr);
12void osmo_dgram_tx_set_local_port(struct osmo_dgram_tx *conn, uint16_t port);
13void osmo_dgram_tx_set_data(struct osmo_dgram_tx *conn, void *data);
14
15int osmo_dgram_tx_open(struct osmo_dgram_tx *conn);
16void osmo_dgram_tx_close(struct osmo_dgram_tx *conn);
17
18void osmo_dgram_tx_send(struct osmo_dgram_tx *conn, struct msgb *msg);
19
20struct osmo_dgram_rx;
21
22struct osmo_dgram_rx *osmo_dgram_rx_create(void *ctx);
23
24void osmo_dgram_rx_set_addr(struct osmo_dgram_rx *conn, const char *addr);
25void osmo_dgram_rx_set_port(struct osmo_dgram_rx *conn, uint16_t port);
26void osmo_dgram_rx_set_read_cb(struct osmo_dgram_rx *conn, int (*read_cb)(struct osmo_dgram_rx *conn));
27void osmo_dgram_rx_destroy(struct osmo_dgram_rx *conn);
28
29int osmo_dgram_rx_open(struct osmo_dgram_rx *conn);
30void osmo_dgram_rx_close(struct osmo_dgram_rx *conn);
31
32int osmo_dgram_rx_recv(struct osmo_dgram_rx *conn, struct msgb *msg);
33
34struct osmo_dgram;
35
36struct osmo_dgram *osmo_dgram_create(void *ctx);
37void osmo_dgram_destroy(struct osmo_dgram *conn);
38
39int osmo_dgram_open(struct osmo_dgram *conn);
40void osmo_dgram_close(struct osmo_dgram *conn);
41
42void osmo_dgram_set_local_addr(struct osmo_dgram *conn, const char *addr);
43void osmo_dgram_set_remote_addr(struct osmo_dgram *conn, const char *addr);
44void osmo_dgram_set_local_port(struct osmo_dgram *conn, uint16_t port);
45void osmo_dgram_set_remote_port(struct osmo_dgram *conn, uint16_t port);
46void osmo_dgram_set_read_cb(struct osmo_dgram *conn, int (*read_cb)(struct osmo_dgram *conn));
47void osmo_dgram_set_data(struct osmo_dgram *conn, void *data);
48void *osmo_dgram_get_data(struct osmo_dgram *conn);
49
50void osmo_dgram_send(struct osmo_dgram *conn, struct msgb *msg);
51int osmo_dgram_recv(struct osmo_dgram *conn, struct msgb *msg);
52
53#endif
void osmo_dgram_rx_close(struct osmo_dgram_rx *conn)
Close the datagram receiver and unregister from select loop Does not destroy the datagram receiver,...
Definition: datagram.c:381
void osmo_dgram_destroy(struct osmo_dgram *conn)
Destroy a Osmocom datagram transceiver.
Definition: datagram.c:445
void osmo_dgram_tx_set_data(struct osmo_dgram_tx *conn, void *data)
Set application private data of the datagram transmitter.
Definition: datagram.c:191
void osmo_dgram_tx_close(struct osmo_dgram_tx *conn)
Close an Osmocom Datagram Transmitter.
Definition: datagram.c:80
int osmo_dgram_rx_recv(struct osmo_dgram_rx *conn, struct msgb *msg)
Receive data via Osmocom datagram receiver.
Definition: datagram.c:261
void osmo_dgram_set_remote_port(struct osmo_dgram *conn, uint16_t port)
Set the remote port to which we transmit.
Definition: datagram.c:482
void * osmo_dgram_get_data(struct osmo_dgram *conn)
Get application private data of the datagram transceiver.
Definition: datagram.c:507
void osmo_dgram_close(struct osmo_dgram *conn)
Close an Osmocom Datagram Transceiver.
Definition: datagram.c:535
void osmo_dgram_tx_set_port(struct osmo_dgram_tx *conn, uint16_t port)
Set the remote port to which we transmit.
Definition: datagram.c:160
struct osmo_dgram * osmo_dgram_create(void *ctx)
Create an Osmocom datagram transceiver (bidirectional)
Definition: datagram.c:419
void osmo_dgram_rx_set_read_cb(struct osmo_dgram_rx *conn, int(*read_cb)(struct osmo_dgram_rx *conn))
Set the read() call-back of the datagram receiver.
Definition: datagram.c:336
void osmo_dgram_set_remote_addr(struct osmo_dgram *conn, const char *addr)
Set the remote address to which we transmit/connect.
Definition: datagram.c:464
void osmo_dgram_send(struct osmo_dgram *conn, struct msgb *msg)
Enqueue data to be sent via an Osmocom datagram transceiver.
Definition: datagram.c:544
void osmo_dgram_set_read_cb(struct osmo_dgram *conn, int(*read_cb)(struct osmo_dgram *conn))
Set the read() call-back of the datagram receiver.
Definition: datagram.c:490
void osmo_dgram_tx_set_local_addr(struct osmo_dgram_tx *conn, const char *addr)
Set the local address from which we transmit.
Definition: datagram.c:171
void osmo_dgram_rx_destroy(struct osmo_dgram_rx *conn)
Destroy the datagram receiver. Releases Memory.
Definition: datagram.c:344
int osmo_dgram_tx_open(struct osmo_dgram_tx *conn)
Open connection of an Osmocom datagram transmitter.
Definition: datagram.c:207
void osmo_dgram_set_local_port(struct osmo_dgram *conn, uint16_t port)
Set the local port to which we bind.
Definition: datagram.c:473
void osmo_dgram_tx_set_addr(struct osmo_dgram_tx *conn, const char *addr)
Set the remote address to which we transmit.
Definition: datagram.c:149
void osmo_dgram_set_data(struct osmo_dgram *conn, void *data)
Set application private data of the datagram transmitter.
Definition: datagram.c:499
void osmo_dgram_tx_destroy(struct osmo_dgram_tx *conn)
Destroy a Osmocom datagram transmitter.
Definition: datagram.c:198
int osmo_dgram_recv(struct osmo_dgram *conn, struct msgb *msg)
Receive data via Osmocom datagram transceiver.
Definition: datagram.c:553
int osmo_dgram_open(struct osmo_dgram *conn)
Open the datagram transceiver. This actually initializes the underlying sockets and binds/connects th...
Definition: datagram.c:515
void osmo_dgram_rx_set_addr(struct osmo_dgram_rx *conn, const char *addr)
Set the local address to which we bind.
Definition: datagram.c:316
void osmo_dgram_tx_send(struct osmo_dgram_tx *conn, struct msgb *msg)
Enqueue data to be sent via an Osmocom datagram transmitter.
Definition: datagram.c:235
struct osmo_dgram_rx * osmo_dgram_rx_create(void *ctx)
Create an Osmocom datagram receiver.
Definition: datagram.c:300
struct osmo_dgram_tx * osmo_dgram_tx_create(void *ctx)
Create an Osmocom datagram transmitter.
Definition: datagram.c:130
void osmo_dgram_tx_set_local_port(struct osmo_dgram_tx *conn, uint16_t port)
Set the local port from which we transmit.
Definition: datagram.c:181
void osmo_dgram_set_local_addr(struct osmo_dgram *conn, const char *addr)
Set the local address to which we bind.
Definition: datagram.c:455
int osmo_dgram_rx_open(struct osmo_dgram_rx *conn)
Open the datagram receiver. This actually initializes the underlying socket and binds it to the confi...
Definition: datagram.c:353
void osmo_dgram_rx_set_port(struct osmo_dgram_rx *conn, uint16_t port)
Set the local port to which we bind.
Definition: datagram.c:326
Definition: datagram.c:248
Definition: datagram.c:64
Definition: datagram.c:394