00001
00002
00003
00004
00005
00006
00007 #include "rsGlobalExtern.h"
00008 #include "reGlobalsExtern.h"
00009 #include "reconstants.h"
00010 #include "configuration.h"
00011
00012 static char ruleSetInitialized[NAME_LEN]="";
00013
00014
00015 int
00016 initRuleEngine(int processType, rsComm_t *svrComm, char *ruleSet, char *dvmSet, char* fnmSet) {
00017 int status;
00018 if (strcmp(ruleSet, ruleSetInitialized)==0) {
00019 return(0);
00020 }
00021 status = initRuleStruct(processType, svrComm, ruleSet, dvmSet, fnmSet);
00022 if (status == 0) {
00023 rstrcpy(ruleSetInitialized, ruleSet, NAME_LEN);
00024 }
00025 return(status);
00026 }
00027
00028
00029
00030
00031 int
00032 clearCoreRule ()
00033 {
00034 int i;
00035
00036 i = unlinkFuncDescIndex();
00037 if (i < 0)
00038 return i;
00039 i = clearResources(RESC_CORE_RULE_SET | RESC_CORE_FUNC_DESC_INDEX);
00040 if (i < 0)
00041 return i;
00042 i = generateFunctionDescriptionTables();
00043 if (i < 0)
00044 return(i);
00045 i = clearDVarStruct(&coreRuleVarDef);
00046 if (i < 0)
00047 return(i);
00048 i = clearFuncMapStruct(&coreRuleFuncMapDef);
00049 bzero (ruleSetInitialized, sizeof (ruleSetInitialized));
00050
00051 if( i < 0 )
00052 return i;
00053
00054 return(i);
00055
00056 }
00057