home | help
DC_PARSER_GET_FIELD(3)	     Library Functions Manual	  DC_PARSER_GET_FIELD(3)

NAME
     dc_parser_get_field -- extract a field from a parsed dive

LIBRARY
     libdivecomputer

SYNOPSIS
     #include <libdivecomputer/parser.h>

     dc_status_t
     dc_parser_get_field(dc_parser_t *parser, dc_field_type_t type,
	 unsigned int flags, void *value);

DESCRIPTION
     Extract   a   field  from	a  dive,  parser,  previously  initialised  with
     dc_parser_set_data(3).  The value field type depends upon	the  type.   The
     flags field is ignored for all types but DC_FIELD_GASMIX and DC_FIELD_TANK.

     The type may be one of the following values:

     DC_FIELD_DIVETIME
	     Time  (duration) of dive in seconds.  The value must be an unsigned
	     int.

     DC_FIELD_MAXDEPTH
	     Maximum depth in metres.  The value must be a double.

     DC_FIELD_AVGDEPTH
	     Average depth (over all samples) in metres.  The value  must  be  a
	     double.

     DC_FIELD_GASMIX_COUNT
	     Number of different gas mixes used in this dive.  The value must be
	     a unsigned int.

     DC_FIELD_GASMIX
	     Mixture  for  a  particular  gas.	The value must be a dc_gasmix_t,
	     which has double fields for oxygen, helium,  and  nitrogen.   These
	     are  set  to  the unit fraction of gas (not percentage).  The flags
	     value is interpreted as the gas mixture index, which must	be  less
	     than the value of DC_FIELD_GASMIX_COUNT.

     DC_FIELD_SALINITY
	     The  water  salinity  as a dc_salinity_t field, which consists of a
	     type, DC_WATER_FRESH or DC_WATER_SALT, and the salinity density.

     DC_FIELD_ATMOSPHERIC
	     Atmospheric pressure in bar.  The value field must be a double.

     DC_FIELD_TEMPERATURE_SURFACE
	     Air temperature (at the surface) in Celsius.  The value field  must
	     be a double.

     DC_FIELD_TEMPERATURE_MINIMUM
	     Minimum water temperature surface in Celsius.  The value field must
	     be a double.

     DC_FIELD_TEMPERATURE_MAXIMUM
	     Maximum  water  temperature  in Celsius.  The value field must be a
	     double.

     DC_FIELD_TANK_COUNT
	     The number of tanks as an unsigned int.

     DC_FIELD_TANK
	     Tank configuration as a dc_tank_t.  This structure  consists  of  a
	     gasmix, which may be retrieved with DC_FIELD_GASMIX; type, the tank
	     volume  units  as	DC_TANKVOLUME_NONE,  DC_TANKVOLUME_IMPERIAL,  or
	     DC_TANKVOLUME_METRIC; volume, the tank volume in litres or zero  if
	     the  tank is DC_TANKVOLUME_NONE; workpressure, the work pressure in
	     bar   or	zero   if   DC_TANKVOLUME_NONE	 and   maybe   zero   if
	     DC_TANKVOLUME_METRIC; beginpressure and endpressure being the pres-
	     sures  at start and finish in bar.  The flags value is the tank in-
	     dex.

     DC_FIELD_DIVEMODE
	     Mode   of	 the   dive:   DC_DIVEMODE_FREEDIVE   for   free-diving,
	     DC_DIVEMODE_GAUGE for gauge (i.e., running as a record and not com-
	     puting,  say,  decompression  events),  DC_DIVEMODE_OC for standard
	     open-circuit diving, and DC_DIVEMODE_CCR  and  DC_DIVEMODE_SCR  for
	     respectively  closed  circuit  and semi closed circuit "rebreather"
	     diving.

RETURN VALUES
     Returns DC_STATUS_SUCCESS if the field was retrieved, DC_STATUS_UNSUPPORTED
     if the field is not supported by the device, or  other  error  messages  on
     further failure.

SEE ALSO
     dc_parser_set_data(3)

AUTHORS
     The  libdivecomputer  library  was  written by Jef Driesen, jef@libdivecom-
     puter.org.  The manpages were written by
     Kristaps Dzonsons, kristaps@bsd.lv.

FreeBSD ports 15.quarterly	 January 5, 2017	  DC_PARSER_GET_FIELD(3)

home | help