/*** Copyright (c), The Regents of the University of California *** *** For more information please refer to files in the COPYRIGHT directory ***/ /* fileLseek.h - This file may be generated by a program or script */ #ifndef DATA_OBJ_LSEEK_H #define DATA_OBJ_LSEEK_H /* This is a low level file type API call */ #include "rods.h" #include "rcMisc.h" #include "procApiRequest.h" #include "apiNumber.h" #include "initServer.h" #include "fileDriver.h" #include "fileLseek.h" /* This is a high level type API call */ #if defined(RODS_SERVER) #define RS_DATA_OBJ_LSEEK rsDataObjLseek /* prototype for the server handler */ int rsDataObjLseek (rsComm_t *rsComm, openedDataObjInp_t *dataObjLseekInp, fileLseekOut_t **dataObjLseekOut); rodsLong_t _l3Lseek (rsComm_t *rsComm, int rescTypeInx, int l3descInx, rodsLong_t offset, int whence); #else #define RS_DATA_OBJ_LSEEK NULL #endif #ifdef COMPAT_201 #if defined(RODS_SERVER) #define RS_DATA_OBJ_LSEEK201 rsDataObjLseek201 /* prototype for the server handler */ int rsDataObjLseek201 (rsComm_t *rsComm, fileLseekInp_t *dataObjLseekInp, fileLseekOut_t **dataObjLseekOut); #else #define RS_DATA_OBJ_LSEEK201 NULL #endif #endif #ifdef __cplusplus extern "C" { #endif /* prototype for the client call */ /* rcDataObjLseek - Lseek an opened iRODS data object descriptor. * Input - * rcComm_t *conn - The client connection handle. * fileLseekInp_t *dataObjLseekInp - Relevant items are: * l1descInx - the iRODS data object descriptor to lseek. * offset - the offset * whence - SEEK_SET, SEEK_CUR and SEEK_END * * OutPut - * int status of the operation - >= 0 ==> success, < 0 ==> failure. * fileLseekOut_t **dataObjLseekOut. Relevant items are: * offset - the new offset */ int rcDataObjLseek (rcComm_t *conn, openedDataObjInp_t *dataObjLseekInp, fileLseekOut_t **dataObjLseekOut); #ifdef __cplusplus } #endif #endif /* DATA_OBJ_LSEEK_H */