Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Content Layer
id1195548671
Content Column
width50.00001%
id1195578110
classrm_pagetree_col mobile-hide
Content Block
id1195578111
 
Content Column
width50.00001%
id1195548673
classhdf-rm-main-column
Content Block
id1195548672

Include Content
render-without-blockstrue
page.rm-navbar
HTML Wrap
classhdf-print-only

Page Title

HTML Wrap
classhdf-rm-summary-block

Hdf rm anchor
AnchorNamesummary

Excerpt

Controls the loading of dynamic plugin types

HTML Wrap
classhdf-rm-content-block

Hdf rm anchor
AnchorNameprocedure

Procedure:
HTML Wrap
classhdf-rm-section
HTML Wrap
classhdf_procedure

H5PL_SET_LOADING_STATE (plugin_control_mask)

Hdf rm anchor
AnchorNamesignature

Signature:
HTML Wrap
classhdf-rm-section
HTML Wrap
classhdf-togglebox hdf-c

HTML Add Class
hdf-togglebutton-visible
hdf-togglebutton-visible
selector.hdf-togglebutton.hdf-c

HTML
<pre><code class="language-c">herr_t H5PLset_loading_state( unsigned int plugin_control_mask )</code></pre>

Hdf rm anchor
AnchorNameparameters

Parameters:
HTML Wrap
classhdf-rm-section
unsigned int plugin_control_mask   IN: The list of dynamic plugin types to enable or disable. 
A plugin bit set to 0 (zero) prevents use of that dynamic plugin. 
A plugin bit set to 1 (one) enables use of that dynamic plugin.

Setting plugin_control_mask to a negative value enables all dynamic plugins. 
Setting plugin_control_mask to 0 (zero) disables all dynamic plugins.

Hdf rm anchor
AnchorNamedescription

Description:
HTML Wrap
classhdf-rm-section
Info

Motivation:

The loading of external dynamic plugins can be controlled during runtime with an environment variable, HDF5_PLUGIN_PRELOAD. The environment variable can control the loading of dynamic filters at runtime, but it will disable it for all running programs that access that variable using the library.

 H5PL_SET_LOADING_STATE controls the loading of external dynamic plugins during program execution.

 

 H5PL_SET_LOADING_STATE uses one argument to enable or disable individual plugins.

The plugin_control_mask parameter is an encoded integer in which each bit controls a specific plugin or class of plugins. Bit positions allocated to date are listed in the “Plugin Type/Bit Position” table below.

A plugin bit set to 0 (zero) prevents the use of the dynamic plugin corresponding to that bit position. A plugin bit set to 1 (one) allows the use of that dynamic plugin.

All dynamic plugins can be enabled by setting plugin_control_mask to a negative value. A value of 0 (zero) will disable all dynamic plugins.

H5PL_SET_LOADING_STATE inspects the HDF5_PLUGIN_PRELOAD environment variable every time it is called. If the environment variable is set to the special :: string, all dynamic plugins will be disabled.

 

Note

The classes of plugins subject to programmatic control are specified in the H5PL_type_t ENUM. Since only dynamically loaded filter plugins are currently subject to programmatic control, only one plugin type is defined:

Plugin TypeBit Position
H5PL_TYPE_FILTER    0

Additional values may be added to the H5PL_type_t ENUM as programmatic control is implemented for other plugin types.

Hdf rm anchor
AnchorNamereturns

Returns:
HTML Wrap
classhdf-rm-section

Returns a non-negative value if successful; otherwise returns a negative value.

Hdf rm anchor
AnchorNameexample

Example:
HTML Wrap
classhdf-rm-section
Info
/* Disable plugin X: Requires user to negate the state 
 * with a 0 in bit position X and AND it with the result 
 * from an H5PLget_loading_state call. */

H5PLget_loading_state(&curr_setting);
int new_setting = curr_setting & ~H5PL_FILTER_PLUGIN ;
H5PLset_loading_state (new_setting);
Comment
HTML Wrap
classhdf-togglebox hdf-c

Bitbucket Server file
repoSlughdf5
branchIdrefs/heads/1.10/master
projectKeyHDFFV
filepathexamples/h5_subset.c
showLineNumberstrue
lineStart32
progLangcpp
lineEnd42
applicationLink5ac7b370-7412-3c8c-ad20-807a68261336

HTML Wrap
classhdf-togglebox hdf-fortran hdf-togglebox-hidden

Bitbucket Server file
repoSlughdf5
branchIdrefs/heads/1.10/master
projectKeyHDFFV
filepathfortran/examples/compound.f90
showLineNumberstrue
lineStart25
progLangplain
lineEnd35
applicationLink5ac7b370-7412-3c8c-ad20-807a68261336

Hdf rm anchor
AnchorNamehistory

History:
HTML Wrap
classhdf-rm-section
C
Release    Change
1.8.15Function introduced in this release.