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)  

reDataObjOpr.hpp File Reference
#include "rods.h"
#include "objMetaOpr.hpp"
#include "dataObjRepl.h"
#include "rsGlobalExtern.hpp"
#include "rcGlobalExtern.h"
Include dependency graph for reDataObjOpr.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int msiDataObjCreate (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjOpen (msParam_t *inpParam, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjClose (msParam_t *inpParam, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjLseek (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjRead (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjWrite (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjUnlink (msParam_t *inpParam, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjRepl (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjCopy (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjPut (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjGet (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjChksum (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjPhymv (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *inpParam4, msParam_t *inpParam5, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjRename (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjTrim (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *inpParam4, msParam_t *inpParam5, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiCollCreate (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiRmColl (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiCollRepl (msParam_t *collection, msParam_t *targetResc, msParam_t *status, ruleExecInfo_t *rei)
 
int msiPhyPathReg (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *inpParam4, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiObjStat (msParam_t *inpParam1, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiDataObjRsync (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *inpParam4, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiExecCmd (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *inpParam4, msParam_t *inpParam5, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiTarFileExtract (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiTarFileCreate (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiPhyBundleColl (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *outParam, ruleExecInfo_t *rei)
 
int msiCollRsync (msParam_t *inpParam1, msParam_t *inpParam2, msParam_t *inpParam3, msParam_t *inpParam4, msParam_t *outParam, ruleExecInfo_t *rei)
 
int _rsCollRsync (rsComm_t *rsComm, dataObjInp_t *dataObjInp, char *srcColl, char *destColl)
 

Function Documentation

◆ _rsCollRsync()

int _rsCollRsync ( rsComm_t rsComm,
dataObjInp_t dataObjInp,
char *  srcColl,
char *  destColl 
)

◆ msiCollCreate()

msiCollCreate ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice calls rsCollCreate to create a collection
as part of a workflow execution.
Module:\n core
Since
pre-2.1
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- a CollInp_MS_T or a STR_MS_T which would be taken as dataObj path.
[in]inpParam2- a STR_MS_T which specifies the flags integer. A flags value of 1 means the parent collections will be created too.
[out]outParam- a INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0upon success
Precondition
none
Postcondition
none
See also
none

Definition at line 1911 of file reDataObjOpr.cpp.

References addKeyVal(), clearKeyVal(), CollInp::collName, CollInp::condInput, fillIntInMsParam(), LOG_ERROR, NULL, parseMspForCollInp(), parseMspForPosInt(), RE_TEST_MACRO, RECURSIVE_OPR__KW, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), rsCollCreate(), RuleExecInfo::rsComm, RuleExecInfo::status, and SYS_INTERNAL_NULL_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiCollRepl()

msiCollRepl ( msParam_t collection,
msParam_t msKeyValStr,
msParam_t status,
ruleExecInfo_t rei 
)
Description:\n This microservice wraps the rsCollRepl() routine to replicate a collection.
Module:\n core
Since
pre-2.1
Note
This call does not require client interaction, which means it can be used through rcExecMyRule (irule) or internally by the server.
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]collection- A CollInp_MS_T or a STR_MS_T with the irods path of the collection to replicate.
[in]msKeyValStr- Optional - a STR_MS_T. This is the special msKeyValStr format of keyWd1=value1++++keyWd2=value2++++keyWd3=value3... If the keyWd is not specified (without the '=' char), the value is assumed to be the target resource ("destRescName") for backward compatibility. Valid keyWds are:
  • "destRescName" - the target resource to replicate to.
  • "backupRescName" - the target resource to backup the data. If this keyWd is used, the backup mode will be switched on.
  • "rescName" - the resource of the source copy.
  • "updateRepl" - update other replicas with the latest copy. This keyWd has no value. But the '=' character is still needed.
  • "replNum" - the replica number to use as source.
  • "numThreads" - the number of threads to use.
  • "all" - replicate to all resources in the resource group. This keyWd has no value.
  • "irodsAdmin" - admin user replicate other users' files. This keyWd has no value.
  • "verifyChksum" - verify the transfer using checksum. This keyWd has no value.
[out]status- a CollOprStat_t for detailed operation status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 2787 of file reDataObjOpr.cpp.

References ADMIN_FLAG, ALL_FLAG, BACKUP_RESC_NAME_FLAG, COLL_NAME_FLAG, DEST_RESC_NAME_FLAG, DEST_RESC_NAME_KW, fillIntInMsParam(), LOG_ERROR, NULL, parseMsKeyValStrForCollInp(), parseMspForCollInp(), RE_TEST_MACRO, REPL_NUM_FLAG, rsComm_t::rError, RESC_NAME_FLAG, rodsLog(), rodsLogAndErrorMsg(), rsCollRepl(), RuleExecInfo::rsComm, irods.pypyodbc::status, RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, UPDATE_REPL_FLAG, and VERIFY_CHKSUM_FLAG.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiCollRsync()

msiCollRsync ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t inpParam4,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice recursively syncs a source
collection to a target collection.
Module:\n core
Since
2.4
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- a STR_MS_T which specifies the source collection path.
[in]inpParam2- a STR_MS_T which specifies the target collection path.
[in]inpParam3- Optional - a STR_MS_T which specifies the target resource.
[in]inpParam4- Optional - a STR_MS_T which specifies the rsync mode (RSYNC_MODE_KW). Valid mode is IRODS_TO_IRODS.
[out]outParam- a INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 2451 of file reDataObjOpr.cpp.

References _rsCollRsync(), clearKeyVal(), DataObjInp::condInput, DEST_RESC_NAME_KW, fillIntInMsParam(), getValByKey(), IRODS_TO_LOCAL, LOCAL_TO_IRODS, LOG_ERROR, NO_LOCAL_FILE_RSYNC_IN_MSI, NULL, parseMspForCondInp(), parseMspForStr(), RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, RSYNC_MODE_KW, RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, SYS_INVALID_FILE_PATH, and USER_RSYNC_NO_MODE_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjChksum()

msiDataObjChksum ( msParam_t inpParam1,
msParam_t msKeyValStr,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice calls rsDataObjChksum to chksum the iput data object as part of a workflow execution.
Module:\n core
Since
pre-2.1
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A DataObjInp_MS_T or a STR_MS_T which would be taken as dataObj path.
[in]msKeyValStr- Optional - a STR_MS_T. This is the special msKeyValStr format of keyWd1=value1++++keyWd2=value2++++keyWd3=value3... If the keyWd is not specified (without the '=' char), the value is assumed to be the target resource ("destRescName") for backward compatibility. Valid keyWds are:
  • "ChksumAll" - checksum all replicas. This keyWd has no value. But the '=' character is still needed.
  • "verifyChksum" - verify the chksum value.
  • "forceChksum" - checksum data-objects even if a checksum already exists in iCAT. This keyWd has no value.
  • "replNum" - the replica number to checksum. This keyWd has no value.
[out]outParam- a STR_MS_T containing the chksum value.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0upon success
Precondition
none
Postcondition
none
See also
none

Definition at line 1487 of file reDataObjOpr.cpp.

References CHKSUM_ALL_FLAG, clearKeyVal(), DataObjInp::condInput, fillStrInMsParam(), FORCE_CHKSUM_FLAG, KEY_WORD_KW, LOG_ERROR, NULL, OBJ_PATH_FLAG, DataObjInp::objPath, parseMsKeyValStrForDataObjInp(), parseMspForDataObjInp(), RE_TEST_MACRO, REPL_NUM_FLAG, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjChksum(), RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, and VERIFY_CHKSUM_FLAG.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjClose()

msiDataObjClose ( msParam_t inpParam,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice performs a low-level close for an opened/created data object.
Module:\n core
Since
pre-2.1
Note
Can be called by client through irule
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam- inpParam is a msParam of type INT_MS_T or STR_MS_T.
[out]outParam- outParam is a msParam of type INT_MS_T.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 293 of file reDataObjOpr.cpp.

References DataObjCloseInp_MS_T, fillIntInMsParam(), MsParam::inOutStruct, OpenedDataObjInp::l1descInx, LOG_ERROR, NULL, parseMspForPosInt(), RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjClose(), RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, and MsParam::type.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjCopy()

msiDataObjCopy ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t msKeyValStr,
msParam_t outParam,
ruleExecInfo_t rei 
)

This microservice copies a file from one logical (source) collection to another logical (destination) collection that is physically located in the input resource

Module:\n core
Since
pre-2.1
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- a DataObjCopyInp_MS_T or DataObjInp_MS_T which is the source DataObjInp or STR_MS_T which would be the source object path.
[in]inpParam2- Optional - a DataObjInp_MS_T which is the destination DataObjInp or STR_MS_T which would be the destination object path.
[in]msKeyValStr- Optional - a STR_MS_T. This is the special msKeyValStr format of keyWd1=value1++++keyWd2=value2++++keyWd3=value3... If the keyWd is not specified (without the '=' char), the value is assumed to be the target resource ("destRescName") for backward compatibility. Valid keyWds are:
  • "destRescName" - the resource to copy to.
  • "forceFlag" - overwrite existing copy. This keyWd has no value. But the '=' character is still needed
  • "numThreads" - the number of threads to use.
  • "filePath" - The physical file path of the uploaded file on the server.
  • "dataType" - the data type of the file.
  • "verifyChksum" - verify the transfer using checksum. this keyWd has no value. But the '=' character is still needed.
[out]outParam- a INT_MS_T for the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 1059 of file reDataObjOpr.cpp.

References clearKeyVal(), DataObjInp::condInput, DATA_TYPE_FLAG, DEST_RESC_NAME_FLAG, DEST_RESC_NAME_KW, DataObjCopyInp::destDataObjInp, FILE_PATH_FLAG, fillIntInMsParam(), FORCE_FLAG_FLAG, LOG_ERROR, NULL, NUM_THREADS_FLAG, OBJ_PATH_FLAG, DataObjInp::objPath, parseMsKeyValStrForDataObjInp(), parseMspForDataObjCopyInp(), parseMspForDataObjInp(), RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjCopy(), DataObjCopyInp::srcDataObjInp, RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, and VERIFY_CHKSUM_FLAG.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjGet()

msiDataObjGet ( msParam_t inpParam1,
msParam_t msKeyValStr,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice requests the client to call a rcDataObjGet API
as part of a workflow execution.
Module:\n core
Since
pre-2.1
Note
This call should only be used through the rcExecMyRule (irule) call i.e., rule execution initiated by clients and should not be called internally by the server since it interacts with the client through the normal client/server socket connection. Also, it should never be called through delayExec since it requires client interaction.
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A DataObjInp_MS_T or STR_MS_T which would be taken as dataObj path.
[in]msKeyValStr- Optional - a STR_MS_T. This is the special msKeyValStr format of keyWd1=value1++++keyWd2=value2++++keyWd3=value3... If the keyWd is not specified (without the '=' char), the value is assumed to be the client's local file path ("localPath") for backward compatibility.. Valid keyWds are:
  • "localPath" - the client's local file path.
  • "rescName" - the resource of the copy to get.
  • "replNum" - the replica number of the copy to get.
  • "numThreads" - the number of threads to use.
  • "forceFlag" - overwrite local copy. This keyWd has no value. But the '=' character is still needed
  • "verifyChksum" - verify the transfer using checksum. this keyWd has no value. But the '=' character is still needed.
[out]outParam- a INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 1357 of file reDataObjOpr.cpp.

References addMsParam(), rsComm_t::apiInx, CL_GET_ACTION, clearDataObjInp(), clearMsParamArray(), DataObjInp_MS_T, fillIntInMsParam(), FORCE_FLAG_FLAG, LOCAL_PATH_FLAG, LOCAL_PATH_KW, LOG_ERROR, NULL, NUM_THREADS_FLAG, OBJ_PATH_FLAG, parseMsKeyValStrForDataObjInp(), parseMspForDataObjInp(), RE_TEST_MACRO, REPL_NUM_FLAG, rsComm_t::rError, RESC_NAME_FLAG, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, sendAndRecvBranchMsg(), RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, SYS_SVR_TO_CLI_MSI_REQUEST, and VERIFY_CHKSUM_FLAG.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjLseek()

msiDataObjLseek ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice performs a low-level (file) seek of an opened data object.
Module:\n core
Since
pre-2.1
Note
Can be called by client through irule
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- a msParam of type DataObjLseekInp_MS_T or INT_MS_T or a STR_MS_T which would be the descriptor.
[in]inpParam2- Optional - a msParam of type INT_MS_T or DOUBLE_MS_T or a STR_MS_T which would be the offset.
[in]inpParam3- Optional - a msParam of type INT_MS_T or a STR_MS_T which would be from where. Can be SEEK_SET, SEEK_CUR, and SEEK_END.
[out]outParam- a msParam of type Double_MS_T or DataObjLseekOut_MS_T which is the return status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
positiveon success
Precondition
none
Postcondition
none
See also
none

Definition at line 382 of file reDataObjOpr.cpp.

References DataObjLseekInp_MS_T, DataObjLseekOut_MS_T, DOUBLE_MS_T, fillMsParam(), MsParam::inOutStruct, INT_MS_T, OpenedDataObjInp::l1descInx, LOG_ERROR, NULL, OpenedDataObjInp::offset, RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjLseek(), RuleExecInfo::status, STR_MS_T, SYS_INTERNAL_NULL_INPUT_ERR, MsParam::type, USER_PARAM_TYPE_ERR, and OpenedDataObjInp::whence.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjOpen()

msiDataObjOpen ( msParam_t inpParam,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This a microservice performs a low-level open for existing data object
Module:\n core
Since
pre-2.1
Note
Can be called by client through irule
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam- a msParam of type DataObjInp_MS_T or a STR_MS_T which would be taken as msKeyValStr. msKeyValStr - This is the special msKeyValStr format of keyWd1=value1++++keyWd2=value2++++keyWd3=value3... If the keyWd is not specified (without the '=' char), the value is assumed to be the path of the data object("objPath") for backward compatibility. Valid keyWds are:
  • "objPath" - the path of the data object to open.
  • "rescName" - the resource of the data object to open.
  • "replNum" - the replica number of the copy to open.
  • "openFlags" - the open flags. valid open flags are: O_RDONLY, O_WRONLY, O_RDWR and O_TRUNC. These can be combined by concatenation, e.g. O_WRONLYO_TRUNC (without the '|' character). The default open flag is O_RDONLY.
[out]outParam- a msParam of type INT_MS_T containing the descriptor of the open.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
positiveon success
Precondition
none
Postcondition
none
See also
none

Definition at line 200 of file reDataObjOpr.cpp.

References fillIntInMsParam(), LOG_ERROR, NULL, OBJ_PATH_FLAG, OBJ_PATH_KW, DataObjInp::objPath, OPEN_FLAGS_FLAG, parseMsKeyValStrForDataObjInp(), parseMspForDataObjInp(), RE_TEST_MACRO, REPL_NUM_FLAG, rsComm_t::rError, RESC_NAME_FLAG, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjOpen(), RuleExecInfo::status, STR_MS_T, SYS_INTERNAL_NULL_INPUT_ERR, and MsParam::type.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjPhymv()

msiDataObjPhymv ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t inpParam4,
msParam_t inpParam5,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice calls rsDataObjPhymv to physically move the iput
data object to another resource.
Module:\n core
Since
pre-2.1
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A DataObjInp_MS_T or STR_MS_T which would be taken as dataObj path.
[in]inpParam2- Optional - a STR_MS_T which specifies the dest resourceName.
[in]inpParam3- Optional - a STR_MS_T which specifies the src resourceName.
[in]inpParam4- Optional - a STR_MS_T which specifies the replNum.
[in]inpParam5- Optional - a STR_MS_T which specifies the ADMIN_KW.
[out]outParam- a INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0upon success
Precondition
none
Postcondition
none
See also
none

Definition at line 1591 of file reDataObjOpr.cpp.

References ADMIN_KW, clearKeyVal(), DataObjInp::condInput, DEST_RESC_NAME_KW, fillIntInMsParam(), LOG_ERROR, NULL, DataObjInp::objPath, parseMspForCondInp(), parseMspForDataObjInp(), RE_TEST_MACRO, REPL_NUM_KW, rsComm_t::rError, RESC_NAME_KW, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjPhymv(), RuleExecInfo::status, and SYS_INTERNAL_NULL_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjPut()

msiDataObjPut ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t msKeyValStr,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice requests the client to call a rcDataObjPut API
as part of a workflow execution.
Module:\n core
Since
pre-2.1
Note
This call should only be used through the rcExecMyRule (irule) call i.e., rule execution initiated by clients and should not be called internally by the server since it interacts with the client through the normal client/server socket connection. Also, it should never be called through delayExec since it requires client interaction.
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A DataObjInp_MS_T or STR_MS_T which would be taken as dataObj path.
[in]inpParam2- Optional - a STR_MS_T which specifies the resource.
[in]msKeyValStr- Optional - a STR_MS_T. This is the special msKeyValStr format of keyWd1=value1++++keyWd2=value2++++keyWd3=value3... If the keyWd is not specified (without the '=' char), the value is assumed to be the client's local file path ("localPath") for backward compatibility. Valid keyWds are:
  • "localPath" - the client's local file path.
  • "destRescName" - the target resource - where the object should go.
  • "all" - upload to all resources
  • "forceFlag" - overwrite existing copy. This keyWd has no value. But the '=' character is still needed
  • "replNum" - the replica number to overwrite.
  • "numThreads" - the number of threads to use.
  • "filePath" - The physical file path of the uploaded file on the server.
  • "dataType" - the data type of the file.
  • "verifyChksum" - verify the transfer using checksum. this keyWd has no value. But the '=' character is still needed.
[out]outParam- a INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 1205 of file reDataObjOpr.cpp.

References addMsParam(), ALL_FLAG, rsComm_t::apiInx, CL_PUT_ACTION, clearDataObjInp(), clearMsParamArray(), DataObjInp::condInput, DATA_TYPE_FLAG, DataObjInp_MS_T, DEST_RESC_NAME_FLAG, DEST_RESC_NAME_KW, FILE_PATH_FLAG, fillIntInMsParam(), FORCE_FLAG_FLAG, LOCAL_PATH_FLAG, LOCAL_PATH_KW, LOG_ERROR, NULL, NUM_THREADS_FLAG, OBJ_PATH_FLAG, parseMsKeyValStrForDataObjInp(), parseMspForCondInp(), parseMspForDataObjInp(), RE_TEST_MACRO, REPL_NUM_FLAG, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, sendAndRecvBranchMsg(), RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, SYS_SVR_TO_CLI_MSI_REQUEST, and VERIFY_CHKSUM_FLAG.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjRead()

msiDataObjRead ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice performs a low-level read of an opened data object
Module:\n core
Since
pre-2.1
Note
Can be called by client through irule
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- a msParam of type DataObjReadInp_MS_T or INT_MS_T or STR_MS_T which would be the descriptor.
[in]inpParam2- Optional - a msParam of type INT_MS_T or STR_MS_T which would be the length.
[out]outParam- a msParam of type BUF_LEN_MS_T.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
positiveon success
Precondition
none
Postcondition
none
See also
none

Definition at line 541 of file reDataObjOpr.cpp.

References DataObjReadInp_MS_T, fillBufLenInMsParam(), MsParam::inOutStruct, OpenedDataObjInp::l1descInx, OpenedDataObjInp::len, LOG_ERROR, NULL, parseMspForPosInt(), RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjRead(), RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, SYS_NULL_INPUT, and MsParam::type.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjRename()

msiDataObjRename ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice calls rsDataObjRename to rename the iput
data object or collection to another path.
Module:\n core
Since
pre-2.1
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A taObjCopyInp_MS_T or STR_MS_T which would be taken as the src dataObj path.
[in]inpParam2- Optional - A DataObjInp_MS_T which is the destination DataObjInp or STR_MS_T which would be the destination object Path.
[in]inpParam3- Optional - a INT_MS_T or STR_MS_T which specifies the object type. A 0 means data obj and > 0 mean collection.
[out]outParam- a INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0upon success
Precondition
none
Postcondition
none
See also
none

Definition at line 1705 of file reDataObjOpr.cpp.

References DataObjCopyInp::destDataObjInp, fillIntInMsParam(), LOG_ERROR, NULL, DataObjInp::objPath, DataObjInp::oprType, parseMspForDataObjCopyInp(), parseMspForDataObjInp(), parseMspForPosInt(), RE_TEST_MACRO, RENAME_COLL, RENAME_DATA_OBJ, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjRename(), DataObjCopyInp::srcDataObjInp, RuleExecInfo::status, and SYS_INTERNAL_NULL_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjRepl()

msiDataObjRepl ( msParam_t inpParam1,
msParam_t msKeyValStr,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice replicates a file in a Collection (it assigns a different
replica number to the new copy in the iCAT Metadata Catalog).
Module:\n core
Since
pre-2.1
Note
Can be called by client through irule
The replica is physically stored in the 'tgReplResc' Resource. *Junk contains the status of the operation. In the Rule, the resource is provided as part of the call instead of as an input through a *parameter.
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- a msParam of type DataObjInp_MS_T or STR_MS_T which would be the obj Path.
[in]msKeyValStr- Optional - a STR_MS_T. This is the special msKeyValStr format of keyWd1=value1++++keyWd2=value2++++keyWd3=value3... If the keyWd is not specified (without the '=' char), the value is assumed to be the target resource ("destRescName") for backward compatibility. Valid keyWds are:
  • "destRescName" - the target resource to replicate to.
  • "backupRescName" - the target resource to backup the data. If this keyWd is used, the backup mode will be switched on.
  • "rescName" - the resource of the source copy.
  • "updateRepl" - update other replicas with the latest copy. This keyWd has no value. But the '=' character is still needed.
  • "replNum" - the replica number to use as source.
  • "numThreads" - the number of threads to use.
  • "all" - replicate to all resources in the resource group. This keyWd has no value.
  • "irodsAdmin" - admin user replicate other users' files. This keyWd has no value.
  • "verifyChksum" - verify the transfer using checksum. This keyWd has no value.
  • "rbudpTransfer" - use RBUDP (datagram) protocol for the data transfer. This keyWd has no value.
  • "rbudpSendRate" - Valid only if "rbudpTransfer" is on. This is the send rate in kbits/sec. The default is 600,000.
  • "rbudpPackSize" - Valid only if "rbudpTransfer" is on. This is the packet size in bytes. The default is 8192.
[out]outParam- a msParam of type INT_MS_T which is a status of the operation.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 933 of file reDataObjOpr.cpp.

References ADMIN_FLAG, ALL_FLAG, BACKUP_RESC_NAME_FLAG, clearKeyVal(), DataObjInp::condInput, DEST_RESC_NAME_FLAG, DEST_RESC_NAME_KW, fillIntInMsParam(), LOG_ERROR, NULL, NUM_THREADS_FLAG, OBJ_PATH_FLAG, DataObjInp::objPath, parseMsKeyValStrForDataObjInp(), parseMspForDataObjInp(), RBUDP_PACK_SIZE_FLAG, RBUDP_SEND_RATE_FLAG, RBUDP_TRANSFER_FLAG, RE_TEST_MACRO, REPL_NUM_FLAG, rsComm_t::rError, RESC_NAME_FLAG, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjRepl(), RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, UPDATE_REPL_FLAG, and VERIFY_CHKSUM_FLAG.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjRsync()

msiDataObjRsync ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t inpParam4,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice requests the client to call a rcDataObjRsync API
as part of a workflow execution.
Module:\n core
Since
pre-2.1
Note
For now, this microservice should only be used for IRODS_TO_IRODS mode because of the logistic difficulty with the microservice getting the checksum values of the local file.
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A DataObjInp_MS_T or STR_MS_T which would be taken as dataObj path.
[in]inpParam2- Optional - a STR_MS_T which specifies the rsync mode (RSYNC_MODE_KW). Valid mode is IRODS_TO_IRODS and IRODS_TO_COLLECTION.
[in]inpParam3- Optional - a STR_MS_T which specifies the resource value (DEST_RESC_NAME_KW).
[in]inpParam4- Optional - a STR_MS_T which specifies the (RSYNC_DEST_PATH_KW). For IRODS_TO_IRODS, this is the target path. For IRODS_TO_COLLECTION, this is the top level target collection. e.g., if dataObj (inpParam1) is /tempZone/home/rods/foo and the target collection (inpParam4) is /tempZone/archive, then the target path is /tempZone/archive/home/rods/foo.
[out]outParam- a INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 2299 of file reDataObjOpr.cpp.

References addKeyVal(), clearKeyVal(), clearMsParamArray(), DataObjInp::condInput, DEST_RESC_NAME_KW, fillIntInMsParam(), getValByKey(), IRODS_TO_COLLECTION, IRODS_TO_IRODS, IRODS_TO_LOCAL, LOCAL_TO_IRODS, LOG_ERROR, MAX_NAME_LEN, NO_LOCAL_FILE_RSYNC_IN_MSI, NULL, DataObjInp::objPath, parseMspForCondInp(), parseMspForDataObjInp(), RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjRsync(), RSYNC_DEST_PATH_KW, RSYNC_MODE_KW, RuleExecInfo::status, SYS_INTERNAL_NULL_INPUT_ERR, USER_INPUT_PATH_ERR, and USER_RSYNC_NO_MODE_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjTrim()

msiDataObjTrim ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t inpParam4,
msParam_t inpParam5,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice calls rsDataObjTrim to trim down the number
of replicas of a data object.
Module:\n core
Since
pre-2.1
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A DataObjInp_MS_T or STR_MS_T which would be taken as dataObj path.
[in]inpParam2- Optional - a STR_MS_T which specifies the resourceName.
[in]inpParam3- Optional - a STR_MS_T which specifies the replNum.
[in]inpParam4- Optional - a STR_MS_T which specifies the minimum number of copies to keep.
[in]inpParam5- Optional - a STR_MS_T which specifies the ADMIN_KW.
[out]outParam- a INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
1if a replica is trimmed, 0 if nothing trimmed
Precondition
none
Postcondition
none
See also
none

Definition at line 1805 of file reDataObjOpr.cpp.

References ADMIN_KW, clearKeyVal(), DataObjInp::condInput, COPIES_KW, fillIntInMsParam(), LOG_ERROR, NULL, DataObjInp::objPath, parseMspForCondInp(), parseMspForDataObjInp(), RE_TEST_MACRO, REPL_NUM_KW, rsComm_t::rError, RESC_NAME_KW, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjTrim(), RuleExecInfo::status, and SYS_INTERNAL_NULL_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjUnlink()

msiDataObjUnlink ( msParam_t inpParam,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice deletes an existing data object
Module:\n core
Since
pre-2.1
Note
Can be called by client through irule
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam- a msParam of type DataObjInp_MS_T or STR_MS_T which would be taken as msKeyValStr. msKeyValStr - This is the special msKeyValStr format of keyWd1=value1++++keyWd2=value2++++keyWd3=value3... If the keyWd is not specified (without the '=' char), the value is assumed to be the path of the data object("objPath") for backward compatibility. Valid keyWds are:
  • "objPath" - the path of the data object to remove.
  • "replNum" - the replica number of the copy to remove.
  • "forceFlag" - Remove the data object instead putting it in trash. This keyWd has no value. But the '=' character is still needed
  • "irodsAdminRmTrash" - Admin rm trash. This keyWd has no value.
  • "irodsRmTrash" - rm trash. This keyWd has no value.
  • "unreg" - unregister the path. This keyWd has no value.
[out]outParam- a msParam of type INT_MS_T for the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 807 of file reDataObjOpr.cpp.

References ADMIN_RMTRASH_FLAG, fillIntInMsParam(), FORCE_FLAG_FLAG, LOG_ERROR, NULL, OBJ_PATH_FLAG, OBJ_PATH_KW, DataObjInp::objPath, parseMsKeyValStrForDataObjInp(), parseMspForDataObjInp(), RE_TEST_MACRO, REPL_NUM_FLAG, rsComm_t::rError, RMTRASH_FLAG, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjUnlink(), RuleExecInfo::status, STR_MS_T, SYS_INTERNAL_NULL_INPUT_ERR, MsParam::type, and UNREG_FLAG.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiDataObjWrite()

msiDataObjWrite ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice performs a low-level write to an opened data object
Module:\n core
Since
pre-2.1
Note
Can be called by client through irule
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- a msParam of type DataObjWriteInp_MS_T or INT_MS_T or a STR_MS_T which would be the descriptor.
[in]inpParam2- Optional - a msParam of type BUF_LEN_MS_T or a STR_MS_T, the input is inpOutBuf and the length of the buffer in the BBuf.
  • "stderr", "stdout" can be passed as well
[out]outParam- a msParam of type INT_MS_T for the length written.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
positiveon success
Precondition
none
Postcondition
none
See also
none

Definition at line 650 of file reDataObjOpr.cpp.

References BytesBuf::buf, DataObjWriteInp_MS_T, fillIntInMsParam(), getMsParamByLabel(), MsParam::inOutStruct, MsParam::inpOutBuf, OpenedDataObjInp::l1descInx, OpenedDataObjInp::len, BytesBuf::len, LOG_ERROR, RuleExecInfo::msParamArray, NO_VALUES_FOUND, NULL, parseMspForPosInt(), RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsDataObjWrite(), RuleExecInfo::status, ExecCmdOut::stderrBuf, ExecCmdOut::stdoutBuf, STR_MS_T, SYS_INTERNAL_NULL_INPUT_ERR, SYS_NULL_INPUT, and MsParam::type.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiExecCmd()

msiExecCmd ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t inpParam4,
msParam_t inpParam5,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice requests the client to call a rcExecCmd API
to fork and execute a command that resides in the msiExecCmd_bin directory.
Module:\n core
Since
pre-2.1
Note
This call does not require client interaction, which means it can be used through rcExecMyRule (irule) or internally by the server.
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- a ExecCmd_MS_T or a STR_MS_T which specify the command (cmd) to execute.
[in]inpParam2- Optional - a STR_MS_T which specifies the argv (cmdArgv) of the command
[in]inpParam3- Optional - a STR_MS_T which specifies the host address (execAddr) to execute to command.
[in]inpParam4- Optional - a STR_MS_T which specifies an iRODS file path (hintPath). The command will be executed on the host where this file is stored.
[in]inpParam5- Optional - A INT_MS_T or a STR_MS_T. If it is greater than zero, the resolved physical path from the logical hintPath (inpParam4) will be used as the first argument the command.
[out]outParam- a ExecCmdOut_MS_T containing the status of the command execution and the stdout/strerr output.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 2659 of file reDataObjOpr.cpp.

References addKeyVal(), ExecCmd::addPathToArgv, clearKeyVal(), ExecCmd::cmd, ExecCmd::cmdArgv, ExecCmd::condInput, EXEC_CMD_RULE_KW, EXEC_MY_RULE_KW, ExecCmd::execAddr, ExecCmdOut_MS_T, fillMsParam(), ExecCmd::hintPath, HUGE_NAME_LEN, LOG_ERROR, LONG_NAME_LEN, MAX_NAME_LEN, NULL, parseMspForExecCmdInp(), parseMspForPosInt(), parseMspForStr(), RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsExecCmd(), rstrcpy(), RuleExecInfo::ruleName, RuleExecInfo::status, and SYS_INTERNAL_NULL_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table(), and startMonScript().

Here is the call graph for this function:

◆ msiObjStat()

msiObjStat ( msParam_t inpParam1,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice calls rsObjStat to get the stat of an iRODS path
as part of a workflow execution.
Module:\n core
Since
pre-2.1
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A DataObjInp_MS_T or STR_MS_T which would be taken as dataObj path.
[out]outParam- a RodsObjStat_MS_T containing the rodsObjStat_t struct of the object.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 2211 of file reDataObjOpr.cpp.

References fillMsParam(), LOG_ERROR, NULL, DataObjInp::objPath, parseMspForDataObjInp(), RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RodsObjStat_MS_T, RuleExecInfo::rsComm, rsObjStat(), RuleExecInfo::status, and SYS_INTERNAL_NULL_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiPhyBundleColl()

msiPhyBundleColl ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n Bundles a collection into a number of tar files, similar to the iphybun command
Module:\n core
Since
2.3
Note
This microservice calls rsPhyBundleColl to bundle files in a collection into a number of tar files to make it more efficient to store these files on tape. This microservice has the same functionality as the iphybun command.
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A StructFileExtAndRegInp_MS_T or a STR_MS_T which would be taken as the collection for the phybun.
[in]inpParam2- optional - a STR_MS_T which specifies the target resource. If one wants to modify the value of the maximum number of subfiles contained in the tar file (default=5120), the input should be like this: "<target resource name>++++N=10000++++s=1". In this example, it will allow to merge up to 10000 files or up to 1 GB in volume, whatever occurs first, in a single tar file. Note that if these numbers are too high (especially "N"), it can cause some significant overhead for operations like retrieving a single file within a tar file (stage, untar and register in iRODS lots of files). If the syntax after "++++" is invalid, it will be ignored.
[out]outParam- An INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0upon success
Precondition
N/A
Postcondition
N/A
See also
N/A

Definition at line 3161 of file reDataObjOpr.cpp.

References addKeyVal(), authInfo_t::authFlag, userInfo_t::authInfo, StructFileExtAndRegInp::collection, StructFileExtAndRegInp::condInput, DEST_RESC_NAME_KW, irods.pyparsing::empty, fillIntInMsParam(), MsParam::inOutStruct, LOCAL_PRIV_USER_AUTH, LOG_ERROR, MAX_BUNDLE_SIZE_KW, MAX_SUB_FILE_KW, NULL, RE_TEST_MACRO, rsComm_t::rError, RESC_NAME_KW, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsPhyBundleColl(), RuleExecInfo::status, STR_MS_T, StructFileExtAndRegInp_MS_T, SYS_INTERNAL_NULL_INPUT_ERR, SYS_NO_API_PRIV, MsParam::type, UNKNOWN_PARAM_IN_RULE_ERR, RuleExecInfo::uoic, and userInfo_t::userName.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiPhyPathReg()

msiPhyPathReg ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t inpParam4,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice calls rsPhyPathReg to register a physical path
with the iCAT.
Module:\n core
Since
pre-2.1
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A DataObjInp_MS_T or STR_MS_T which would be taken as object path. The path can be a data object or a collection path.
[in]inpParam2- Optional - a STR_MS_T which specifies the dest resourceName.
[in]inpParam3- Optional - a STR_MS_T which specifies the physical path to be registered.
[in]inpParam4- Optional - a STR_MS_T which specifies whether the path to be registered is a directory. A keyword string "collection" indicates the path is a directory. A "null" string indicates the path is a file. A "mountPoint" (MOUNT_POINT_STR) means mounting the file directory given in inpParam3. A "linkPoint" (LINK_POINT_STR) means soft link the collection given in inpParam3. A "unmount" (UNMOUNT_STR) means unmount the collection.
[out]outParam- a INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0upon success
Precondition
none
Postcondition
none
See also
none

Definition at line 2113 of file reDataObjOpr.cpp.

References clearKeyVal(), DataObjInp::condInput, DEST_RESC_NAME_KW, FILE_PATH_KW, fillIntInMsParam(), LOG_ERROR, NULL, DataObjInp::objPath, parseMspForCondInp(), parseMspForDataObjInp(), parseMspForPhyPathReg(), RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsPhyPathReg(), RuleExecInfo::status, and SYS_INTERNAL_NULL_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiRmColl()

msiRmColl ( msParam_t inpParam1,
msParam_t msKeyValStr,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n This microservice calls rsRmColl to recursively remove a collection
as part of a workflow execution.
Module:\n core
Since
pre-2.1
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- a CollInp_MS_T or a STR_MS_T which would be taken as dataObj path.
[in]msKeyValStr- This is the special msKeyValStr format of keyWd1=value1++++keyWd2=value2++++keyWd3=value3... If the keyWd is not specified (without the '=' char), the value is assumed to be one of the keywords listed below for backwards compatibility. Valid keyWds are :
  • "forceFlag" - Remove the data object instead of putting it in the trash. This keyWd has no value. But the '=' character is still needed.
  • "irodsAdminRmTrash" - Admin remove trash. This keyWd has no value.
  • "irodsRmTrash" - Remove trash. This keyWd has no value.
[out]outParam- an INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0upon success
Precondition
none
Postcondition
none
See also
none

Definition at line 2004 of file reDataObjOpr.cpp.

References addKeyVal(), ADMIN_RMTRASH_FLAG, clearKeyVal(), COLL_NAME_FLAG, CollInp::collName, CollInp::condInput, fillIntInMsParam(), FORCE_FLAG_FLAG, KEY_WORD_KW, LOG_ERROR, NULL, parseMsKeyValStrForCollInp(), parseMspForCollInp(), RE_TEST_MACRO, RECURSIVE_OPR__KW, rsComm_t::rError, RMTRASH_FLAG, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsRmColl(), RuleExecInfo::status, and SYS_INTERNAL_NULL_INPUT_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiTarFileCreate()

msiTarFileCreate ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t inpParam4,
ruleExecInfo_t rei 
)
Description:\n Creates a tar object file from a target collection
Module:\n core
Since
2.3
Note
This microservice calls rsStructFileBundle to create a tar file (inpParam1) from a target collection (inpParam2). The content of the target collection is stored on the physical resource (inpParam3).
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A StructFileExtAndRegInp_MS_T or a STR_MS_T which would be taken as dataObj path.
[in]inpParam2- A STR_MS_T which specifies the target collection.
[in]inpParam3- optional - A STR_MS_T which specifies the target resource.
[out]inpParam4- optional - A STR_MS_T which specifies if the force flag is set. Set it to "force" if the force option is needed, otherwise no force option will be used.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0upon success
Precondition
N/A
Postcondition
N/A
See also
N/A

Definition at line 3040 of file reDataObjOpr.cpp.

References addKeyVal(), StructFileExtAndRegInp::collection, StructFileExtAndRegInp::condInput, DEST_RESC_NAME_KW, FORCE_FLAG_KW, MsParam::inOutStruct, LOG_ERROR, NULL, StructFileExtAndRegInp::objPath, RE_TEST_MACRO, rsComm_t::rError, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsStructFileBundle(), RuleExecInfo::status, STR_MS_T, StructFileExtAndRegInp_MS_T, SYS_INTERNAL_NULL_INPUT_ERR, MsParam::type, and UNKNOWN_PARAM_IN_RULE_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function:

◆ msiTarFileExtract()

msiTarFileExtract ( msParam_t inpParam1,
msParam_t inpParam2,
msParam_t inpParam3,
msParam_t outParam,
ruleExecInfo_t rei 
)
Description:\n Extracts a tar object file into a target collection
Module:\n core
Since
2.3
Note
This microservice calls rsStructFileExtAndReg to extract a tar file (inpParam1) into a target collection (inpParam2). The content of the target collection is stored on the physical resource (inpParam3).
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]inpParam1- A StructFileExtAndRegInp_MS_T or a STR_MS_T which would be taken as dataObj path.
[in]inpParam2- A STR_MS_T which specifies the target collection.
[in]inpParam3- optional - A STR_MS_T which specifies the target resource.
[out]outParam- An INT_MS_T containing the status.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0upon success
Precondition
N/A
Postcondition
N/A
See also
N/A

Definition at line 2897 of file reDataObjOpr.cpp.

References addKeyVal(), StructFileExtAndRegInp::collection, StructFileExtAndRegInp::condInput, DATA_TYPE_KW, modDataObjMeta_t::dataObjInfo, DataObjInfo::dataType, DEST_RESC_NAME_KW, RuleExecInfo::doi, ERROR, fillIntInMsParam(), MsParam::inOutStruct, irods::log(), LOG_ERROR, NAME_LEN, NULL, StructFileExtAndRegInp::objPath, RE_TEST_MACRO, modDataObjMeta_t::regParam, rsComm_t::rError, RESC_NAME_KW, rodsLog(), rodsLogAndErrorMsg(), RuleExecInfo::rsComm, rsModDataObjMeta(), rsStructFileExtAndReg(), RuleExecInfo::status, STR_MS_T, StructFileExtAndRegInp_MS_T, SYS_INTERNAL_NULL_INPUT_ERR, MsParam::type, and UNKNOWN_PARAM_IN_RULE_ERR.

Referenced by irods::lookup_table< resource_ptr >::lookup_table().

Here is the call graph for this function: