rodsLong_t _l3Lseek (rsComm_t *rsComm, int rescTypeInx, int l3descInx, rodsLong_t offset, int whence) { fileLseekInp_t fileLseekInp; fileLseekOut_t *fileLseekOut = NULL; int status; switch (RescTypeDef[rescTypeInx].rescCat) { case FILE_CAT: memset (&fileLseekInp, 0, sizeof (fileLseekInp)); fileLseekInp.fileInx = l3descInx; fileLseekInp.offset = offset; fileLseekInp.whence = whence; status = rsFileLseek (rsComm, &fileLseekInp, &fileLseekOut); break; default: rodsLog (LOG_NOTICE, "_l3Lseek: rescCat type %d is not recognized", RescTypeDef[rescTypeInx].rescCat); status = SYS_INVALID_RESC_TYPE; break; } if (status < 0) { return (status); } else { rodsLong_t offset = fileLseekOut->offset; free (fileLseekOut); return (offset); } }
rodsLong_t _l3Lseek( rsComm_t *rsComm, int rescTypeInx, int l3descInx, rodsLong_t offset, int whence ) { fileLseekInp_t fileLseekInp; fileLseekOut_t *fileLseekOut = NULL; int status; memset( &fileLseekInp, 0, sizeof( fileLseekInp ) ); fileLseekInp.fileInx = l3descInx; fileLseekInp.offset = offset; fileLseekInp.whence = whence; status = rsFileLseek( rsComm, &fileLseekInp, &fileLseekOut ); if ( status < 0 ) { return ( status ); } else { rodsLong_t off = fileLseekOut->offset; free( fileLseekOut ); return ( off ); } }