rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
cli_registry.h
Go to the documentation of this file.
1/**
2 * @file cli_registry.h
3 * @brief Command-line interface commands registry
4 *
5 * @date Nov 15, 2012
6 * @author Andrey Belomutskiy, (c) 2012-2020
7 */
8
9#pragma once
10
33
34typedef struct {
35 const char *token;
37 void (*callback)(void);
38 void *param;
40
41
42int tokenLength(const char *msgp);
43int findEndOfToken(const char *line);
44char *unquote(char *line);
45
46
47#ifdef __cplusplus
48extern "C"
49{
50#endif /* __cplusplus */
51
52typedef void (*Void)(void);
53typedef void (*VoidPtr)(void*);
54typedef void (*VoidInt)(int);
55typedef void (*VoidIntVoidPtr)(int, void*);
56typedef void (*VoidFloat)(float);
57typedef void (*VoidFloatFloat)(float, float);
60typedef void (*VoidFloatFloatVoidPtr)(float, float, void*);
61typedef void (*VoidIntInt)(int, int);
62typedef void (*VoidIntIntVoidPtr)(int, int, void*);
63typedef void (*VoidIntFloat)(int, float);
64
65typedef void (*VoidCharPtr)(const char *);
66typedef void (*VoidCharPtrVoidPtr)(const char *, void*);
67
68typedef void (*VoidCharPtrCharPtr)(const char *, const char *);
69typedef void (*VoidCharPtrCharPtrVoidPtr)(const char *, const char *, void*);
70
71typedef void (*VoidCharPtrCharPtrCharPtr)(const char *, const char *, const char *);
72typedef void (*VoidCharPtrCharPtrCharPtrCharPtrCharPtr)(const char *, const char *, const char *, const char *, const char *);
73
74void resetConsoleActions(void);
75void helpCommand(void);
76void initConsoleLogic();
77void handleConsoleLine(char *line);
78void addConsoleAction(const char *token, Void callback);
79void addConsoleActionP(const char *token, VoidPtr callback, void *param);
80
81void addConsoleActionI(const char *token, VoidInt callback);
82void addConsoleActionIP(const char *token, VoidIntVoidPtr callback, void *param);
83
84void addConsoleActionIF(const char* token, VoidIntFloat callback);
85
86void addConsoleActionII(const char *token, VoidIntInt callback);
87void addConsoleActionIIP(const char *token, VoidIntIntVoidPtr callback, void *param);
88
89void addConsoleActionF(const char *token, VoidFloat callback);
90void addConsoleActionNANF(const char *token, VoidFloat callback);
91
92void addConsoleActionFF(const char *token, VoidFloatFloat callback);
93void addConsoleActionFFF(const char *token, VoidFloatFloatFloat callback);
94void addConsoleActionFFFF(const char *token, VoidFloatFloatFloatFloat callback);
95void addConsoleActionFFP(const char *token, VoidFloatFloatVoidPtr callback, void *param);
96
97void addConsoleActionS(const char *token, VoidCharPtr callback);
98void addConsoleActionSP(const char *token, VoidCharPtrVoidPtr callback, void *param);
99
100void addConsoleActionSS(const char *token, VoidCharPtrCharPtr callback);
101void addConsoleActionSSP(const char *token, VoidCharPtrCharPtrVoidPtr callback, void *param);
102
103void addConsoleActionSSS(const char *token, VoidCharPtrCharPtrCharPtr callback);
104void addConsoleActionSSSSS(const char *token, VoidCharPtrCharPtrCharPtrCharPtrCharPtr callback);
105
106void onCliCaseError(const char *token);
107void onCliDuplicateError(const char *token);
108void onCliOverflowError();
109
110#ifdef __cplusplus
111}
112#endif /* __cplusplus */
void addConsoleActionSSSSS(const char *token, VoidCharPtrCharPtrCharPtrCharPtrCharPtr callback)
void addConsoleActionP(const char *token, VoidPtr callback, void *param)
void addConsoleActionFF(const char *token, VoidFloatFloat callback)
void onCliOverflowError()
void addConsoleActionSP(const char *token, VoidCharPtrVoidPtr callback, void *param)
void handleConsoleLine(char *line)
This function takes care of one command line once we have it.
void addConsoleActionIP(const char *token, VoidIntVoidPtr callback, void *param)
void addConsoleActionF(const char *token, VoidFloat callback)
void(* VoidCharPtrCharPtr)(const char *, const char *)
void resetConsoleActions(void)
void addConsoleActionS(const char *token, VoidCharPtr callback)
void(* VoidFloat)(float)
void helpCommand(void)
This function prints out a list of all available commands.
void addConsoleActionNANF(const char *token, VoidFloat callback)
void(* VoidCharPtrCharPtrVoidPtr)(const char *, const char *, void *)
int findEndOfToken(const char *line)
void(* VoidIntInt)(int, int)
void addConsoleAction(const char *token, Void callback)
Register console action without parameters.
void(* Void)(void)
void addConsoleActionII(const char *token, VoidIntInt callback)
Register a console command with two Integer parameters.
void(* VoidFloatFloatFloatFloat)(float, float, float, float)
int tokenLength(const char *msgp)
void initConsoleLogic()
void(* VoidIntIntVoidPtr)(int, int, void *)
void(* VoidCharPtrVoidPtr)(const char *, void *)
void addConsoleActionIIP(const char *token, VoidIntIntVoidPtr callback, void *param)
void(* VoidPtr)(void *)
char * unquote(char *line)
void(* VoidIntVoidPtr)(int, void *)
void addConsoleActionSS(const char *token, VoidCharPtrCharPtr callback)
void addConsoleActionSSS(const char *token, VoidCharPtrCharPtrCharPtr callback)
void(* VoidCharPtr)(const char *)
void(* VoidInt)(int)
void onCliDuplicateError(const char *token)
void onCliCaseError(const char *token)
void addConsoleActionI(const char *token, VoidInt callback)
Register a console command with one Integer parameter.
void(* VoidFloatFloatFloat)(float, float, float)
void addConsoleActionSSP(const char *token, VoidCharPtrCharPtrVoidPtr callback, void *param)
void addConsoleActionFFFF(const char *token, VoidFloatFloatFloatFloat callback)
void(* VoidFloatFloat)(float, float)
void(* VoidCharPtrCharPtrCharPtrCharPtrCharPtr)(const char *, const char *, const char *, const char *, const char *)
void(* VoidIntFloat)(int, float)
void(* VoidCharPtrCharPtrCharPtr)(const char *, const char *, const char *)
void addConsoleActionIF(const char *token, VoidIntFloat callback)
void(* VoidFloatFloatVoidPtr)(float, float, void *)
void addConsoleActionFFF(const char *token, VoidFloatFloatFloat callback)
void addConsoleActionFFP(const char *token, VoidFloatFloatVoidPtr callback, void *param)
action_type_e
@ STRING5_PARAMETER
@ NO_PARAMETER_P
@ FLOAT_FLOAT_FLOAT_PARAMETER
@ FLOAT_FLOAT_PARAMETER_P
@ ONE_PARAMETER_P
@ NO_PARAMETER
@ FLOAT_PARAMETER
@ FLOAT_PARAMETER_NAN_ALLOWED
@ TWO_INTS_PARAMETER_P
@ STRING_PARAMETER_P
@ TWO_INTS_PARAMETER
@ FLOAT_PARAMETER_P
@ STRING2_PARAMETER
@ INT_FLOAT_PARAMETER
@ STRING2_PARAMETER_P
@ FLOAT_FLOAT_PARAMETER
@ FLOAT_FLOAT_FLOAT_FLOAT_PARAMETER
@ STRING_PARAMETER
@ STRING3_PARAMETER
@ ONE_PARAMETER
action_type_e parameterType
const char * token
static tstrWifiInitParam param