Zephyr API Documentation 4.4.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
12
13#ifndef ZEPHYR_INCLUDE_SHELL_HISTORY_H_
14#define ZEPHYR_INCLUDE_SHELL_HISTORY_H_
15
16#include <zephyr/kernel.h>
17#include <zephyr/sys/util.h>
18#include <zephyr/sys/dlist.h>
20#include <stdbool.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26
32
39#define Z_SHELL_HISTORY_DEFINE(_name, _size) \
40 K_HEAP_DEFINE(_name##_heap, _size); \
41 static struct shell_history _name = { \
42 .heap = &_name##_heap, \
43 .list = SYS_DLIST_STATIC_INIT(&_name.list), \
44 }
45
54void z_shell_history_purge(struct shell_history *history);
55
61void z_shell_history_mode_exit(struct shell_history *history);
62
75bool z_shell_history_get(struct shell_history *history, bool up,
76 uint8_t *dst, uint16_t *len);
77
88void z_shell_history_put(struct shell_history *history, uint8_t *line,
89 size_t len);
90
98static inline bool z_shell_history_active(struct shell_history *history)
99{
100 return (history->current) ? true : false;
101}
102
103#ifdef __cplusplus
104}
105#endif
106
107#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
Kernel synchronized heap structure.
Definition kernel.h:6106
Definition shell_history.h:27
struct k_heap * heap
Definition shell_history.h:28
sys_dnode_t * current
Definition shell_history.h:30
sys_dlist_t list
Definition shell_history.h:29
Misc utilities.