SEXP show_all_types_data_frame(void) {
  SEXP df = PROTECT(allocVector(VECSXP, 3));
  SET_VECTOR_ELT(df, 0, NEW_CHARACTER(DT_LAST_ITEM));
  SET_VECTOR_ELT(df, 1, NEW_CHARACTER(DT_LAST_ITEM));
  SEXP R_type = PROTECT(NEW_NUMERIC(DT_LAST_ITEM));
  SET_CLASS(R_type, ScalarString(mkChar("integer64")));
  SET_VECTOR_ELT(df, 2, R_type);
  SEXP df_rownames = PROTECT(NEW_INTEGER(DT_LAST_ITEM));
  for(R_xlen_t i = 0; i < DT_LAST_ITEM; ++i) {
    INTEGER(df_rownames)[i] = i + 1;
  }
  SET_CLASS(df, mkString("data.frame"));
  SET_ATTR(df, install("row.names"), df_rownames);
  SEXP df_names = PROTECT(NEW_CHARACTER(3));
  SET_STRING_ELT(df_names, 0, mkChar("Category"));
  SET_STRING_ELT(df_names, 1, mkChar("Name"));
  SET_STRING_ELT(df_names, 2, mkChar("Type_id"));
  SET_NAMES(df, df_names);
  SEXP R_categ = VECTOR_ELT(df, 0);
  SEXP R_name = VECTOR_ELT(df, 1);
  R_type = VECTOR_ELT(df, 2);

  SET_STRING_ELT(R_categ, DT_H5T_IEEE_F32BE, mkChar("IEEE"));
  SET_STRING_ELT(R_name, DT_H5T_IEEE_F32BE, mkChar("H5T_IEEE_F32BE"));
  ((long long *) REAL(R_type))[DT_H5T_IEEE_F32BE] = h5_datatype[DT_H5T_IEEE_F32BE];

  SET_STRING_ELT(R_categ, DT_H5T_IEEE_F32LE, mkChar("IEEE"));
  SET_STRING_ELT(R_name, DT_H5T_IEEE_F32LE, mkChar("H5T_IEEE_F32LE"));
  ((long long *) REAL(R_type))[DT_H5T_IEEE_F32LE] = h5_datatype[DT_H5T_IEEE_F32LE];

  SET_STRING_ELT(R_categ, DT_H5T_IEEE_F64BE, mkChar("IEEE"));
  SET_STRING_ELT(R_name, DT_H5T_IEEE_F64BE, mkChar("H5T_IEEE_F64BE"));
  ((long long *) REAL(R_type))[DT_H5T_IEEE_F64BE] = h5_datatype[DT_H5T_IEEE_F64BE];

  SET_STRING_ELT(R_categ, DT_H5T_IEEE_F64LE, mkChar("IEEE"));
  SET_STRING_ELT(R_name, DT_H5T_IEEE_F64LE, mkChar("H5T_IEEE_F64LE"));
  ((long long *) REAL(R_type))[DT_H5T_IEEE_F64LE] = h5_datatype[DT_H5T_IEEE_F64LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_I8BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_I8BE, mkChar("H5T_STD_I8BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_I8BE] = h5_datatype[DT_H5T_STD_I8BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_I8LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_I8LE, mkChar("H5T_STD_I8LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_I8LE] = h5_datatype[DT_H5T_STD_I8LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_I16BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_I16BE, mkChar("H5T_STD_I16BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_I16BE] = h5_datatype[DT_H5T_STD_I16BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_I16LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_I16LE, mkChar("H5T_STD_I16LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_I16LE] = h5_datatype[DT_H5T_STD_I16LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_I32BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_I32BE, mkChar("H5T_STD_I32BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_I32BE] = h5_datatype[DT_H5T_STD_I32BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_I32LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_I32LE, mkChar("H5T_STD_I32LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_I32LE] = h5_datatype[DT_H5T_STD_I32LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_I64BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_I64BE, mkChar("H5T_STD_I64BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_I64BE] = h5_datatype[DT_H5T_STD_I64BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_I64LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_I64LE, mkChar("H5T_STD_I64LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_I64LE] = h5_datatype[DT_H5T_STD_I64LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_U8BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_U8BE, mkChar("H5T_STD_U8BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_U8BE] = h5_datatype[DT_H5T_STD_U8BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_U8LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_U8LE, mkChar("H5T_STD_U8LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_U8LE] = h5_datatype[DT_H5T_STD_U8LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_U16BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_U16BE, mkChar("H5T_STD_U16BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_U16BE] = h5_datatype[DT_H5T_STD_U16BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_U16LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_U16LE, mkChar("H5T_STD_U16LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_U16LE] = h5_datatype[DT_H5T_STD_U16LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_U32BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_U32BE, mkChar("H5T_STD_U32BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_U32BE] = h5_datatype[DT_H5T_STD_U32BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_U32LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_U32LE, mkChar("H5T_STD_U32LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_U32LE] = h5_datatype[DT_H5T_STD_U32LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_U64BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_U64BE, mkChar("H5T_STD_U64BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_U64BE] = h5_datatype[DT_H5T_STD_U64BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_U64LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_U64LE, mkChar("H5T_STD_U64LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_U64LE] = h5_datatype[DT_H5T_STD_U64LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_B8BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_B8BE, mkChar("H5T_STD_B8BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_B8BE] = h5_datatype[DT_H5T_STD_B8BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_B8LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_B8LE, mkChar("H5T_STD_B8LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_B8LE] = h5_datatype[DT_H5T_STD_B8LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_B16BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_B16BE, mkChar("H5T_STD_B16BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_B16BE] = h5_datatype[DT_H5T_STD_B16BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_B16LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_B16LE, mkChar("H5T_STD_B16LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_B16LE] = h5_datatype[DT_H5T_STD_B16LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_B32BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_B32BE, mkChar("H5T_STD_B32BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_B32BE] = h5_datatype[DT_H5T_STD_B32BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_B32LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_B32LE, mkChar("H5T_STD_B32LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_B32LE] = h5_datatype[DT_H5T_STD_B32LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_B64BE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_B64BE, mkChar("H5T_STD_B64BE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_B64BE] = h5_datatype[DT_H5T_STD_B64BE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_B64LE, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_B64LE, mkChar("H5T_STD_B64LE"));
  ((long long *) REAL(R_type))[DT_H5T_STD_B64LE] = h5_datatype[DT_H5T_STD_B64LE];

  SET_STRING_ELT(R_categ, DT_H5T_STD_REF_OBJ, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_REF_OBJ, mkChar("H5T_STD_REF_OBJ"));
  ((long long *) REAL(R_type))[DT_H5T_STD_REF_OBJ] = h5_datatype[DT_H5T_STD_REF_OBJ];

  SET_STRING_ELT(R_categ, DT_H5T_STD_REF_DSETREG, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_REF_DSETREG, mkChar("H5T_STD_REF_DSETREG"));
  ((long long *) REAL(R_type))[DT_H5T_STD_REF_DSETREG] = h5_datatype[DT_H5T_STD_REF_DSETREG];

  SET_STRING_ELT(R_categ, DT_H5T_STD_REF, mkChar("STD"));
  SET_STRING_ELT(R_name, DT_H5T_STD_REF, mkChar("H5T_STD_REF"));
  ((long long *) REAL(R_type))[DT_H5T_STD_REF] = h5_datatype[DT_H5T_STD_REF];

  SET_STRING_ELT(R_categ, DT_H5T_UNIX_D32BE, mkChar("UNIX"));
  SET_STRING_ELT(R_name, DT_H5T_UNIX_D32BE, mkChar("H5T_UNIX_D32BE"));
  ((long long *) REAL(R_type))[DT_H5T_UNIX_D32BE] = h5_datatype[DT_H5T_UNIX_D32BE];

  SET_STRING_ELT(R_categ, DT_H5T_UNIX_D32LE, mkChar("UNIX"));
  SET_STRING_ELT(R_name, DT_H5T_UNIX_D32LE, mkChar("H5T_UNIX_D32LE"));
  ((long long *) REAL(R_type))[DT_H5T_UNIX_D32LE] = h5_datatype[DT_H5T_UNIX_D32LE];

  SET_STRING_ELT(R_categ, DT_H5T_UNIX_D64BE, mkChar("UNIX"));
  SET_STRING_ELT(R_name, DT_H5T_UNIX_D64BE, mkChar("H5T_UNIX_D64BE"));
  ((long long *) REAL(R_type))[DT_H5T_UNIX_D64BE] = h5_datatype[DT_H5T_UNIX_D64BE];

  SET_STRING_ELT(R_categ, DT_H5T_UNIX_D64LE, mkChar("UNIX"));
  SET_STRING_ELT(R_name, DT_H5T_UNIX_D64LE, mkChar("H5T_UNIX_D64LE"));
  ((long long *) REAL(R_type))[DT_H5T_UNIX_D64LE] = h5_datatype[DT_H5T_UNIX_D64LE];

  SET_STRING_ELT(R_categ, DT_H5T_C_S1, mkChar("STRING"));
  SET_STRING_ELT(R_name, DT_H5T_C_S1, mkChar("H5T_C_S1"));
  ((long long *) REAL(R_type))[DT_H5T_C_S1] = h5_datatype[DT_H5T_C_S1];

  SET_STRING_ELT(R_categ, DT_H5T_FORTRAN_S1, mkChar("STRING"));
  SET_STRING_ELT(R_name, DT_H5T_FORTRAN_S1, mkChar("H5T_FORTRAN_S1"));
  ((long long *) REAL(R_type))[DT_H5T_FORTRAN_S1] = h5_datatype[DT_H5T_FORTRAN_S1];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_I8, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_I8, mkChar("H5T_INTEL_I8"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_I8] = h5_datatype[DT_H5T_INTEL_I8];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_I16, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_I16, mkChar("H5T_INTEL_I16"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_I16] = h5_datatype[DT_H5T_INTEL_I16];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_I32, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_I32, mkChar("H5T_INTEL_I32"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_I32] = h5_datatype[DT_H5T_INTEL_I32];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_I64, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_I64, mkChar("H5T_INTEL_I64"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_I64] = h5_datatype[DT_H5T_INTEL_I64];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_U8, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_U8, mkChar("H5T_INTEL_U8"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_U8] = h5_datatype[DT_H5T_INTEL_U8];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_U16, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_U16, mkChar("H5T_INTEL_U16"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_U16] = h5_datatype[DT_H5T_INTEL_U16];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_U32, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_U32, mkChar("H5T_INTEL_U32"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_U32] = h5_datatype[DT_H5T_INTEL_U32];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_U64, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_U64, mkChar("H5T_INTEL_U64"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_U64] = h5_datatype[DT_H5T_INTEL_U64];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_B8, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_B8, mkChar("H5T_INTEL_B8"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_B8] = h5_datatype[DT_H5T_INTEL_B8];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_B16, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_B16, mkChar("H5T_INTEL_B16"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_B16] = h5_datatype[DT_H5T_INTEL_B16];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_B32, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_B32, mkChar("H5T_INTEL_B32"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_B32] = h5_datatype[DT_H5T_INTEL_B32];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_B64, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_B64, mkChar("H5T_INTEL_B64"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_B64] = h5_datatype[DT_H5T_INTEL_B64];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_F32, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_F32, mkChar("H5T_INTEL_F32"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_F32] = h5_datatype[DT_H5T_INTEL_F32];

  SET_STRING_ELT(R_categ, DT_H5T_INTEL_F64, mkChar("INTEL"));
  SET_STRING_ELT(R_name, DT_H5T_INTEL_F64, mkChar("H5T_INTEL_F64"));
  ((long long *) REAL(R_type))[DT_H5T_INTEL_F64] = h5_datatype[DT_H5T_INTEL_F64];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_I8, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_I8, mkChar("H5T_ALPHA_I8"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_I8] = h5_datatype[DT_H5T_ALPHA_I8];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_I16, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_I16, mkChar("H5T_ALPHA_I16"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_I16] = h5_datatype[DT_H5T_ALPHA_I16];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_I32, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_I32, mkChar("H5T_ALPHA_I32"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_I32] = h5_datatype[DT_H5T_ALPHA_I32];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_I64, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_I64, mkChar("H5T_ALPHA_I64"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_I64] = h5_datatype[DT_H5T_ALPHA_I64];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_U8, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_U8, mkChar("H5T_ALPHA_U8"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_U8] = h5_datatype[DT_H5T_ALPHA_U8];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_U16, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_U16, mkChar("H5T_ALPHA_U16"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_U16] = h5_datatype[DT_H5T_ALPHA_U16];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_U32, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_U32, mkChar("H5T_ALPHA_U32"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_U32] = h5_datatype[DT_H5T_ALPHA_U32];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_U64, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_U64, mkChar("H5T_ALPHA_U64"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_U64] = h5_datatype[DT_H5T_ALPHA_U64];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_B8, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_B8, mkChar("H5T_ALPHA_B8"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_B8] = h5_datatype[DT_H5T_ALPHA_B8];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_B16, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_B16, mkChar("H5T_ALPHA_B16"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_B16] = h5_datatype[DT_H5T_ALPHA_B16];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_B32, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_B32, mkChar("H5T_ALPHA_B32"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_B32] = h5_datatype[DT_H5T_ALPHA_B32];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_B64, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_B64, mkChar("H5T_ALPHA_B64"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_B64] = h5_datatype[DT_H5T_ALPHA_B64];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_F32, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_F32, mkChar("H5T_ALPHA_F32"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_F32] = h5_datatype[DT_H5T_ALPHA_F32];

  SET_STRING_ELT(R_categ, DT_H5T_ALPHA_F64, mkChar("ALPHA"));
  SET_STRING_ELT(R_name, DT_H5T_ALPHA_F64, mkChar("H5T_ALPHA_F64"));
  ((long long *) REAL(R_type))[DT_H5T_ALPHA_F64] = h5_datatype[DT_H5T_ALPHA_F64];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_I8, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_I8, mkChar("H5T_MIPS_I8"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_I8] = h5_datatype[DT_H5T_MIPS_I8];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_I16, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_I16, mkChar("H5T_MIPS_I16"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_I16] = h5_datatype[DT_H5T_MIPS_I16];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_I32, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_I32, mkChar("H5T_MIPS_I32"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_I32] = h5_datatype[DT_H5T_MIPS_I32];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_I64, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_I64, mkChar("H5T_MIPS_I64"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_I64] = h5_datatype[DT_H5T_MIPS_I64];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_U8, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_U8, mkChar("H5T_MIPS_U8"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_U8] = h5_datatype[DT_H5T_MIPS_U8];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_U16, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_U16, mkChar("H5T_MIPS_U16"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_U16] = h5_datatype[DT_H5T_MIPS_U16];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_U32, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_U32, mkChar("H5T_MIPS_U32"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_U32] = h5_datatype[DT_H5T_MIPS_U32];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_U64, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_U64, mkChar("H5T_MIPS_U64"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_U64] = h5_datatype[DT_H5T_MIPS_U64];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_B8, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_B8, mkChar("H5T_MIPS_B8"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_B8] = h5_datatype[DT_H5T_MIPS_B8];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_B16, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_B16, mkChar("H5T_MIPS_B16"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_B16] = h5_datatype[DT_H5T_MIPS_B16];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_B32, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_B32, mkChar("H5T_MIPS_B32"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_B32] = h5_datatype[DT_H5T_MIPS_B32];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_B64, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_B64, mkChar("H5T_MIPS_B64"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_B64] = h5_datatype[DT_H5T_MIPS_B64];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_F32, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_F32, mkChar("H5T_MIPS_F32"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_F32] = h5_datatype[DT_H5T_MIPS_F32];

  SET_STRING_ELT(R_categ, DT_H5T_MIPS_F64, mkChar("MIPS"));
  SET_STRING_ELT(R_name, DT_H5T_MIPS_F64, mkChar("H5T_MIPS_F64"));
  ((long long *) REAL(R_type))[DT_H5T_MIPS_F64] = h5_datatype[DT_H5T_MIPS_F64];

  SET_STRING_ELT(R_categ, DT_H5T_VAX_F32, mkChar("VAX"));
  SET_STRING_ELT(R_name, DT_H5T_VAX_F32, mkChar("H5T_VAX_F32"));
  ((long long *) REAL(R_type))[DT_H5T_VAX_F32] = h5_datatype[DT_H5T_VAX_F32];

  SET_STRING_ELT(R_categ, DT_H5T_VAX_F64, mkChar("VAX"));
  SET_STRING_ELT(R_name, DT_H5T_VAX_F64, mkChar("H5T_VAX_F64"));
  ((long long *) REAL(R_type))[DT_H5T_VAX_F64] = h5_datatype[DT_H5T_VAX_F64];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_CHAR, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_CHAR, mkChar("H5T_NATIVE_CHAR"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_CHAR] = h5_datatype[DT_H5T_NATIVE_CHAR];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_SCHAR, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_SCHAR, mkChar("H5T_NATIVE_SCHAR"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_SCHAR] = h5_datatype[DT_H5T_NATIVE_SCHAR];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UCHAR, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UCHAR, mkChar("H5T_NATIVE_UCHAR"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UCHAR] = h5_datatype[DT_H5T_NATIVE_UCHAR];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_SHORT, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_SHORT, mkChar("H5T_NATIVE_SHORT"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_SHORT] = h5_datatype[DT_H5T_NATIVE_SHORT];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_USHORT, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_USHORT, mkChar("H5T_NATIVE_USHORT"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_USHORT] = h5_datatype[DT_H5T_NATIVE_USHORT];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT, mkChar("H5T_NATIVE_INT"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT] = h5_datatype[DT_H5T_NATIVE_INT];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT, mkChar("H5T_NATIVE_UINT"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT] = h5_datatype[DT_H5T_NATIVE_UINT];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_LONG, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_LONG, mkChar("H5T_NATIVE_LONG"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_LONG] = h5_datatype[DT_H5T_NATIVE_LONG];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_ULONG, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_ULONG, mkChar("H5T_NATIVE_ULONG"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_ULONG] = h5_datatype[DT_H5T_NATIVE_ULONG];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_LLONG, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_LLONG, mkChar("H5T_NATIVE_LLONG"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_LLONG] = h5_datatype[DT_H5T_NATIVE_LLONG];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_ULLONG, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_ULLONG, mkChar("H5T_NATIVE_ULLONG"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_ULLONG] = h5_datatype[DT_H5T_NATIVE_ULLONG];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_FLOAT, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_FLOAT, mkChar("H5T_NATIVE_FLOAT"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_FLOAT] = h5_datatype[DT_H5T_NATIVE_FLOAT];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_DOUBLE, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_DOUBLE, mkChar("H5T_NATIVE_DOUBLE"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_DOUBLE] = h5_datatype[DT_H5T_NATIVE_DOUBLE];

#if H5_SIZEOF_LONG_DOUBLE !=0
  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_LDOUBLE, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_LDOUBLE, mkChar("H5T_NATIVE_LDOUBLE"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_LDOUBLE] = h5_datatype[DT_H5T_NATIVE_LDOUBLE];
#endif

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_B8, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_B8, mkChar("H5T_NATIVE_B8"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_B8] = h5_datatype[DT_H5T_NATIVE_B8];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_B16, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_B16, mkChar("H5T_NATIVE_B16"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_B16] = h5_datatype[DT_H5T_NATIVE_B16];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_B32, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_B32, mkChar("H5T_NATIVE_B32"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_B32] = h5_datatype[DT_H5T_NATIVE_B32];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_B64, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_B64, mkChar("H5T_NATIVE_B64"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_B64] = h5_datatype[DT_H5T_NATIVE_B64];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_OPAQUE, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_OPAQUE, mkChar("H5T_NATIVE_OPAQUE"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_OPAQUE] = h5_datatype[DT_H5T_NATIVE_OPAQUE];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_HADDR, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_HADDR, mkChar("H5T_NATIVE_HADDR"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_HADDR] = h5_datatype[DT_H5T_NATIVE_HADDR];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_HSIZE, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_HSIZE, mkChar("H5T_NATIVE_HSIZE"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_HSIZE] = h5_datatype[DT_H5T_NATIVE_HSIZE];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_HSSIZE, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_HSSIZE, mkChar("H5T_NATIVE_HSSIZE"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_HSSIZE] = h5_datatype[DT_H5T_NATIVE_HSSIZE];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_HERR, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_HERR, mkChar("H5T_NATIVE_HERR"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_HERR] = h5_datatype[DT_H5T_NATIVE_HERR];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_HBOOL, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_HBOOL, mkChar("H5T_NATIVE_HBOOL"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_HBOOL] = h5_datatype[DT_H5T_NATIVE_HBOOL];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT8, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT8, mkChar("H5T_NATIVE_INT8"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT8] = h5_datatype[DT_H5T_NATIVE_INT8];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT8, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT8, mkChar("H5T_NATIVE_UINT8"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT8] = h5_datatype[DT_H5T_NATIVE_UINT8];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT_LEAST8, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT_LEAST8, mkChar("H5T_NATIVE_INT_LEAST8"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT_LEAST8] = h5_datatype[DT_H5T_NATIVE_INT_LEAST8];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT_LEAST8, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT_LEAST8, mkChar("H5T_NATIVE_UINT_LEAST8"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT_LEAST8] = h5_datatype[DT_H5T_NATIVE_UINT_LEAST8];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT_FAST8, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT_FAST8, mkChar("H5T_NATIVE_INT_FAST8"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT_FAST8] = h5_datatype[DT_H5T_NATIVE_INT_FAST8];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT_FAST8, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT_FAST8, mkChar("H5T_NATIVE_UINT_FAST8"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT_FAST8] = h5_datatype[DT_H5T_NATIVE_UINT_FAST8];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT16, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT16, mkChar("H5T_NATIVE_INT16"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT16] = h5_datatype[DT_H5T_NATIVE_INT16];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT16, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT16, mkChar("H5T_NATIVE_UINT16"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT16] = h5_datatype[DT_H5T_NATIVE_UINT16];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT_LEAST16, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT_LEAST16, mkChar("H5T_NATIVE_INT_LEAST16"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT_LEAST16] = h5_datatype[DT_H5T_NATIVE_INT_LEAST16];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT_LEAST16, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT_LEAST16, mkChar("H5T_NATIVE_UINT_LEAST16"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT_LEAST16] = h5_datatype[DT_H5T_NATIVE_UINT_LEAST16];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT_FAST16, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT_FAST16, mkChar("H5T_NATIVE_INT_FAST16"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT_FAST16] = h5_datatype[DT_H5T_NATIVE_INT_FAST16];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT_FAST16, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT_FAST16, mkChar("H5T_NATIVE_UINT_FAST16"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT_FAST16] = h5_datatype[DT_H5T_NATIVE_UINT_FAST16];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT32, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT32, mkChar("H5T_NATIVE_INT32"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT32] = h5_datatype[DT_H5T_NATIVE_INT32];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT32, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT32, mkChar("H5T_NATIVE_UINT32"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT32] = h5_datatype[DT_H5T_NATIVE_UINT32];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT_LEAST32, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT_LEAST32, mkChar("H5T_NATIVE_INT_LEAST32"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT_LEAST32] = h5_datatype[DT_H5T_NATIVE_INT_LEAST32];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT_LEAST32, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT_LEAST32, mkChar("H5T_NATIVE_UINT_LEAST32"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT_LEAST32] = h5_datatype[DT_H5T_NATIVE_UINT_LEAST32];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT_FAST32, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT_FAST32, mkChar("H5T_NATIVE_INT_FAST32"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT_FAST32] = h5_datatype[DT_H5T_NATIVE_INT_FAST32];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT_FAST32, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT_FAST32, mkChar("H5T_NATIVE_UINT_FAST32"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT_FAST32] = h5_datatype[DT_H5T_NATIVE_UINT_FAST32];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT64, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT64, mkChar("H5T_NATIVE_INT64"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT64] = h5_datatype[DT_H5T_NATIVE_INT64];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT64, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT64, mkChar("H5T_NATIVE_UINT64"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT64] = h5_datatype[DT_H5T_NATIVE_UINT64];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT_LEAST64, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT_LEAST64, mkChar("H5T_NATIVE_INT_LEAST64"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT_LEAST64] = h5_datatype[DT_H5T_NATIVE_INT_LEAST64];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT_LEAST64, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT_LEAST64, mkChar("H5T_NATIVE_UINT_LEAST64"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT_LEAST64] = h5_datatype[DT_H5T_NATIVE_UINT_LEAST64];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_INT_FAST64, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_INT_FAST64, mkChar("H5T_NATIVE_INT_FAST64"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_INT_FAST64] = h5_datatype[DT_H5T_NATIVE_INT_FAST64];

  SET_STRING_ELT(R_categ, DT_H5T_NATIVE_UINT_FAST64, mkChar("NATIVE"));
  SET_STRING_ELT(R_name, DT_H5T_NATIVE_UINT_FAST64, mkChar("H5T_NATIVE_UINT_FAST64"));
  ((long long *) REAL(R_type))[DT_H5T_NATIVE_UINT_FAST64] = h5_datatype[DT_H5T_NATIVE_UINT_FAST64];

  SET_STRING_ELT(R_categ, DT_H5E_major_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_H5E_major_t, mkChar("H5E_major_t"));
  ((long long *) REAL(R_type))[DT_H5E_major_t] = h5_datatype[DT_H5E_major_t];

  SET_STRING_ELT(R_categ, DT_H5E_minor_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_H5E_minor_t, mkChar("H5E_minor_t"));
  ((long long *) REAL(R_type))[DT_H5E_minor_t] = h5_datatype[DT_H5E_minor_t];

  SET_STRING_ELT(R_categ, DT_H5FD_mem_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_H5FD_mem_t, mkChar("H5FD_mem_t"));
  ((long long *) REAL(R_type))[DT_H5FD_mem_t] = h5_datatype[DT_H5FD_mem_t];

  SET_STRING_ELT(R_categ, DT_H5G_link_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_H5G_link_t, mkChar("H5G_link_t"));
  ((long long *) REAL(R_type))[DT_H5G_link_t] = h5_datatype[DT_H5G_link_t];

  SET_STRING_ELT(R_categ, DT_H5O_msg_crt_idx_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_H5O_msg_crt_idx_t, mkChar("H5O_msg_crt_idx_t"));
  ((long long *) REAL(R_type))[DT_H5O_msg_crt_idx_t] = h5_datatype[DT_H5O_msg_crt_idx_t];

  SET_STRING_ELT(R_categ, DT_H5Z_filter_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_H5Z_filter_t, mkChar("H5Z_filter_t"));
  ((long long *) REAL(R_type))[DT_H5Z_filter_t] = h5_datatype[DT_H5Z_filter_t];

  SET_STRING_ELT(R_categ, DT_haddr_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_haddr_t, mkChar("haddr_t"));
  ((long long *) REAL(R_type))[DT_haddr_t] = h5_datatype[DT_haddr_t];

  SET_STRING_ELT(R_categ, DT_hbool_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_hbool_t, mkChar("hbool_t"));
  ((long long *) REAL(R_type))[DT_hbool_t] = h5_datatype[DT_hbool_t];

  SET_STRING_ELT(R_categ, DT_herr_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_herr_t, mkChar("herr_t"));
  ((long long *) REAL(R_type))[DT_herr_t] = h5_datatype[DT_herr_t];

  SET_STRING_ELT(R_categ, DT_hid_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_hid_t, mkChar("hid_t"));
  ((long long *) REAL(R_type))[DT_hid_t] = h5_datatype[DT_hid_t];

  SET_STRING_ELT(R_categ, DT_hsize_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_hsize_t, mkChar("hsize_t"));
  ((long long *) REAL(R_type))[DT_hsize_t] = h5_datatype[DT_hsize_t];

  SET_STRING_ELT(R_categ, DT_hssize_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_hssize_t, mkChar("hssize_t"));
  ((long long *) REAL(R_type))[DT_hssize_t] = h5_datatype[DT_hssize_t];

  SET_STRING_ELT(R_categ, DT_htri_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_htri_t, mkChar("htri_t"));
  ((long long *) REAL(R_type))[DT_htri_t] = h5_datatype[DT_htri_t];

  SET_STRING_ELT(R_categ, DT_int, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_int, mkChar("int"));
  ((long long *) REAL(R_type))[DT_int] = h5_datatype[DT_int];

  SET_STRING_ELT(R_categ, DT_int64_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_int64_t, mkChar("int64_t"));
  ((long long *) REAL(R_type))[DT_int64_t] = h5_datatype[DT_int64_t];

  SET_STRING_ELT(R_categ, DT_long, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_long, mkChar("long"));
  ((long long *) REAL(R_type))[DT_long] = h5_datatype[DT_long];

  SET_STRING_ELT(R_categ, DT_long_int, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_long_int, mkChar("long_int"));
  ((long long *) REAL(R_type))[DT_long_int] = h5_datatype[DT_long_int];

  SET_STRING_ELT(R_categ, DT_long_long, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_long_long, mkChar("long_long"));
  ((long long *) REAL(R_type))[DT_long_long] = h5_datatype[DT_long_long];

  SET_STRING_ELT(R_categ, DT_off_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_off_t, mkChar("off_t"));
  ((long long *) REAL(R_type))[DT_off_t] = h5_datatype[DT_off_t];

  SET_STRING_ELT(R_categ, DT_short, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_short, mkChar("short"));
  ((long long *) REAL(R_type))[DT_short] = h5_datatype[DT_short];

  SET_STRING_ELT(R_categ, DT_size_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_size_t, mkChar("size_t"));
  ((long long *) REAL(R_type))[DT_size_t] = h5_datatype[DT_size_t];

  SET_STRING_ELT(R_categ, DT_ssize_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_ssize_t, mkChar("ssize_t"));
  ((long long *) REAL(R_type))[DT_ssize_t] = h5_datatype[DT_ssize_t];

  SET_STRING_ELT(R_categ, DT_time_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_time_t, mkChar("time_t"));
  ((long long *) REAL(R_type))[DT_time_t] = h5_datatype[DT_time_t];

  SET_STRING_ELT(R_categ, DT_uint32_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_uint32_t, mkChar("uint32_t"));
  ((long long *) REAL(R_type))[DT_uint32_t] = h5_datatype[DT_uint32_t];

  SET_STRING_ELT(R_categ, DT_uint64_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_uint64_t, mkChar("uint64_t"));
  ((long long *) REAL(R_type))[DT_uint64_t] = h5_datatype[DT_uint64_t];

  SET_STRING_ELT(R_categ, DT_uint8_t, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_uint8_t, mkChar("uint8_t"));
  ((long long *) REAL(R_type))[DT_uint8_t] = h5_datatype[DT_uint8_t];

  SET_STRING_ELT(R_categ, DT_unsigned, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_unsigned, mkChar("unsigned"));
  ((long long *) REAL(R_type))[DT_unsigned] = h5_datatype[DT_unsigned];

  SET_STRING_ELT(R_categ, DT_unsigned_char, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_unsigned_char, mkChar("unsigned_char"));
  ((long long *) REAL(R_type))[DT_unsigned_char] = h5_datatype[DT_unsigned_char];

  SET_STRING_ELT(R_categ, DT_unsigned_int, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_unsigned_int, mkChar("unsigned_int"));
  ((long long *) REAL(R_type))[DT_unsigned_int] = h5_datatype[DT_unsigned_int];

  SET_STRING_ELT(R_categ, DT_unsigned_long, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_unsigned_long, mkChar("unsigned_long"));
  ((long long *) REAL(R_type))[DT_unsigned_long] = h5_datatype[DT_unsigned_long];

  SET_STRING_ELT(R_categ, DT_unsigned_long_long, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_unsigned_long_long, mkChar("unsigned_long_long"));
  ((long long *) REAL(R_type))[DT_unsigned_long_long] = h5_datatype[DT_unsigned_long_long];

  SET_STRING_ELT(R_categ, DT_unsigned_short, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_unsigned_short, mkChar("unsigned_short"));
  ((long long *) REAL(R_type))[DT_unsigned_short] = h5_datatype[DT_unsigned_short];

  SET_STRING_ELT(R_categ, DT_char, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_char, mkChar("char"));
  ((long long *) REAL(R_type))[DT_char] = h5_datatype[DT_char];

  SET_STRING_ELT(R_categ, DT_double, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_double, mkChar("double"));
  ((long long *) REAL(R_type))[DT_double] = h5_datatype[DT_double];

  SET_STRING_ELT(R_categ, DT_float, mkChar("C_API_types"));
  SET_STRING_ELT(R_name, DT_float, mkChar("float"));
  ((long long *) REAL(R_type))[DT_float] = h5_datatype[DT_float];

  SET_STRING_ELT(R_categ, DT_H5_index_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5_index_t, mkChar("H5_index_t"));
  ((long long *) REAL(R_type))[DT_H5_index_t] = h5_datatype[DT_H5_index_t];

  SET_STRING_ELT(R_categ, DT_H5_iter_order_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5_iter_order_t, mkChar("H5_iter_order_t"));
  ((long long *) REAL(R_type))[DT_H5_iter_order_t] = h5_datatype[DT_H5_iter_order_t];

  SET_STRING_ELT(R_categ, DT_H5C_cache_decr_mode, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5C_cache_decr_mode, mkChar("H5C_cache_decr_mode"));
  ((long long *) REAL(R_type))[DT_H5C_cache_decr_mode] = h5_datatype[DT_H5C_cache_decr_mode];

  SET_STRING_ELT(R_categ, DT_H5C_cache_flash_incr_mode, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5C_cache_flash_incr_mode, mkChar("H5C_cache_flash_incr_mode"));
  ((long long *) REAL(R_type))[DT_H5C_cache_flash_incr_mode] = h5_datatype[DT_H5C_cache_flash_incr_mode];

  SET_STRING_ELT(R_categ, DT_H5C_cache_incr_mode, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5C_cache_incr_mode, mkChar("H5C_cache_incr_mode"));
  ((long long *) REAL(R_type))[DT_H5C_cache_incr_mode] = h5_datatype[DT_H5C_cache_incr_mode];

  SET_STRING_ELT(R_categ, DT_H5D_alloc_time_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_alloc_time_t, mkChar("H5D_alloc_time_t"));
  ((long long *) REAL(R_type))[DT_H5D_alloc_time_t] = h5_datatype[DT_H5D_alloc_time_t];

  SET_STRING_ELT(R_categ, DT_H5D_chunk_index_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_chunk_index_t, mkChar("H5D_chunk_index_t"));
  ((long long *) REAL(R_type))[DT_H5D_chunk_index_t] = h5_datatype[DT_H5D_chunk_index_t];

  SET_STRING_ELT(R_categ, DT_H5D_fill_time_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_fill_time_t, mkChar("H5D_fill_time_t"));
  ((long long *) REAL(R_type))[DT_H5D_fill_time_t] = h5_datatype[DT_H5D_fill_time_t];

  SET_STRING_ELT(R_categ, DT_H5D_fill_value_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_fill_value_t, mkChar("H5D_fill_value_t"));
  ((long long *) REAL(R_type))[DT_H5D_fill_value_t] = h5_datatype[DT_H5D_fill_value_t];

  SET_STRING_ELT(R_categ, DT_H5D_layout_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_layout_t, mkChar("H5D_layout_t"));
  ((long long *) REAL(R_type))[DT_H5D_layout_t] = h5_datatype[DT_H5D_layout_t];

  SET_STRING_ELT(R_categ, DT_H5D_mpio_actual_chunk_opt_mode_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_mpio_actual_chunk_opt_mode_t, mkChar("H5D_mpio_actual_chunk_opt_mode_t"));
  ((long long *) REAL(R_type))[DT_H5D_mpio_actual_chunk_opt_mode_t] = h5_datatype[DT_H5D_mpio_actual_chunk_opt_mode_t];

  SET_STRING_ELT(R_categ, DT_H5D_mpio_actual_io_mode_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_mpio_actual_io_mode_t, mkChar("H5D_mpio_actual_io_mode_t"));
  ((long long *) REAL(R_type))[DT_H5D_mpio_actual_io_mode_t] = h5_datatype[DT_H5D_mpio_actual_io_mode_t];

  SET_STRING_ELT(R_categ, DT_H5D_mpio_no_collective_cause_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_mpio_no_collective_cause_t, mkChar("H5D_mpio_no_collective_cause_t"));
  ((long long *) REAL(R_type))[DT_H5D_mpio_no_collective_cause_t] = h5_datatype[DT_H5D_mpio_no_collective_cause_t];

  SET_STRING_ELT(R_categ, DT_H5D_space_status_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_space_status_t, mkChar("H5D_space_status_t"));
  ((long long *) REAL(R_type))[DT_H5D_space_status_t] = h5_datatype[DT_H5D_space_status_t];

  SET_STRING_ELT(R_categ, DT_H5D_vds_view_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5D_vds_view_t, mkChar("H5D_vds_view_t"));
  ((long long *) REAL(R_type))[DT_H5D_vds_view_t] = h5_datatype[DT_H5D_vds_view_t];

  SET_STRING_ELT(R_categ, DT_H5E_direction_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5E_direction_t, mkChar("H5E_direction_t"));
  ((long long *) REAL(R_type))[DT_H5E_direction_t] = h5_datatype[DT_H5E_direction_t];

  SET_STRING_ELT(R_categ, DT_H5E_type_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5E_type_t, mkChar("H5E_type_t"));
  ((long long *) REAL(R_type))[DT_H5E_type_t] = h5_datatype[DT_H5E_type_t];

  SET_STRING_ELT(R_categ, DT_H5ES_status_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5ES_status_t, mkChar("H5ES_status_t"));
  ((long long *) REAL(R_type))[DT_H5ES_status_t] = h5_datatype[DT_H5ES_status_t];

  SET_STRING_ELT(R_categ, DT_H5F_close_degree_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5F_close_degree_t, mkChar("H5F_close_degree_t"));
  ((long long *) REAL(R_type))[DT_H5F_close_degree_t] = h5_datatype[DT_H5F_close_degree_t];

  SET_STRING_ELT(R_categ, DT_H5F_file_space_type_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5F_file_space_type_t, mkChar("H5F_file_space_type_t"));
  ((long long *) REAL(R_type))[DT_H5F_file_space_type_t] = h5_datatype[DT_H5F_file_space_type_t];

  SET_STRING_ELT(R_categ, DT_H5F_fspace_strategy_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5F_fspace_strategy_t, mkChar("H5F_fspace_strategy_t"));
  ((long long *) REAL(R_type))[DT_H5F_fspace_strategy_t] = h5_datatype[DT_H5F_fspace_strategy_t];

  SET_STRING_ELT(R_categ, DT_H5F_libver_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5F_libver_t, mkChar("H5F_libver_t"));
  ((long long *) REAL(R_type))[DT_H5F_libver_t] = h5_datatype[DT_H5F_libver_t];

  SET_STRING_ELT(R_categ, DT_H5F_mem_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5F_mem_t, mkChar("H5F_mem_t"));
  ((long long *) REAL(R_type))[DT_H5F_mem_t] = h5_datatype[DT_H5F_mem_t];

  SET_STRING_ELT(R_categ, DT_H5F_scope_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5F_scope_t, mkChar("H5F_scope_t"));
  ((long long *) REAL(R_type))[DT_H5F_scope_t] = h5_datatype[DT_H5F_scope_t];

  SET_STRING_ELT(R_categ, DT_H5FD_file_image_op_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5FD_file_image_op_t, mkChar("H5FD_file_image_op_t"));
  ((long long *) REAL(R_type))[DT_H5FD_file_image_op_t] = h5_datatype[DT_H5FD_file_image_op_t];

  SET_STRING_ELT(R_categ, DT_H5G_obj_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5G_obj_t, mkChar("H5G_obj_t"));
  ((long long *) REAL(R_type))[DT_H5G_obj_t] = h5_datatype[DT_H5G_obj_t];

  SET_STRING_ELT(R_categ, DT_H5G_storage_type_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5G_storage_type_t, mkChar("H5G_storage_type_t"));
  ((long long *) REAL(R_type))[DT_H5G_storage_type_t] = h5_datatype[DT_H5G_storage_type_t];

  SET_STRING_ELT(R_categ, DT_H5I_type_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5I_type_t, mkChar("H5I_type_t"));
  ((long long *) REAL(R_type))[DT_H5I_type_t] = h5_datatype[DT_H5I_type_t];

  SET_STRING_ELT(R_categ, DT_H5L_type_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5L_type_t, mkChar("H5L_type_t"));
  ((long long *) REAL(R_type))[DT_H5L_type_t] = h5_datatype[DT_H5L_type_t];

  SET_STRING_ELT(R_categ, DT_H5LT_lang_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5LT_lang_t, mkChar("H5LT_lang_t"));
  ((long long *) REAL(R_type))[DT_H5LT_lang_t] = h5_datatype[DT_H5LT_lang_t];

  SET_STRING_ELT(R_categ, DT_H5O_mcdt_search_ret_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5O_mcdt_search_ret_t, mkChar("H5O_mcdt_search_ret_t"));
  ((long long *) REAL(R_type))[DT_H5O_mcdt_search_ret_t] = h5_datatype[DT_H5O_mcdt_search_ret_t];

  SET_STRING_ELT(R_categ, DT_H5O_type_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5O_type_t, mkChar("H5O_type_t"));
  ((long long *) REAL(R_type))[DT_H5O_type_t] = h5_datatype[DT_H5O_type_t];

  SET_STRING_ELT(R_categ, DT_H5PL_type_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5PL_type_t, mkChar("H5PL_type_t"));
  ((long long *) REAL(R_type))[DT_H5PL_type_t] = h5_datatype[DT_H5PL_type_t];

  SET_STRING_ELT(R_categ, DT_H5R_type_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5R_type_t, mkChar("H5R_type_t"));
  ((long long *) REAL(R_type))[DT_H5R_type_t] = h5_datatype[DT_H5R_type_t];

  SET_STRING_ELT(R_categ, DT_H5S_class_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5S_class_t, mkChar("H5S_class_t"));
  ((long long *) REAL(R_type))[DT_H5S_class_t] = h5_datatype[DT_H5S_class_t];

  SET_STRING_ELT(R_categ, DT_H5S_sel_type, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5S_sel_type, mkChar("H5S_sel_type"));
  ((long long *) REAL(R_type))[DT_H5S_sel_type] = h5_datatype[DT_H5S_sel_type];

  SET_STRING_ELT(R_categ, DT_H5S_seloper_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5S_seloper_t, mkChar("H5S_seloper_t"));
  ((long long *) REAL(R_type))[DT_H5S_seloper_t] = h5_datatype[DT_H5S_seloper_t];

  SET_STRING_ELT(R_categ, DT_H5T_bkg_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_bkg_t, mkChar("H5T_bkg_t"));
  ((long long *) REAL(R_type))[DT_H5T_bkg_t] = h5_datatype[DT_H5T_bkg_t];

  SET_STRING_ELT(R_categ, DT_H5T_class_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_class_t, mkChar("H5T_class_t"));
  ((long long *) REAL(R_type))[DT_H5T_class_t] = h5_datatype[DT_H5T_class_t];

  SET_STRING_ELT(R_categ, DT_H5T_cmd_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_cmd_t, mkChar("H5T_cmd_t"));
  ((long long *) REAL(R_type))[DT_H5T_cmd_t] = h5_datatype[DT_H5T_cmd_t];

  SET_STRING_ELT(R_categ, DT_H5T_conv_except_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_conv_except_t, mkChar("H5T_conv_except_t"));
  ((long long *) REAL(R_type))[DT_H5T_conv_except_t] = h5_datatype[DT_H5T_conv_except_t];

  SET_STRING_ELT(R_categ, DT_H5T_conv_ret_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_conv_ret_t, mkChar("H5T_conv_ret_t"));
  ((long long *) REAL(R_type))[DT_H5T_conv_ret_t] = h5_datatype[DT_H5T_conv_ret_t];

  SET_STRING_ELT(R_categ, DT_H5T_cset_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_cset_t, mkChar("H5T_cset_t"));
  ((long long *) REAL(R_type))[DT_H5T_cset_t] = h5_datatype[DT_H5T_cset_t];

  SET_STRING_ELT(R_categ, DT_H5T_direction_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_direction_t, mkChar("H5T_direction_t"));
  ((long long *) REAL(R_type))[DT_H5T_direction_t] = h5_datatype[DT_H5T_direction_t];

  SET_STRING_ELT(R_categ, DT_H5T_norm_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_norm_t, mkChar("H5T_norm_t"));
  ((long long *) REAL(R_type))[DT_H5T_norm_t] = h5_datatype[DT_H5T_norm_t];

  SET_STRING_ELT(R_categ, DT_H5T_order_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_order_t, mkChar("H5T_order_t"));
  ((long long *) REAL(R_type))[DT_H5T_order_t] = h5_datatype[DT_H5T_order_t];

  SET_STRING_ELT(R_categ, DT_H5T_pad_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_pad_t, mkChar("H5T_pad_t"));
  ((long long *) REAL(R_type))[DT_H5T_pad_t] = h5_datatype[DT_H5T_pad_t];

  SET_STRING_ELT(R_categ, DT_H5T_pers_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_pers_t, mkChar("H5T_pers_t"));
  ((long long *) REAL(R_type))[DT_H5T_pers_t] = h5_datatype[DT_H5T_pers_t];

  SET_STRING_ELT(R_categ, DT_H5T_sign_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_sign_t, mkChar("H5T_sign_t"));
  ((long long *) REAL(R_type))[DT_H5T_sign_t] = h5_datatype[DT_H5T_sign_t];

  SET_STRING_ELT(R_categ, DT_H5T_str_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5T_str_t, mkChar("H5T_str_t"));
  ((long long *) REAL(R_type))[DT_H5T_str_t] = h5_datatype[DT_H5T_str_t];

  SET_STRING_ELT(R_categ, DT_H5VL_map_get_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5VL_map_get_t, mkChar("H5VL_map_get_t"));
  ((long long *) REAL(R_type))[DT_H5VL_map_get_t] = h5_datatype[DT_H5VL_map_get_t];

  SET_STRING_ELT(R_categ, DT_H5VL_map_specific_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5VL_map_specific_t, mkChar("H5VL_map_specific_t"));
  ((long long *) REAL(R_type))[DT_H5VL_map_specific_t] = h5_datatype[DT_H5VL_map_specific_t];

  SET_STRING_ELT(R_categ, DT_H5Z_cb_return_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5Z_cb_return_t, mkChar("H5Z_cb_return_t"));
  ((long long *) REAL(R_type))[DT_H5Z_cb_return_t] = h5_datatype[DT_H5Z_cb_return_t];

  SET_STRING_ELT(R_categ, DT_H5Z_EDC_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5Z_EDC_t, mkChar("H5Z_EDC_t"));
  ((long long *) REAL(R_type))[DT_H5Z_EDC_t] = h5_datatype[DT_H5Z_EDC_t];

  SET_STRING_ELT(R_categ, DT_H5Z_SO_scale_type_t, mkChar("enum"));
  SET_STRING_ELT(R_name, DT_H5Z_SO_scale_type_t, mkChar("H5Z_SO_scale_type_t"));
  ((long long *) REAL(R_type))[DT_H5Z_SO_scale_type_t] = h5_datatype[DT_H5Z_SO_scale_type_t];

  SET_STRING_ELT(R_categ, DT_H5L_info1_helper_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5L_info1_helper_t, mkChar("H5L_info1_helper_t"));
  ((long long *) REAL(R_type))[DT_H5L_info1_helper_t] = h5_datatype[DT_H5L_info1_helper_t];

  SET_STRING_ELT(R_categ, DT_H5L_info2_helper_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5L_info2_helper_t, mkChar("H5L_info2_helper_t"));
  ((long long *) REAL(R_type))[DT_H5L_info2_helper_t] = h5_datatype[DT_H5L_info2_helper_t];

  SET_STRING_ELT(R_categ, DT_H5_ih_info_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5_ih_info_t, mkChar("H5_ih_info_t"));
  ((long long *) REAL(R_type))[DT_H5_ih_info_t] = h5_datatype[DT_H5_ih_info_t];

  SET_STRING_ELT(R_categ, DT_H5A_info_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5A_info_t, mkChar("H5A_info_t"));
  ((long long *) REAL(R_type))[DT_H5A_info_t] = h5_datatype[DT_H5A_info_t];

  SET_STRING_ELT(R_categ, DT_H5AC_cache_config_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5AC_cache_config_t, mkChar("H5AC_cache_config_t"));
  ((long long *) REAL(R_type))[DT_H5AC_cache_config_t] = h5_datatype[DT_H5AC_cache_config_t];

  SET_STRING_ELT(R_categ, DT_H5AC_cache_image_config_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5AC_cache_image_config_t, mkChar("H5AC_cache_image_config_t"));
  ((long long *) REAL(R_type))[DT_H5AC_cache_image_config_t] = h5_datatype[DT_H5AC_cache_image_config_t];

  SET_STRING_ELT(R_categ, DT_H5D_info_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5D_info_t, mkChar("H5D_info_t"));
  ((long long *) REAL(R_type))[DT_H5D_info_t] = h5_datatype[DT_H5D_info_t];

  SET_STRING_ELT(R_categ, DT_H5E_error1_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5E_error1_t, mkChar("H5E_error1_t"));
  ((long long *) REAL(R_type))[DT_H5E_error1_t] = h5_datatype[DT_H5E_error1_t];

  SET_STRING_ELT(R_categ, DT_H5E_error2_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5E_error2_t, mkChar("H5E_error2_t"));
  ((long long *) REAL(R_type))[DT_H5E_error2_t] = h5_datatype[DT_H5E_error2_t];

  SET_STRING_ELT(R_categ, DT_H5F_info1_helper_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5F_info1_helper_t, mkChar("H5F_info1_helper_t"));
  ((long long *) REAL(R_type))[DT_H5F_info1_helper_t] = h5_datatype[DT_H5F_info1_helper_t];

  SET_STRING_ELT(R_categ, DT_H5F_info1_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5F_info1_t, mkChar("H5F_info1_t"));
  ((long long *) REAL(R_type))[DT_H5F_info1_t] = h5_datatype[DT_H5F_info1_t];

  SET_STRING_ELT(R_categ, DT_H5F_info2_free_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5F_info2_free_t, mkChar("H5F_info2_free_t"));
  ((long long *) REAL(R_type))[DT_H5F_info2_free_t] = h5_datatype[DT_H5F_info2_free_t];

  SET_STRING_ELT(R_categ, DT_H5F_info2_sohm_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5F_info2_sohm_t, mkChar("H5F_info2_sohm_t"));
  ((long long *) REAL(R_type))[DT_H5F_info2_sohm_t] = h5_datatype[DT_H5F_info2_sohm_t];

  SET_STRING_ELT(R_categ, DT_H5F_info2_super_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5F_info2_super_t, mkChar("H5F_info2_super_t"));
  ((long long *) REAL(R_type))[DT_H5F_info2_super_t] = h5_datatype[DT_H5F_info2_super_t];

  SET_STRING_ELT(R_categ, DT_H5F_info2_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5F_info2_t, mkChar("H5F_info2_t"));
  ((long long *) REAL(R_type))[DT_H5F_info2_t] = h5_datatype[DT_H5F_info2_t];

  SET_STRING_ELT(R_categ, DT_H5F_retry_info_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5F_retry_info_t, mkChar("H5F_retry_info_t"));
  ((long long *) REAL(R_type))[DT_H5F_retry_info_t] = h5_datatype[DT_H5F_retry_info_t];

  SET_STRING_ELT(R_categ, DT_H5F_sect_info_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5F_sect_info_t, mkChar("H5F_sect_info_t"));
  ((long long *) REAL(R_type))[DT_H5F_sect_info_t] = h5_datatype[DT_H5F_sect_info_t];

  SET_STRING_ELT(R_categ, DT_H5G_info_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5G_info_t, mkChar("H5G_info_t"));
  ((long long *) REAL(R_type))[DT_H5G_info_t] = h5_datatype[DT_H5G_info_t];

  SET_STRING_ELT(R_categ, DT_H5L_info1_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5L_info1_t, mkChar("H5L_info1_t"));
  ((long long *) REAL(R_type))[DT_H5L_info1_t] = h5_datatype[DT_H5L_info1_t];

  SET_STRING_ELT(R_categ, DT_H5L_info2_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5L_info2_t, mkChar("H5L_info2_t"));
  ((long long *) REAL(R_type))[DT_H5L_info2_t] = h5_datatype[DT_H5L_info2_t];

  SET_STRING_ELT(R_categ, DT_H5ls_info_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5ls_info_t, mkChar("H5ls_info_t"));
  ((long long *) REAL(R_type))[DT_H5ls_info_t] = h5_datatype[DT_H5ls_info_t];

  SET_STRING_ELT(R_categ, DT_H5O_hdr_info_helper_msg_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5O_hdr_info_helper_msg_t, mkChar("H5O_hdr_info_helper_msg_t"));
  ((long long *) REAL(R_type))[DT_H5O_hdr_info_helper_msg_t] = h5_datatype[DT_H5O_hdr_info_helper_msg_t];

  SET_STRING_ELT(R_categ, DT_H5O_hdr_info_helper_space_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5O_hdr_info_helper_space_t, mkChar("H5O_hdr_info_helper_space_t"));
  ((long long *) REAL(R_type))[DT_H5O_hdr_info_helper_space_t] = h5_datatype[DT_H5O_hdr_info_helper_space_t];

  SET_STRING_ELT(R_categ, DT_H5O_hdr_info_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5O_hdr_info_t, mkChar("H5O_hdr_info_t"));
  ((long long *) REAL(R_type))[DT_H5O_hdr_info_t] = h5_datatype[DT_H5O_hdr_info_t];

  SET_STRING_ELT(R_categ, DT_H5O_info_helper_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5O_info_helper_t, mkChar("H5O_info_helper_t"));
  ((long long *) REAL(R_type))[DT_H5O_info_helper_t] = h5_datatype[DT_H5O_info_helper_t];

  SET_STRING_ELT(R_categ, DT_H5O_info1_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5O_info1_t, mkChar("H5O_info1_t"));
  ((long long *) REAL(R_type))[DT_H5O_info1_t] = h5_datatype[DT_H5O_info1_t];

  SET_STRING_ELT(R_categ, DT_H5O_info2_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5O_info2_t, mkChar("H5O_info2_t"));
  ((long long *) REAL(R_type))[DT_H5O_info2_t] = h5_datatype[DT_H5O_info2_t];

  SET_STRING_ELT(R_categ, DT_H5O_native_info_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5O_native_info_t, mkChar("H5O_native_info_t"));
  ((long long *) REAL(R_type))[DT_H5O_native_info_t] = h5_datatype[DT_H5O_native_info_t];

  SET_STRING_ELT(R_categ, DT_H5O_stat_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5O_stat_t, mkChar("H5O_stat_t"));
  ((long long *) REAL(R_type))[DT_H5O_stat_t] = h5_datatype[DT_H5O_stat_t];

  SET_STRING_ELT(R_categ, DT_H5O_token_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5O_token_t, mkChar("H5O_token_t"));
  ((long long *) REAL(R_type))[DT_H5O_token_t] = h5_datatype[DT_H5O_token_t];

  SET_STRING_ELT(R_categ, DT_H5R_ref_helper_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5R_ref_helper_t, mkChar("H5R_ref_helper_t"));
  ((long long *) REAL(R_type))[DT_H5R_ref_helper_t] = h5_datatype[DT_H5R_ref_helper_t];

  SET_STRING_ELT(R_categ, DT_H5R_ref_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_H5R_ref_t, mkChar("H5R_ref_t"));
  ((long long *) REAL(R_type))[DT_H5R_ref_t] = h5_datatype[DT_H5R_ref_t];

  SET_STRING_ELT(R_categ, DT_hdset_reg_ref_t, mkChar("struct"));
  SET_STRING_ELT(R_name, DT_hdset_reg_ref_t, mkChar("hdset_reg_ref_t"));
  ((long long *) REAL(R_type))[DT_hdset_reg_ref_t] = h5_datatype[DT_hdset_reg_ref_t];
  UNPROTECT(4);
  return(df);
}
