diff options
author | Pablo Neira Ayuso <pablo@gnumonks.org> | 2011-10-09 18:27:28 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@gnumonks.org> | 2011-10-09 18:27:28 +0200 |
commit | f47752fbffbb89ca3ba7232d952f463ac1a69835 (patch) | |
tree | a1cc50a950df497ce679c400a08674e8850b0004 | |
parent | ad2eca4768dbf939a7ff0a00d7ae466f27a41413 (diff) |
datagram: add osmo_ prefix to all functions
Modify examples as well to use the new API.
-rw-r--r-- | examples/lapd-over-datagram-network.c | 22 | ||||
-rw-r--r-- | examples/lapd-over-datagram-user.c | 20 | ||||
-rw-r--r-- | include/osmocom/netif/datagram.h | 58 | ||||
-rw-r--r-- | src/datagram.c | 141 |
4 files changed, 123 insertions, 118 deletions
diff --git a/examples/lapd-over-datagram-network.c b/examples/lapd-over-datagram-network.c index a0c8ac9..9f6e6d8 100644 --- a/examples/lapd-over-datagram-network.c +++ b/examples/lapd-over-datagram-network.c @@ -33,7 +33,7 @@ const struct log_info lapd_test_log_info = { .num_cat = ARRAY_SIZE(lapd_test_cat), }; -static struct datagram_conn *conn; +static struct osmo_dgram_conn *conn; static struct lapd_instance *lapd; static int sapi = 63, tei = 0; @@ -44,7 +44,7 @@ void sighandler(int foo) exit(EXIT_SUCCESS); } -int read_cb(struct datagram_server_conn *conn, struct msgb *msg) +int read_cb(struct osmo_dgram_server_conn *conn, struct msgb *msg) { int error; @@ -59,10 +59,10 @@ int read_cb(struct datagram_server_conn *conn, struct msgb *msg) void lapd_tx_cb(struct msgb *msg, void *cbdata) { - struct datagram_conn *conn = cbdata; + struct osmo_dgram_conn *conn = cbdata; LOGP(DLINP, LOGL_NOTICE, "sending message over datagram\n"); - datagram_conn_send(conn, msg); + osmo_dgram_conn_send(conn, msg); } void lapd_rx_cb(struct osmo_dlsap_prim *dp, uint8_t tei, uint8_t sapi, @@ -135,16 +135,16 @@ int main(void) * initialize datagram server. */ - conn = datagram_conn_create(tall_test); + conn = osmo_dgram_conn_create(tall_test); if (conn == NULL) { fprintf(stderr, "cannot create client\n"); exit(EXIT_FAILURE); } - datagram_conn_set_local_addr(conn, "127.0.0.1"); - datagram_conn_set_local_port(conn, 10001); - datagram_conn_set_remote_addr(conn, "127.0.0.1"); - datagram_conn_set_remote_port(conn, 10000); - datagram_conn_set_read_cb(conn, read_cb); + osmo_dgram_conn_set_local_addr(conn, "127.0.0.1"); + osmo_dgram_conn_set_local_port(conn, 10001); + osmo_dgram_conn_set_remote_addr(conn, "127.0.0.1"); + osmo_dgram_conn_set_remote_port(conn, 10000); + osmo_dgram_conn_set_read_cb(conn, read_cb); lapd = lapd_instance_alloc(1, lapd_tx_cb, conn, lapd_rx_cb, conn, &lapd_profile_sat); @@ -159,7 +159,7 @@ int main(void) exit(EXIT_FAILURE); } - if (datagram_conn_open(conn) < 0) { + if (osmo_dgram_conn_open(conn) < 0) { fprintf(stderr, "cannot open client\n"); exit(EXIT_FAILURE); } diff --git a/examples/lapd-over-datagram-user.c b/examples/lapd-over-datagram-user.c index 2e6e02e..7337f5b 100644 --- a/examples/lapd-over-datagram-user.c +++ b/examples/lapd-over-datagram-user.c @@ -31,7 +31,7 @@ const struct log_info lapd_test_log_info = { .num_cat = ARRAY_SIZE(lapd_test_cat), }; -static struct datagram_conn *conn; +static struct osmo_dgram_conn *conn; static struct lapd_instance *lapd; static int sapi = 63, tei = 0; @@ -43,7 +43,7 @@ void sighandler(int foo) exit(EXIT_SUCCESS); } -static int read_cb(struct datagram_server_conn *conn, struct msgb *msg) +static int read_cb(struct osmo_dgram_server_conn *conn, struct msgb *msg) { int error; @@ -61,7 +61,7 @@ static void *tall_test; void lapd_tx_cb(struct msgb *msg, void *cbdata) { LOGP(DLINP, LOGL_NOTICE, "sending message over datagram\n"); - datagram_conn_send(conn, msg); + osmo_dgram_conn_send(conn, msg); } void lapd_rx_cb(struct osmo_dlsap_prim *dp, uint8_t tei, uint8_t sapi, @@ -144,18 +144,18 @@ int main(void) * initialize datagram socket. */ - conn = datagram_conn_create(tall_test); + conn = osmo_dgram_conn_create(tall_test); if (conn == NULL) { fprintf(stderr, "cannot create client\n"); exit(EXIT_FAILURE); } - datagram_conn_set_local_addr(conn, "127.0.0.1"); - datagram_conn_set_local_port(conn, 10000); - datagram_conn_set_remote_addr(conn, "127.0.0.1"); - datagram_conn_set_remote_port(conn, 10001); - datagram_conn_set_read_cb(conn, read_cb); + osmo_dgram_conn_set_local_addr(conn, "127.0.0.1"); + osmo_dgram_conn_set_local_port(conn, 10000); + osmo_dgram_conn_set_remote_addr(conn, "127.0.0.1"); + osmo_dgram_conn_set_remote_port(conn, 10001); + osmo_dgram_conn_set_read_cb(conn, read_cb); - if (datagram_conn_open(conn) < 0) { + if (osmo_dgram_conn_open(conn) < 0) { fprintf(stderr, "cannot open client\n"); exit(EXIT_FAILURE); } diff --git a/include/osmocom/netif/datagram.h b/include/osmocom/netif/datagram.h index abda79b..3a663d1 100644 --- a/include/osmocom/netif/datagram.h +++ b/include/osmocom/netif/datagram.h @@ -1,47 +1,47 @@ #ifndef _OSMO_DGRAM_H_ #define _OSMO_DGRAM_H_ -struct datagram_client_conn; +struct osmo_dgram_client_conn; -struct datagram_client_conn *datagram_client_conn_create(void *ctx); -void datagram_client_conn_destroy(struct datagram_client_conn *conn); +struct osmo_dgram_client_conn *osmo_dgram_client_conn_create(void *ctx); +void osmo_dgram_client_conn_destroy(struct osmo_dgram_client_conn *conn); -void datagram_client_conn_set_addr(struct datagram_client_conn *conn, const char *addr); -void datagram_client_conn_set_port(struct datagram_client_conn *conn, uint16_t port); -void datagram_client_conn_set_data(struct datagram_client_conn *conn, void *data); +void osmo_dgram_client_conn_set_addr(struct osmo_dgram_client_conn *conn, const char *addr); +void osmo_dgram_client_conn_set_port(struct osmo_dgram_client_conn *conn, uint16_t port); +void osmo_dgram_client_conn_set_data(struct osmo_dgram_client_conn *conn, void *data); -int datagram_client_conn_open(struct datagram_client_conn *conn); -void datagram_client_conn_close(struct datagram_client_conn *conn); +int osmo_dgram_client_conn_open(struct osmo_dgram_client_conn *conn); +void osmo_dgram_client_conn_close(struct osmo_dgram_client_conn *conn); -void datagram_client_conn_send(struct datagram_client_conn *conn, struct msgb *msg); +void osmo_dgram_client_conn_send(struct osmo_dgram_client_conn *conn, struct msgb *msg); -struct datagram_server_conn; +struct osmo_dgram_server_conn; -struct datagram_server_conn *datagram_server_conn_create(void *ctx); +struct osmo_dgram_server_conn *osmo_dgram_server_conn_create(void *ctx); -void datagram_server_conn_set_addr(struct datagram_server_conn *conn, const char *addr); -void datagram_server_conn_set_port(struct datagram_server_conn *conn, uint16_t port); -void datagram_server_conn_set_read_cb(struct datagram_server_conn *conn, int (*read_cb)(struct datagram_server_conn *conn, struct msgb *msg)); -void datagram_server_conn_destroy(struct datagram_server_conn *conn); +void osmo_dgram_server_conn_set_addr(struct osmo_dgram_server_conn *conn, const char *addr); +void osmo_dgram_server_conn_set_port(struct osmo_dgram_server_conn *conn, uint16_t port); +void osmo_dgram_server_conn_set_read_cb(struct osmo_dgram_server_conn *conn, int (*read_cb)(struct osmo_dgram_server_conn *conn, struct msgb *msg)); +void osmo_dgram_server_conn_destroy(struct osmo_dgram_server_conn *conn); -int datagram_server_conn_open(struct datagram_server_conn *conn); -void datagram_server_conn_close(struct datagram_server_conn *conn); +int osmo_dgram_server_conn_open(struct osmo_dgram_server_conn *conn); +void osmo_dgram_server_conn_close(struct osmo_dgram_server_conn *conn); -struct datagram_conn; +struct osmo_dgram_conn; -struct datagram_conn *datagram_conn_create(void *ctx); -void datagram_conn_destroy(struct datagram_conn *conn); +struct osmo_dgram_conn *osmo_dgram_conn_create(void *ctx); +void osmo_dgram_conn_destroy(struct osmo_dgram_conn *conn); -int datagram_conn_open(struct datagram_conn *conn); -void datagram_conn_close(struct datagram_conn *conn); +int osmo_dgram_conn_open(struct osmo_dgram_conn *conn); +void osmo_dgram_conn_close(struct osmo_dgram_conn *conn); -void datagram_conn_set_local_addr(struct datagram_conn *conn, const char *addr); -void datagram_conn_set_remote_addr(struct datagram_conn *conn, const char *addr); -void datagram_conn_set_local_port(struct datagram_conn *conn, uint16_t port); -void datagram_conn_set_remote_port(struct datagram_conn *conn, uint16_t port); -void datagram_conn_set_read_cb(struct datagram_conn *conn, int (*read_cb)(struct datagram_server_conn *conn, struct msgb *msg)); -void datagram_conn_set_data(struct datagram_client_conn *conn, void *data); +void osmo_dgram_conn_set_local_addr(struct osmo_dgram_conn *conn, const char *addr); +void osmo_dgram_conn_set_remote_addr(struct osmo_dgram_conn *conn, const char *addr); +void osmo_dgram_conn_set_local_port(struct osmo_dgram_conn *conn, uint16_t port); +void osmo_dgram_conn_set_remote_port(struct osmo_dgram_conn *conn, uint16_t port); +void osmo_dgram_conn_set_read_cb(struct osmo_dgram_conn *conn, int (*read_cb)(struct osmo_dgram_server_conn *conn, struct msgb *msg)); +void osmo_dgram_conn_set_data(struct osmo_dgram_client_conn *conn, void *data); -void datagram_conn_send(struct datagram_conn *conn, struct msgb *msg); +void osmo_dgram_conn_send(struct osmo_dgram_conn *conn, struct msgb *msg); #endif diff --git a/src/datagram.c b/src/datagram.c index cd09025..80e98a8 100644 --- a/src/datagram.c +++ b/src/datagram.c @@ -23,22 +23,22 @@ * Client side. */ -struct datagram_client_conn { +struct osmo_dgram_client_conn { struct osmo_fd ofd; struct llist_head tx_queue; const char *addr; uint16_t port; - int (*write_cb)(struct datagram_client_conn *conn); + int (*write_cb)(struct osmo_dgram_client_conn *conn); void *data; }; -void datagram_client_conn_close(struct datagram_client_conn *conn) +void osmo_dgram_client_conn_close(struct osmo_dgram_client_conn *conn) { osmo_fd_unregister(&conn->ofd); close(conn->ofd.fd); } -static int datagram_client_write(struct datagram_client_conn *conn) +static int osmo_dgram_client_write(struct osmo_dgram_client_conn *conn) { struct msgb *msg; struct llist_head *lh; @@ -63,28 +63,28 @@ static int datagram_client_write(struct datagram_client_conn *conn) return 0; } -static int datagram_client_fd_cb(struct osmo_fd *ofd, unsigned int what) +static int osmo_dgram_client_fd_cb(struct osmo_fd *ofd, unsigned int what) { - struct datagram_client_conn *conn = ofd->data; + struct osmo_dgram_client_conn *conn = ofd->data; if (what & BSC_FD_WRITE) { LOGP(DLINP, LOGL_DEBUG, "connected write\n"); - datagram_client_write(conn); + osmo_dgram_client_write(conn); } return 0; } -struct datagram_client_conn *datagram_client_conn_create(void *ctx) +struct osmo_dgram_client_conn *osmo_dgram_client_conn_create(void *ctx) { - struct datagram_client_conn *conn; + struct osmo_dgram_client_conn *conn; - conn = talloc_zero(ctx, struct datagram_client_conn); + conn = talloc_zero(ctx, struct osmo_dgram_client_conn); if (!conn) return NULL; conn->ofd.when |= BSC_FD_READ; conn->ofd.priv_nr = 0; /* XXX */ - conn->ofd.cb = datagram_client_fd_cb; + conn->ofd.cb = osmo_dgram_client_fd_cb; conn->ofd.data = conn; INIT_LLIST_HEAD(&conn->tx_queue); @@ -92,29 +92,31 @@ struct datagram_client_conn *datagram_client_conn_create(void *ctx) } void -datagram_client_conn_set_addr(struct datagram_client_conn *conn, const char *addr) +osmo_dgram_client_conn_set_addr(struct osmo_dgram_client_conn *conn, + const char *addr) { conn->addr = talloc_strdup(conn, addr); } void -datagram_client_conn_set_port(struct datagram_client_conn *conn, uint16_t port) +osmo_dgram_client_conn_set_port(struct osmo_dgram_client_conn *conn, + uint16_t port) { conn->port = port; } void -datagram_client_conn_set_data(struct datagram_client_conn *conn, void *data) +osmo_dgram_client_conn_set_data(struct osmo_dgram_client_conn *conn, void *data) { conn->data = data; } -void datagram_client_conn_destroy(struct datagram_client_conn *conn) +void osmo_dgram_client_conn_destroy(struct osmo_dgram_client_conn *conn) { talloc_free(conn); } -int datagram_client_conn_open(struct datagram_client_conn *conn) +int osmo_dgram_client_conn_open(struct osmo_dgram_client_conn *conn) { int ret; @@ -133,7 +135,8 @@ int datagram_client_conn_open(struct datagram_client_conn *conn) return 0; } -void datagram_client_conn_send(struct datagram_client_conn *conn, struct msgb *msg) +void osmo_dgram_client_conn_send(struct osmo_dgram_client_conn *conn, + struct msgb *msg) { msgb_enqueue(&conn->tx_queue, msg); conn->ofd.when |= BSC_FD_WRITE; @@ -143,15 +146,15 @@ void datagram_client_conn_send(struct datagram_client_conn *conn, struct msgb *m * Server side. */ -struct datagram_server_conn { +struct osmo_dgram_server_conn { struct osmo_fd ofd; const char *addr; uint16_t port; - int (*cb)(struct datagram_server_conn *conn, struct msgb *msg); + int (*cb)(struct osmo_dgram_server_conn *conn, struct msgb *msg); void *data; }; -static void datagram_server_conn_read(struct datagram_server_conn *conn) +static void osmo_dgram_server_conn_read(struct osmo_dgram_server_conn *conn) { struct msgb *msg; int ret; @@ -168,11 +171,11 @@ static void datagram_server_conn_read(struct datagram_server_conn *conn) if (errno == EPIPE || errno == ECONNRESET) { LOGP(DLINP, LOGL_ERROR, "lost connection with server\n"); } - datagram_server_conn_destroy(conn); + osmo_dgram_server_conn_destroy(conn); return; } else if (ret == 0) { LOGP(DLINP, LOGL_ERROR, "connection closed with server\n"); - datagram_server_conn_destroy(conn); + osmo_dgram_server_conn_destroy(conn); return; } msgb_put(msg, ret); @@ -183,54 +186,56 @@ static void datagram_server_conn_read(struct datagram_server_conn *conn) return; } -static int datagram_server_conn_cb(struct osmo_fd *ofd, unsigned int what) +static int osmo_dgram_server_conn_cb(struct osmo_fd *ofd, unsigned int what) { - struct datagram_server_conn *conn = ofd->data; + struct osmo_dgram_server_conn *conn = ofd->data; LOGP(DLINP, LOGL_DEBUG, "connected read/write\n"); if (what & BSC_FD_READ) - datagram_server_conn_read(conn); + osmo_dgram_server_conn_read(conn); return 0; } -struct datagram_server_conn *datagram_server_conn_create(void *ctx) +struct osmo_dgram_server_conn *osmo_dgram_server_conn_create(void *ctx) { - struct datagram_server_conn *conn; + struct osmo_dgram_server_conn *conn; - conn = talloc_zero(ctx, struct datagram_server_conn); + conn = talloc_zero(ctx, struct osmo_dgram_server_conn); if (!conn) return NULL; conn->ofd.when |= BSC_FD_READ; - conn->ofd.cb = datagram_server_conn_cb; + conn->ofd.cb = osmo_dgram_server_conn_cb; conn->ofd.data = conn; return conn; } -void datagram_server_conn_set_addr(struct datagram_server_conn *conn, const char *addr) +void osmo_dgram_server_conn_set_addr(struct osmo_dgram_server_conn *conn, + const char *addr) { conn->addr = talloc_strdup(conn, addr); } -void datagram_server_conn_set_port(struct datagram_server_conn *conn, uint16_t port) +void osmo_dgram_server_conn_set_port(struct osmo_dgram_server_conn *conn, + uint16_t port) { conn->port = port; } -void datagram_server_conn_set_read_cb(struct datagram_server_conn *conn, - int (*read_cb)(struct datagram_server_conn *conn, struct msgb *msg)) +void osmo_dgram_server_conn_set_read_cb(struct osmo_dgram_server_conn *conn, + int (*read_cb)(struct osmo_dgram_server_conn *conn, struct msgb *msg)) { conn->cb = read_cb; } -void datagram_server_conn_destroy(struct datagram_server_conn *conn) +void osmo_dgram_server_conn_destroy(struct osmo_dgram_server_conn *conn) { talloc_free(conn); } -int datagram_server_conn_open(struct datagram_server_conn *conn) +int osmo_dgram_server_conn_open(struct osmo_dgram_server_conn *conn) { int ret; @@ -247,7 +252,7 @@ int datagram_server_conn_open(struct datagram_server_conn *conn) return 0; } -void datagram_server_conn_close(struct datagram_server_conn *conn) +void osmo_dgram_server_conn_close(struct osmo_dgram_server_conn *conn) { osmo_fd_unregister(&conn->ofd); close(conn->ofd.fd); @@ -257,98 +262,98 @@ void datagram_server_conn_close(struct datagram_server_conn *conn) * Client+Server (bidirectional communications). */ -struct datagram_conn { - struct datagram_server_conn *server; - struct datagram_client_conn *client; +struct osmo_dgram_conn { + struct osmo_dgram_server_conn *server; + struct osmo_dgram_client_conn *client; void *data; }; -struct datagram_conn *datagram_conn_create(void *ctx) +struct osmo_dgram_conn *osmo_dgram_conn_create(void *ctx) { - struct datagram_conn *conn; + struct osmo_dgram_conn *conn; - conn = talloc_zero(ctx, struct datagram_conn); + conn = talloc_zero(ctx, struct osmo_dgram_conn); if (!conn) return NULL; - conn->server = datagram_server_conn_create(ctx); + conn->server = osmo_dgram_server_conn_create(ctx); if (conn->server == NULL) return NULL; - conn->client = datagram_client_conn_create(ctx); + conn->client = osmo_dgram_client_conn_create(ctx); if (conn->client == NULL) { - datagram_server_conn_destroy(conn->server); + osmo_dgram_server_conn_destroy(conn->server); return NULL; } return conn; } -void datagram_conn_destroy(struct datagram_conn *conn) +void osmo_dgram_conn_destroy(struct osmo_dgram_conn *conn) { - datagram_server_conn_destroy(conn->server); - datagram_client_conn_destroy(conn->client); + osmo_dgram_server_conn_destroy(conn->server); + osmo_dgram_client_conn_destroy(conn->client); } void -datagram_conn_set_local_addr(struct datagram_conn *conn, const char *addr) +osmo_dgram_conn_set_local_addr(struct osmo_dgram_conn *conn, const char *addr) { - datagram_server_conn_set_addr(conn->server, addr); + osmo_dgram_server_conn_set_addr(conn->server, addr); } void -datagram_conn_set_remote_addr(struct datagram_conn *conn, const char *addr) +osmo_dgram_conn_set_remote_addr(struct osmo_dgram_conn *conn, const char *addr) { - datagram_client_conn_set_addr(conn->client, addr); + osmo_dgram_client_conn_set_addr(conn->client, addr); } void -datagram_conn_set_local_port(struct datagram_conn *conn, uint16_t port) +osmo_dgram_conn_set_local_port(struct osmo_dgram_conn *conn, uint16_t port) { - datagram_server_conn_set_port(conn->server, port); + osmo_dgram_server_conn_set_port(conn->server, port); } void -datagram_conn_set_remote_port(struct datagram_conn *conn, uint16_t port) +osmo_dgram_conn_set_remote_port(struct osmo_dgram_conn *conn, uint16_t port) { - datagram_client_conn_set_port(conn->client, port); + osmo_dgram_client_conn_set_port(conn->client, port); } -void datagram_conn_set_read_cb(struct datagram_conn *conn, - int (*read_cb)(struct datagram_server_conn *conn, struct msgb *msg)) +void osmo_dgram_conn_set_read_cb(struct osmo_dgram_conn *conn, + int (*read_cb)(struct osmo_dgram_server_conn *conn, struct msgb *msg)) { conn->server->cb = read_cb; } void -datagram_conn_set_data(struct datagram_client_conn *conn, void *data) +osmo_dgram_conn_set_data(struct osmo_dgram_client_conn *conn, void *data) { conn->data = data; } -int datagram_conn_open(struct datagram_conn *conn) +int osmo_dgram_conn_open(struct osmo_dgram_conn *conn) { int ret; - ret = datagram_server_conn_open(conn->server); + ret = osmo_dgram_server_conn_open(conn->server); if (ret < 0) return ret; - ret = datagram_client_conn_open(conn->client); + ret = osmo_dgram_client_conn_open(conn->client); if (ret < 0) { - datagram_server_conn_close(conn->server); + osmo_dgram_server_conn_close(conn->server); return ret; } return ret; } -void datagram_conn_close(struct datagram_conn *conn) +void osmo_dgram_conn_close(struct osmo_dgram_conn *conn) { - datagram_server_conn_close(conn->server); - datagram_client_conn_close(conn->client); + osmo_dgram_server_conn_close(conn->server); + osmo_dgram_client_conn_close(conn->client); } -void datagram_conn_send(struct datagram_conn *conn, struct msgb *msg) +void osmo_dgram_conn_send(struct osmo_dgram_conn *conn, struct msgb *msg) { - datagram_client_conn_send(conn->client, msg); + osmo_dgram_client_conn_send(conn->client, msg); } |