Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
shell_history.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2018 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_SHELL_HISTORY_H_
8#define ZEPHYR_INCLUDE_SHELL_HISTORY_H_
9
10#include <zephyr/kernel.h>
11#include <zephyr/sys/util.h>
12#include <zephyr/sys/dlist.h>
14#include <stdbool.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
26
33#define Z_SHELL_HISTORY_DEFINE(_name, _size) \
34 K_HEAP_DEFINE(_name##_heap, _size); \
35 static struct shell_history _name = { \
36 .heap = &_name##_heap, \
37 .list = SYS_DLIST_STATIC_INIT(&_name.list), \
38 }
39
48void z_shell_history_purge(struct shell_history *history);
49
55void z_shell_history_mode_exit(struct shell_history *history);
56
69bool z_shell_history_get(struct shell_history *history, bool up,
70 uint8_t *dst, uint16_t *len);
71
82void z_shell_history_put(struct shell_history *history, uint8_t *line,
83 size_t len);
84
92static inline bool z_shell_history_active(struct shell_history *history)
93{
94 return (history->current) ? true : false;
95}
96
97#ifdef __cplusplus
98}
99#endif
100
101#endif /* ZEPHYR_INCLUDE_SHELL_HISTORY_H_ */
struct _dnode sys_dnode_t
Doubly-linked list node structure.
Definition dlist.h:54
struct _dnode sys_dlist_t
Doubly-linked list structure.
Definition dlist.h:50
Public kernel APIs.
#define true
Definition stdbool.h:14
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Definition kernel.h:5790
Definition shell_history.h:21
struct k_heap * heap
Definition shell_history.h:22
sys_dnode_t * current
Definition shell_history.h:24
sys_dlist_t list
Definition shell_history.h:23
Misc utilities.