示例#1
0
int
rsFileWrite (rsComm_t *rsComm, fileWriteInp_t *fileWriteInp,
bytesBuf_t *fileWriteInpBBuf)
{
    rodsServerHost_t *rodsServerHost;
    int remoteFlag;
    int retVal;


    remoteFlag = getServerHostByFileInx (fileWriteInp->fileInx, 
      &rodsServerHost);

    if (remoteFlag == LOCAL_HOST) {
	retVal = _rsFileWrite (rsComm, fileWriteInp, fileWriteInpBBuf);
    } else if (remoteFlag == REMOTE_HOST) {
        retVal = remoteFileWrite (rsComm, fileWriteInp, fileWriteInpBBuf,
          rodsServerHost);
    } else {
	if (remoteFlag < 0) {
	    return (remoteFlag);
	} else {
	    rodsLog (LOG_NOTICE,
	      "rsFileWrite: resolveHost returned unrecognized value %d",
	       remoteFlag);
	    return (SYS_UNRECOGNIZED_REMOTE_FLAG);
	}
    }

    if (retVal >= 0) {
	FileDesc[fileWriteInp->fileInx].writtenFlag = 1;
    }

    return (retVal);
}
示例#2
0
int
rsFileFstat (rsComm_t *rsComm, fileFstatInp_t *fileFstatInp, 
rodsStat_t **fileFstatOut)
{
    rodsServerHost_t *rodsServerHost;
    int remoteFlag;
    int status;

    *fileFstatOut = NULL;

    remoteFlag = getServerHostByFileInx (fileFstatInp->fileInx,
      &rodsServerHost);

    if (remoteFlag == LOCAL_HOST) {
        status = _rsFileFstat (rsComm, fileFstatInp, fileFstatOut);
    } else if (remoteFlag == REMOTE_HOST) {
        status = remoteFileFstat (rsComm, fileFstatInp, fileFstatOut,
	 rodsServerHost);
    } else {
        if (remoteFlag < 0) {
            return (remoteFlag);
        } else {
            rodsLog (LOG_NOTICE,
              "rsFileFstat: resolveHost returned unrecognized value %d",
               remoteFlag);
            return (SYS_UNRECOGNIZED_REMOTE_FLAG);
        }
    }

    /* Manually insert call-specific code here */

    return (status);
}
示例#3
0
int
rsFileRead( rsComm_t *rsComm, fileReadInp_t *fileReadInp,
            bytesBuf_t *fileReadOutBBuf ) {
    rodsServerHost_t *rodsServerHost;
    int remoteFlag;
    int retVal;


    remoteFlag = getServerHostByFileInx( fileReadInp->fileInx,
                                         &rodsServerHost );

    if ( fileReadInp->len > 0 ) {
        if ( fileReadOutBBuf->buf == NULL ) {
            fileReadOutBBuf->buf = malloc( fileReadInp->len );
        }
    }
    else {
        return ( 0 );
    }

    if ( remoteFlag == LOCAL_HOST ) {
        retVal = _rsFileRead( rsComm, fileReadInp, fileReadOutBBuf );
    }
    else if ( remoteFlag == REMOTE_HOST ) {
        retVal = remoteFileRead( rsComm, fileReadInp, fileReadOutBBuf,
                                 rodsServerHost );
    }
    else {
        if ( remoteFlag < 0 ) {
            return ( remoteFlag );
        }
        else {
            rodsLog( LOG_NOTICE,
                     "rsFileRead: resolveHost returned unrecognized value %d",
                     remoteFlag );
            return ( SYS_UNRECOGNIZED_REMOTE_FLAG );
        }
    }

    return ( retVal );
}