Interface f2
------------

Enumerate F2 Flags
~~~~~~~~~~~~~~~~~~
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_NONE``                         | ``0x0000``                           | Empty flag                                                       |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_ALL``                          | ``0xFFFF``                           | Set all flag                                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_OPENUPDATE``                   | ``0x0001``                           | Open file for update                                             |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_OPENCREATE``                   | ``0x0002``                           | Open new file                                                    |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_OPENMEMORY``                   | ``0x0004``                           | Open memory driver                                               |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_FOLLOWLINKS``                  | ``0x0008``                           | Follow links while reading                                       |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_MERGELINKS``                   | ``0x0010``                           | Merge links while writing                                        |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_COMPRESS``                     | ``0x0020``                           | Compress data                                                    |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_CHECK``                        | ``0x0040``                           | Force checks                                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_OWNDATA``                      | ``0x0080``                           | Force data ownership                                             |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_OWNARGS``                      | ``0x0100``                           |                                                                  |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_NODEFAULT``                    | ``0x0200``                           |                                                                  |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_RECURSIVEPATTERN``             | ``0x0400``                           |                                                                  |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_NOUPDATE``                     | ``0x0800``                           |                                                                  |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_ALLINCACHE``                   | ``0x1000``                           |                                                                  |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_HASEXTFLAGS``                  | ``0x2000``                           |                                                                  |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_DEBUG``                        | ``0x4000``                           | Set debug prints                                                 |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_TRACE``                        | ``0x8000``                           | End user trace                                                   |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2F_DEFAULT``                      | ``0x9109``                           |                                                                  |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

Enumerate None values
~~~~~~~~~~~~~~~~~~~~~
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2Z_INT``                          | ``(int)-1``                          | not significant integer                                          |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2Z_HID``                          | ``(hid_t)-1``                        | not an hid_t                                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2Z_LID``                          | ``(hid_t*)NULL``                     | null hid_t                                                       |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2Z_STR``                          | ``(char*)NULL``                      | null str                                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2Z_CTX``                          | ``(F2_Context_t*)NULL``              | null context (F2)                                                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2T_MT``                           | ``0``                                | no data (or unknown)                                             |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2T_C1``                           | ``1``                                | char                                                             |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2T_I4``                           | ``2``                                | simple integer                                                   |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2T_I8``                           | ``3``                                | double integer                                                   |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2T_R4``                           | ``4``                                | simple float                                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``F2T_R8``                           | ``5``                                | double float                                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

Interface F2
~~~~~~~~~~~~

.. raw:: html

   <hr>

F2_open
~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``filename``                         | ``char*``                            | HDF5 file to open (use empty if rootid set)                      |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``flags``                            | ``long``                             | Flags to set                                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``rootid``                           | ``int``                              | existing HDF5 hid_t to use instead of file                       |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int*``                             | user int used as output for fortran interface                    |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
The id of the context, -1 if fail


**Remarks**
The context id is the parameter to all functions

**API C** ``int F2_open(char* filename,long flags,int rootid,int *ctxt);``


.. raw:: html

   <hr>

F2_close
~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to close                                       |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Remarks**


**API C** ``int F2_close(int ctxt);``


.. raw:: html

   <hr>

F2_ndim
~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | id of the target node (hid_t)                                    |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ndim``                             | ``int*``                             | number of dims of the shape of the node (return)                 |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**
Max dims is 12

**API C** ``int F2_ndim(int ctxt,int node,int *ndim);``


.. raw:: html

   <hr>

F2_cleardims
~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``dims``                             | ``int*``                             | array dim to set                                                 |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**
All 12 entries of the dims arrays are set to -1

**API C** ``int F2_cleardims(int *dims);``


.. raw:: html

   <hr>

F2_create
~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``parentid``                         | ``int``                              | id of the parent node (hid_t)                                    |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``name``                             | ``char*``                            | name of the new child to create                                  |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``sidstype``                         | ``int``                              | enumerate of the SIDS type of the node (label)                   |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``datatype``                         | ``int``                              | enumerate of the data type of the node                           |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``shape``                            | ``int*``                             | array of dimensions of data (last is -1)                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``newid``                            | ``int*``                             | returned new child id (hid_t)                                    |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**
SIDStype is F2E_SIDStypes, data type is F2T_*int F2_create(int ctxtid,int parentid,
.. raw:: html

   <hr>

F2_pathFromId
~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | id of the target node (hid_t)                                    |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``path``                             | ``char**``                           | pointer to string to use or to allocate if NULL                  |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**
On NULL path new memory is returned, the user has to release it

**API C** ``int F2_pathFromId(int ctxt,int node,char** path);``


.. raw:: html

   <hr>

F2_idFromPath
~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``path``                             | ``char*``                            | path of the target node                                          |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
The id of the node (hid_t) -1 if fail


**Remarks**
No Wildward resolution in the path, only plain path

**API C** ``int F2_idFromPath(int ctxt,char* path);``


.. raw:: html

   <hr>

F2_stackFetch
~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``stack``                            | ``int``                              | id of the stack to clear and to fill with results                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
The number of entries in the stack


**Remarks**
See :ref:`Path patterns <pathpattern>`

**API C** ``int F2_stackFetch(int ctxt,int stack,char* path);``


.. raw:: html

   <hr>

F2_stackFetchByInt
~~~~~~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``stack``                            | ``int``                              | id of the stack to clear and to fill with results                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``value``                            | ``int``                              | the path is selected if its data equals to this value            |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
The number of entries in the stack


**Remarks**
The first cell of 1D arrays is compared to value

**API C** ``int F2_stackFetchByInt(int ctxt,int stack,char* path,int value);``


.. raw:: html

   <hr>

F2_stackFetchByLong
~~~~~~~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``stack``                            | ``int``                              | id of the stack to clear and to fill with results                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``value``                            | ``long``                             | path is selected if its data equals to this value                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
The number of entries in the stack


**Remarks**
The first cell of 1D arrays is compared to value

**API C** ``int F2_stackFetchByLong(int ctxt,int stack,char* path,long value);``


.. raw:: html

   <hr>

F2_stackFetchByFloat
~~~~~~~~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``stack``                            | ``int``                              | id of the stack to clear and to fill with results                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``value``                            | ``float``                            | path is selected if its data equals to this value                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
The number of entries in the stack


**Remarks**
The first cell of 1D arrays is compared to value

**API Fortran** ``F2_stackFetchByFloat(integer ctxt,integer stack,char(*) path,real value)``



**API C** ``int F2_stackFetchByFloat(int ctxt,int stack,char* path,float value);``


.. raw:: html

   <hr>

F2_stackFetchByDouble
~~~~~~~~~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``stack``                            | ``int``                              | id of the stack to clear and to fill with results                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``value``                            | ``double``                           | path is selected if its data equals to this value                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
The number of entries in the stack


**Remarks**
The first cell of 1D arrays is compared to value

**API C** ``int F2_stackFetchByDouble(int ctxt,int stack,char* path,double value);``


.. raw:: html

   <hr>

F2_stackFetchByString
~~~~~~~~~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``stack``                            | ``int``                              | id of the stack to clear and to fill with results                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``value``                            | ``char*``                            | path is selected if its data equals to this value                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
The number of entries in the stack


**Remarks**
The first cell of 1D arrays is compared to value

**API C** ``int F2_stackFetchByString(int ctxt,int stack,char* path,char *value);``


.. raw:: html

   <hr>

F2_stackRead
~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``stack``                            | ``int``                              | id of the stack to clear and to fill with results                |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``index``                            | ``int``                              | entry of the stack to get                                        |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``path``                             | ``char**``                           | the string to fill with the path if not NULL                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
The path found for the stack entry at index


**Remarks**
On NULL path new memory is returned, the user has to release it

**API C** ``char* F2_stackRead(int ctxtid,int stack,int index,char **path);``


.. raw:: html

   <hr>

F2_shape
~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Dimension array of the node


**Remarks**
Max dims is 12, unused dims are set to -1

**API C** ``int* F2_shape(int node);``


.. raw:: html

   <hr>

F2_datatype
~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Datatype of the array items of the node as integer


**Remarks**
See enums

**API C** ``int F2_datatype(int ctxtid,int node);``


.. raw:: html

   <hr>

F2_setdata
~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``datatype``                         | ``int``                              | data type to use                                                 |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``data``                             | ``void*``                            | Array to set as node data (copy)                                 |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**
Cannot be used in fortran, preffered use for C code using void*

**API C** ``int F2_setdata(int ctxt,int node,int datatype,const void *data);``


.. raw:: html

   <hr>

F2_sidstype
~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Datatype of the array items of the node as integer


**Remarks**
See enums

**API C** ``int F2_sidstype(int node);``


.. raw:: html

   <hr>

F2_datafloat
~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``data``                             | ``float*``                           | Array to fill with node data                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**
If data if NULL it is allocated, NULL is returned if error

**API C** ``int F2_datafloat(int ctxt,int node,float *data);``


.. raw:: html

   <hr>

F2_datafloat
~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``data``                             | ``float*``                           | Array to fill with node data                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Node data as float array


**Remarks**
If data if NULL it is allocated, NULL is returned if error

**API C** ``float* F2_datafloatcontiguous(int node,int stack,float *data);``


.. raw:: html

   <hr>

F2_datadouble
~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``data``                             | ``double*``                          | Array to fill with node data                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**
If data if NULL it is allocated, NULL is returned if error

**API C** ``int F2_datadouble(int ctxt,int node,double *data);``


.. raw:: html

   <hr>

F2_dataint
~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``data``                             | ``int*``                             | Array ptr to fill with node data                                 |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**
Function copies data into arg pointeur

**API C** ``int F2_dataint(int ctxt,int node,int *data);``


.. raw:: html

   <hr>

F2_setdataint
~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``data``                             | ``int*``                             | Array to set as node data (copy)                                 |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**


**API C** ``int F2_setdataint(int ctxt,int node,const int *data);``


.. raw:: html

   <hr>

F2_setdatachar
~~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``data``                             | ``char*``                            | Array to set as node data (copy)                                 |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**


**API C** ``int F2_setdatachar(int ctxt,int node,const char *data);``


.. raw:: html

   <hr>

F2_datalong
~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``data``                             | ``long*``                            | Array to fill with node data                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Node data as long array


**Remarks**
If data if NULL it is allocated, NULL is returned if error

**API C** ``long* F2_datalong(int node,long *data);``


.. raw:: html

   <hr>

F2_datachar
~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the target node                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``data``                             | ``char*``                            | Array to fill with node data                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Return**
Status


**Remarks**


**API C** ``int F2_datachar(int ctxt, int node,char *data);``


.. raw:: html

   <hr>

F2_setshape
~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxt``                             | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``node``                             | ``int``                              | hid_t of the node to change                                      |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``shape``                            | ``int*``                             | new shape to set                                                 |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Remarks**
Node unchanged if error

**API C** ``void F2_setshape(int node,int* shape);``


.. raw:: html

   <hr>

F2_getChildCount
~~~~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxtid``                           | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``parentid``                         | ``int``                              | hid_t of the parent                                              |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``childid``                          | ``int``                              | hid_t of the child                                               |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``filter``                           | ``int``                              | type of filter to use (enum)                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``count``                            | ``int*``                             | number of children                                               |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Remarks**
Filter is F2X_*int F2_getChildCount(int ctxtid,int parentid,int childid,int filter,
.. raw:: html

   <hr>

F2_getChildCreateIndex
~~~~~~~~~~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxtid``                           | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``parentid``                         | ``int``                              | hid_t of the parent                                              |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``childid``                          | ``int``                              | hid_t of the child                                               |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``filter``                           | ``int``                              | type of filter to use (enum)                                     |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``index``                            | ``int*``                             | index of the child                                               |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Remarks**
Retrieve the index creation of the arg child, from 0 to N-1 for N childrenFilter is F2X_*int F2_getChildCreateIndex(int ctxtid,int parentid,int childid,int filter,
.. raw:: html

   <hr>

F2_getChildFromIndex
~~~~~~~~~~~~~~~~~~~~


.. raw:: html

   <br>
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``ctxtid``                           | ``int``                              | id of the context to use                                         |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``parentid``                         | ``int``                              | hid_t of the parent                                              |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``index``                            | ``int``                              | rank of the child to find                                        |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``sidstype``                         | ``int``                              | enumerate, SIDS type of the nodes to count                       |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+
| ``name``                             | ``char*``                            | name of the child (copy into)                                    |
+--------------------------------------+--------------------------------------+------------------------------------------------------------------+

**Remarks**
int F2_getChildFromIndex(int ctxtid,int parentid,int index,int sidstype,
.. raw:: html

   <hr>


**Error Codes**


``2000`` - [Name] attribute not found while DataArray_t creation

``2001`` - [DataType] attribute not found while DataArray_t creation

``2002`` - [DataDimension] attribute not found while DataArray_t creation

``2003`` - [DataPointer] attribute not found while DataArray_t <<datatype>> creation

``2004`` - [DataPointer] attribute bad DataType <<unswitched enumerate>> while DataArray_t creation

``2005`` - [Name] attribute not found while UserDefinedData_t creation

``2006`` - [Name] attribute not found while GridCoordinates_t creation

``2007`` - [Name] attribute not found while Descriptor_t creation

``2008`` - [Name] attribute not found while DataClass_t creation

``2009`` - [Name] attribute not found while DimensionalUnits_t creation

``2010`` - [Name] attribute not found while Zone_t creation

``2011`` - [ZoneType] attribute not found while Zone_t creation

``2012`` - [ZoneDimensionSize] attribute not found while Zone_t creation

``2013`` - [ZoneDimension] attribute not found while Zone_t creation

``2014`` - [Name] attribute not found while GridLocation_t creation

``2015`` - [GridLocation] attribute not found while GridLocation_t creation

``2016`` - [Name] attribute not found while ElementType_t creation

``2017`` - [GridLocation] attribute not found while ElementType_t creation

``2018`` - [GridLocation] attribute not found while ElementType_t creation

``2019`` - [Name] attribute not found while Axisymmetry_t creation

``2020`` - [Descriptor] attribute not found while Descriptor_t creation

``2021`` - [DataClass] attribute not found while DataClass_t creation

``2100`` - [HDF5] Bad node id