apps/app_selective.c
static char *handle_reset_stats(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
	struct selective_proc *f;

	switch(cmd) {
	case CLI_INIT:
		e->command = "selective reset stats";
		e->usage =
			"Usage: selective reset stats\n"
			"       Resets feature processing statistics.\n";
		return NULL;
	case CLI_GENERATE:
		return NULL;
	}

	AST_RWLIST_RDLOCK(&features);
	AST_LIST_TRAVERSE(&features, f, entry) {
		f->total = 0;
	}
	AST_RWLIST_UNLOCK(&features);

	return CLI_SUCCESS;
}
/*! \brief CLI command to reset feature profile stats */
\brief CLI command to reset feature profile stats
\ brief CLI command to reset feature profile stats
static char *handle_reset_stats(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
	struct selective_proc *f;
	switch(cmd) {
	case CLI_INIT:
		e->command = "selective reset stats";
		e->usage =
			"Usage: selective reset stats\n"
			"       Resets feature processing statistics.\n";
		return NULL;
	case CLI_GENERATE:
		return NULL;
	}
	AST_RWLIST_RDLOCK(&features);
	AST_LIST_TRAVERSE(&features, f, entry) {
		f->total = 0;
	}
	AST_RWLIST_UNLOCK(&features);
	return CLI_SUCCESS;
}
static char * handle_reset_stats ( struct ast_cli_entry * e , int cmd , struct ast_cli_args * a ) { struct selective_proc * f ; switch ( cmd ) { case CLI_INIT : e -> command = " " ; e -> usage = " \n " " \n " ; return NULL ; case CLI_GENERATE : return NULL ; } AST_RWLIST_RDLOCK ( & features ) ; AST_LIST_TRAVERSE ( & features , f , entry ) { f -> total = 0 ; } AST_RWLIST_UNLOCK ( & features ) ; return CLI_SUCCESS ; }
\brief CLI command to reset feature profile stats
\ brief CLI command to reset feature profile stats