diff options
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r-- | src/H5Oprivate.h | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h index 0d3b2f7..f7dafb8 100644 --- a/src/H5Oprivate.h +++ b/src/H5Oprivate.h @@ -127,6 +127,28 @@ extern const H5O_class_t H5O_DTYPE[1]; /* operates on an H5T_t struct */ /* + * External File List Message + */ +#define H5O_EFL_ID 0x0007 /*external file list id */ +#define H5O_EFL_ALLOC 16 /*number of slots to alloc at once */ +#define H5O_EFL_UNLIMITED H5F_UNLIMITED /*max possible file size */ +extern const H5O_class_t H5O_EFL[1]; /*external file list class */ + +typedef struct H5O_efl_entry_t { + size_t name_offset; /*offset of name within heap */ + char *name; /*malloc'd name */ + size_t offset; /*offset of data within file */ + size_t size; /*size allocated within file */ +} H5O_efl_entry_t; + +typedef struct H5O_efl_t { + haddr_t heap_addr; /*address of name heap */ + uintn nalloc; /*number of slots allocated */ + uintn nused; /*number of slots used */ + H5O_efl_entry_t *slot; /*array of external file entries */ +} H5O_efl_t; + +/* * Data Layout Message */ #define H5O_LAYOUT_ID 0x0008 @@ -141,19 +163,6 @@ typedef struct H5O_layout_t { } H5O_layout_t; /* - * External File List Message - */ -#define H5O_EFL_ID 0x0009 -extern const H5O_class_t H5O_EFL[1]; - -typedef struct H5O_efl_t { - haddr_t heap_addr; /*address of name heap */ - uintn nalloc; /*number of slots allocated */ - uintn nused; /*number of slots used */ - size_t *offset; /*array of name offsets in heap */ -} H5O_efl_t; - -/* * Object name message. */ #define H5O_NAME_ID 0x000d @@ -191,6 +200,7 @@ typedef struct H5O_stab_t { haddr_t heap_addr; /*address of name heap */ } H5O_stab_t; +/* General message operators */ herr_t H5O_create (H5F_t *f, size_t size_hint, H5G_entry_t *ent/*out*/); herr_t H5O_open (H5F_t *f, H5G_entry_t *ent); herr_t H5O_close (H5G_entry_t *ent); @@ -203,4 +213,8 @@ herr_t H5O_remove (H5G_entry_t *ent, const H5O_class_t *type, intn sequence); herr_t H5O_reset (const H5O_class_t *type, void *native); herr_t H5O_debug (H5F_t *f, const haddr_t *addr, FILE * stream, intn indent, intn fwidth); + +/* EFL operators */ +size_t H5O_efl_total_size (H5O_efl_t *efl); + #endif |