get_native_type (3) Linux Manual Page
NAME
get_native_type — returns the native data type of a field in a dirfile
SYNOPSIS
#include <getdata.h>
-
gd_type_t get_native_type(DIRFILE *dirfile, const char *field_code);
DESCRIPTION
get_native_type() function queries a dirfile(5) database specified by dirfile and returns the native data type of the field field_code, which may contain a representation suffix.
The dirfile argument must point to a valid DIRFILE object previously created by a call to dirfile_open(3).
The native data type of a field of a given entry type is calculated as:
BIT~or~INDEX~Entry:-
GD_UINT64; CONST~Entry:- the data type of the constant;
LINCOM~or~POLYNOM~Entry:- if any of the scalar parameters is complex valued, or if the native data type of any of the input fields is complex valued:
GD_COMPLEX128, otherwise:GD_FLOAT64; LINTERP~Entry:- if the look-up table is complex valued:
GD_COMPLEX128, otherwise:GD_FLOAT64; MULTIPLY~Entry:- if either input field is complex valued:
GD_COMPLEX128, otherwise:GD_FLOAT64;.TPPHASE~Entry: the native data type of the input field; RAW~Entry:- the data type of the raw data on disk;
SBIT~Entry:-
GD_INT64; STRING~Entry:-
GD_NULL.
Furthermore, if the supplied field_code contains a representation suffix, and the native data type of the field is complex valued, the native type returned will be the corresponding real valued type.
RETURN VALUE
Upon successful completion, get_native_type() returns the native data type of the field code specified. This will be one of the symbols:
-
GD_NULL,~GD_UINT8,~GD_INT8,~GD_UINT16,~GD_INT16,~GD_UINT32,GD_INT32,~GD_FLOAT32,~GD_FLOAT64,~GD_COMPLEX64,~GD_COMPLEX128. The meanings of these symbols are explained in thegetdata(3) manual page. On error, it returnsGD_UNKNOWNand sets the dirfile error to a non-zero error value. Possible error values are: GD_E_BAD_CODE- The field specified by field_code or one of the fields it uses as input was not found in the database.
GD_E_BAD_DIRFILE- The supplied dirfile was invalid.
GD_E_BAD_REPR- The representation suffix specified in field_code, or in one of its input fields, was not recognised.
GD_E_BAD_SCALAR- A non-literal scalar used in the definition of the field or one of its inputs was not found, or was not a
CONSTfield. GD_E_DIMENSION- A scalar field was found where a vector field was expected.
GD_E_OPEN_LINFILE- An error occurred while trying to read a LINTERP table from disk.
GD_E_RECURSE_LEVEL- Too many levels of recursion were encountered while trying to resolve field_code. This usually indicates a circular dependency in field specification in the dirfile. The dirfile error may be retrieved by calling
get_error(3). A descriptive error string for the last error encountered can be obtained from a call toget_error_string(3).
SEE ALSO
dirfile(5), dirfile_open(3), getdata(3), get_error(3), get_error_string(3)
