40 PROTO_SHELL_CFG_FIRST = 0,
44 PROTO_SHELL_CFG_LAST = 31
49 PROTO_SHELL_CMDID_INVAL = 0,
50 PROTO_SHELL_CMDID_HELP,
51 PROTO_SHELL_CMDID_EXIT,
52 PROTO_SHELL_CMDID_INFO,
53 PROTO_SHELL_CMDID_GETIO,
54#ifdef CONFIG_DAWN_IO_NOTIFY
55 PROTO_SHELL_CMDID_GETIONOTIFY,
57 PROTO_SHELL_CMDID_GETIOLOOP,
58 PROTO_SHELL_CMDID_SETIO,
59 PROTO_SHELL_CMDID_SETCFG,
60 PROTO_SHELL_CMDID_GETCFG,
61#ifdef CONFIG_DAWN_PROTO_SHELL_INSPECT
62 PROTO_SHELL_CMDID_LIST,
63 PROTO_SHELL_CMDID_INSPECT,
64 PROTO_SHELL_CMDID_TREE,
65 PROTO_SHELL_CMDID_STATS,
67 }
typedef EProtoShellCmdId;
73 SObjectId::UObjectId objid;
74 }
typedef SProtoShellIOBind;
76 explicit CProtoShellPretty(CDescObject &desc)
83 ~CProtoShellPretty()
override;
85 CProtoShellPretty(
const CProtoShellPretty &) =
delete;
86 CProtoShellPretty &operator=(
const CProtoShellPretty &) =
delete;
88#ifdef CONFIG_DAWN_OBJECT_HAS_NAME
89 const char *getClassNameStr()
const override
128 const char *promptDefault =
"dsh> ";
129 const char *prompt = promptDefault;
130 const char *path =
nullptr;
134 std::map<std::string, EProtoShellCmdId> cmdmap = {
135 {
"help", PROTO_SHELL_CMDID_HELP},
136 {
"exit", PROTO_SHELL_CMDID_EXIT},
137 {
"info", PROTO_SHELL_CMDID_INFO},
138 {
"getio", PROTO_SHELL_CMDID_GETIO},
139 {
"setio", PROTO_SHELL_CMDID_SETIO},
140#ifdef CONFIG_DAWN_IO_NOTIFY
141 {
"getionotify", PROTO_SHELL_CMDID_GETIONOTIFY},
143 {
"getioloop", PROTO_SHELL_CMDID_GETIOLOOP},
144 {
"setcfg", PROTO_SHELL_CMDID_SETCFG},
145 {
"getcfg", PROTO_SHELL_CMDID_GETCFG},
146#ifdef CONFIG_DAWN_PROTO_SHELL_INSPECT
147 {
"list", PROTO_SHELL_CMDID_LIST},
148 {
"inspect", PROTO_SHELL_CMDID_INSPECT},
149 {
"tree", PROTO_SHELL_CMDID_TREE},
150 {
"stats", PROTO_SHELL_CMDID_STATS},
154#ifdef CONFIG_DAWN_IO_NOTIFY
155 static int notifierCb(
void *priv, io_ddata_t *data);
158 void setPrompt(
const char *p);
159 void getAndPrint(CIOCommon *io)
const;
160 void getAndPrintSeek(CIOCommon *io)
const;
161 void getcfgAndPrint(CObject *io)
const;
166 void cmdGetio(
const char *arg);
167 void cmdGetioloop(
const char *arg);
169#ifdef CONFIG_DAWN_IO_NOTIFY
170 void cmdGetioNotify(
const char *arg);
173 void cmdSetio(
const char *arg);
174 void cmdSetcfg(
const char *arg);
175 void cmdGetcfg(
const char *arg);
177#ifdef CONFIG_DAWN_PROTO_SHELL_INSPECT
178 void cmdList(
const char *arg);
179 void cmdInspect(
const char *arg);
180 void cmdTree(
const char *arg);
181 void cmdStats(
const char *arg);
184 void cmdHandle(
char *buffer,
const char *arg);
185 int configureDesc(
const CDescObject &desc);
186 void allocObject(
const SObjectId::UObjectId &obj);
static ObjectCfgId objectCfg(uint8_t type, uint16_t cls, uint8_t dtype, bool rw, uint16_t size, uint8_t id)
Construct 32-bit ConfigID from component fields.
static ObjectId objectId(uint8_t type, uint16_t cls, uint8_t dtype, uint8_t flags, uint16_t priv)
Construct 32-bit ObjectID from component fields.