diff options
author | Michael Scott <michael.scott@linaro.org> | 2017-01-23 14:48:53 -0800 |
---|---|---|
committer | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2017-02-03 15:59:16 +0200 |
commit | 36b551edeb1f0f0bf978447a1a555ca875676f1b (patch) | |
tree | 88de22c56132ca3679dc55f326ef0cd924fec0f1 /samples | |
parent | f75c1fdabf745e9dc2de51ecb07cb8e716bff24d (diff) |
samples: net: irc_bot: make some functions more accessible
Due to code restructuring we should move the following
functions higher in the code (above zirc_connect):
zirc_nick_set()
zirc_user_set()
zirc_chan_join()
Also relocate the function declaration for on_msg_rcvd()
to the top of the code.
Change-Id: I3936fb645b709dcbcfcc4212c127db819974c046
Signed-off-by: Michael Scott <michael.scott@linaro.org>
Diffstat (limited to 'samples')
-rw-r--r-- | samples/net/irc_bot/src/irc-bot.c | 204 |
1 files changed, 102 insertions, 102 deletions
diff --git a/samples/net/irc_bot/src/irc-bot.c b/samples/net/irc_bot/src/irc-bot.c index fb5d94429..27b1353dc 100644 --- a/samples/net/irc_bot/src/irc-bot.c +++ b/samples/net/irc_bot/src/irc-bot.c @@ -83,6 +83,9 @@ struct zirc_chan { void *data; }; +static void on_msg_rcvd(void *data, struct zirc_chan *chan, char *umask, + char *msg); + static void panic(const char *msg) { @@ -274,6 +277,105 @@ on_context_recv(struct net_context *ctx, struct net_buf *buf, } } +static int +zirc_nick_set(struct zirc *irc, const char *nick) +{ + char buffer[32]; + int ret; + + NET_INFO("Setting nickname to: %s", nick); + + ret = snprintk(buffer, sizeof(buffer), "NICK %s\r\n", nick); + if (ret < 0 || ret >= sizeof(buffer)) { + return -EINVAL; + } + + return transmit(irc->conn, buffer, ret); +} + +static int +zirc_user_set(struct zirc *irc, const char *user, const char *realname) +{ + char buffer[32]; + int ret; + + NET_INFO("Setting user to: %s, real name to: %s", user, realname); + + ret = snprintk(buffer, sizeof(buffer), "USER %s * * :%s\r\n", + user, realname); + if (ret < 0 || ret >= sizeof(buffer)) { + return -EINVAL; + } + + return transmit(irc->conn, buffer, ret); +} + +static int +zirc_chan_join(struct zirc *irc, struct zirc_chan *chan, + const char *channel, + on_privmsg_rcvd_cb_t on_privmsg_rcvd, + void *data) +{ + char buffer[32]; + int ret; + + NET_INFO("Joining channel: %s", channel); + + if (!on_privmsg_rcvd) { + return -EINVAL; + } + + ret = snprintk(buffer, sizeof(buffer), "JOIN %s\r\n", channel); + if (ret < 0 || ret >= sizeof(buffer)) { + return -EINVAL; + } + + ret = transmit(chan->irc->conn, buffer, ret); + if (ret < 0) { + return ret; + } + + chan->irc = irc; + chan->chan = channel; + chan->on_privmsg_rcvd = on_privmsg_rcvd; + chan->data = data; + + chan->next = irc->chans; + irc->chans = chan; + + return 0; +} + +static int +zirc_chan_part(struct zirc_chan *chan) +{ + struct zirc_chan **cc, *c; + char buffer[32]; + int ret; + + NET_INFO("Leaving channel: %s", chan->chan); + + ret = snprintk(buffer, sizeof(buffer), "PART %s\r\n", chan->chan); + if (ret < 0 || ret >= sizeof(buffer)) { + return -EINVAL; + } + + ret = transmit(chan->irc->conn, buffer, ret); + if (ret < 0) { + return ret; + } + + for (cc = &chan->irc->chans, c = c->irc->chans; + c; cc = &c->next, c = c->next) { + if (c == chan) { + *cc = c->next; + return 0; + } + } + + return -ENOENT; +} + static int in_addr_set(sa_family_t family, const char *ip_addr, int port, @@ -389,105 +491,6 @@ zirc_disconnect(struct zirc *irc) } static int -zirc_nick_set(struct zirc *irc, const char *nick) -{ - char buffer[32]; - int ret; - - NET_INFO("Setting nickname to: %s", nick); - - ret = snprintk(buffer, sizeof(buffer), "NICK %s\r\n", nick); - if (ret < 0 || ret >= sizeof(buffer)) { - return -EINVAL; - } - - return transmit(irc->conn, buffer, ret); -} - -static int -zirc_user_set(struct zirc *irc, const char *user, const char *realname) -{ - char buffer[32]; - int ret; - - NET_INFO("Setting user to: %s, real name to: %s", user, realname); - - ret = snprintk(buffer, sizeof(buffer), "USER %s * * :%s\r\n", - user, realname); - if (ret < 0 || ret >= sizeof(buffer)) { - return -EINVAL; - } - - return transmit(irc->conn, buffer, ret); -} - -static int -zirc_chan_join(struct zirc *irc, struct zirc_chan *chan, - const char *channel, - on_privmsg_rcvd_cb_t on_privmsg_rcvd, - void *data) -{ - char buffer[32]; - int ret; - - NET_INFO("Joining channel: %s", channel); - - if (!on_privmsg_rcvd) { - return -EINVAL; - } - - ret = snprintk(buffer, sizeof(buffer), "JOIN %s\r\n", channel); - if (ret < 0 || ret >= sizeof(buffer)) { - return -EINVAL; - } - - ret = transmit(chan->irc->conn, buffer, ret); - if (ret < 0) { - return ret; - } - - chan->irc = irc; - chan->chan = channel; - chan->on_privmsg_rcvd = on_privmsg_rcvd; - chan->data = data; - - chan->next = irc->chans; - irc->chans = chan; - - return 0; -} - -static int -zirc_chan_part(struct zirc_chan *chan) -{ - struct zirc_chan **cc, *c; - char buffer[32]; - int ret; - - NET_INFO("Leaving channel: %s", chan->chan); - - ret = snprintk(buffer, sizeof(buffer), "PART %s\r\n", chan->chan); - if (ret < 0 || ret >= sizeof(buffer)) { - return -EINVAL; - } - - ret = transmit(chan->irc->conn, buffer, ret); - if (ret < 0) { - return ret; - } - - for (cc = &chan->irc->chans, c = c->irc->chans; - c; cc = &c->next, c = c->next) { - if (c == chan) { - *cc = c->next; - return 0; - } - } - - return -ENOENT; -} - -static int zirc_chan_send_msg(const struct zirc_chan *chan, const char *msg) { char buffer[80]; @@ -624,9 +627,6 @@ on_cmd_led_toggle(struct zirc_chan *chan, const char *nick, const char *msg) } } -static void on_msg_rcvd(void *data, struct zirc_chan *chan, char *umask, - char *msg); - static void on_cmd_rejoin(struct zirc_chan *chan, const char *nick, const char *msg) { |