00001
00002
00003
00004
00005
00006 #include "dataObjOpen.h"
00007 #include "dataObjOpenAndStat.h"
00008 #include "rodsLog.h"
00009 #include "rsGlobalExtern.h"
00010 #include "rcGlobalExtern.h"
00011 #include "reGlobalsExtern.h"
00012
00013 int
00014 rsDataObjOpenAndStat (rsComm_t *rsComm, dataObjInp_t *dataObjInp,
00015 openStat_t **openStat)
00016 {
00017 int status;
00018
00019 status = rsDataObjOpen (rsComm, dataObjInp);
00020
00021 if (status >= 0) {
00022 *openStat = (openStat_t*)malloc (sizeof (openStat_t));
00023 bzero ( *openStat, sizeof (openStat_t));
00024 (*openStat)->dataSize = L1desc[status].dataObjInfo->dataSize;
00025 rstrcpy ((*openStat)->dataMode, L1desc[status].dataObjInfo->dataMode,
00026 SHORT_STR_LEN);
00027 rstrcpy ((*openStat)->dataType, L1desc[status].dataObjInfo->dataType,
00028 NAME_LEN);
00029 (*openStat)->l3descInx = L1desc[status].l3descInx;
00030 (*openStat)->replStatus = L1desc[status].replStatus;
00031 (*openStat)->replNum = L1desc[status].dataObjInfo->replNum;
00032 } else {
00033 *openStat = NULL;
00034 }
00035
00036 return (status);
00037 }
00038