libosmo-netif
0.2.0-dirty
Osmocom network interface library
|
00001 #ifndef _OSMO_DGRAM_H_ 00002 #define _OSMO_DGRAM_H_ 00003 00004 struct osmo_dgram_tx; 00005 00006 struct osmo_dgram_tx *osmo_dgram_tx_create(void *ctx); 00007 void osmo_dgram_tx_destroy(struct osmo_dgram_tx *conn); 00008 00009 void osmo_dgram_tx_set_addr(struct osmo_dgram_tx *conn, const char *addr); 00010 void osmo_dgram_tx_set_port(struct osmo_dgram_tx *conn, uint16_t port); 00011 void osmo_dgram_tx_set_local_addr(struct osmo_dgram_tx *conn, const char *addr); 00012 void osmo_dgram_tx_set_local_port(struct osmo_dgram_tx *conn, uint16_t port); 00013 void osmo_dgram_tx_set_data(struct osmo_dgram_tx *conn, void *data); 00014 00015 int osmo_dgram_tx_open(struct osmo_dgram_tx *conn); 00016 void osmo_dgram_tx_close(struct osmo_dgram_tx *conn); 00017 00018 void osmo_dgram_tx_send(struct osmo_dgram_tx *conn, struct msgb *msg); 00019 00020 struct osmo_dgram_rx; 00021 00022 struct osmo_dgram_rx *osmo_dgram_rx_create(void *ctx); 00023 00024 void osmo_dgram_rx_set_addr(struct osmo_dgram_rx *conn, const char *addr); 00025 void osmo_dgram_rx_set_port(struct osmo_dgram_rx *conn, uint16_t port); 00026 void osmo_dgram_rx_set_read_cb(struct osmo_dgram_rx *conn, int (*read_cb)(struct osmo_dgram_rx *conn)); 00027 void osmo_dgram_rx_destroy(struct osmo_dgram_rx *conn); 00028 00029 int osmo_dgram_rx_open(struct osmo_dgram_rx *conn); 00030 void osmo_dgram_rx_close(struct osmo_dgram_rx *conn); 00031 00032 int osmo_dgram_rx_recv(struct osmo_dgram_rx *conn, struct msgb *msg); 00033 00034 struct osmo_dgram; 00035 00036 struct osmo_dgram *osmo_dgram_create(void *ctx); 00037 void osmo_dgram_destroy(struct osmo_dgram *conn); 00038 00039 int osmo_dgram_open(struct osmo_dgram *conn); 00040 void osmo_dgram_close(struct osmo_dgram *conn); 00041 00042 void osmo_dgram_set_local_addr(struct osmo_dgram *conn, const char *addr); 00043 void osmo_dgram_set_remote_addr(struct osmo_dgram *conn, const char *addr); 00044 void osmo_dgram_set_local_port(struct osmo_dgram *conn, uint16_t port); 00045 void osmo_dgram_set_remote_port(struct osmo_dgram *conn, uint16_t port); 00046 void osmo_dgram_set_read_cb(struct osmo_dgram *conn, int (*read_cb)(struct osmo_dgram *conn)); 00047 void osmo_dgram_set_data(struct osmo_dgram *conn, void *data); 00048 void *osmo_dgram_get_data(struct osmo_dgram *conn); 00049 00050 void osmo_dgram_send(struct osmo_dgram *conn, struct msgb *msg); 00051 int osmo_dgram_recv(struct osmo_dgram *conn, struct msgb *msg); 00052 00053 #endif