#ifndef _CMDLINE_H_
#define _CMDLINE_H_
+#include <termios.h>
+#include <cmdline_rdline.h>
+#include <cmdline_parse.h>
+
+/**
+ * @file
+ *
+ * Command line API
+ */
+
#ifdef __cplusplus
extern "C" {
#endif
cmdline_parse_ctx_t *ctx;
struct rdline rdl;
char prompt[RDLINE_PROMPT_SIZE];
-#ifdef RTE_EXEC_ENV_LINUXAPP
struct termios oldterm;
-#endif
};
struct cmdline *cmdline_new(cmdline_parse_ctx_t *ctx, const char *prompt, int s_in, int s_out);
__attribute__((format(printf,2,3)));
int cmdline_in(struct cmdline *cl, const char *buf, int size);
int cmdline_write_char(struct rdline *rdl, char c);
+
+/**
+ * This function is nonblocking equivalent of ``cmdline_interact()``. It polls
+ * *cl* for one character and interpret it. If return value is *RDLINE_EXITED*
+ * it mean that ``cmdline_quit()`` was invoked.
+ *
+ * @param cl
+ * The command line object.
+ *
+ * @return
+ * On success return object status - one of *enum rdline_status*.
+ * On error return negative value.
+ */
+int cmdline_poll(struct cmdline *cl);
+
void cmdline_interact(struct cmdline *cl);
void cmdline_quit(struct cmdline *cl);