Use this type to learn about a vlen.
nc_inq_vlen(int ncid, nc_type xtype, char *name, size_t *datum_sizep, nc_type *base_nc_typep);
ncid
xtype
name
datum_sizep
base_nc_typep
NC_NOERR
NC_EBADTYPE
NC_EBADID
NC_EBADGRPID
if (nc_create(FILE_NAME, NC_NETCDF4, &ncid)) ERR; if (nc_def_vlen(ncid, "name1", NC_INT, &typeid)) ERR; if (nc_inq_vlen(ncid, typeid, name_in, &size_in, &base_nc_type_in)) ERR; if (base_nc_type_in != NC_INT || (size_in != sizeof(int) || strcmp(name_in, VLEN_NAME))) ERR; if (nc_inq_user_type(ncid, typeid, name_in, &size_in, &base_nc_type_in, NULL, &class_in)) ERR; if (base_nc_type_in != NC_INT || (size_in != sizeof(int) || strcmp(name_in, VLEN_NAME))) ERR; if (nc_inq_compound(ncid, typeid, name_in, &size_in, NULL) != NC_EBADTYPE) ERR; if (nc_put_att(ncid, NC_GLOBAL, ATT_NAME, typeid, DIM_LEN, data)) ERR; if (nc_close(ncid)) ERR;