/* * Copyright (C) 2015 Engineering-Spirit * * This file is subject to the terms and conditions of the GNU Lesser * General Public License v2.1. See the file LICENSE in the top level * directory for more details. */ /** * @ingroup examples * @{ * * @file * @brief Example application for demonstrating the RIOT TFTP stack * * @author Nick van IJzendoorn * * @} */ #include #include #include #include #include "shell.h" #include "msg.h" extern int tftp_client_cmd(int argc, char * *argv); extern int tftp_server_cmd(int argc, char * *argv); #define MAIN_QUEUE_SIZE (4) static msg_t _main_msg_queue[MAIN_QUEUE_SIZE]; static const shell_command_t shell_commands[] = { { "tftpc", "get/put data to a TFTP server", tftp_client_cmd }, { "tftps", "start and stop the TFTP server", tftp_server_cmd }, { NULL, NULL, NULL } }; int main(void) { /* we need a message queue for the thread running the shell in order to * receive potentially fast incoming networking packets */ msg_init_queue(_main_msg_queue, MAIN_QUEUE_SIZE); puts("RIOT TFTP stack example application"); /* start shell */ puts("All up, running the shell now"); char line_buf[SHELL_DEFAULT_BUFSIZE]; shell_run(shell_commands, line_buf, SHELL_DEFAULT_BUFSIZE); /* should be never reached */ return 0; }