Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First cut of the H5 public API documentation. #80

Merged
merged 14 commits into from
Nov 18, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions doxygen/aliases
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ ALIASES += space_id{1}="\param[in] \1 Dataspace identifier"
# Dataypes
################################################################################

ALIASES += dtype_id="\param[in] dtype_id Datatype identifier"
ALIASES += dtype_id{1}="\param[in] \1 Datatype identifier"
ALIASES += type_id="\param[in] type_id Datatype identifier"
ALIASES += type_id{1}="\param[in] \1 Datatype identifier"

ALIASES += file_type_id{1}="\param[in] \1 Datatype (in-file) identifier"
ALIASES += mem_type_id{1}="\param[in] \1 Datatype (in-memory) identifier"
Expand Down Expand Up @@ -133,15 +133,21 @@ ALIASES += lapl_id{1}="\param[in] \1 Link access property list identifier"
ALIASES += lcpl_id="\param[in] lcpl_id Link creation property list identifier"
ALIASES += lcpl_id{1}="\param[in] \1 Link creation property list identifier"

ALIASES += vipl_id="\param[in] vipl_id VOL initialization property list identifier"
ALIASES += vipl_id{1}="\param[in] \1 vipl_id VOL initialization property list identifier"

ALIASES += plist_id="\param[in] plist_id Property list identifier"
ALIASES += plist_id{1}="\param[in] \1 Property list identifier"

ALIASES += plistcls_id="\param[in] plistcls_id Property list class identifier"
ALIASES += plistcls_id{1}="\param[in] \1 Property list class identifier"

ALIASES += tapl_id="\param[in] tapl_id Datatype access property list identifier"
ALIASES += tapl_id{1}="\param[in] \1 Datatype access property list identifier"

ALIASES += tcpl_id="\param[in] tcpl_id Datatype creation property list identifier"
ALIASES += tcpl_id{1}="\param[in] \1 Datatype creation property list identifier"

ALIASES += vipl_id="\param[in] vipl_id VOL initialization property list identifier"
ALIASES += vipl_id{1}="\param[in] \1 vipl_id VOL initialization property list identifier"

################################################################################
# Objects
################################################################################
Expand Down
36 changes: 36 additions & 0 deletions src/H5.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
/****************/
/* Module Setup */
/****************/
#include "H5module.h" /* This source code file is part of the H5 module */

/***********/
/* Headers */
Expand Down Expand Up @@ -55,6 +56,9 @@ static int H5__mpi_delete_cb(MPI_Comm comm, int keyval, void *attr_val, int *fla
/* Package Variables */
/*********************/

/* Package initialization variable */
hbool_t H5_PKG_INIT_VAR = FALSE;

/*****************************/
/* Library Private Variables */
/*****************************/
Expand Down Expand Up @@ -84,6 +88,33 @@ H5_debug_t H5_debug_g; /* debugging info */
/* Local Variables */
/*******************/

/*--------------------------------------------------------------------------
NAME
H5__init_package -- Initialize interface-specific information
USAGE
herr_t H5__init_package()
RETURNS
Non-negative on success/Negative on failure
DESCRIPTION
Initializes any interface-specific data or routines.
--------------------------------------------------------------------------*/
herr_t
H5__init_package(void)
{
herr_t ret_value = SUCCEED; /* Return value */

FUNC_ENTER_NOAPI_NOINIT

/* Run the library initialization routine, if it hasn't already ran */
if (!H5_INIT_GLOBAL && !H5_TERM_GLOBAL) { \
if (H5_init_library() < 0)
HGOTO_ERROR(H5E_LIB, H5E_CANTINIT, FAIL, "unable to initialize library")
} /* end if */

done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5__init_package() */

/*--------------------------------------------------------------------------
* NAME
* H5_init_library -- Initialize library-global information
Expand All @@ -103,6 +134,11 @@ H5_init_library(void)
{
herr_t ret_value = SUCCEED;

/* Set the 'library initialized' flag as early as possible, to avoid
* possible re-entrancy.
*/
H5_INIT_GLOBAL = TRUE; \

FUNC_ENTER_NOAPI(FAIL)

#ifdef H5_HAVE_PARALLEL
Expand Down
5 changes: 5 additions & 0 deletions src/H5Imodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,9 @@
#define H5_MY_PKG_ERR H5E_ATOM
#define H5_MY_PKG_INIT NO

/**\defgroup H5I H5I
* \brief Identifier Interface
* \todo Describe concisely what the functions in this module are about.
*/

#endif /* _H5Imodule_H */
Loading