42 const char *blockmetaname,
43 const char *fieldname,
66 if (hdfstatus ==
FAIL)
86 const char *blockmetaname,
87 const char *fieldname,
94 int32 vdata_ref =
FAIL;
95 int32 vdata_id =
FAIL;
102 int vstart_active = 0;
104 if (blockmetaname == NULL || fieldname == NULL ||
105 blockmetabuf == NULL)
109 hdfstatus =
Vstart(file_id);
110 if (hdfstatus ==
FAIL)
115 vdata_ref =
VSfind(file_id, blockmetaname);
119 vdata_id =
VSattach(file_id, vdata_ref,
"r");
120 if (vdata_id ==
FAIL)
124 hdfstatus =
VSfindex(vdata_id, fieldname, &field_index);
125 if (hdfstatus ==
FAIL)
130 if (hdf_datatype ==
FAIL)
138 n_records =
VSelts(vdata_id);
139 if (n_records ==
FAIL)
145 count =
VSsizeof(vdata_id, (
char*)fieldname);
164 if (hdfstatus ==
FAIL)
169 if (hdfstatus ==
FAIL)
173 if (hdfstatus ==
FAIL)
177 hdfstatus =
Vend(file_id);
178 if (hdfstatus ==
FAIL)
182 *blockmetabuf = blockmetabuf_tmp;
187 if (vdata_id !=
FAIL)
HDFFCLIBAPI intf intf intf * count
HDFLIBAPI int32 VFfieldorder(int32 vkey, int32 idx)
HDFLIBAPI int32 VSread(int32 vkey, uint8 buf[], int32 nelt, int32 interlace)
HDFLIBAPI int32 VSsizeof(int32 vkey, char *fields)
HDFLIBAPI int32 VFfieldtype(int32 vkey, int32 idx)
MTKt_status MtkDataBufferAllocate(int nline, int nsample, MTKt_DataType datatype, MTKt_DataBuffer *databuf)
Allocate Data Buffer.
HDFFCLIBAPI _fcd _fcd intf intf * datatype
HDFLIBAPI int32 VSdetach(int32 vkey)
#define MTK_ERR_CODE_JUMP(code)
2-dimensional Data Buffer
MTKt_status MtkHdfToMtkDataTypeConvert(int32 hdf_datatype, MTKt_DataType *datatype)
Convert HDF data type to MISR Toolkit data type.
#define MTKT_DATABUFFER_INIT
MTKt_status MtkDataBufferFree(MTKt_DataBuffer *databuf)
Free data buffer.
HDFLIBAPI int32 VSfind(HFILEID f, const char *vsname)
HDFLIBAPI int32 VSattach(HFILEID f, int32 vsref, const char *accesstype)
#define MTK_ERR_COND_JUMP(code)
HDFLIBAPI intn VSfindex(int32 vsid, const char *fieldname, int32 *fldindex)
HDFLIBAPI int32 VSelts(int32 vkey)
HDFLIBAPI intn VSsetfields(int32 vkey, const char *fields)