libosmo-netif  0.2.0-dirty
Osmocom network interface library
include/osmocom/netif/datagram.h
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
 All Data Structures Files Functions