1/*
2 * Copyright (C) 2015 Freie Universität Berlin
3 * Copyright (C) 2018 Inria
4 *
5 * This file is subject to the terms and conditions of the GNU Lesser
6 * General Public License v2.1. See the file LICENSE in the top level
7 * directory for more details.
8 */
9
10/**
11 * @ingroup     examples
12 * @{
13 *
14 * @file
15 * @brief       Example application for libcoap client
16 *
17 * @author      Raul Fuentes <>
18 *
19 * @}
20 */
21
22#include <stdio.h>
23
24#include "shell.h"
25#include "msg.h"
26
27#include "coap3/coap.h"
28
29#define MAIN_QUEUE_SIZE     (8)
30static msg_t _main_msg_queue[MAIN_QUEUE_SIZE];
31
32extern int client_coap_init(int argc, char **argv);
33
34static const shell_command_t shell_commands[] = {
35  { "coapc", "Start a libcoap client", client_coap_init },
36  { NULL, NULL, NULL }
37};
38
39int
40main(void) {
41  /* we need a message queue for the thread running the shell in order to
42   * receive potentially fast incoming networking packets */
43  msg_init_queue(_main_msg_queue, MAIN_QUEUE_SIZE);
44  puts("RIOT libcoap client testing implementation");
45
46  /* start shell */
47  puts("All up, running the shell now");
48  char line_buf[SHELL_DEFAULT_BUFSIZE];
49  shell_run(shell_commands, line_buf, SHELL_DEFAULT_BUFSIZE);
50
51  /* should be never reached */
52  return 0;
53}
54