Exodus 7.10

Functions
ex_inquire.c File Reference
`#include <stdlib.h>`
`#include <string.h>`
`#include "exodusII.h"`
`#include "exodusII_int.h"`

## Functions
static int | ex_inquire_internal (int exoid, int req_info, int64_t *ret_int, float *ret_float, char *ret_char)
int64_t | ex_inquire_int (int exoid, int req_info)
int | ex_inquire (int exoid, int req_info, void_int *ret_int, float *ret_float, char *ret_char)

## Function Documentation

## ◆ ex_inquire()

int ex_inquire | ( | int | exoid,
|  | int | req_info,
|  | void_int * | ret_int,
|  | float * | ret_float,
|  | char * | ret_char
| ) |  |

The function ex_inquire() is used to inquire values of certain data entities in an exodus file. Memory must be allocated for the returned values before this function is invoked.query database.

See also
  ex_inquire_int().

Returns
  In case of an error, ex_inquire() returns a negative number; a warning will return a positive number. Possible causes of errors include:
  - data file not properly opened with call to ex_create() or ex_open().
  - requested information not stored in the file.
  - invalid request flag.

Parameters

  [in] | exoid | exodus file ID returned from a previous call to ex_create() or ex_open().
  [in] | req_info | A flag which designates what information is requested. It must be one of the following constants in the table below.
  [out] | ret_int | Returned integer, if an integer value is requested (according to req_info); otherwise, supply a dummy argument.
  [out] | ret_float | Returned float, if a float value is requested (according to req_info); otherwise, supply a dummy argument. This argument is always a float even if the database IO and/or CPU word size is a double.
  [out] | ret_char | Returned character string, if a character value is requested (according to req_info); otherwise, supply a dummy argument.

EX_INQ_API_VERS | The exodus API version number is returned in ret_float and an undotted version number is returned in ret_int. The API version number reflects the release of the function library (i.e., function names, argument list, etc.). The API and LIB version numbers are synchronized and will always match. Initially, it was thought that maintaining the two versions separately would be a benefit, but that was more confusing than helpful, so the numbers were made the same.
EX_INQ_DB_VERS | The exodus database version number is returned in ret_float and an `‘undotted’' version number is returned in ret_int. The database version number reflects the version of the library that was used to write the file pointed to by exoid.
EX_INQ_LIB_VERS | The exodus library version number is returned in ret_float and an undotted version number is returned in ret_int. The API library version number reflects the version number of the exodus library linked with this application.
EX_INQ_TITLE | The title stored in the database is returned in ret_char.
EX_INQ_DIM | The dimensionality, or number of coordinates per node (1, 2 or 3), of the database is returned in ret_int.
EX_INQ_NODES | The number of nodes is returned in ret_int.
EX_INQ_ELEM | The number of elements is returned in ret_int.
EX_INQ_ELEM_BLK | The number of element blocks is returned in ret_int.
EX_INQ_NODE_SETS | The number of node sets is returned in ret_int.
EX_INQ_NS_NODE_LEN | The length of the concatenated node sets node list is returned in ret_int.
EX_INQ_NS_DF_LEN | The length of the concatenated node sets distribution list is returned in ret_int.
EX_INQ_SIDE_SETS | The number of side sets is returned in ret_int.
EX_INQ_SS_ELEM_LEN | The length of the concatenated side sets element list is returned in ret_int.
EX_INQ_SS_DF_LEN | The length of the concatenated side sets distribution factor list is returned in ret_int.
EX_INQ_SS_NODE_LEN | The aggregate length of all of the side sets node lists is returned in ret_int.
EX_INQ_EB_PROP | The number of integer properties stored for each element block is returned in ret_int; this number includes the property named ID.
EX_INQ_NS_PROP | The number of integer properties stored for each node set is returned in ret_int; this number includes the property named ID.
EX_INQ_SS_PROP | The number of integer properties stored for each side set is returned in ret_int; this number includes the property named ID.
EX_INQ_QA | The number of QA records is returned in ret_int.
EX_INQ_INFO | The number of information records is returned in ret_int.
EX_INQ_TIME | The number of time steps stored in the database is returned in ret_int.
EX_INQ_EDGE_BLK | The number of edge blocks is returned in ret_int.
EX_INQ_EDGE_MAP | The number of edge maps is returned in ret_int.
EX_INQ_EDGE_PROP | The number of properties stored per edge blockis returned in ret_int.
EX_INQ_EDGE_SETS | The number of edge sets is returned in ret_int.
EX_INQ_EDGE | The number of edges is returned in ret_int.
EX_INQ_FACE | The number of faces is returned in ret_int.
EX_INQ_EB_PROP | The number of element block properties is returned in ret_int.
EX_INQ_ELEM_MAP | The number of element maps is returned in ret_int.
EX_INQ_ELEM_SETS | The number of element sets is returned in ret_int.
EX_INQ_ELS_DF_LEN | The length of the concatenated element set distribution factor list is returned in ret_int.
EX_INQ_ELS_LEN | The length of the concatenated element set element list is returned in ret_int.
EX_INQ_ELS_PROP | The number of properties stored per elem set is returned in ret_int.
EX_INQ_EM_PROP | The number of element map properties is returned in ret_int.
EX_INQ_ES_DF_LEN | The length of the concatenated edge set distribution factor list is returned in ret_int.
EX_INQ_ES_LEN | The length of the concatenated edge set edge list is returned in ret_int.
EX_INQ_ES_PROP | The number of properties stored per edge set is returned in ret_int.
EX_INQ_FACE_BLK | The number of face blocks is returned in ret_int.
EX_INQ_FACE_MAP | The number of face maps is returned in ret_int.
EX_INQ_FACE_PROP | The number of properties stored per face block is returned in ret_int.
EX_INQ_FACE_SETS | The number of face sets is returned in ret_int.
EX_INQ_FS_DF_LEN | The length of the concatenated face set distribution factor list is returned in ret_int.
EX_INQ_FS_LEN | The length of the concatenated face set face list is returned in ret_int.
EX_INQ_FS_PROP | The number of properties stored per face set is returned in ret_int.
EX_INQ_NM_PROP | The number of node map properties is returned in ret_int.
EX_INQ_NODE_MAP | The number of node maps is returned in ret_int.
EX_INQ_COORD_FRAMES | The number of coordinate frames is returned in ret_int.

As an example, the following will return the number of element block properties stored in the exodus file :

#include "exodusII.h"
int error, exoid, num_props;
float fdum;
char *cdum;
/* determine the number of element block properties */
error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props,
&fdum, cdum);
/* ...Another way to get the same information */
num_props = ex_inquire_int(exoid, EX_INQ_EB_PROP);

## ◆ ex_inquire_int()

int64_t ex_inquire_int | ( | int | exoid,
|  | int | req_info
| ) |  |

A variant of ex_inquire() which queries integer-valued information only.

See also
  ex_inquire().

Parameters

  [in] | exoid | exodus file ID returned from a previous call to ex_create() or ex_open().
  [in] | req_info | A flag which designates what information is requested. (See ex_inquire() documentation)

Returns
  result of inquiry.

As an example, the following will return the number of nodes, elements, and element blocks stored in the exodus file :

#include "exodusII.h"
int exoid;
int num_nodes = ex_inquire_int(exoid, EX_INQ_NODES);
int num_elems = ex_inquire_int(exoid, EX_INQ_ELEM);
int num_block = ex_inquire_int(exoid, EX_INQ_ELEM_BLK);

## ◆ ex_inquire_internal()

static int ex_inquire_internal | ( | int | exoid,
|  | int | req_info,
|  | int64_t * | ret_int,
|  | float * | ret_float,
|  | char * | ret_char
| ) |  |
| static