HDF5  1.12.0
Data Structures | Macros | Typedefs | Enumerations | Functions
H5FSprivate.h File Reference
#include "H5Fprivate.h"
#include "H5FLprivate.h"

Go to the source code of this file.

Data Structures

struct  H5FS_section_class_t
 
struct  H5FS_section_info_t
 
struct  H5FS_create_t
 
struct  H5FS_stat_t
 

Macros

#define H5FS_CLS_GHOST_OBJ
 
#define H5FS_CLS_SEPAR_OBJ
 
#define H5FS_CLS_MERGE_SYM
 
#define H5FS_CLS_ADJUST_OK
 
#define H5FS_ADD_DESERIALIZING
 
#define H5FS_ADD_RETURNED_SPACE
 
#define H5FS_ADD_SKIP_VALID
 
#define H5FS_PAGE_END_NO_ADD
 
#define H5FS_DESERIALIZE_NO_ADD
 

Typedefs

typedef struct H5FS_t H5FS_t
 
typedef struct H5FS_section_info_t H5FS_section_info_t
 
typedef struct H5FS_section_class_t H5FS_section_class_t
 
typedef enum H5FS_section_state_t H5FS_section_state_t
 
typedef enum H5FS_client_t H5FS_client_t
 
typedef struct H5FS_create_t H5FS_create_t
 
typedef struct H5FS_stat_t H5FS_stat_t
 
typedef herr_t(* H5FS_operator_t) (H5FS_section_info_t *sect, void *operator_data)
 

Enumerations

enum  H5FS_section_state_t { H5FS_SECT_LIVE, H5FS_SECT_SERIALIZED }
 
enum  H5FS_client_t { H5FS_CLIENT_FHEAP_ID = 0, H5FS_CLIENT_FILE_ID, H5FS_NUM_CLIENT_ID }
 

Functions

 H5FL_SEQ_EXTERN (H5FS_section_class_t)
 
H5_DLL herr_t H5FS_init (void)
 
H5_DLL H5FS_tH5FS_create (H5F_t *f, haddr_t *fs_addr, const H5FS_create_t *fs_create, uint16_t nclasses, const H5FS_section_class_t *classes[], void *cls_init_udata, hsize_t alignment, hsize_t threshold)
 
H5_DLL H5FS_tH5FS_open (H5F_t *f, haddr_t fs_addr, uint16_t nclasses, const H5FS_section_class_t *classes[], void *cls_init_udata, hsize_t alignment, hsize_t threshold)
 
H5_DLL herr_t H5FS_size (const H5FS_t *fspace, hsize_t *meta_size)
 
H5_DLL herr_t H5FS_delete (H5F_t *f, haddr_t fs_addr)
 
H5_DLL herr_t H5FS_close (H5F_t *f, H5FS_t *fspace)
 
H5_DLL herr_t H5FS_alloc_hdr (H5F_t *f, H5FS_t *fspace, haddr_t *fs_addr)
 
H5_DLL herr_t H5FS_alloc_sect (H5F_t *f, H5FS_t *fspace)
 
H5_DLL herr_t H5FS_free (H5F_t *f, H5FS_t *fspace, hbool_t free_file_space)
 
H5_DLL herr_t H5FS_sect_add (H5F_t *f, H5FS_t *fspace, H5FS_section_info_t *node, unsigned flags, void *op_data)
 
H5_DLL htri_t H5FS_sect_try_merge (H5F_t *f, H5FS_t *fspace, H5FS_section_info_t *sect, unsigned flags, void *op_data)
 
H5_DLL htri_t H5FS_sect_try_extend (H5F_t *f, H5FS_t *fspace, haddr_t addr, hsize_t size, hsize_t extra_requested, unsigned flags, void *op_data)
 
H5_DLL herr_t H5FS_sect_remove (H5F_t *f, H5FS_t *fspace, H5FS_section_info_t *node)
 
H5_DLL htri_t H5FS_sect_find (H5F_t *f, H5FS_t *fspace, hsize_t request, H5FS_section_info_t **node)
 
H5_DLL herr_t H5FS_sect_iterate (H5F_t *f, H5FS_t *fspace, H5FS_operator_t op, void *op_data)
 
H5_DLL herr_t H5FS_sect_stats (const H5FS_t *fspace, hsize_t *tot_space, hsize_t *nsects)
 
H5_DLL herr_t H5FS_sect_change_class (H5F_t *f, H5FS_t *fspace, H5FS_section_info_t *sect, uint16_t new_class)
 
H5_DLL htri_t H5FS_sect_try_shrink_eoa (H5F_t *f, H5FS_t *fspace, void *op_data)
 
H5_DLL herr_t H5FS_stat_info (const H5F_t *f, const H5FS_t *frsp, H5FS_stat_t *stats)
 
H5_DLL herr_t H5FS_get_sect_count (const H5FS_t *frsp, hsize_t *tot_sect_count)
 
H5_DLL herr_t H5FS_vfd_alloc_hdr_and_section_info_if_needed (H5F_t *f, H5FS_t *fspace, haddr_t *fs_addr_ptr)
 
H5_DLL herr_t H5FS_debug (H5F_t *f, haddr_t addr, FILE *stream, int indent, int fwidth)
 
H5_DLL herr_t H5FS_sects_debug (H5F_t *f, haddr_t addr, FILE *stream, int indent, int fwidth, haddr_t fs_addr, haddr_t client_addr)
 
H5_DLL herr_t H5FS_sect_debug (const H5FS_t *fspace, const H5FS_section_info_t *sect, FILE *stream, int indent, int fwidth)
 

Macro Definition Documentation

◆ H5FS_ADD_DESERIALIZING

#define H5FS_ADD_DESERIALIZING
Value:
0x01 /* Free space is being deserialized
*/

◆ H5FS_ADD_RETURNED_SPACE

#define H5FS_ADD_RETURNED_SPACE
Value:
0x02 /* Section was previously allocated
* and is being returned to the
* free space manager (usually
* as a result of freeing an
* object)
*/

◆ H5FS_ADD_SKIP_VALID

#define H5FS_ADD_SKIP_VALID
Value:
0x04 /* Don't check validity after adding
* this section. (state of the
* managed sections is in flux)
*/

◆ H5FS_CLS_ADJUST_OK

#define H5FS_CLS_ADJUST_OK
Value:
0x08 /* Objects in this class can be merged
* without requiring a can_adjust/adjust
* callback pair.
*/

◆ H5FS_CLS_GHOST_OBJ

#define H5FS_CLS_GHOST_OBJ
Value:
0x01 /* Objects in this class shouldn't be
* serialized to the file.
*/

◆ H5FS_CLS_MERGE_SYM

#define H5FS_CLS_MERGE_SYM
Value:
0x04 /* Objects in this class only merge
* with other objects in this class.
*/

◆ H5FS_CLS_SEPAR_OBJ

#define H5FS_CLS_SEPAR_OBJ
Value:
0x02 /* Objects in this class shouldn't
* participate in merge operations.
*/

◆ H5FS_DESERIALIZE_NO_ADD

#define H5FS_DESERIALIZE_NO_ADD
Value:
0x01 /* Don't add section to free space
* manager after it's deserialized
* (its only here for it's side-
* effects).
*/

◆ H5FS_PAGE_END_NO_ADD

#define H5FS_PAGE_END_NO_ADD
Value:
0x08 /* For "small" page fs:
* Don't add section to free space:
* when the section is at page end and
* when the section size is <= "small"
*/

Typedef Documentation

◆ H5FS_client_t

◆ H5FS_create_t

typedef struct H5FS_create_t H5FS_create_t

◆ H5FS_operator_t

typedef herr_t(* H5FS_operator_t) (H5FS_section_info_t *sect, void *operator_data)

◆ H5FS_section_class_t

◆ H5FS_section_info_t

◆ H5FS_section_state_t

◆ H5FS_stat_t

typedef struct H5FS_stat_t H5FS_stat_t

◆ H5FS_t

typedef struct H5FS_t H5FS_t

Enumeration Type Documentation

◆ H5FS_client_t

Enumerator
H5FS_CLIENT_FHEAP_ID 
H5FS_CLIENT_FILE_ID 
H5FS_NUM_CLIENT_ID 

◆ H5FS_section_state_t

Enumerator
H5FS_SECT_LIVE 
H5FS_SECT_SERIALIZED 

Function Documentation

◆ H5FL_SEQ_EXTERN()

H5FL_SEQ_EXTERN ( H5FS_section_class_t  )

◆ H5FS_alloc_hdr()

H5_DLL herr_t H5FS_alloc_hdr ( H5F_t f,
H5FS_t fspace,
haddr_t fs_addr 
)

◆ H5FS_alloc_sect()

H5_DLL herr_t H5FS_alloc_sect ( H5F_t f,
H5FS_t fspace 
)

◆ H5FS_close()

H5_DLL herr_t H5FS_close ( H5F_t f,
H5FS_t fspace 
)

◆ H5FS_create()

H5_DLL H5FS_t* H5FS_create ( H5F_t f,
haddr_t fs_addr,
const H5FS_create_t fs_create,
uint16_t  nclasses,
const H5FS_section_class_t classes[],
void *  cls_init_udata,
hsize_t  alignment,
hsize_t  threshold 
)

◆ H5FS_debug()

H5_DLL herr_t H5FS_debug ( H5F_t f,
haddr_t  addr,
FILE stream,
int  indent,
int  fwidth 
)

◆ H5FS_delete()

H5_DLL herr_t H5FS_delete ( H5F_t f,
haddr_t  fs_addr 
)

◆ H5FS_free()

H5_DLL herr_t H5FS_free ( H5F_t f,
H5FS_t fspace,
hbool_t  free_file_space 
)

◆ H5FS_get_sect_count()

H5_DLL herr_t H5FS_get_sect_count ( const H5FS_t frsp,
hsize_t tot_sect_count 
)

◆ H5FS_init()

H5_DLL herr_t H5FS_init ( void  )

◆ H5FS_open()

H5_DLL H5FS_t* H5FS_open ( H5F_t f,
haddr_t  fs_addr,
uint16_t  nclasses,
const H5FS_section_class_t classes[],
void *  cls_init_udata,
hsize_t  alignment,
hsize_t  threshold 
)

◆ H5FS_sect_add()

H5_DLL herr_t H5FS_sect_add ( H5F_t f,
H5FS_t fspace,
H5FS_section_info_t node,
unsigned  flags,
void *  op_data 
)

◆ H5FS_sect_change_class()

H5_DLL herr_t H5FS_sect_change_class ( H5F_t f,
H5FS_t fspace,
H5FS_section_info_t sect,
uint16_t  new_class 
)

◆ H5FS_sect_debug()

H5_DLL herr_t H5FS_sect_debug ( const H5FS_t fspace,
const H5FS_section_info_t sect,
FILE stream,
int  indent,
int  fwidth 
)

◆ H5FS_sect_find()

H5_DLL htri_t H5FS_sect_find ( H5F_t f,
H5FS_t fspace,
hsize_t  request,
H5FS_section_info_t **  node 
)

◆ H5FS_sect_iterate()

H5_DLL herr_t H5FS_sect_iterate ( H5F_t f,
H5FS_t fspace,
H5FS_operator_t  op,
void *  op_data 
)

◆ H5FS_sect_remove()

H5_DLL herr_t H5FS_sect_remove ( H5F_t f,
H5FS_t fspace,
H5FS_section_info_t node 
)

◆ H5FS_sect_stats()

H5_DLL herr_t H5FS_sect_stats ( const H5FS_t fspace,
hsize_t tot_space,
hsize_t nsects 
)

◆ H5FS_sect_try_extend()

H5_DLL htri_t H5FS_sect_try_extend ( H5F_t f,
H5FS_t fspace,
haddr_t  addr,
hsize_t  size,
hsize_t  extra_requested,
unsigned  flags,
void *  op_data 
)

◆ H5FS_sect_try_merge()

H5_DLL htri_t H5FS_sect_try_merge ( H5F_t f,
H5FS_t fspace,
H5FS_section_info_t sect,
unsigned  flags,
void *  op_data 
)

◆ H5FS_sect_try_shrink_eoa()

H5_DLL htri_t H5FS_sect_try_shrink_eoa ( H5F_t f,
H5FS_t fspace,
void *  op_data 
)

◆ H5FS_sects_debug()

H5_DLL herr_t H5FS_sects_debug ( H5F_t f,
haddr_t  addr,
FILE stream,
int  indent,
int  fwidth,
haddr_t  fs_addr,
haddr_t  client_addr 
)

◆ H5FS_size()

H5_DLL herr_t H5FS_size ( const H5FS_t fspace,
hsize_t meta_size 
)

◆ H5FS_stat_info()

H5_DLL herr_t H5FS_stat_info ( const H5F_t f,
const H5FS_t frsp,
H5FS_stat_t stats 
)

◆ H5FS_vfd_alloc_hdr_and_section_info_if_needed()

H5_DLL herr_t H5FS_vfd_alloc_hdr_and_section_info_if_needed ( H5F_t f,
H5FS_t fspace,
haddr_t fs_addr_ptr 
)