irods
4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems. Fossies Dox: irods-4.2.8.tar.gz ("unofficial" and yet experimental doxygen-generated source code documentation) 
|
Go to the documentation of this file.
3 #define HAS_MICROSDEF_T
25 # Within reLib1.c here, change back the redefines of malloc back to normal
26 #define malloc(x) malloc(x)
27 #define free(x) free(x)
45 writeToTmp(
"entry.log",
"(pass on to applyRulePA)\n" );
61 switch (
TYPE( res ) ) {
75 writeToTmp(
"entry.log",
"computeExpression: " );
92 switch (
TYPE( res0 ) ) {
114 return applyRuleBase( inAction, inMsParamArray, 0, rei, reiSaveFlag );
120 return applyRuleBase( inAction, inMsParamArray, 1, rei, reiSaveFlag );
126 #if defined(DEBUG) || defined(RE_LOG_RULES_TMP)
142 if ( inAction[strlen( inAction ) - 1] ==
'|' ) {
143 char *inActionCopy = strdup( inAction );
144 inActionCopy[strlen( inAction ) - 1] =
'\0';
145 char *
action = (
char * ) malloc(
sizeof(
char ) * strlen( inAction ) + 3 );
146 sprintf(
action,
"{%s}", inActionCopy );
149 free( inActionCopy );
209 writeToTmp(
"entry.log",
"(set GlobalAllRuleExecFlag and forward to applyRule)\n" );
224 int ret =
applyRule( inAction, inMsParamArray, rei, reiSaveFlag );
245 int i, k, repeat = 0;
246 for ( i = 0; i < outParamN; i++ ) {
251 for ( k = 0; k < inpParamArray->
len; k++ ) {
265 const char *
p = outBuf;
266 const char *psrc =
p;
269 if ( *psrc ==
'%' ) {
270 varNames[n++] = strndup(
p, psrc -
p );
273 else if ( *psrc ==
'\0' ) {
274 if ( strlen(
p ) != 0 ) {
275 varNames[n++] = strdup(
p );
303 for ( i = 0; i < n; i++ ) {
304 free( outParamNames[i] );
339 snprintf( r2,
sizeof( r2 ),
"%s", dvmSet );
343 while ( strlen( r2 ) > 0 ) {
351 snprintf( r2,
sizeof( r2 ),
"%s", r3 );
353 snprintf( r2,
sizeof( r2 ),
"%s", fnmSet );
357 while ( strlen( r2 ) > 0 ) {
365 snprintf( r2,
sizeof( r2 ),
"%s", r3 );
369 if ( svrComm !=
NULL ) {
386 if ( getenv(
"GLOBALALLRULEEXECFLAG" ) !=
NULL ) {
413 memset( &genQueryInp, 0,
sizeof( genQueryInp ) );
416 snprintf( condstr,
MAX_NAME_LEN,
"= '%s'", ruleBaseName );
418 snprintf( condstr2,
MAX_NAME_LEN,
"= '%s'", versionStr );
439 for ( i = 0; i < genQueryOut->
rowCnt; i++ ) {
443 char *ruleHead = strdup( &r[2]->
value[r[2]->len * i] );
444 char *ruleCondition = strdup( &r[3]->
value[r[3]->len * i] );
445 char *ruleAction = strdup( &r[4]->
value[r[4]->len * i] );
446 char *ruleRecovery = strdup( &r[5]->
value[r[5]->len * i] );
447 long ruleId = atol( &r[6]->
value[r[6]->len * i] );
448 if ( ruleRecovery[0] ==
'@' ) {
450 if ( strcmp( ruleRecovery + 1,
"DATA" ) == 0 ) {
451 snprintf( ruleStr,
MAX_RULE_LEN * 4,
"data %s", ruleHead );
453 else if ( strcmp( ruleRecovery + 1,
"CONSTR" ) == 0 ) {
454 snprintf( ruleStr,
MAX_RULE_LEN * 4,
"constructor %s : %s", ruleHead, ruleAction );
456 else if ( strcmp( ruleRecovery + 1,
"EXTERN" ) == 0 ) {
457 snprintf( ruleStr,
MAX_RULE_LEN * 4,
"%s : %s", ruleHead, ruleAction );
459 else if ( strcmp( ruleRecovery + 1,
"FUNC" ) == 0 ) {
460 snprintf( ruleStr,
MAX_RULE_LEN * 4,
"%s = %s\n @(\"id\", \"%ld\")", ruleHead, ruleAction, ruleId );
463 snprintf( ruleStr,
MAX_RULE_LEN * 4,
"%s { on %s %s @(\"id\", \"%ld\") }\n", ruleHead, ruleCondition, ruleAction, ruleId );
467 snprintf( ruleStr,
MAX_RULE_LEN * 4,
"%s|%s|%s|%s", ruleHead, ruleCondition, ruleAction, ruleRecovery );
477 free( ruleCondition );
479 free( ruleRecovery );
483 free( ruleCondition );
485 free( ruleRecovery );
510 memset( &genQueryInp, 0,
sizeof( genQueryInp ) );
513 snprintf( condstr,
MAX_NAME_LEN,
"= '%s'", ruleBaseName );
515 snprintf( condstr2,
MAX_NAME_LEN,
"= '%s'", versionStr );
527 while ( continueInx > 0 &&
rsGenQuery( rei->
rsComm, &genQueryInp, &genQueryOut ) >= 0 && genQueryOut->
rowCnt > 0 ) {
535 for (
int i = 0; i < genQueryOut->
rowCnt; i++ ) {
562 memset( &genQueryInp, 0,
sizeof( genQueryInp ) );
565 snprintf( condstr,
MAX_NAME_LEN,
"= '%s'", dvmBaseName );
567 snprintf( condstr2,
MAX_NAME_LEN,
"= '%s'", versionStr );
581 for ( i = 0; i < genQueryOut->
rowCnt; i++ ) {
582 inDvmStrct->
varName[
l] = strdup( &r[0]->
value[r[0]->len * i] );
583 inDvmStrct->
action[
l] = strdup( &r[1]->
value[r[1]->len * i] );
585 inDvmStrct->
varId[
l] = atol( &r[3]->
value[r[3]->len * i] );
614 memset( &genQueryInp, 0,
sizeof( genQueryInp ) );
617 snprintf( condstr,
MAX_NAME_LEN,
"= '%s'", fnmBaseName );
619 snprintf( condstr2,
MAX_NAME_LEN,
"= '%s'", versionStr );
632 for ( i = 0; i < genQueryOut->
rowCnt; i++ ) {
635 inFnmStrct->
fmapId[
l] = atol( &r[2]->
value[r[2]->len * i] );
662 memset( &genQueryInp, 0,
sizeof( genQueryInp ) );
693 for ( i = 0; i < genQueryOut->
rowCnt; i++ ) {
703 inMsrvcStrct->
msrvcId[
l] = atol( &r[9]->
value[r[9]->len * i] );
763 free( inRuleVarDef->
varName[i] );
766 free( inRuleVarDef->
action[i] );
780 free( inRuleFuncMapDef->
funcName[i] );
812 if ( dvarBaseName[0] ==
'/' || dvarBaseName[0] ==
'\\' ||
813 dvarBaseName[1] ==
':' ) {
814 snprintf( dvarsFileName,
MAX_NAME_LEN,
"%s", dvarBaseName );
817 std::string cfg_file, fn( dvarBaseName );
824 snprintf( dvarsFileName,
sizeof( dvarsFileName ),
"%s", cfg_file.c_str() );
827 file = fopen( dvarsFileName,
"r" );
830 "readDvarStructFromFile() could not open dvm file %s\n",
836 if (
buf[strlen(
buf ) - 1] ==
'\n' ) {
837 buf[strlen(
buf ) - 1] =
'\0';
839 if (
buf[0] ==
'#' || strlen(
buf ) < 4 ) {
843 inRuleVarDef->
varName[i] = strdup( l1 );
845 inRuleVarDef->
action[i] = strdup( l1 );
847 inRuleVarDef->
var2CMap[i] = strdup( l1 );
848 if ( strlen( l2 ) > 0 ) {
849 inRuleVarDef->
varId[i] = atoll( l2 );
852 inRuleVarDef->
varId[i] = i;
875 if ( fmapBaseName[0] ==
'/' || fmapBaseName[0] ==
'\\' ||
876 fmapBaseName[1] ==
':' ) {
877 snprintf( fmapsFileName,
MAX_NAME_LEN,
"%s", fmapBaseName );
880 std::string cfg_file, fn( fmapBaseName );
887 snprintf( fmapsFileName,
sizeof( fmapsFileName ),
"%s", cfg_file.c_str() );
889 file = fopen( fmapsFileName,
"r" );
892 "readFmapStructFromFile() could not open fnm file %s\n",
898 if (
buf[strlen(
buf ) - 1] ==
'\n' ) {
899 buf[strlen(
buf ) - 1] =
'\0';
901 if (
buf[0] ==
'#' || strlen(
buf ) < 4 ) {
905 inRuleFuncMapDef->
funcName[i] = strdup( l1 );
907 inRuleFuncMapDef->
func2CMap[i] = strdup( l1 );
908 if ( strlen( l2 ) > 0 ) {
909 inRuleFuncMapDef->
fmapId[i] = atoll( l2 );
912 inRuleFuncMapDef->
fmapId[i] = i;
940 if ( msrvcFileName[0] ==
'/' || msrvcFileName[0] ==
'\\' ||
941 msrvcFileName[1] ==
':' ) {
942 snprintf( mymsrvcFileName,
MAX_NAME_LEN,
"%s", msrvcFileName );
954 snprintf( mymsrvcFileName,
MAX_NAME_LEN,
"%s/%s.msi", re_dir.c_str(), msrvcFileName );
956 file = fopen( mymsrvcFileName,
"r" );
959 "readMservcStructFromFile() could not open msrvc file %s\n",
965 if (
buf[strlen(
buf ) - 1] ==
'\n' ) {
966 buf[strlen(
buf ) - 1] =
'\0';
968 if (
buf[0] ==
'#' || strlen(
buf ) < 4 ) {
975 inMsrvcStruct->
msrvcName[i] = strdup( l1 );
982 inMsrvcStruct->
msrvcHost[i] = strdup( l1 );
993 if ( strlen( l0 ) > 0 ) {
994 inMsrvcStruct->
msrvcId[i] = atol( l1 );
1007 getRule(
int ri,
char *ruleBase,
char *ruleHead,
char *ruleCondition,
1008 char *ruleAction,
char *ruleRecovery,
int rSize ) {
1030 int mapPriorityInt = 1;
1031 char mapPriorityStr[50];
1039 generalRowInsertInp.
tableName =
"versionRuleBase";
1040 generalRowInsertInp.
arg1 = baseName;
1041 generalRowInsertInp.
arg2 = myTime;
1045 endTransactionInp.
arg0 =
"rollback";
1069 p = ruleActionRecoveryStr;
1073 if ( avu !=
NULL ) {
1088 p = ruleActionRecoveryStr;
1092 if ( avu !=
NULL ) {
1112 p = ruleActionRecoveryStr;
1121 p = ruleActionRecoveryStr;
1127 generalRowInsertInp.
tableName =
"ruleTable";
1128 generalRowInsertInp.
arg1 = baseName;
1129 sprintf( mapPriorityStr,
"%i", mapPriorityInt );
1131 generalRowInsertInp.
arg2 = mapPriorityStr;
1133 generalRowInsertInp.
arg4 = ruleNameStr;
1134 generalRowInsertInp.
arg5 = ruleCondStr;
1135 generalRowInsertInp.
arg6 = ruleActionRecoveryStr;
1137 generalRowInsertInp.
arg8 = ruleIdStr;
1138 generalRowInsertInp.
arg9 = myTime;
1142 endTransactionInp.
arg0 =
"rollback";
1148 endTransactionInp.
arg0 =
"commit";
1159 int mapPriorityInt = 1;
1160 char mapPriorityStr[50];
1168 generalRowInsertInp.
tableName =
"versionRuleBase";
1169 generalRowInsertInp.
arg1 = baseName;
1170 generalRowInsertInp.
arg2 = myTime;
1174 endTransactionInp.
arg0 =
"rollback";
1180 generalRowInsertInp.
tableName =
"ruleTable";
1181 generalRowInsertInp.
arg1 = baseName;
1182 sprintf( mapPriorityStr,
"%i", mapPriorityInt );
1184 generalRowInsertInp.
arg2 = mapPriorityStr;
1185 generalRowInsertInp.
arg3 = coreRuleStruct->
action[i];
1186 generalRowInsertInp.
arg4 = coreRuleStruct->
ruleHead[i];
1190 generalRowInsertInp.
arg8 = ruleIdStr;
1191 generalRowInsertInp.
arg9 = myTime;
1195 endTransactionInp.
arg0 =
"rollback";
1201 endTransactionInp.
arg0 =
"commit";
1218 generalRowInsertInp.
tableName =
"versionDVMBase";
1219 generalRowInsertInp.
arg1 = baseName;
1220 generalRowInsertInp.
arg2 = myTime;
1224 endTransactionInp.
arg0 =
"rollback";
1230 generalRowInsertInp.
tableName =
"dvmTable";
1231 generalRowInsertInp.
arg1 = baseName;
1232 generalRowInsertInp.
arg2 = coreDVMStruct->
varName[i];
1233 generalRowInsertInp.
arg3 = coreDVMStruct->
action[i];
1235 generalRowInsertInp.
arg5 = myTime;
1239 endTransactionInp.
arg0 =
"rollback";
1245 endTransactionInp.
arg0 =
"commit";
1262 generalRowInsertInp.
tableName =
"versionFNMBase";
1263 generalRowInsertInp.
arg1 = baseName;
1264 generalRowInsertInp.
arg2 = myTime;
1268 endTransactionInp.
arg0 =
"rollback";
1274 generalRowInsertInp.
tableName =
"fnmTable";
1275 generalRowInsertInp.
arg1 = baseName;
1278 generalRowInsertInp.
arg4 = myTime;
1282 endTransactionInp.
arg0 =
"rollback";
1288 endTransactionInp.
arg0 =
"commit";
1308 generalRowInsertInp.
tableName =
"msrvcTable";
1318 generalRowInsertInp.
arg9 = myStatus;
1319 generalRowInsertInp.
arg10 = myTime;
1324 endTransactionInp.
arg0 =
"rollback";
1330 endTransactionInp.
arg0 =
"commit";
1346 if ( inFileName[0] ==
'/' || inFileName[0] ==
'\\' ||
1347 inFileName[1] ==
':' ) {
1351 std::string cfg_file, fn( inFileName );
1358 snprintf( fileName,
sizeof( fileName ),
"%s", cfg_file.c_str() );
1363 file = fopen( fileName,
"w" );
1366 "writeRulesIntoFile() could not open rules file %s for writing\n",
1371 fprintf(
file,
"%s|%s|%s|%s|%ld\n", myRuleStruct->
ruleHead[i],
1375 myRuleStruct->
ruleId[i] );
1389 if ( inFileName[0] ==
'/' || inFileName[0] ==
'\\' ||
1390 inFileName[1] ==
':' ) {
1394 std::string cfg_file, fn( inFileName );
1401 snprintf( fileName,
sizeof( fileName ),
"%s", cfg_file.c_str() );
1404 file = fopen( fileName,
"w" );
1407 "writeDVMapsIntoFile() could not open rules file %s for writing\n",
1412 fprintf(
file,
"%s|%s|%s|%ld\n", myDVMapStruct->
varName[i],
1413 myDVMapStruct->
action[i],
1415 myDVMapStruct->
varId[i] );
1429 if ( inFileName[0] ==
'/' || inFileName[0] ==
'\\' ||
1430 inFileName[1] ==
':' ) {
1434 std::string cfg_file, fn( inFileName );
1441 snprintf( fileName,
sizeof( fileName ),
"%s", cfg_file.c_str() );
1444 file = fopen( fileName,
"w" );
1447 "writeFNMapsIntoFile() could not open rules file %s for writing\n",
1452 fprintf(
file,
"%s|%s|%ld\n", myFNMapStruct->
funcName[i],
1454 myFNMapStruct->
fmapId[i] );
1469 if ( inFileName[0] ==
'/' || inFileName[0] ==
'\\' ||
1470 inFileName[1] ==
':' ) {
1483 snprintf( fileName,
MAX_NAME_LEN,
"%s/%s.msi", re_dir.c_str(), inFileName );
1486 file = fopen( fileName,
"w" );
1489 "writeMsrvcsIntoFile() could not open microservics file %s for writing\n",
1494 fprintf(
file,
"%s|%s|%s|%s|%s|%s|%s|%s|%ld|%ld\n",
int readRuleSetFromDB(char *ruleBaseName, char *versionStr, RuleSet *ruleSet, ruleExecInfo_t *rei, rError_t *errmsg, Region *region)
void rodsLog(int level, const char *formatStr,...)
#define COL_DVM_BASE_MAP_VERSION
int readMsrvcStructFromDB(int inStatus, msrvcStruct_t *inMsrvcStrct, ruleExecInfo_t *rei)
long int msrvcStatus[2048]
int readFNMapStructFromDB(char *fnmBaseName, char *versionStr, fnmapStruct_t *inFnmStrct, ruleExecInfo_t *rei)
int applyRuleArgPA(const char *action, const char *args[20], int argc, msParamArray_t *inMsParamArray, ruleExecInfo_t *rei, int reiSaveFlag)
int reDebug(RuleEngineEvent callLabel, int flag, RuleEngineEventParam *param, Node *node, Env *env, ruleExecInfo_t *rei)
int writeRulesIntoFile(char *inFileName, ruleStruct_t *myRuleStruct, ruleExecInfo_t *)
error get_full_path_for_config_file(const std::string &, std::string &)
char * convertResToString(Res *res0)
int readRuleStructFromFile(const char *inst_name, const char *ruleBaseName)
rulevardef_t appRuleVarDef
#define COL_FNM_EXT_FUNC_NAME
int readRuleStructFromDB(char *ruleBaseName, char *versionStr, ruleStruct_t *inRuleStrct, ruleExecInfo_t *rei)
#define COL_MSRVC_VERSION
rulefmapdef_t coreRuleFuncMapDef
void clearIndex(Hashtable **ruleIndex)
int parseRuleSet(Pointer *e, RuleSet *ruleSet, Env *funcDesc, int *errloc, rError_t *errmsg, Region *r)
Res * parseAndComputeExpressionAdapter(char *inAction, msParamArray_t *inMsParamArray, int retOutParams, ruleExecInfo_t *rei, int reiSaveFlag, Region *r)
#define PASS(prev_error_)
#define RESC_CORE_RULE_SET
int execMyRuleWithSaveFlag(char *ruleDef, msParamArray_t *inMsParamArray, const char *outParamsDesc, ruleExecInfo_t *rei, int reiSaveFlag)
Res * computeExpressionWithParams(const char *actionName, const char **params, int paramCount, ruleExecInfo_t *rei, int reiSaveFlag, msParamArray_t *vars, rError_t *errmsg, Region *r)
int clearDVarStruct(rulevardef_t *inRuleVarDef)
int applyRuleBase(char *inAction, msParamArray_t *inMsParamArray, int updateInMsParam, ruleExecInfo_t *rei, int reiSaveFlag)
void appendOutputToInput(msParamArray_t *inpParamArray, char **outParamNames, int outParamN)
#define COL_RULE_BASE_MAP_PRIORITY
#define COL_MSRVC_LANGUAGE
Region * make_region(size_t is, jmp_buf *label)
#define CORE_RULE_INDEX_OFF
int readFuncMapStructFromFile(char *fmapBaseName, rulefmapdef_t *inRuleFuncMapDef)
error get_full_path_for_unmoved_configs(const std::string &, std::string &)
int readICatUserLogging(char *userName, int *logging, rsComm_t *rsComm)
int initializeReDebug(rsComm_t *svrComm)
#define RESC_APP_FUNC_DESC_INDEX
rulevardef_t coreRuleVarDef
#define COL_FNM_BASE_MAP_BASE_NAME
void getNowStr(char *timeStr)
void typeToStringParser(char **p, int *s, int indent, int lifted, Node *n)
#define COL_MSRVC_TYPE_NAME
int addInxVal(inxValPair_t *inxValPair, int inx, const char *value)
Hashtable * appRuleFuncMapDefIndex
@ DVARMAP_FILE_READ_ERROR
#define GLOBALREDEBUGFLAG
int rSplitStr(const char *inStr, char *outStr1, size_t maxOutLen1, char *outStr2, size_t maxOutLen2, char key)
Pointer * newPointer2(char *buf)
int loadRuleFromCacheOrFile(const char *inst_name, const char *irbSet)
int clearRuleStruct(ruleStruct_t *inRuleStrct)
void logErrMsg(rError_t *errmsg, rError_t *system)
int createFuncMapDefIndex(rulefmapdef_t *inFuncStrct1, Hashtable **ruleIndex)
int GlobalAllRuleExecFlag
char * ruleCondition[2048]
int initRuleStruct(const char *inst_name, rsComm_t *svrComm, const char *irbSet, const char *dvmSet, const char *fnmSet)
int extractVarNames(char **varNames, const char *outBuf)
Hashtable * newHashTable2(int size, Region *r)
#define COL_DVM_CONDITION
ruleStruct_t appRuleStrct
sqlResult_t * getSqlResultByInx(genQueryOut_t *genQueryOut, int attriInx)
void termToString(char **p, int *s, int indent, int prec, Node *n, int quote)
int _writeXMsg(int streamId, char *hdr, char *msg)
int writeMSrvcsIntoFile(char *inFileName, msrvcStruct_t *myMsrvcStruct, ruleExecInfo_t *)
int readDVarStructFromFile(char *dvarBaseName, rulevardef_t *inRuleVarDef)
int applyAllRules(char *inAction, msParamArray_t *inMsParamArray, ruleExecInfo_t *rei, int reiSaveFlag, int allRuleExecFlag)
#define COL_MSRVC_MODULE_NAME
#define COL_MSRVC_SIGNATURE
int getRule(int ri, char *ruleBase, char *ruleHead, char *ruleCondition, char *ruleAction, char *ruleRecovery, int rSize)
int insertFNMapsIntoDB(char *baseName, fnmapStruct_t *coreFNMStruct, ruleExecInfo_t *rei)
#define COL_FNM_INT_FUNC_NAME
#define MAX_NUM_OF_ARGS_IN_ACTION
#define COL_RULE_CONDITION
int addInxIval(inxIvalPair_t *inxIvalPair, int inx, int value)
char * msrvcSignature[2048]
void ruleNameToString(char **p, int *s, int indent, Node *rn)
void actionsToString(char **p, int *s, int indent, Node *na, Node *nr)
int readMsrvcStructFromFile(char *msrvcFileName, msrvcStruct_t *inMsrvcStruct)
#define RESC_APP_RULE_SET
Hashtable * coreRuleFuncMapDefIndex
int rsGeneralRowInsert(rsComm_t *rsComm, generalRowInsertInp_t *generalRowInsertInp)
int processReturnRes(Res *res)
char * msrvcTypeName[2048]
#define COL_DVM_INT_MAP_PATH
#define COL_DVM_BASE_MAP_BASE_NAME
#define RULE_SET_DEF_LENGTH
char * msrvcVersion[2048]
int clearResources(int resources)
#define COL_DVM_EXT_VAR_NAME
char * ruleRecovery[2048]
typedef int((*funcPtr)())
Env * newEnv(Hashtable *current, Env *previous, Env *lower, Region *r)
int rsEndTransaction(rsComm_t *rsComm, endTransactionInp_t *endTransactionInp)
ruleStruct_t coreRuleStrct
int readDVMapStructFromDB(char *dvmBaseName, char *versionStr, rulevardef_t *inDvmStrct, ruleExecInfo_t *rei)
int clearFuncMapStruct(rulefmapdef_t *inRuleFuncMapDef)
int execMyRule(char *ruleDef, msParamArray_t *inMsParamArray, const char *outParamsDesc, ruleExecInfo_t *rei)
char * msrvcLanguage[2048]
char * msrvcLocation[2048]
void deletePointer(Pointer *buf)
#define GLOBALREAUDITFLAG
int writeFNMapsIntoFile(char *inFileName, fnmapStruct_t *myFNMapStruct, ruleExecInfo_t *)
int applyRuleArg331(const char *action, const char *args[20], int argc, ruleExecInfo_t *rei, int reiSaveFlag)
#define COL_RULE_BASE_MAP_VERSION
int insertDVMapsIntoDB(char *baseName, dvmStruct_t *coreDVMStruct, ruleExecInfo_t *rei)
void region_free(Region *r)
int applyRule(char *inAction, msParamArray_t *inMsParamArray, ruleExecInfo_t *rei, int reiSaveFlag)
rulefmapdef_t appRuleFuncMapDef
int writeDVMapsIntoFile(char *inFileName, dvmStruct_t *myDVMapStruct, ruleExecInfo_t *)
int applyRule331(char *inAction, msParamArray_t *inMsParamArray, ruleExecInfo_t *rei, int reiSaveFlag)
#define COL_RULE_RECOVERY
int writeToTmp(char *fileName, char *text)
int insertRulesIntoDB(char *baseName, ruleStruct_t *coreRuleStruct, ruleExecInfo_t *rei)
#define COL_FNM_BASE_MAP_VERSION
msrvcStruct_t coreMsrvcStruct
int insertMSrvcsIntoDB(msrvcStruct_t *coreMsrvcStruct, ruleExecInfo_t *rei)
int addMsParam(msParamArray_t *msParamArray, const char *label, const char *packInstruct, void *inOutStruct, bytesBuf_t *inpOutBuf)
char * rstrcpy(char *dest, const char *src, int maxLen)
Node * lookupAVUFromMetadata(Node *metadata, char *a)
int applyRuleUpdateParams(char *inAction, msParamArray_t *inMsParamArray, ruleExecInfo_t *rei, int reiSaveFlag)
int freeGenQueryOut(genQueryOut_t **genQueryOut)
int computeExpression(char *inAction, msParamArray_t *inMsParamArray, ruleExecInfo_t *rei, int reiSaveFlag, char *res)
#define COL_MSRVC_LOCATION
void clearGenQueryInp(void *voidInp)
int rsGenQuery(rsComm_t *rsComm, genQueryInp_t *genQueryInp, genQueryOut_t **genQueryOut)
#define RESC_CORE_FUNC_DESC_INDEX
int parseAndComputeRuleAdapter(char *rule, msParamArray_t *msParamArray, ruleExecInfo_t *rei, int reiSaveFlag, Region *r)
int freeRErrorContent(rError_t *myError)
int insertRulesIntoDBNew(char *baseName, RuleSet *ruleSet, ruleExecInfo_t *rei)
#define COL_RULE_BASE_MAP_BASE_NAME