| 954 | return status; |
| 955 | } |
| 956 | herr_t writes(hid_t obj, const char *attr_name, const char *attr_data, hsize_t data_size) |
| 957 | { |
| 958 | herr_t status; |
| 959 | hsize_t dim[1] = { 1 }; |
| 960 | hid_t space = H5Screate_simple(1, dim, NULL); |
| 961 | hid_t atype = H5Tcopy(H5T_C_S1); |
| 962 | status = H5Tset_size(atype, data_size); |
| 963 | status = H5Tset_strpad(atype, H5T_STR_NULLTERM); |
| 964 | hid_t attr = H5Acreate(obj, attr_name, atype, space, H5P_DEFAULT, H5P_DEFAULT); |
| 965 | status = H5Awrite(attr, atype, attr_data); |
| 966 | status = H5Aclose(attr); |
| 967 | status = H5Sclose(space); |
| 968 | return status; |
| 969 | } |
| 970 | |
| 971 | // higher level c++ utils |
| 972 | |