zephyr/include/drivers/console/console.h
Kumar Gala cc334c7273 Convert remaining code to using newly introduced integer sized types
Convert code to use u{8,16,32,64}_t and s{8,16,32,64}_t instead of C99
integer types.  This handles the remaining includes and kernel, plus
touching up various points that we skipped because of include
dependancies.  We also convert the PRI printf formatters in the arch
code over to normal formatters.

Jira: ZEP-2051

Change-Id: Iecbb12601a3ee4ea936fd7ddea37788a645b08b0
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-21 11:38:23 -05:00

50 lines
1.3 KiB
C

/*
* Copyright (c) 2017 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef __DRIVERS_CONSOLE_CONSOLE_H__
#define __DRIVERS_CONSOLE_CONSOLE_H__
#ifdef __cplusplus
extern "C" {
#endif
#define CONSOLE_MAX_LINE_LEN CONFIG_CONSOLE_INPUT_MAX_LINE_LEN
/** @brief Console input representation
*
* This struct is used to represent an input line from a console.
* Recorded line must be NULL terminated.
*/
struct console_input {
/** FIFO uses first 4 bytes itself, reserve space */
int _unused;
/** Buffer where the input line is recorded */
char line[CONSOLE_MAX_LINE_LEN];
};
/** @brief Console input processing handler signature
*
* Input processing is started when string is typed in the console.
* Carriage return is translated to NULL making string always NULL
* terminated. Application before calling register function need to
* initialize two fifo queues mentioned below.
*
* @param avail k_fifo queue keeping available input slots
* @param lines k_fifo queue of entered lines which to be processed
* in the application code.
* @param completion callback for tab completion of entered commands
*
* @return N/A
*/
typedef void (*console_input_fn)(struct k_fifo *avail, struct k_fifo *lines,
u8_t (*completion)(char *str, u8_t len));
#ifdef __cplusplus
}
#endif
#endif /* __DRIVERS_CONSOLE_CONSOLE_H__ */