File
file ::= "{"
"id" ":" identifier ","
"created" ":" utc_datetime ","
"lastModified" ":" utc_datetime ","
"root" ":" id_reference ","
"groups" ":" "{" group_hashtable "}" ","
"datasets" ":" "{" dataset_hashtable "}" ","
"datatypes" ":" "{" datatype_hashtable "}" ","
"userblock" ":" byte_array ","
"userblockSize" ":" non_negative_integer /power of 2, >= 512/ ","
"creationProperties" ":" fcpl ","
"driverInfo" ":" file_driver_info ","
"apiVersion" ":" "1.0.0"
"}"
group_hashtable ::= group ("," group)*
dataset_hashtable ::= dataset ("," dataset)*
datatype_hashtable ::= datatype_object ("," datatype_object)*
fcpl ::= "{"
"chunkStorageConfig" ":" chunk_storage_config ","
"freeListConfig" ":" free_list_config ","
"sizeConfig" ":" size_config ","
"sohmConfig" ":" sohm_config ","
"superBlockVersion" ":" non_negative_integer ","
"symbolTableConfig" ":" sym_tab_config ","
"}"
chunk_storage_config ::= "{"
"chunkStorageBTreeHalfRank" ":" positive_integer
"}"
free_list_config ::= "{"
"freeListVersion" ":" non_negative_integer
"}"
size_config ::= "{"
"lengthSizeInBytes" ":" positive_integer
"offsetSizeInBytes" ":" positive_integer
"}"
sohm_config ::= "{"
"maxList" ":" non_negative_integer ","
"minBTree" ":" non_negative_integer ","
"version" ":" non_negative_integer ","
"indexes" ":" "[" sohm_index_list "]"
"}"
sohm_index_list ::= sohm_index ("," sohm_index)*
sohm_index ::= "{"
"messageTypes" ":" "[" sohm_message_type_list "]" ","
"minMessageSize" ":" non_negative_integer
"}"
sohm_message_type_list ::= sohm_message_type ("," sohm_message_type)*
sohm_message_type ::= "H5O_SHMESG_ATTR_FLAG"
| "H5O_SHMESG_DTYPE_FLAG"
| "H5O_SHMESG_FILL_FLAG"
| "H5O_SHMESG_PLINE_FLAG"
| "H5O_SHMESG_SDSPACE_FLAG"
sym_tab_config ::= "{"
"nodeSize" ":" positive_integer
"treeRank" ":" positive_integer
"version" ":" non_negative_integer
"}"
file_driver_info ::= family_driver_info | multi_driver_info
family_driver_info ::= "{"
"memberSize" ":" positive_integer
"}"
multi_driver_info ::= "[" data_distribution_list "]"
data_distribution_list ::= data_item ("," data_item)*
data_item ::= "{"
"dataMap" ":" data_kind ","
"fileName" ":" unicode_string ","
"address" ":" positive_integer ","
"relaxFlag" ":" false | true
"}"
data_kind ::= "H5FD_MEM_SUPER"
| "H5FD_MEM_BTREE"
| "H5FD_MEM_DRAW"
| "H5FD_MEM_GHEAP"
| "H5FD_MEM_LHEAP"
| "H5FD_MEM_OHDR"