libosmo-netif  1.2.0.67-9ee4
Osmocom network interface library
datagram.h
1 #ifndef _OSMO_DGRAM_H_
2 #define _OSMO_DGRAM_H_
3 
4 struct osmo_dgram_tx;
5 
6 struct osmo_dgram_tx *osmo_dgram_tx_create(void *ctx);
7 void osmo_dgram_tx_destroy(struct osmo_dgram_tx *conn);
8 
9 void osmo_dgram_tx_set_addr(struct osmo_dgram_tx *conn, const char *addr);
10 void osmo_dgram_tx_set_port(struct osmo_dgram_tx *conn, uint16_t port);
11 void osmo_dgram_tx_set_local_addr(struct osmo_dgram_tx *conn, const char *addr);
12 void osmo_dgram_tx_set_local_port(struct osmo_dgram_tx *conn, uint16_t port);
13 void osmo_dgram_tx_set_data(struct osmo_dgram_tx *conn, void *data);
14 
15 int osmo_dgram_tx_open(struct osmo_dgram_tx *conn);
16 void osmo_dgram_tx_close(struct osmo_dgram_tx *conn);
17 
18 void osmo_dgram_tx_send(struct osmo_dgram_tx *conn, struct msgb *msg);
19 
20 struct osmo_dgram_rx;
21 
22 struct osmo_dgram_rx *osmo_dgram_rx_create(void *ctx);
23 
24 void osmo_dgram_rx_set_addr(struct osmo_dgram_rx *conn, const char *addr);
25 void osmo_dgram_rx_set_port(struct osmo_dgram_rx *conn, uint16_t port);
26 void osmo_dgram_rx_set_read_cb(struct osmo_dgram_rx *conn, int (*read_cb)(struct osmo_dgram_rx *conn));
27 void osmo_dgram_rx_destroy(struct osmo_dgram_rx *conn);
28 
29 int osmo_dgram_rx_open(struct osmo_dgram_rx *conn);
30 void osmo_dgram_rx_close(struct osmo_dgram_rx *conn);
31 
32 int osmo_dgram_rx_recv(struct osmo_dgram_rx *conn, struct msgb *msg);
33 
34 struct osmo_dgram;
35 
36 struct osmo_dgram *osmo_dgram_create(void *ctx);
37 void osmo_dgram_destroy(struct osmo_dgram *conn);
38 
39 int osmo_dgram_open(struct osmo_dgram *conn);
40 void osmo_dgram_close(struct osmo_dgram *conn);
41 
42 void osmo_dgram_set_local_addr(struct osmo_dgram *conn, const char *addr);
43 void osmo_dgram_set_remote_addr(struct osmo_dgram *conn, const char *addr);
44 void osmo_dgram_set_local_port(struct osmo_dgram *conn, uint16_t port);
45 void osmo_dgram_set_remote_port(struct osmo_dgram *conn, uint16_t port);
46 void osmo_dgram_set_read_cb(struct osmo_dgram *conn, int (*read_cb)(struct osmo_dgram *conn));
47 void osmo_dgram_set_data(struct osmo_dgram *conn, void *data);
48 void *osmo_dgram_get_data(struct osmo_dgram *conn);
49 
50 void osmo_dgram_send(struct osmo_dgram *conn, struct msgb *msg);
51 int osmo_dgram_recv(struct osmo_dgram *conn, struct msgb *msg);
52 
53 #endif
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_rx_destroy(struct osmo_dgram_rx *conn)
Destroy the datagram receiver. Releases Memory.
Definition: datagram.c:344
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_tx_set_port(struct osmo_dgram_tx *conn, uint16_t port)
Set the remote port to which we transmit.
Definition: datagram.c:160
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_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_local_addr(struct osmo_dgram *conn, const char *addr)
Set the local address to which we bind.
Definition: datagram.c:455
void osmo_dgram_tx_close(struct osmo_dgram_tx *conn)
Close an Osmocom Datagram Transmitter.
Definition: datagram.c:80
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_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_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_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_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_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_set_data(struct osmo_dgram *conn, void *data)
Set application private data of the datagram transmitter.
Definition: datagram.c:499
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
Definition: datagram.c:248
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
Definition: datagram.c:64
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
int osmo_dgram_recv(struct osmo_dgram *conn, struct msgb *msg)
Receive data via Osmocom datagram transceiver.
Definition: datagram.c:553
void osmo_dgram_close(struct osmo_dgram *conn)
Close an Osmocom Datagram Transceiver.
Definition: datagram.c:535
void * osmo_dgram_get_data(struct osmo_dgram *conn)
Get application private data of the datagram transceiver.
Definition: datagram.c:507
struct osmo_dgram_rx * osmo_dgram_rx_create(void *ctx)
Create an Osmocom datagram receiver.
Definition: datagram.c:300
int osmo_dgram_tx_open(struct osmo_dgram_tx *conn)
Open connection of an Osmocom datagram transmitter.
Definition: datagram.c:207
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 * osmo_dgram_create(void *ctx)
Create an Osmocom datagram transceiver (bidirectional)
Definition: datagram.c:419
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_tx_destroy(struct osmo_dgram_tx *conn)
Destroy a Osmocom datagram transmitter.
Definition: datagram.c:198
struct osmo_dgram_tx * osmo_dgram_tx_create(void *ctx)
Create an Osmocom datagram transmitter.
Definition: datagram.c:130
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_destroy(struct osmo_dgram *conn)
Destroy a Osmocom datagram transceiver.
Definition: datagram.c:445
Definition: datagram.c:394
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