X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ntsimulator%2Fntsim-ng%2Fcore%2Ffaults%2Ffaults_counters.c;fp=ntsimulator%2Fntsim-ng%2Fcore%2Ffaults%2Ffaults_counters.c;h=9817a18b6493823763a22cd4f059db805b42a3fd;hb=f1d5c9198acde7a7ce296490087cad37e008f688;hp=0000000000000000000000000000000000000000;hpb=f2d8f1002fa93848c80a88e5658db4816cba3020;p=sim%2Fo1-interface.git diff --git a/ntsimulator/ntsim-ng/core/faults/faults_counters.c b/ntsimulator/ntsim-ng/core/faults/faults_counters.c new file mode 100644 index 0000000..9817a18 --- /dev/null +++ b/ntsimulator/ntsim-ng/core/faults/faults_counters.c @@ -0,0 +1,67 @@ +/************************************************************************* +* +* Copyright 2020 highstreet technologies GmbH and others +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +***************************************************************************/ + +#define _GNU_SOURCE + +#include "faults.h" +#include "utils/log_utils.h" +#include "utils/rand_utils.h" +#include "utils/sys_utils.h" +#include +#include +#include + +static fault_counters_t fault_counters; + +fault_counters_t faults_counters_get(void) { + return fault_counters; +} + +void faults_counters_clear(void) { + fault_counters.normal = 0; + fault_counters.warning = 0; + fault_counters.minor = 0; + fault_counters.major = 0; + fault_counters.critical = 0; +} + +int faults_counters_increase(const char *severity) { + assert(severity); + + int ret = NTS_ERR_OK; + if(strcmp(severity, "NORMAL") == 0) { + fault_counters.normal++; + } + else if(strcmp(severity, "WARNING") == 0) { + fault_counters.warning++; + } + else if(strcmp(severity, "MINOR") == 0) { + fault_counters.minor++; + } + else if(strcmp(severity, "MAJOR") == 0) { + fault_counters.major++; + } + else if(strcmp(severity, "CRITICAL") == 0) { + fault_counters.critical++; + } + else { + log_error("severity not found: %s", severity); + ret = NTS_ERR_FAILED; + } + + return ret; +}