Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Trigger Distribution
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Trigger Distribution
Commits
d744cedf
Commit
d744cedf
authored
Jun 11, 2019
by
Dimitris Lampridis
Committed by
Dimitris Lampridis
Jun 26, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sw: add wrtd_reset_rule_stats()
parent
a0d2fba5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
48 additions
and
0 deletions
+48
-0
libwrtd-base.c
software/lib/libwrtd-base.c
+25
-0
wrtd-config.c
software/tools/wrtd-config.c
+23
-0
No files found.
software/lib/libwrtd-base.c
View file @
d744cedf
...
...
@@ -1166,3 +1166,28 @@ enum wrtd_status wrtd_disable_all_alarms(struct wrtd_dev *wrtd)
}
return
WRTD_SUCCESS
;
}
enum
wrtd_status
wrtd_reset_rule_stats
(
struct
wrtd_dev
*
wrtd
,
const
char
*
rep_cap_id
)
{
enum
wrtd_status
status
;
unsigned
idx
;
struct
wrtd_rule
*
rule
;
status
=
wrtd_find_rule
(
wrtd
,
rep_cap_id
,
&
idx
);
WRTD_RETURN_IF_ERROR
(
status
);
rule
=
&
wrtd
->
rules
[
idx
].
rule
;
if
(
rule
->
conf
.
enabled
)
return
wrtd_return_error
(
wrtd
,
WRTD_ERROR_RULE_ENABLED
,
"rule is enabled"
);
/* Clear stats. */
memset
(
&
rule
->
stat
,
0
,
sizeof
(
struct
wrtd_rule_stats
));
/* Write-back. */
status
=
wrtd_write_rule
(
wrtd
,
idx
);
WRTD_RETURN_IF_ERROR
(
status
);
return
WRTD_SUCCESS
;
}
software/tools/wrtd-config.c
View file @
d744cedf
...
...
@@ -765,6 +765,27 @@ static enum wrtd_status wrtd_cmd_del_rule(struct wrtd_dev *wrtd,
return
WRTD_SUCCESS
;
}
static
enum
wrtd_status
wrtd_cmd_reset_rule_stats
(
struct
wrtd_dev
*
wrtd
,
int
argc
,
char
*
argv
[])
{
const
char
*
id
;
enum
wrtd_status
status
;
if
(
argc
!=
1
)
{
fprintf
(
stderr
,
"missing rule name
\n
"
);
/* Don't print another message. */
return
WRTD_SUCCESS
;
}
id
=
argv
[
0
];
status
=
wrtd_reset_rule_stats
(
wrtd
,
id
);
WRTD_RETURN_IF_ERROR
(
status
);
return
WRTD_SUCCESS
;
}
static
enum
wrtd_status
wrtd_cmd_set_log
(
struct
wrtd_dev
*
wrtd
,
int
argc
,
char
*
argv
[])
{
...
...
@@ -832,6 +853,8 @@ static struct wrtd_commands cmds[] = {
wrtd_cmd_disable_rule
},
{
"del-rule"
,
"<name>"
,
"delete a rule"
,
wrtd_cmd_del_rule
},
{
"reset-rule-stats"
,
"<name"
,
"reset rule statistics"
,
wrtd_cmd_reset_rule_stats
},
{
"set-log"
,
"on/off"
,
"enable or disable log"
,
wrtd_cmd_set_log
},
#if 0
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment