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"