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.
15 #if defined(_LP64) || defined(__LP64__)
16 #define CAST_PTR_INT (long int)
18 #define CAST_PTR_INT (uint)
70 "msiXmsgServerConnect: rcConnectXmsg failed:%i :%s\n", errMsg.
status, errMsg.
msg );
80 outConnParam->
type = strdup(
"RcComm_MS_T" );
132 "msiXmsgCreateStream: input inConnParam is NULL" );
137 if ( inGgetXmsgTicketInpParam->
inOutStruct !=
NULL && !( strcmp( inGgetXmsgTicketInpParam->
type,
STR_MS_T ) == 0 && strcmp( (
char * )inGgetXmsgTicketInpParam->
inOutStruct,
"" ) == 0 ) ) {
149 free( getXmsgTicketInp );
153 outXmsgTicketInfoParam->
inOutStruct = (
void * ) outXmsgTicketInfo;
155 if ( allocFlag == 1 ) {
156 free( getXmsgTicketInp );
218 if ( inXmsgTicketInfoParam ==
NULL ) {
245 if ( !strcmp( inNumberOfDeliverySites->
type,
STR_MS_T ) ) {
261 outSendXmsgInpParam->
inOutStruct = (
void * ) sendXmsgInp;
319 if ( inSendXmsgInpParam ==
NULL ) {
396 memset( &rcvXmsgInp, 0,
sizeof( rcvXmsgInp ) );
495 if ( conn ==
NULL ) {
513 memset( &xmsgTicketInfo, 0,
sizeof( xmsgTicketInfo ) );
514 memset( &sendXmsgInp, 0,
sizeof( sendXmsgInp ) );
517 xmsgTicketInfo.
flag = 1;
518 sendXmsgInp.
ticket = xmsgTicketInfo;
526 rodsLog(
LOG_NOTICE,
"_writeXmsg: Unable to send message to stream %i\n", streamId );
532 int _readXMsg(
int streamId,
char *condRead,
int *msgNum,
int *seqNum,
533 char **hdr,
char **msg,
char **user,
char **addr ) {
547 if ( conn ==
NULL ) {
562 memset( &rcvXmsgInp, 0,
sizeof( rcvXmsgInp ) );
566 i =
rcRcvXmsg( conn, &rcvXmsgInp, &rcvXmsgOut );
567 if ( i < 0 || rcvXmsgOut ==
NULL ) {
569 rodsLog(
LOG_NOTICE,
"_readXmsg: Unable to receive message from stream %i\n", streamId );
574 *hdr = strdup( rcvXmsgOut->
msgType );
575 *msg = strdup( rcvXmsgOut->
msg );
577 *addr = strdup( rcvXmsgOut->
sendAddr );
void rodsLog(int level, const char *formatStr,...)
int rcGetXmsgTicket(rcComm_t *conn, getXmsgTicketInp_t *getXmsgTicketInp, xmsgTicketInfo_t **outXmsgTicketInfo)
@ SYS_INTERNAL_NULL_INPUT_ERR
int getRodsEnv(rodsEnv *myRodsEnv)
char myHostName[(1024+64)]
sendXmsgInfo_t sendXmsgInfo
int msiXmsgServerDisConnect(msParam_t *inConnParam, ruleExecInfo_t *rei)
char sendUserName[NAME_LEN]
char msgType[HEADER_TYPE_LEN]
int rcRcvXmsg(rcComm_t *conn, rcvXmsgInp_t *rcvXmsgInp, rcvXmsgOut_t **rcvXmsgOut)
int msiXmsgServerConnect(msParam_t *outConnParam, ruleExecInfo_t *rei)
int msiRcvXmsg(msParam_t *inConnParam, msParam_t *inTicketNumber, msParam_t *inMsgNumber, msParam_t *outMsgType, msParam_t *outMsg, msParam_t *outSendUser, ruleExecInfo_t *rei)
int msiXmsgCreateStream(msParam_t *inConnParam, msParam_t *inGgetXmsgTicketInpParam, msParam_t *outXmsgTicketInfoParam, ruleExecInfo_t *rei)
int msiCreateXmsgInp(msParam_t *inMsgNumber, msParam_t *inMsgType, msParam_t *inNumberOfReceivers, msParam_t *inMsg, msParam_t *inNumberOfDeliverySites, msParam_t *inDeliveryAddressList, msParam_t *inDeliveryPortList, msParam_t *inMiscInfo, msParam_t *inXmsgTicketInfoParam, msParam_t *outSendXmsgInpParam, ruleExecInfo_t *)
static rodsEnv myRodsXmsgEnv
int _readXMsg(int streamId, char *condRead, int *msgNum, int *seqNum, char **hdr, char **msg, char **user, char **addr)
static rcComm_t * xmsgServerConn
typedef int((*funcPtr)())
char msgType[HEADER_TYPE_LEN]
int rcDisconnect(rcComm_t *conn)
#define XmsgTicketInfo_MS_T
#define RE_TEST_MACRO(msg)
int rcSendXmsg(rcComm_t *conn, sendXmsgInp_t *sendXmsgInp)
rcComm_t * rcConnectXmsg(rodsEnv *myRodsEnv, rErrMsg_t *errMsg)
int clientLogin(rcComm_t *conn, const char *_context, const char *_scheme_override)
int _writeXMsg(int streamId, char *hdr, char *msg)
int msiSendXmsg(msParam_t *inConnParam, msParam_t *inSendXmsgInpParam, ruleExecInfo_t *rei)
char msgCondition[MAX_NAME_LEN]