<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.umiacs.umd.edu/adapt/index.php?action=history&amp;feed=atom&amp;title=Toaster%3AIrodsNotes</id>
	<title>Toaster:IrodsNotes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.umiacs.umd.edu/adapt/index.php?action=history&amp;feed=atom&amp;title=Toaster%3AIrodsNotes"/>
	<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/adapt/index.php?title=Toaster:IrodsNotes&amp;action=history"/>
	<updated>2026-04-05T18:28:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://wiki.umiacs.umd.edu/adapt/index.php?title=Toaster:IrodsNotes&amp;diff=1886&amp;oldid=prev</id>
		<title>Toaster at 20:43, 11 September 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/adapt/index.php?title=Toaster:IrodsNotes&amp;diff=1886&amp;oldid=prev"/>
		<updated>2008-09-11T20:43:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Message Sending==&lt;br /&gt;
   * 4 bytes, length of &amp;lt;nop&amp;gt;MsgHeader_PI&amp;lt;/nop&amp;gt;&lt;br /&gt;
   * &amp;lt;nop&amp;gt;MsgHeader_PI&amp;lt;/nop&amp;gt;, contains length of message (0 if no message)&lt;br /&gt;
   * Message, optional&lt;br /&gt;
&lt;br /&gt;
Pack Instructions&lt;br /&gt;
&lt;br /&gt;
These are defined in lib/core/include/rodsPackInstruct.h&lt;br /&gt;
&lt;br /&gt;
==MsgHeader_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define MsgHeader_PI &amp;quot;str type[HEADER_TYPE_LEN]; int msgLen; int errorLen; int bsLen; int intInfo;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XML Sample&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;MsgHeader_PI&amp;gt;&lt;br /&gt;
&amp;lt;type&amp;gt;RODS_API_REQ&amp;lt;/type&amp;gt;&lt;br /&gt;
&amp;lt;msgLen&amp;gt;264&amp;lt;/msgLen&amp;gt;&lt;br /&gt;
&amp;lt;errorLen&amp;gt;0&amp;lt;/errorLen&amp;gt;&lt;br /&gt;
&amp;lt;bsLen&amp;gt;0&amp;lt;/bsLen&amp;gt;&lt;br /&gt;
&amp;lt;intInfo&amp;gt;633&amp;lt;/intInfo&amp;gt;&lt;br /&gt;
&amp;lt;/MsgHeader_PI&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   * type - one of RODS_API_REQ, RODS_API_REPLY, RODS_CONNECT, RODS_VERSION, &lt;br /&gt;
   * int msgLen - Length of main msg&lt;br /&gt;
   * int errorLen - Length of error message&lt;br /&gt;
   * int bsLen - Length of byte stream&lt;br /&gt;
   * int intInto - An additional integer info, for API, it is the apiReqNum, see &amp;lt;nop&amp;gt;ApiNumber.h, for return this may be an error code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==StartupPack_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define StartupPack_PI &amp;quot;int irodsProt; int reconnFlag; int connectCnt; str proxyUser[NAME_LEN]; &lt;br /&gt;
str proxyRcatZone[NAME_LEN]; str clientUser[NAME_LEN]; str clientRcatZone[NAME_LEN]; &lt;br /&gt;
str relVersion[NAME_LEN]; str apiVersion[NAME_LEN]; str option[NAME_LEN];&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XML sample&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;StartupPack_PI&amp;gt;&lt;br /&gt;
&amp;lt;irodsProt&amp;gt;1&amp;lt;/irodsProt&amp;gt;&lt;br /&gt;
&amp;lt;reconnFlag&amp;gt;0&amp;lt;/reconnFlag&amp;gt;&lt;br /&gt;
&amp;lt;connectCnt&amp;gt;0&amp;lt;/connectCnt&amp;gt;&lt;br /&gt;
&amp;lt;proxyUser&amp;gt;rods&amp;lt;/proxyUser&amp;gt;&lt;br /&gt;
&amp;lt;proxyRcatZone&amp;gt;tempZone&amp;lt;/proxyRcatZone&amp;gt;&lt;br /&gt;
&amp;lt;clientUser&amp;gt;rods&amp;lt;/clientUser&amp;gt;&lt;br /&gt;
&amp;lt;clientRcatZone&amp;gt;tempZone&amp;lt;/clientRcatZone&amp;gt;&lt;br /&gt;
&amp;lt;relVersion&amp;gt;rods0.9&amp;lt;/relVersion&amp;gt;&lt;br /&gt;
&amp;lt;apiVersion&amp;gt;b&amp;lt;/apiVersion&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/StartupPack_PI&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define Version_PI &amp;quot;int status; str relVersion[NAME_LEN]; str apiVersion[NAME_LEN]; int reconnPort; &lt;br /&gt;
str reconnAddr[LONG_NAME_LEN]; int cookie;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RErrMsg_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define RErrMsg_PI &amp;quot;int status; str msg[ERR_MSG_LEN];&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RError_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define RError_PI &amp;quot;int count; struct *RErrMsg_PI[count];&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GenQueryInp_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define GenQueryInp_PI &amp;quot;int maxRows; int continueInx; int partialStartIndex; int options; struct KeyValPair_PI; &lt;br /&gt;
struct InxIvalPair_PI; struct InxValPair_PI;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[#KeyValPair|KeyValPair]]&lt;br /&gt;
* [[#InxIvalPair|InxIvalPair]]&lt;br /&gt;
* [[#InxValPair|InxValPair]]&lt;br /&gt;
&lt;br /&gt;
XML Sample&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;GenQueryInp_PI&amp;gt;&lt;br /&gt;
&amp;lt;maxRows&amp;gt;500&amp;lt;/maxRows&amp;gt;&lt;br /&gt;
&amp;lt;continueInx&amp;gt;0&amp;lt;/continueInx&amp;gt;&lt;br /&gt;
&amp;lt;partialStartIndex&amp;gt;0&amp;lt;/partialStartIndex&amp;gt;&lt;br /&gt;
&amp;lt;options&amp;gt;0&amp;lt;/options&amp;gt;&lt;br /&gt;
&amp;lt;KeyValPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;ssLen&amp;gt;0&amp;lt;/ssLen&amp;gt;&lt;br /&gt;
&amp;lt;/KeyValPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;InxIvalPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;iiLen&amp;gt;3&amp;lt;/iiLen&amp;gt;&lt;br /&gt;
&amp;lt;inx&amp;gt;501&amp;lt;/inx&amp;gt;&lt;br /&gt;
&amp;lt;inx&amp;gt;403&amp;lt;/inx&amp;gt;&lt;br /&gt;
&amp;lt;inx&amp;gt;401&amp;lt;/inx&amp;gt;&lt;br /&gt;
&amp;lt;ivalue&amp;gt;1&amp;lt;/ivalue&amp;gt;&lt;br /&gt;
&amp;lt;ivalue&amp;gt;1&amp;lt;/ivalue&amp;gt;&lt;br /&gt;
&amp;lt;ivalue&amp;gt;1&amp;lt;/ivalue&amp;gt;&lt;br /&gt;
&amp;lt;/InxIvalPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;InxValPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;isLen&amp;gt;1&amp;lt;/isLen&amp;gt;&lt;br /&gt;
&amp;lt;inx&amp;gt;501&amp;lt;/inx&amp;gt;&lt;br /&gt;
&amp;lt;svalue&amp;gt; = &amp;#039;/tempZone/home/rods&amp;#039;&amp;lt;/svalue&amp;gt;&lt;br /&gt;
&amp;lt;/InxValPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;/GenQueryInp_PI&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#KeyValPair&lt;br /&gt;
==KeyValPair_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define KeyValPair_PI &amp;quot;int ssLen; str *keyWord[ssLen]; str *svalue[ssLen];&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XML Sample&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;KeyValPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;ssLen&amp;gt;0&amp;lt;/ssLen&amp;gt;&lt;br /&gt;
&amp;lt;/KeyValPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==InxIvalPair_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define InxIvalPair_PI &amp;quot;int iiLen; int *inx(iiLen); int *ivalue(iiLen);&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XMl Sample&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;InxIvalPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;iiLen&amp;gt;3&amp;lt;/iiLen&amp;gt;&lt;br /&gt;
&amp;lt;inx&amp;gt;501&amp;lt;/inx&amp;gt;&lt;br /&gt;
&amp;lt;inx&amp;gt;403&amp;lt;/inx&amp;gt;&lt;br /&gt;
&amp;lt;inx&amp;gt;401&amp;lt;/inx&amp;gt;&lt;br /&gt;
&amp;lt;ivalue&amp;gt;1&amp;lt;/ivalue&amp;gt;&lt;br /&gt;
&amp;lt;ivalue&amp;gt;1&amp;lt;/ivalue&amp;gt;&lt;br /&gt;
&amp;lt;ivalue&amp;gt;1&amp;lt;/ivalue&amp;gt;&lt;br /&gt;
&amp;lt;/InxIvalPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==InxValPair_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define InxValPair_PI &amp;quot;int isLen; int *inx(isLen); str *svalue[isLen];&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XML sample&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;InxValPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;isLen&amp;gt;1&amp;lt;/isLen&amp;gt;&lt;br /&gt;
&amp;lt;inx&amp;gt;501&amp;lt;/inx&amp;gt;&lt;br /&gt;
&amp;lt;svalue&amp;gt; = &amp;#039;/tempZone/home/rods&amp;#039;&amp;lt;/svalue&amp;gt;&lt;br /&gt;
&amp;lt;/InxValPair_PI&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RODS_STAT_T_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define RODS_STAT_T_PI &amp;quot;double st_size; int st_dev; int st_ino; int st_mode; int st_nlink; int st_uid; &lt;br /&gt;
int st_gid; int st_rdev; int st_atim; int st_mtim; int st_ctim; int st_blksize; int st_blocks; int st_vfstype; &lt;br /&gt;
int st_vfs; int st_type; int st_gen; int st_flag;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==RODS_DIRENT_T_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define RODS_DIRENT_T_PI &amp;quot;int d_offset; int d_ino; int d_reclen; int d_namlen; str d_name[DIR_LEN];&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DataObjInp_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define DataObjInp_PI &amp;quot;str objPath[MAX_NAME_LEN]; int createMode; int openFlags; double offset; &lt;br /&gt;
double dataSize; int numThreads; int oprType; struct *SpecColl_PI; struct KeyValPair_PI;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PortList_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PortList_PI &amp;quot;int portNum; int cookie; int sock; int windowSize; str hostAddr[LONG_NAME_LEN];&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PortalOprOut_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PortalOprOut_PI &amp;quot;int status; int l1descInx; int numThreads; str chksum[NAME_LEN]; struct PortList_PI;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DataOprInp_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define DataOprInp_PI &amp;quot;int oprType; int numThreads; int srcL3descInx; int destL3descInx; &lt;br /&gt;
int srcRescTypeInx; int destRescTypeInx; double offset; double dataSize; struct KeyValPair_PI;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CollInp_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define CollInp_PI &amp;quot;str collName[MAX_NAME_LEN]; struct KeyValPair_PI;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SqlResult_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SqlResult_PI &amp;quot;int attriInx; int reslen; str *value(rowCnt)(reslen);&amp;quot;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==GenQueryOut_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define GenQueryOut_PI &amp;quot;int rowCnt; int attriCnt; int continueInx; int totalRowCount; struct SqlResult_PI[MAX_SQL_ATTR];&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DataObjInfo_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define DataObjInfo_PI &amp;quot;str objPath[MAX_NAME_LEN]; str rescName[NAME_LEN]; str rescGroupName[NAME_LEN]; &lt;br /&gt;
str dataType[NAME_LEN]; double dataSize; str chksum[NAME_LEN]; str version[NAME_LEN]; str filePath[MAX_NAME_LEN]; &lt;br /&gt;
str *rescInfo; str dataOwnerName[NAME_LEN]; str dataOwnerZone[NAME_LEN]; int  replNum; int  replStatus; &lt;br /&gt;
str statusString[NAME_LEN]; double  dataId; double collId; int  dataMapId; str dataComments[LONG_NAME_LEN]; &lt;br /&gt;
str dataExpiry[TIME_LEN]; str dataCreate[TIME_LEN]; str dataModify[TIME_LEN]; str dataAccess[NAME_LEN]; &lt;br /&gt;
int  dataAccessInx; str destRescName[NAME_LEN]; str backupRescName[NAME_LEN]; str subPath[MAX_NAME_LEN]; &lt;br /&gt;
int *specColl; int *next;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TransStat_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define TransStat_PI &amp;quot;int numThreads; double bytesWritten;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RescGrpInfo_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define RescGrpInfo_PI &amp;quot;str rescGroupName[NAME_LEN]; str *rescName; int *cacheNext; struct *RescGrpInfo_PI;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==AuthInfo_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define AuthInfo_PI &amp;quot;str authScheme[NAME_LEN]; int authFlag; int flag; int ppid; str host[NAME_LEN]; str authStr[NAME_LEN];&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UserOtherInfo_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define UserOtherInfo_PI &amp;quot;str userInfo[NAME_LEN]; str userComments[NAME_LEN]; str userCreate[TIME_LEN]; str userModify[TIME_LEN];&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UserInfo_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define UserInfo_PI &amp;quot;str userName[NAME_LEN]; str rodsZone[NAME_LEN]; str userType[NAME_LEN]; int sysUid; struct AuthInfo_PI; struct UserOtherInfo_PI;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CollInfo_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define CollInfo_PI &amp;quot;double collId; str collName[MAX_NAME_LEN]; str collParentName[MAX_NAME_LEN]; &lt;br /&gt;
str collOwnerName[NAME_LEN]; str collOwnerZone[NAME_LEN]; int collMapId; str collComments[LONG_NAME_LEN]; &lt;br /&gt;
str collInheritance[LONG_NAME_LEN]; str collExpiry[TIME_LEN]; str collCreate[TIME_LEN]; &lt;br /&gt;
str collModify[TIME_LEN]; str collAccess[NAME_LEN]; int collAccessInx; str collType[NAME_LEN]; &lt;br /&gt;
str collInfo1[MAX_NAME_LEN]; str collInfo2[MAX_NAME_LEN]; int *next;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rei_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define Rei_PI &amp;quot;int status; str statusStr[MAX_NAME_LEN]; int *rsComm;struct *MsParamArray_PI; &lt;br /&gt;
struct MsParamArray_PI; int l1descInx; struct *DataObjInp_PI; struct *DataOprInp_PI; struct *fileOpenInp_PI; &lt;br /&gt;
struct *DataObjInfo_PI; struct *RescGrpInfo_PI; struct *UserInfo_PI; struct *UserInfo_PI; &lt;br /&gt;
struct *CollInfo_PI; struct *DataObjInp_PI; struct *DataOprInp_PI; struct *fileOpenInp_PI; &lt;br /&gt;
struct *RescGrpInfo_PI; struct *UserInfo_PI; struct *KeyValPair_PI; str ruleSet[RULE_SET_DEF_LENGTH]; int *next;&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ReArg_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define ReArg_PI &amp;quot;int myArgc; str *myArgv[myArgc];&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ReiAndArg_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define ReiAndArg_PI &amp;quot;struct *Rei_PI; struct ReArg_PI;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BytesBuf_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define BytesBuf_PI &amp;quot;int buflen; char *buf(buflen);&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BinBytesBuf_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define BinBytesBuf_PI &amp;quot;int buflen; bin *buf(buflen);&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MsParam_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define MsParam_PI &amp;quot;str *label; piStr *type; ?type *inOutStruct; struct *BinBytesBuf_PI;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==MsParamArray_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define MsParamArray_PI &amp;quot;int paramLen; int oprType; struct *MsParam_PI[paramLen];&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==TagStruct_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define TagStruct_PI &amp;quot;int ssLen; str *preTag[ssLen]; str *postTag[ssLen]; str *keyWord[ssLen];&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RodsObjStat_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define RodsObjStat_PI &amp;quot;double objSize; int objType; int numCopies; str dataId[NAME_LEN]; &lt;br /&gt;
str chksum[NAME_LEN]; str ownerName[NAME_LEN]; str ownerZone[NAME_LEN]; str createTime[TIME_LEN]; &lt;br /&gt;
str modifyTime[TIME_LEN]; struct *SpecColl_PI;&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ReconnMsg_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define ReconnMsg_PI &amp;quot;int cookie; int reconnOpr;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VaultPathPolicy_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define VaultPathPolicy_PI &amp;quot;int scheme; int addUserName; int trimDirCnt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==StrArray_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define StrArray_PI &amp;quot;int len; int size; str *value(len)(size);&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==IntArray_PI==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define IntArray_PI &amp;quot;int len; int *value(len);&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Main.MikeSmorul - 11 Dec 2007&lt;/div&gt;</summary>
		<author><name>Toaster</name></author>
	</entry>
</feed>