File: H5Vol.c

package info (click to toggle)
adios2 2.10.2%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 33,764 kB
  • sloc: cpp: 175,964; ansic: 160,510; f90: 14,630; yacc: 12,668; python: 7,275; perl: 7,126; sh: 2,825; lisp: 1,106; xml: 1,049; makefile: 579; lex: 557
file content (49 lines) | stat: -rw-r--r-- 1,028 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "H5Vol.h"

static hid_t m_VID = -1;

H5PL_type_t H5PLget_plugin_type(void) { return H5PL_TYPE_VOL; }
const void *H5PLget_plugin_info(void) { return &H5VL_adios2_def; }

htri_t H5VL_ADIOS2_isRegistered()
{
    htri_t is_registered = -1; // FAIL by default
    is_registered = H5VLis_connector_registered_by_name(H5VL_ADIOS2_NAME);
    return is_registered;
}

void H5VL_ADIOS2_register()
{
    if (H5VL_ADIOS2_isRegistered() > 0)
        return;
    m_VID = H5VLregister_connector(&H5VL_adios2_def, H5P_DEFAULT);
}

// extern
void H5VL_ADIOS2_unset()
{
    if (H5I_INVALID_HID == m_VID)
        return;

    H5VLunregister_connector(m_VID);
    m_VID = H5I_INVALID_HID;

    // gExitADIOS2();
}

// extern
void H5VL_ADIOS2_set(hid_t fapl)
{
    H5VL_ADIOS2_register();

    void *defaultVolInfo;
    herr_t status = H5Pget_vol_info(fapl, &defaultVolInfo);
    if (status < 0)
    {
        printf("Unable to get vol info \n");
        return;
    }
    H5Pset_vol(fapl, m_VID, defaultVolInfo);

    gInitADIOS2(fapl);
}